OSDN Git Service

arm64: dts: qcom: msm8998-xperia: Add RMI4 touchscreen support
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Thu, 9 Sep 2021 12:37:28 +0000 (14:37 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 24 Sep 2021 23:25:22 +0000 (18:25 -0500)
All of the devices in the Sony Yoshino platform are using a Synaptics
RMI4-compatible touch IC with identical pins and supplies: enable the
I2C-5 bus and add the rmi4-i2c node along with the required pin
configurations.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210909123733.367248-2-angelogioacchino.delregno@somainline.org
arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi

index 98d23f8..8bbff6e 100644 (file)
                regulator-boot-on;
        };
 
+       touch_vddio_vreg: touch-vddio-vreg {
+               compatible = "regulator-fixed";
+               regulator-name = "touch_vddio_vreg";
+               startup-delay-us = <10000>;
+               gpio = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&ts_vddio_en>;
+       };
+
        vph_pwr: vph-pwr-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vph_pwr";
        };
 };
 
+&blsp1_i2c5 {
+       status = "okay";
+       clock-frequency = <355000>;
+
+       touchscreen@2c {
+               compatible = "syna,rmi4-i2c";
+               reg = <0x2c>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&ts_int_n>;
+
+               vdd-supply = <&vreg_l28_3p0>;
+               vio-supply = <&touch_vddio_vreg>;
+
+               syna,reset-delay-ms = <220>;
+               syna,startup-delay-ms = <1000>;
+
+               rmi4-f01@1 {
+                       reg = <0x01>;
+                       syna,nosleep-mode = <1>;
+               };
+
+               rmi4-f11@11 {
+                       reg = <0x11>;
+                       syna,sensor-type = <1>;
+               };
+       };
+};
+
+&blsp1_i2c5_sleep {
+       bias-disable;
+};
+
 &blsp2_uart1 {
        status = "okay";
 };
                drive-strength = <2>;
                input-enable;
        };
+
+       ts_int_n: ts-int-n {
+               pins = "gpio125";
+               function = "gpio";
+               drive-strength = <8>;
+               bias-pull-up;
+       };
+
+       ts_vddio_en: ts-vddio-en-default {
+               pins = "gpio133";
+               function = "gpio";
+               bias-disable;
+               drive-strength = <2>;
+               output-low;
+       };
 };
 
 /*