arm64: dts: librem5-devkit: Add mux for built-in vs headset mic
authorGuido Günther <agx@sigxcpu.org>
Sun, 21 Feb 2021 11:07:10 +0000 (12:07 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 15 Mar 2021 04:22:29 +0000 (12:22 +0800)
Add mux so we can select either headset or built-in microphone input.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts

index 9c4fad71a6b0e2d0a656a9940137cdad0d0a988c..51b37979d624d9d1cb676f5bd27d1b03171b8661 100644 (file)
                #sound-dai-cells = <0>;
        };
 
+       mic_mux: mic-mux {
+               compatible = "simple-audio-mux";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_micsel>;
+               mux-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
+               sound-name-prefix = "Mic Mux";
+       };
+
        sound {
                compatible = "simple-audio-card";
-               simple-audio-card,aux-devs = <&speaker_amp>;
+               simple-audio-card,aux-devs = <&speaker_amp>, <&mic_mux>;
                simple-audio-card,name = "Librem 5 Devkit";
                simple-audio-card,format = "i2s";
                simple-audio-card,widgets =
-                       "Microphone", "Microphone Jack",
+                       "Microphone", "Builtin Microphone",
+                       "Microphone", "Headset Microphone",
                        "Headphone", "Headphone Jack",
                        "Speaker", "Builtin Speaker";
                simple-audio-card,routing =
-                       "MIC_IN", "Microphone Jack",
-                       "Microphone Jack", "Mic Bias",
+                       "MIC_IN", "Mic Mux OUT",
+                       "Mic Mux IN1", "Headset Microphone",
+                       "Mic Mux IN2", "Builtin Microphone",
+                       "Mic Mux OUT", "Mic Bias",
                        "Headphone Jack", "HP_OUT",
                        "Builtin Speaker", "Speaker Amp OUTR",
                        "Speaker Amp INR", "LINE_OUT";
                >;
        };
 
+       pinctrl_micsel: micselgrp {
+               fsl,pins = <
+                       MX8MQ_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5    0xc6  /* MIC_SEL */
+               >;
+       };
+
        pinctrl_spkamp: spkamp {
                fsl,pins = <
                        MX8MQ_IOMUXC_SPDIF_TX_GPIO5_IO3         0x81  /* MUTE */