[PATCH] arm64: dts: qcom: sc7180: Add sleep state for alc5682 codec

From: Joseph S. Barrera III
Date: Thu Aug 18 2022 - 11:42:41 EST


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