Quoting Joseph S. Barrera III (2022-08-18 08:42:19) > 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 something missing? The sentence starts with 'sleeping'. > 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; > + }; Does removing the bias cause an irq to trigger? I'm worried that this change may cause a spurious irq upon entering or exiting sleep, maybe both actually. The irq is double edged so we really want it to stay stable at one level whenever the gpio interrupt hardware is sensing the line. >From what I can tell the pin is powered by AVDD-supply and I can't tell if that is ever powered off while the driver is probed. Probably not? If the power to the pin on the codec is never turned off then there isn't a power leak from what I can tell.