summaryrefslogtreecommitdiff
path: root/include/sound/apr_audio-v2.h
diff options
context:
space:
mode:
authorHaynes Mathew George <hgeorge@codeaurora.org>2016-10-27 16:56:21 -0700
committerHaynes Mathew George <hgeorge@codeaurora.org>2017-02-08 18:00:28 -0800
commit60a73c06525b74f734bd0785cfdde42e22893cd6 (patch)
tree9b3a4efc4f9f19c5f67bc6de23136c338a6dc9c5 /include/sound/apr_audio-v2.h
parent147b2394be6d487f75445ed84794b60c4dc8cfc8 (diff)
ASoC: msm: qdsp6v2: Add endianness control for USB devices
Add mixer control to set the endianness of the playback/capture USB device. CRs-Fixed: 2003737 Change-Id: I99102c3bb64e321fb3e5df38428e63a406f91d7e Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
Diffstat (limited to 'include/sound/apr_audio-v2.h')
-rw-r--r--include/sound/apr_audio-v2.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/sound/apr_audio-v2.h b/include/sound/apr_audio-v2.h
index 1f8bba7e9ab7..3d3a2022bc04 100644
--- a/include/sound/apr_audio-v2.h
+++ b/include/sound/apr_audio-v2.h
@@ -2471,6 +2471,13 @@ struct afe_param_id_slimbus_cfg {
*/
#define AFE_PARAM_ID_USB_AUDIO_DEV_PARAMS 0x000102A5
+
+/* ID of the parameter used to set the endianness value for the
+ * USB audio device. It should be used with
+ * AFE_MODULE_AUDIO_DEV_INTERFACE
+ */
+#define AFE_PARAM_ID_USB_AUDIO_DEV_LPCM_FMT 0x000102AA
+
/* Minor version used for tracking USB audio configuration */
#define AFE_API_MINIOR_VERSION_USB_AUDIO_CONFIG 0x1
@@ -2486,6 +2493,15 @@ struct afe_param_id_usb_audio_dev_params {
u32 dev_token;
} __packed;
+struct afe_param_id_usb_audio_dev_lpcm_fmt {
+/* Minor version used for tracking USB audio device parameter.
+ * Supported values: AFE_API_MINIOR_VERSION_USB_AUDIO_CONFIG
+ */
+ u32 cfg_minor_version;
+/* Endianness of actual end USB audio device */
+ u32 endian;
+} __packed;
+
/* ID of the parameter used by AFE_PARAM_ID_USB_AUDIO_CONFIG to configure
* USB audio interface. It should be used with AFE_MODULE_AUDIO_DEV_INTERFACE
*/
@@ -2530,13 +2546,18 @@ struct afe_param_id_usb_audio_cfg {
u16 reserved;
/* device token of actual end USB aduio device */
u32 dev_token;
+/* endianness of this interface */
+ u32 endian;
} __packed;
struct afe_usb_audio_dev_param_command {
struct apr_hdr hdr;
struct afe_port_cmd_set_param_v2 param;
struct afe_port_param_data_v2 pdata;
- struct afe_param_id_usb_audio_dev_params usb_dev;
+ union {
+ struct afe_param_id_usb_audio_dev_params usb_dev;
+ struct afe_param_id_usb_audio_dev_lpcm_fmt lpcm_fmt;
+ };
} __packed;
/*