From 06d5835dcb347374a4a25807ea0bfaa747f3bbb6 Mon Sep 17 00:00:00 2001 From: Fei Mao Date: Wed, 26 Jan 2022 14:40:19 +0800 Subject: [PATCH] ARM: dts: msm: Add new touch IC for Kalama QRD Add a new touch IC from vendor for Kalama QRD project. Change-Id: Ia29448973acac09ae0f99c215ba3ea6d827beaf8 --- qcom/kalama-pinctrl.dtsi | 62 ++++++++++++++++++++++++++++++++++++++++ qcom/kalama-qrd.dtsi | 34 ++++++++++++++++++++++ qcom/kalama-vm-qrd.dtsi | 16 +++++++++++ 3 files changed, 112 insertions(+) diff --git a/qcom/kalama-pinctrl.dtsi b/qcom/kalama-pinctrl.dtsi index 5cef779d..dbb129d5 100644 --- a/qcom/kalama-pinctrl.dtsi +++ b/qcom/kalama-pinctrl.dtsi @@ -3074,4 +3074,66 @@ }; }; }; + + /* touchscreen pins */ + pmx_ts_active { + ts_active: ts_active { + mux { + pins = "gpio24", "gpio25"; + function = "gpio"; + }; + + config { + pins = "gpio24", "gpio25"; + drive-strength = <8>; + bias-pull-up; + }; + }; + }; + + pmx_ts_reset_suspend { + ts_reset_suspend: ts_reset_suspend { + mux { + pins = "gpio24"; + function = "gpio"; + }; + + config { + pins = "gpio24"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + pmx_ts_int_suspend { + ts_int_suspend: ts_int_suspend { + mux { + pins = "gpio25"; + function = "gpio"; + }; + + config { + pins = "gpio25"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + pmx_ts_release { + ts_release: ts_release { + mux { + pins = "gpio24", "gpio25"; + function = "gpio"; + }; + + config { + pins = "gpio24", "gpio25"; + drive-strength = <2>; + bias-disable; + }; + }; + }; + }; diff --git a/qcom/kalama-qrd.dtsi b/qcom/kalama-qrd.dtsi index 6a1b1ba0..6de7027b 100644 --- a/qcom/kalama-qrd.dtsi +++ b/qcom/kalama-qrd.dtsi @@ -141,3 +141,37 @@ &pm8550_flash { status = "ok"; }; + +&qupv3_se4_spi { + #address-cells = <1>; + #size-cells = <0>; + status = "ok"; + qcom,touch-active = "goodix,gt9916S"; + + goodix-berlin@0 { + compatible = "goodix,gt9916S"; + reg = <0>; + spi-max-frequency = <1000000>; + + goodix,avdd-name = "avdd"; + avdd-supply = <&L14B>; + + interrupt-parent = <&tlmm>; + interrupts = <25 0x2008>; + goodix,reset-gpio = <&tlmm 24 0x00>; + goodix,irq-gpio = <&tlmm 25 0x2008>; + goodix,irq-flags = <2>; + goodix,panel-max-x = <1080>; + goodix,panel-max-y = <2400>; + goodix,panel-max-w = <255>; + goodix,panel-max-p = <4096>; + goodix,firmware-name = "goodix_firmware_spi.bin"; + goodix,config-name = "goodix_cfg_group.bin"; + + 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 = <&ts_release>; + }; +}; + diff --git a/qcom/kalama-vm-qrd.dtsi b/qcom/kalama-vm-qrd.dtsi index dd619006..3cc42a8a 100644 --- a/qcom/kalama-vm-qrd.dtsi +++ b/qcom/kalama-vm-qrd.dtsi @@ -1,3 +1,19 @@ &soc { }; +&qupv3_se4_i2c { + status = "disabled"; +}; + +&qupv3_se4_spi { + status = "ok"; + goodix-berlin@0 { + compatible = "goodix,gt9916S"; + reg = <0>; + spi-max-frequency = <1000000>; + goodix,panel-max-x = <1080>; + goodix,panel-max-y = <2400>; + goodix,panel-max-w = <255>; + goodix,panel-max-p = <4096>; + }; +};