arm64: dts: qcom: sc8280xp-x13s: enable alternate touchpad

Message ID 20230324094744.20448-1-johan+linaro@kernel.org
State New
Headers
Series arm64: dts: qcom: sc8280xp-x13s: enable alternate touchpad |

Commit Message

Johan Hovold March 24, 2023, 9:47 a.m. UTC
  Enable both touchpad nodes in the devictree and let the HID driver
determine which one is actually populated (by attempting to read from
each i2c address).

Ideally this would not be needed and the boot firmware should instead
enable only the node for the populated touchpad, but this is unlikely to
ever be realised for the X13s.

Note that the pin configuration must currently be moved to the parent
i2c-bus node even though only one of these nodes will ever be
successfully probed on a specific device (e.g. to allow them to be
probed in parallel).

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 .../boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)
  

Comments

Bjorn Andersson March 24, 2023, 6:34 p.m. UTC | #1
On Fri, 24 Mar 2023 10:47:44 +0100, Johan Hovold wrote:
> Enable both touchpad nodes in the devictree and let the HID driver
> determine which one is actually populated (by attempting to read from
> each i2c address).
> 
> Ideally this would not be needed and the boot firmware should instead
> enable only the node for the populated touchpad, but this is unlikely to
> ever be realised for the X13s.
> 
> [...]

Applied, thanks!

[1/1] arm64: dts: qcom: sc8280xp-x13s: enable alternate touchpad
      commit: 4367d763698c5c7c2c0e540f0508e48b337c7d8a

Best regards,
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
index 6addc91d7c74..d7de7cb22d75 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
@@ -641,7 +641,7 @@  &i2c21 {
 	clock-frequency = <400000>;
 
 	pinctrl-names = "default";
-	pinctrl-0 = <&i2c21_default>;
+	pinctrl-0 = <&i2c21_default>, <&tpad_default>;
 
 	status = "okay";
 
@@ -654,12 +654,7 @@  touchpad@15 {
 		vdd-supply = <&vreg_misc_3p3>;
 		vddl-supply = <&vreg_s10b>;
 
-		pinctrl-names = "default";
-		pinctrl-0 = <&tpad_default>;
-
 		wakeup-source;
-
-		status = "disabled";
 	};
 
 	touchpad@2c {
@@ -671,9 +666,6 @@  touchpad@2c {
 		vdd-supply = <&vreg_misc_3p3>;
 		vddl-supply = <&vreg_s10b>;
 
-		pinctrl-names = "default";
-		pinctrl-0 = <&tpad_default>;
-
 		wakeup-source;
 	};