arm64: dts: librem5-devkit: Move headphone detection to sound card
authorGuido Günther <agx@sigxcpu.org>
Sun, 21 Feb 2021 11:07:11 +0000 (12:07 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 15 Mar 2021 04:22:29 +0000 (12:22 +0800)
This allows for automatic output source switching in userspace. Enable
the pullup on the GPIO to actually make it trigger and mark it as
active-high since detection is reversed otherwise.

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 51b37979d624d9d1cb676f5bd27d1b03171b8661..622f3787a1866b5ff8902b41a22173968e25f3ed 100644 (file)
                        linux,code = <KEY_VOLUMEDOWN>;
                };
 
-               hp-det {
-                       label = "HP_DET";
-                       gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
-                       wakeup-source;
-                       linux,code = <KEY_HP>;
-               };
-
                wwan-wake {
                        label = "WWAN_WAKE";
                        gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
 
        sound {
                compatible = "simple-audio-card";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_hpdet>;
                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", "Builtin Microphone",
                        "Microphone", "Headset Microphone",
-                       "Headphone", "Headphone Jack",
+                       "Headphone", "Headphones",
                        "Speaker", "Builtin Speaker";
                simple-audio-card,routing =
                        "MIC_IN", "Mic Mux OUT",
                        "Mic Mux IN1", "Headset Microphone",
                        "Mic Mux IN2", "Builtin Microphone",
                        "Mic Mux OUT", "Mic Bias",
-                       "Headphone Jack", "HP_OUT",
+                       "Headphones", "HP_OUT",
                        "Builtin Speaker", "Speaker Amp OUTR",
                        "Speaker Amp INR", "LINE_OUT";
+               simple-audio-card,hp-det-gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
 
                simple-audio-card,cpu {
                        sound-dai = <&sai2>;
                fsl,pins = <
                        MX8MQ_IOMUXC_SAI2_RXFS_GPIO4_IO21       0x16
                        MX8MQ_IOMUXC_SAI2_RXC_GPIO4_IO22        0x16
-                       MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20        0x180  /* HP_DET */
                        MX8MQ_IOMUXC_NAND_DATA02_GPIO3_IO8      0x80   /* nWoWWAN */
                >;
        };
                >;
        };
 
+       pinctrl_hpdet: hpdetgrp {
+               fsl,pins = <
+                       MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20        0xC0   /* HP_DET */
+               >;
+       };
+
        pinctrl_i2c1: i2c1grp {
                fsl,pins = <
                        MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL          0x4000001f