Message ID | 20250307171036.7276-1-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: sc8280xp-crd: add support for volume-up key | expand |
On 7.03.2025 6:10 PM, Johan Hovold wrote: > Add support for the keypad volume-up key on the debug extension board. > > This is useful to have when testing PMIC interrupt handling, and the key > can also be used to wake up from deep suspend states (CX shutdown). > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> I'm lukewarm about this since there is no "actual" button for that. Does the power button not work here? If systemd induces a shutdown, try setting HandlePowerKey=ignore in /etc/systemd/logind.conf Konrad
On Sat, Mar 08, 2025 at 05:26:26PM +0100, Konrad Dybcio wrote: > On 7.03.2025 6:10 PM, Johan Hovold wrote: > > Add support for the keypad volume-up key on the debug extension board. > > > > This is useful to have when testing PMIC interrupt handling, and the key > > can also be used to wake up from deep suspend states (CX shutdown). > > > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > I'm lukewarm about this since there is no "actual" button for that. There is certainly a physical button on the debug board. And the UEFI firmware also supports it (e.g. it can be used in GRUB). > Does the power button not work here? For wake up, yes, but not for testing PMIC GPIO interrupts. > If systemd induces a shutdown, try setting > > HandlePowerKey=ignore > > in /etc/systemd/logind.conf I'm aware of that, but the volume key can be used without updating user space (possibly also for CI testing if that signal can be controlled remotely like the power button). Johan
On 3/10/25 1:18 PM, Johan Hovold wrote: > On Sat, Mar 08, 2025 at 05:26:26PM +0100, Konrad Dybcio wrote: >> On 7.03.2025 6:10 PM, Johan Hovold wrote: >>> Add support for the keypad volume-up key on the debug extension board. >>> >>> This is useful to have when testing PMIC interrupt handling, and the key >>> can also be used to wake up from deep suspend states (CX shutdown). >>> >>> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> >> >> I'm lukewarm about this since there is no "actual" button for that. > > There is certainly a physical button on the debug board. And the UEFI > firmware also supports it (e.g. it can be used in GRUB). > >> Does the power button not work here? > > For wake up, yes, but not for testing PMIC GPIO interrupts. > >> If systemd induces a shutdown, try setting >> >> HandlePowerKey=ignore >> >> in /etc/systemd/logind.conf > > I'm aware of that, but the volume key can be used without updating user > space (possibly also for CI testing if that signal can be controlled > remotely like the power button). Alright, I see Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts index 75adaa19d1c3..8badf7f49b95 100644 --- a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts +++ b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts @@ -37,6 +37,20 @@ chosen { stdout-path = "serial0:115200n8"; }; + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-0 = <&kypd_vol_up_n>; + pinctrl-names = "default"; + + key-vol-up { + label = "volume_up"; + gpios = <&pmc8280_1_gpios 6 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + wakeup-source; + }; + }; + pmic-glink { compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; @@ -885,6 +899,14 @@ edp_bl_reg_en: edp-bl-reg-en-state { function = "normal"; }; + kypd_vol_up_n: kypd-vol-up-n-state { + pins = "gpio6"; + function = "normal"; + power-source = <0>; /* 3.3 V */ + bias-pull-up; + input-enable; + }; + misc_3p3_reg_en: misc-3p3-reg-en-state { pins = "gpio2"; function = "normal";
Add support for the keypad volume-up key on the debug extension board. This is useful to have when testing PMIC interrupt handling, and the key can also be used to wake up from deep suspend states (CX shutdown). Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- arch/arm64/boot/dts/qcom/sc8280xp-crd.dts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)