@@ -42,14 +42,31 @@ enum sdca_function_type {
#define SDCA_FUNCTION_TYPE_HID_NAME "HID"
enum sdca_entity0_controls {
- SDCA_CONTROL_ENTITY_0_COMMIT_GROUP_MASK = 0x01,
- SDCA_CONTROL_ENTITY_0_INTSTAT_CLEAR = 0x02,
- SDCA_CONTROL_ENTITY_0_INT_ENABLE = 0x03,
- SDCA_CONTROL_ENTITY_0_FUNCTION_SDCA_VERSION = 0x04,
- SDCA_CONTROL_ENTITY_0_FUNCTION_TOPOLOGY = 0x05,
- SDCA_CONTROL_ENTITY_0_FUNCTION_MANUFACTURER_ID = 0x06,
- SDCA_CONTROL_ENTITY_0_FUNCTION_ID = 0x07,
- SDCA_CONTROL_ENTITY_0_FUNCTION_VERSION = 0x08
+ SDCA_CTL_ENTITY_0_COMMIT_GROUP_MASK = 0x01,
+ SDCA_CTL_ENTITY_0_FUNCTION_SDCA_VERSION = 0x04,
+ SDCA_CTL_ENTITY_0_FUNCTION_TYPE = 0x05,
+ SDCA_CTL_ENTITY_0_FUNCTION_MANUFACTURER_ID = 0x06,
+ SDCA_CTL_ENTITY_0_FUNCTION_ID = 0x07,
+ SDCA_CTL_ENTITY_0_FUNCTION_VERSION = 0x08,
+ SDCA_CTL_ENTITY_0_FUNCTION_EXTENSION_ID = 0x09,
+ SDCA_CTL_ENTITY_0_FUNCTION_EXTENSION_VERSION = 0x0A,
+ SDCA_CTL_ENTITY_0_FUNCTION_STATUS = 0x10,
+ SDCA_CTL_ENTITY_0_FUNCTION_ACTION = 0x11,
+ SDCA_CTL_ENTITY_0_MATCHING_GUID = 0x12,
+ SDCA_CTL_ENTITY_0_DEVICE_MANUFACTURER_ID = 0x2C,
+ SDCA_CTL_ENTITY_0_DEVICE_PART_ID = 0x2D,
+ SDCA_CTL_ENTITY_0_DEVICE_VERSION = 0x2E,
+ SDCA_CTL_ENTITY_0_DEVICE_SDCA_VERSION = 0x2F,
+
+ /* Function Status Bits */
+ SDCA_CTL_ENTITY_0_DEVICE_NEWLY_ATTACHED = BIT(0),
+ SDCA_CTL_ENTITY_0_INTS_DISABLED_ABNORMALLY = BIT(1),
+ SDCA_CTL_ENTITY_0_STREAMING_STOPPED_ABNORMALLY = BIT(2),
+ SDCA_CTL_ENTITY_0_FUNCTION_FAULT = BIT(3),
+ SDCA_CTL_ENTITY_0_UMP_SEQUENCE_FAULT = BIT(4),
+ SDCA_CTL_ENTITY_0_FUNCTION_NEEDS_INITIALIZATION = BIT(5),
+ SDCA_CTL_ENTITY_0_FUNCTION_HAS_BEEN_RESET = BIT(6),
+ SDCA_CTL_ENTITY_0_FUNCTION_BUSY = BIT(7),
};
#endif
Update the list of entity_0 controls to better match version v1.0 of the SDCA specification. Remove both INTSTAT_CLEAR and INT_ENABLE as these are no longer used, and add some missing controls and bits into the enum. Also rename the SDCA_CONTROL prefix to SDCA_CTL because this better matches the macros in the sdw_registers.h header, and the names can get quite long so saving a few characters is definitely a plus. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> --- include/sound/sdca_function.h | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-)