Message ID | 20240917102715.4096-1-srinivas.kandagatla@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: qcom: x1e80100-t14s: add another trackpad support | expand |
On Tue, Sep 17, 2024 at 06:27:15AM -0400, Srinivas Kandagatla wrote: > From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Trackpad HID device on some of the T14s Product Models 21N2ZC5PUS is > at I2C address 0x2c add this to be able to get it working on these laptops. > diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > index 941dfddd6713..8468f99d9bed 100644 > --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > @@ -467,7 +467,19 @@ touchpad@15 { > wakeup-source; > }; > > - /* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */ > + /* SYNA8022 or SYNA8024 touchpad @ 0x2c */ > + touchpad@15 { > + compatible = "hid-over-i2c"; > + reg = <0x2c>; > + > + hid-descr-addr = <0x20>; > + interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; > + > + pinctrl-0 = <&tpad_default>; > + pinctrl-names = "default"; This doesn't work currently. You can't have two devices claiming the same pins (and these HID devices may be probed in parallel even if at most one will probe successfully). You can work around this by moving the pinctrl properties to the parent bus node as we did for the X13s. Johan
On Tue, Sep 17, 2024 at 06:27:15AM GMT, srinivas.kandagatla@linaro.org wrote: > From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Trackpad HID device on some of the T14s Product Models 21N2ZC5PUS is > at I2C address 0x2c add this to be able to get it working on these laptops. Do you think that we might need to introduce the same workardound as the one added in the commit a9164910c5ce ("arm64: dts: qcom: c630: keep both touchpad devices enabled")? > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > index 941dfddd6713..8468f99d9bed 100644 > --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > @@ -467,7 +467,19 @@ touchpad@15 { > wakeup-source; > }; > > - /* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */ > + /* SYNA8022 or SYNA8024 touchpad @ 0x2c */ > + touchpad@15 { > + compatible = "hid-over-i2c"; > + reg = <0x2c>; > + > + hid-descr-addr = <0x20>; > + interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; > + > + pinctrl-0 = <&tpad_default>; > + pinctrl-names = "default"; > + > + wakeup-source; > + }; > > /* ELAN06F1 or SYNA06F2 */ > keyboard@3a { > -- > 2.39.2 >
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts index 941dfddd6713..8468f99d9bed 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts @@ -467,7 +467,19 @@ touchpad@15 { wakeup-source; }; - /* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */ + /* SYNA8022 or SYNA8024 touchpad @ 0x2c */ + touchpad@15 { + compatible = "hid-over-i2c"; + reg = <0x2c>; + + hid-descr-addr = <0x20>; + interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-0 = <&tpad_default>; + pinctrl-names = "default"; + + wakeup-source; + }; /* ELAN06F1 or SYNA06F2 */ keyboard@3a {