]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: sm6115-pro1x: Add Goodix Touchscreen
authorDang Huynh <danct12@riseup.net>
Wed, 31 Jul 2024 06:18:44 +0000 (13:18 +0700)
committerBjorn Andersson <andersson@kernel.org>
Thu, 1 Aug 2024 02:41:59 +0000 (21:41 -0500)
The Fxtec Pro1X touchscreen uses Goodix GT9286 chip.

Signed-off-by: Dang Huynh <danct12@riseup.net>
Link: https://lore.kernel.org/r/20240731-qx1050-feature-expansion-v3-3-b945527fa5d2@riseup.net
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts

index 6abe080a00a2694302685855108daf084d1873b1..f29420a092ca1a58be64600dbb25bd8f713a6ca9 100644 (file)
                        wakeup-source;
                };
        };
+
+       ts_vdd_supply: ts-vdd-supply {
+               compatible = "regulator-fixed";
+               regulator-name = "ts_vdd_supply";
+               gpio = <&pca9534 3 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       ts_vddio_supply: ts-vddio-supply {
+               compatible = "regulator-fixed";
+               regulator-name = "ts_vddio_supply";
+               gpio = <&pca9534 2 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &dispcc {
        };
 };
 
+&i2c2 {
+       status = "okay";
+       /* Clock frequency was not specified downstream, let's park it to 100 KHz */
+       clock-frequency = <100000>;
+
+       touchscreen@14 {
+               compatible = "goodix,gt9286";
+               reg = <0x14>;
+
+               interrupts-extended = <&tlmm 80 IRQ_TYPE_LEVEL_LOW>;
+
+               irq-gpios = <&tlmm 80 IRQ_TYPE_LEVEL_LOW>;
+               reset-gpios = <&tlmm 71 GPIO_ACTIVE_HIGH>;
+               AVDD28-supply = <&ts_vdd_supply>;
+               VDDIO-supply = <&ts_vddio_supply>;
+
+               pinctrl-0 = <&ts_int_n>, <&ts_rst_n>;
+               pinctrl-names = "default";
+       };
+};
+
 &pm6125_gpios {
        vol_up_n: vol-up-n-state {
                pins = "gpio5";
                bias-pull-up;
        };
 
+       ts_rst_n: ts-rst-n-state {
+               pins = "gpio71";
+               function = "gpio";
+               drive-strength = <8>;
+               bias-pull-up;
+       };
+
+       ts_int_n: ts-int-n-state {
+               pins = "gpio80";
+               function = "gpio";
+               drive-strength = <8>;
+               bias-pull-up;
+       };
+
        hall_sensor_n: hall-sensor-n-state {
                pins = "gpio96";
                function = "gpio";