diff --git a/qcom/blair-cypfr-common-overlay.dtsi b/qcom/blair-cypfr-common-overlay.dtsi index 9606311aa84d..78b95f4227b7 100644 --- a/qcom/blair-cypfr-common-overlay.dtsi +++ b/qcom/blair-cypfr-common-overlay.dtsi @@ -19,6 +19,7 @@ #include "display/holi-sde-display-mtp-pm6125.dtsi" #include "display/blair-sde-display-mtp.dtsi" #include "cypfr-display.dtsi" +#include "cypfr-touchscreen.dtsi" &tlmm { nfc { @@ -215,29 +216,6 @@ status = "ok"; }; -&qupv3_se0_i2c { - status = "ok"; - #address-cells = <1>; - #size-cells = <0>; - nq@28 { - compatible = "qcom,sn-nci"; - reg = <0x28>; - qcom,sn-irq = <&tlmm 9 0x00>; - qcom,sn-ven = <&tlmm 6 0x00>; - qcom,sn-firm = <&tlmm 8 0x00>; - qcom,sn-clkreq = <&tlmm 7 0x00>; - qcom,sn-vdd-1p8-supply = <&L9A>; - qcom,sn-vdd-1p8-voltage = <1800000 1800000>; - qcom,sn-vdd-1p8-current = <157000>; - interrupt-parent = <&tlmm>; - interrupts = <9 0>; - interrupt-names = "nfc_irq"; - pinctrl-names = "nfc_active", "nfc_suspend"; - pinctrl-0 = <&nfc_int_active &nfc_enable_active>; - pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; - }; -}; - &soc { gpio_keys { compatible = "gpio-keys"; @@ -272,39 +250,5 @@ }; }; -&qupv3_se8_i2c { - status = "okay"; - qcom,i2c-touch-active="synaptics,tcm-i2c"; - - synaptics_tcm@20 { - compatible = "synaptics,tcm-i2c"; - reg = <0x20>; - interrupt-parent = <&tlmm>; - interrupts = <22 0x2008>; - pinctrl-names = "pmx_ts_active","pmx_ts_suspend", - "pmx_ts_release"; - pinctrl-0 = <&ts_active>; - pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; - pinctrl-2 = <&pmx_ts_release>; - vdd-supply = <&L9A>; - avdd-supply = <&touch_avdd>; - synaptics,pwr-reg-name = "avdd"; - synaptics,bus-reg-name = "vdd"; - synaptics,irq-gpio = <&tlmm 22 0x2008>; - synaptics,irq-on-state = <0>; - synaptics,reset-gpio = <&tlmm 21 0x00>; - synaptics,reset-on-state = <0>; - synaptics,reset-active-ms = <20>; - synaptics,reset-delay-ms = <200>; - synaptics,power-delay-ms = <200>; - synaptics,ubl-i2c-addr = <0x20>; - synaptics,extend_report; - synaptics,firmware-name = "synaptics_firmware.img"; - - panel = <&dsi_rm69299_visionox_amoled_video - &dsi_rm69299_visionox_amoled_cmd>; - }; -}; - #include "camera/blair-camera-sensor-mtp.dtsi" diff --git a/qcom/cypfr-touchscreen.dtsi b/qcom/cypfr-touchscreen.dtsi new file mode 100755 index 000000000000..8107798e6d3e --- /dev/null +++ b/qcom/cypfr-touchscreen.dtsi @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2019, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +&tlmm { + touch_int_mux { + touch_int_active: active { + mux { + pins = "gpio22"; + function = "gpio"; + }; + config { + pins = "gpio22"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + touch_int_suspend: default { + mux { + pins = "gpio22"; + function = "gpio"; + }; + config { + pins = "gpio22"; + drive-strength = <2>; + bias-disable; + }; + }; + }; + + pmx_ts_int_suspend_high { + ts_int_suspend_high: ts_int_suspend_high { + mux { + pins = "gpio22"; + function = "gpio"; + }; + config { + pins = "gpio22"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + touch_reset_mux { + touch_reset_active: active { + mux { + pins = "gpio21"; + function = "gpio"; + }; + config { + pins = "gpio21"; + drive-strength = <8>; + bias-disable; + }; + }; + + touch_reset_suspend: default { + mux { + pins = "gpio21"; + function = "gpio"; + }; + config { + pins = "gpio21"; + drive-strength = <2>; + bias-pull-down; + output-low; + }; + }; + }; + + ts_release_mux { + ts_release: ts_release { + mux { + pins = "gpio21", "gpio22"; + function = "gpio"; + }; + + config { + pins = "gpio21", "gpio22"; + drive-strength = <2>; + bias-disable; + }; + }; + }; +}; + +&qupv3_se0_i2c { + status = "disabled"; +}; + +&qupv3_se8_i2c { + synaptics_tcm@20 { + status = "disabled"; + }; +}; + +&qupv3_se0_spi { + status = "ok"; + ilitek@0 { + compatible = "tchip,ilitek"; + reg = <0x0>; + spi-max-frequency = <6000000>; + interrupt-parent = <&tlmm>; + interrupts = <22 0x2008>; + panel = <&dsi_tm_ili7807s_678_fhd_video>; + touch,reset-gpio = <&tlmm 21 0x00>; + touch,irq-gpio = <&tlmm 22 0x2008>; + pinctrl-names = "pmx_ts_int_active","pmx_ts_int_suspend_high"; + pinctrl-0 = <&touch_int_active>; + pinctrl-1 = <&ts_int_suspend_high>; + ilitek,report_gesture_key; + status = "ok"; + }; +};