Add sleep state to acl5682. In default, gpio28 (HP_IRQ) is bias-pull-up. To save power, in the new sleep state, gpio28 is bias-disable. sleeping, /sys/kernel/debug/gpio shows gpio28 as "no pull". When codec is awake (microphone plugged in and in use), it shows gpio28 as "pull up". Signed-off-by: Joseph S. Barrera III <joebar@xxxxxxxxxxxx> --- arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi index b5f534db135a..94dd6c34d997 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi @@ -755,8 +755,9 @@ hp_i2c: &i2c9 { alc5682: codec@1a { compatible = "realtek,rt5682i"; reg = <0x1a>; - pinctrl-names = "default"; + pinctrl-names = "default", "sleep"; pinctrl-0 = <&hp_irq>; + pinctrl-1 = <&hp_sleep>; #sound-dai-cells = <1>; @@ -1336,6 +1337,18 @@ pinconf { }; }; + hp_sleep: hp-sleep { + pinmux { + pins = "gpio28"; + function = "gpio"; + }; + + pinconf { + pins = "gpio28"; + bias-disable; + }; + }; + pen_irq_l: pen-irq-l { pinmux { pins = "gpio21"; -- 2.31.0