Merge tag 'fbdev-v4.18' of git://github.com/bzolnier/linux
[platform/kernel/linux-starfive.git] / sound / usb / mixer_maps.c
index eaa03ac..71069e1 100644 (file)
@@ -485,3 +485,68 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
        { 0 } /* terminator */
 };
 
+/*
+ * Control map entries for UAC3 BADD profiles
+ */
+
+static struct usbmix_name_map uac3_badd_generic_io_map[] = {
+       { UAC3_BADD_FU_ID2, "Generic Out Playback" },
+       { UAC3_BADD_FU_ID5, "Generic In Capture" },
+       { 0 }                                   /* terminator */
+};
+static struct usbmix_name_map uac3_badd_headphone_map[] = {
+       { UAC3_BADD_FU_ID2, "Headphone Playback" },
+       { 0 }                                   /* terminator */
+};
+static struct usbmix_name_map uac3_badd_speaker_map[] = {
+       { UAC3_BADD_FU_ID2, "Speaker Playback" },
+       { 0 }                                   /* terminator */
+};
+static struct usbmix_name_map uac3_badd_microphone_map[] = {
+       { UAC3_BADD_FU_ID5, "Mic Capture" },
+       { 0 }                                   /* terminator */
+};
+/* Covers also 'headset adapter' profile */
+static struct usbmix_name_map uac3_badd_headset_map[] = {
+       { UAC3_BADD_FU_ID2, "Headset Playback" },
+       { UAC3_BADD_FU_ID5, "Headset Capture" },
+       { UAC3_BADD_FU_ID7, "Sidetone Mixing" },
+       { 0 }                                   /* terminator */
+};
+static struct usbmix_name_map uac3_badd_speakerphone_map[] = {
+       { UAC3_BADD_FU_ID2, "Speaker Playback" },
+       { UAC3_BADD_FU_ID5, "Mic Capture" },
+       { 0 }                                   /* terminator */
+};
+
+static struct usbmix_ctl_map uac3_badd_usbmix_ctl_maps[] = {
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_GENERIC_IO,
+               .map = uac3_badd_generic_io_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_HEADPHONE,
+               .map = uac3_badd_headphone_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_SPEAKER,
+               .map = uac3_badd_speaker_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_MICROPHONE,
+               .map = uac3_badd_microphone_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_HEADSET,
+               .map = uac3_badd_headset_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_HEADSET_ADAPTER,
+               .map = uac3_badd_headset_map,
+       },
+       {
+               .id = UAC3_FUNCTION_SUBCLASS_SPEAKERPHONE,
+               .map = uac3_badd_speakerphone_map,
+       },
+       { 0 } /* terminator */
+};