* [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch
@ 2024-12-19 15:49 Anthony Ruhier via B4 Relay
2024-12-19 15:50 ` Krzysztof Kozlowski
2024-12-19 15:56 ` Konrad Dybcio
0 siblings, 2 replies; 3+ messages in thread
From: Anthony Ruhier via B4 Relay @ 2024-12-19 15:49 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Anthony Ruhier,
Maya Matuszczyk
From: Anthony Ruhier <aruhier@mailbox.org>
Add the lid switch for the Lenovo Yoga Slim 7x.
Other x1e80100 laptops use the GPIO pin 92 only, however on the Yoga
Slim 7x this pin seems to be bridged with the pin 71. By default, the
pin 71 is set as output-high, which blocks any event on pin 92.
This patch sets the pin 71 as output-disable and sets the LID switch on
pin 92. This is aligned with how they're configured on Windows:
GPIO 71 | 0xf147000 | in | func0 | hi | pull up | 16 mA
GPIO 92 | 0xf15c000 | in | func0 | lo | no pull | 2 mA
Signed-off-by: Anthony Ruhier <aruhier@mailbox.org>
---
Changes in v2:
- Fixes patch format.
Tested-by: Maya Matuszczyk <maccraft123mc@gmail.com>
---
.../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index ca5a808f2c7df66a861a933df407fd4bdaea3fe1..311202aa9015a30f1d70108bb214d427f811dc3b 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "x1e80100.dtsi"
@@ -19,6 +20,21 @@ aliases {
serial0 = &uart21;
};
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&hall_int_n_default>;
+ pinctrl-names = "default";
+
+ switch-lid {
+ gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ wakeup-source;
+ wakeup-event-action = <EV_ACT_DEASSERTED>;
+ };
+ };
+
chosen {
stdout-path = "serial0:115200n8";
};
@@ -811,6 +827,28 @@ edp_reg_en: edp-reg-en-state {
bias-disable;
};
+ hall_int_n_default: hall-int-n-state {
+ lid-n-pins {
+ pins = "gpio92";
+ function = "gpio";
+ bias-disable;
+ };
+
+ /*
+ * Pins 71 and 92 seem to be bridged together (pin 71 and 92 show the same
+ * events). By default, pin 71 is set as output-high, which blocks any
+ * event on pin 92. Output-disable on pin 71 is necessary to get events on
+ * pin 92.
+ * The purpose of pin 71 is not yet known; lid-pull is a supposition.
+ */
+ lid-pull-n-pins {
+ pins = "gpio71";
+ function = "gpio";
+ bias-pull-up;
+ output-disable;
+ };
+ };
+
kybd_default: kybd-default-state {
pins = "gpio67";
function = "gpio";
---
base-commit: 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8
change-id: 20241219-patch-lenovo-yoga-17445c0a0ce2
Best regards,
--
Anthony Ruhier <aruhier@mailbox.org>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch
2024-12-19 15:49 [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch Anthony Ruhier via B4 Relay
@ 2024-12-19 15:50 ` Krzysztof Kozlowski
2024-12-19 15:56 ` Konrad Dybcio
1 sibling, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-19 15:50 UTC (permalink / raw)
To: aruhier, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Maya Matuszczyk
On 19/12/2024 16:49, Anthony Ruhier via B4 Relay wrote:
> From: Anthony Ruhier <aruhier@mailbox.org>
>
> Add the lid switch for the Lenovo Yoga Slim 7x.
>
> Other x1e80100 laptops use the GPIO pin 92 only, however on the Yoga
> Slim 7x this pin seems to be bridged with the pin 71. By default, the
> pin 71 is set as output-high, which blocks any event on pin 92.
>
> This patch sets the pin 71 as output-disable and sets the LID switch on
> pin 92. This is aligned with how they're configured on Windows:
> GPIO 71 | 0xf147000 | in | func0 | hi | pull up | 16 mA
> GPIO 92 | 0xf15c000 | in | func0 | lo | no pull | 2 mA
>
> Signed-off-by: Anthony Ruhier <aruhier@mailbox.org>
> ---
> Changes in v2:
> - Fixes patch format.
>
> Tested-by: Maya Matuszczyk <maccraft123mc@gmail.com>
Something is not right here. You cannot add tags in changelog section.
Please use b4 to collect the tags.
> ---
> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 38 ++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> index ca5a808f2c7df66a861a933df407fd4bdaea3fe1..311202aa9015a30f1d70108bb214d427f811dc3b 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> @@ -6,6 +6,7 @@
> /dts-v1/;
>
> #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/gpio-keys.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>
> #include "x1e80100.dtsi"
> @@ -19,6 +20,21 @@ aliases {
> serial0 = &uart21;
> };
>
> + gpio-keys {
Oddly placed, 'g' goes after 'c'. Please keep proper order (see DTS
coding style).
=
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch
2024-12-19 15:49 [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch Anthony Ruhier via B4 Relay
2024-12-19 15:50 ` Krzysztof Kozlowski
@ 2024-12-19 15:56 ` Konrad Dybcio
1 sibling, 0 replies; 3+ messages in thread
From: Konrad Dybcio @ 2024-12-19 15:56 UTC (permalink / raw)
To: aruhier, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Maya Matuszczyk
On 19.12.2024 4:49 PM, Anthony Ruhier via B4 Relay wrote:
> From: Anthony Ruhier <aruhier@mailbox.org>
>
> Add the lid switch for the Lenovo Yoga Slim 7x.
>
> Other x1e80100 laptops use the GPIO pin 92 only, however on the Yoga
> Slim 7x this pin seems to be bridged with the pin 71. By default, the
> pin 71 is set as output-high, which blocks any event on pin 92.
>
> This patch sets the pin 71 as output-disable and sets the LID switch on
> pin 92. This is aligned with how they're configured on Windows:
> GPIO 71 | 0xf147000 | in | func0 | hi | pull up | 16 mA
> GPIO 92 | 0xf15c000 | in | func0 | lo | no pull | 2 mA
>
> Signed-off-by: Anthony Ruhier <aruhier@mailbox.org>
> ---
> Changes in v2:
> - Fixes patch format.
>
> Tested-by: Maya Matuszczyk <maccraft123mc@gmail.com>
> ---
> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 38 ++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> index ca5a808f2c7df66a861a933df407fd4bdaea3fe1..311202aa9015a30f1d70108bb214d427f811dc3b 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> @@ -6,6 +6,7 @@
> /dts-v1/;
>
> #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/gpio-keys.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>
> #include "x1e80100.dtsi"
> @@ -19,6 +20,21 @@ aliases {
> serial0 = &uart21;
> };
>
> + gpio-keys {
If no better sorting key is present (such as base register), we tend
to sort the nodes alphabetically, so this one would go between
chosen and pmic-glink
With that:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
(you can use `b4 trailers -u` to pull tags automagically)
Konrad
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-12-19 15:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-19 15:49 [PATCH v2] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add lid switch Anthony Ruhier via B4 Relay
2024-12-19 15:50 ` Krzysztof Kozlowski
2024-12-19 15:56 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).