diff --git a/qcom/sun-cdp.dtsi b/qcom/sun-cdp.dtsi index b4cc0fc1..881cae12 100644 --- a/qcom/sun-cdp.dtsi +++ b/qcom/sun-cdp.dtsi @@ -200,3 +200,73 @@ dummy-supply = <&pmih010x_eusb2_repeater>; usb-repeater = <&pmih010x_eusb2_repeater>; }; + +&qupv3_se4_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + qcom,touch-active = "st,fts"; + + st_fts@49 { + compatible = "st,fts"; + reg = <0x49>; + interrupt-parent = <&tlmm>; + interrupts = <162 0x2008>; + vdd-supply = <&L4B>; + avdd-supply = <&L14B>; + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; + pinctrl-0 = <&ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + st,irq-gpio = <&tlmm 162 0x2008>; + st,reset-gpio = <&tlmm 161 0x00>; + st,regulator_dvdd = "vdd"; + st,regulator_avdd = "avdd"; + + st,touch-type = "primary"; + st,qts_en; + qts,trusted-touch-mode = "vm_mode"; + qts,touch-environment = "pvm"; + qts,trusted-touch-type = "primary"; + qts,trusted-touch-spi-irq = <598>; + qts,trusted-touch-io-bases = <0xa90000>; + qts,trusted-touch-io-sizes = <0x1000>; + qts,trusted-touch-vm-gpio-list = <&tlmm 48 0 &tlmm 49 0 &tlmm 50 0 + &tlmm 51 0 &tlmm 161 0 &tlmm 162 0x2008>; + }; +}; + +&qupv3_se15_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + qcom,touch-active = "st,fts"; + + st_fts@49 { + compatible = "st,fts"; + reg = <0x49>; + interrupt-parent = <&tlmm>; + interrupts = <88 0x2008>; + vdd-supply = <&L4B>; + avdd-supply = <&L14B>; + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; + pinctrl-0 = <&ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + st,irq-gpio = <&tlmm 88 0x2008>; + st,reset-gpio = <&tlmm 91 0x00>; + st,regulator_dvdd = "vdd"; + st,regulator_avdd = "avdd"; + + st,touch-type = "secondary"; + st,qts_en; + qts,trusted-touch-mode = "vm_mode"; + qts,touch-environment = "pvm"; + qts,trusted-touch-type = "secondary"; + qts,trusted-touch-spi-irq = <657>; + qts,trusted-touch-io-bases = <0xa90000>; + qts,trusted-touch-io-sizes = <0x1000>; + qts,trusted-touch-vm-gpio-list = <&tlmm 60 0 &tlmm 61 0 &tlmm 62 0 + &tlmm 63 0 &tlmm 91 0 &tlmm 88 0x2008>; + }; +}; diff --git a/qcom/sun-mtp.dtsi b/qcom/sun-mtp.dtsi index 413d3145..dea8ebcf 100644 --- a/qcom/sun-mtp.dtsi +++ b/qcom/sun-mtp.dtsi @@ -269,3 +269,38 @@ dummy-supply = <&pmih010x_eusb2_repeater>; usb-repeater = <&pmih010x_eusb2_repeater>; }; + +&qupv3_se4_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + qcom,touch-active = "st,fts"; + + st_fts@49 { + compatible = "st,fts"; + reg = <0x49>; + interrupt-parent = <&tlmm>; + interrupts = <162 0x2008>; + vdd-supply = <&L4B>; + avdd-supply = <&L14B>; + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; + pinctrl-0 = <&ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + st,irq-gpio = <&tlmm 162 0x2008>; + st,reset-gpio = <&tlmm 161 0x00>; + st,regulator_dvdd = "vdd"; + st,regulator_avdd = "avdd"; + + st,touch-type = "primary"; + st,qts_en; + qts,trusted-touch-mode = "vm_mode"; + qts,touch-environment = "pvm"; + qts,trusted-touch-type = "primary"; + qts,trusted-touch-spi-irq = <598>; + qts,trusted-touch-io-bases = <0xa90000>; + qts,trusted-touch-io-sizes = <0x1000>; + qts,trusted-touch-vm-gpio-list = <&tlmm 48 0 &tlmm 49 0 &tlmm 50 0 + &tlmm 51 0 &tlmm 161 0 &tlmm 162 0x2008>; + }; +}; diff --git a/qcom/sun-pinctrl.dtsi b/qcom/sun-pinctrl.dtsi index 966c1344..683dbbc4 100644 --- a/qcom/sun-pinctrl.dtsi +++ b/qcom/sun-pinctrl.dtsi @@ -3217,4 +3217,65 @@ }; }; }; + + /* touchscreen pins */ + pmx_ts_active { + ts_active: ts_active { + mux { + pins = "gpio161", "gpio162"; + function = "gpio"; + }; + + config { + pins = "gpio161", "gpio162"; + drive-strength = <8>; + bias-pull-up; + }; + }; + }; + + pmx_ts_reset_suspend { + ts_reset_suspend: ts_reset_suspend { + mux { + pins = "gpio161"; + function = "gpio"; + }; + + config { + pins = "gpio161"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + pmx_ts_int_suspend { + ts_int_suspend: ts_int_suspend { + mux { + pins = "gpio162"; + function = "gpio"; + }; + + config { + pins = "gpio162"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + pmx_ts_release { + ts_release: ts_release { + mux { + pins = "gpio161", "gpio162"; + function = "gpio"; + }; + + config { + pins = "gpio161", "gpio162"; + drive-strength = <2>; + bias-disable; + }; + }; + }; };