summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/audio_codec.h
diff options
context:
space:
mode:
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>2016-03-30 10:53:56 +0300
committerGreg Kroah-Hartman <gregkh@google.com>2016-04-05 16:39:22 +0300
commit89de9a06213240b9266f9f368a867cf90d0024bf (patch)
tree4b32edc0f63e07638a3581b827d4c58fa3ccef44 /drivers/staging/greybus/audio_codec.h
parenta9234bfd6cec4420b5bef29d77dce1f9cb0543e2 (diff)
downloadlinux-89de9a06213240b9266f9f368a867cf90d0024bf.tar.xz
greybus: audio: Update device type based on widget types
Device type info shared to above HAL is currently hard coded to SPK only. Actual device type is identifed while parsing widget types from topology FW shared by codec module. Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org> Reviewed-by: Mark Greer <mgreer@animalcreek.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/audio_codec.h')
-rw-r--r--drivers/staging/greybus/audio_codec.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/staging/greybus/audio_codec.h b/drivers/staging/greybus/audio_codec.h
index 165b3595dae9..6182b20c5a27 100644
--- a/drivers/staging/greybus/audio_codec.h
+++ b/drivers/staging/greybus/audio_codec.h
@@ -36,6 +36,21 @@ enum gbcodec_reg_index {
GBCODEC_REG_COUNT
};
+/* device_type should be same as defined in audio.h (Android media layer) */
+enum {
+ GBAUDIO_DEVICE_NONE = 0x0,
+ /* reserved bits */
+ GBAUDIO_DEVICE_BIT_IN = 0x80000000,
+ GBAUDIO_DEVICE_BIT_DEFAULT = 0x40000000,
+ /* output devices */
+ GBAUDIO_DEVICE_OUT_SPEAKER = 0x2,
+ GBAUDIO_DEVICE_OUT_WIRED_HEADSET = 0x4,
+ GBAUDIO_DEVICE_OUT_WIRED_HEADPHONE = 0x8,
+ /* input devices */
+ GBAUDIO_DEVICE_IN_BUILTIN_MIC = GBAUDIO_DEVICE_BIT_IN | 0x4,
+ GBAUDIO_DEVICE_IN_WIRED_HEADSET = GBAUDIO_DEVICE_BIT_IN | 0x10,
+};
+
/* bit 0-SPK, 1-HP, 2-DAC,
* 4-MIC, 5-HSMIC, 6-MIC2
*/
@@ -144,6 +159,8 @@ struct gbaudio_module_info {
/* need to share this info to above user space */
int manager_id;
char name[NAME_SIZE];
+ unsigned int ip_devices;
+ unsigned int op_devices;
/* jack related */
char jack_name[NAME_SIZE];