* [PATCH v3] arm64: dts: qcom: x1-denali: Add volume up/down GPIO keys
@ 2026-09-02 19:07 Dale Whinham
2026-09-03 17:20 ` Bjorn Andersson
0 siblings, 1 reply; 2+ messages in thread
From: Dale Whinham @ 2026-09-02 19:07 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Jérôme de Bretagne, Konrad Dybcio, Abel Vesa,
Dale Whinham
Configure gpio6 and gpio8 as volume up and volume down respectively, to
enable the volume rocker located at the top of the screen.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
Note: the DTS coding style says properties within a group shall use
natural sort order by name, which for the new pin state nodes would give
bias-pull-up, function, input-enable, pins, power-source. I've instead
led with pins and function, matching every other pin configuration group
in the x1* device trees. Happy to switch to the strict natural sort if
that's preferred.
---
Changes in v3:
- Sort the child nodes of gpio-keys alphabetically by name, and re-order
the pinctrl-0 entries to match (Konrad, DTS style guide).
- Re-order the properties within the new pin state nodes to lead with
pins and function, matching the other x1* pin state nodes.
- Link to v2: https://patch.msgid.link/20260902-surface-pro-11-volume-buttons-v2-1-1d893c7b5440@gmail.com
Changes in v2:
- Sort the new pin configuration nodes by controller and GPIO number (Konrad)
- Link to v1: https://patch.msgid.link/20260829-surface-pro-11-volume-buttons-v1-1-ace589343a68@gmail.com
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 36 ++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
index 7559557610ed..c14a1b9b1130 100644
--- a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
@@ -20,9 +20,27 @@ aliases {
gpio-keys {
compatible = "gpio-keys";
- pinctrl-0 = <&hall_int_n_default>;
+ pinctrl-0 = <&vol_down_n>, <&vol_up_n>, <&hall_int_n_default>;
pinctrl-names = "default";
+ key-vol-down {
+ debounce-interval = <15>;
+ gpios = <&pm8550_gpios 8 GPIO_ACTIVE_LOW>;
+ label = "Volume Down";
+ linux,can-disable;
+ linux,code = <KEY_VOLUMEDOWN>;
+ wakeup-source;
+ };
+
+ key-vol-up {
+ debounce-interval = <15>;
+ gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
+ label = "Volume Up";
+ linux,can-disable;
+ linux,code = <KEY_VOLUMEUP>;
+ wakeup-source;
+ };
+
switch-lid {
gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
@@ -984,6 +1002,22 @@ &pcie6a_port0 {
};
&pm8550_gpios {
+ vol_up_n: vol-up-n-state {
+ pins = "gpio6";
+ function = "normal";
+ bias-pull-up;
+ input-enable;
+ power-source = <1>; /* 1.8V */
+ };
+
+ vol_down_n: vol-down-n-state {
+ pins = "gpio8";
+ function = "normal";
+ bias-pull-up;
+ input-enable;
+ power-source = <1>; /* 1.8V */
+ };
+
rtmr0_default: rtmr0-reset-n-active-state {
pins = "gpio10";
function = "normal";
---
base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
change-id: 20260829-surface-pro-11-volume-buttons-f4b40e25cecb
Best regards,
--
Dale Whinham <daleyo@gmail.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v3] arm64: dts: qcom: x1-denali: Add volume up/down GPIO keys
2026-09-02 19:07 [PATCH v3] arm64: dts: qcom: x1-denali: Add volume up/down GPIO keys Dale Whinham
@ 2026-09-03 17:20 ` Bjorn Andersson
0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Andersson @ 2026-09-03 17:20 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dale Whinham
Cc: linux-arm-msm, devicetree, linux-kernel,
Jérôme de Bretagne, Konrad Dybcio, Abel Vesa
On Wed, 02 Sep 2026 20:07:16 +0100, Dale Whinham wrote:
> Configure gpio6 and gpio8 as volume up and volume down respectively, to
> enable the volume rocker located at the top of the screen.
>
>
Applied, thanks!
[1/1] arm64: dts: qcom: x1-denali: Add volume up/down GPIO keys
commit: ea0ab3a7847a8c6710923e806f91de9d82b99aa8
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-03 17:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 19:07 [PATCH v3] arm64: dts: qcom: x1-denali: Add volume up/down GPIO keys Dale Whinham
2026-09-03 17:20 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox