From 81c3937e65633217a6426cb09fe64a3809dde33d Mon Sep 17 00:00:00 2001 From: Akshay Gola Date: Fri, 28 Jun 2024 17:23:23 +0530 Subject: [PATCH] ARM: dts: msm: Enable raydium touch driver node Enable raydium touch driver node and add its documentation for bring-up. Change-Id: I00a2d137d452959a555b13f38f971ce08d9173a8 Signed-off-by: Akshay Gola --- bindings/input/touchscreen/raydium_ts.yaml | 80 ++++++++++++++++++++++ qcom/monaco-wdp-v1.dtsi | 40 +++++++++++ 2 files changed, 120 insertions(+) create mode 100644 bindings/input/touchscreen/raydium_ts.yaml diff --git a/bindings/input/touchscreen/raydium_ts.yaml b/bindings/input/touchscreen/raydium_ts.yaml new file mode 100644 index 00000000..965b375a --- /dev/null +++ b/bindings/input/touchscreen/raydium_ts.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/touchscreen/raydium_ts.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Raydium WT030 touch controller + +description: The Raydium Touch controller is connected to + the host processor via I2C. The controller generates + interrupts when the user touches the panel. The host + controller is expected to read the touch coordinates over + I2C and pass the coordinates to the rest of the system. + +maintainers: + - Akshay Gola + +allOf: + - $ref: touchscreen.yaml# + +properties: + compatible: + enum: + - raydium,raydium-ts + + reg: + description: i2c slave address of the device. + + interrupt-parent: + description: parent of interrupt. + + raydium,reset-gpio: + description: reset gpio + + raydium,irq-gpio: + description: irq gpio + + vdd_ana-supply: + description: digital voltage power supply needed to power device. + + vcc_i2c-supply: + description: i2c voltage power supply needed to power device. + +unevaluatedProperties: false + +required: + - compatible + - reg + - interrupt-parent + - raydium,irq-gpio + - raydium,reset-gpio + - vdd_ana-supply + - vcc_i2c-supply + +examples: + - | + i2c@78b7000 { + status = "ok"; + raydium_ts@39 { + compatible = "raydium,raydium-ts"; + reg = <0x39>; + interrupt-parent = <&msm_gpio>; + interrupts = <13 0x2008>; + vdd_ana-supply = <&pm8916_l17>; + vcc_i2c-supply = <&pm8916_l6>; + pinctrl-names ="pmx_ts_active","pmx_ts_suspend","pmx_ts_release"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + pinctrl-2 = <&ts_release>; + raydium,reset-gpio = <&msm_gpio 12 0x00>; + raydium,irq-gpio = <&msm_gpio 13 0x00>; + raydium,num-max-touches = <2>; + raydium,soft-reset-delay-ms = <50>; + raydium,hard-reset-delay-ms = <100>; + raydium,x_max = <390>; + raydium,y_max = <390>; + raydium,display-coords= <0 0 390 390>; + raydium,fw_id = <0x2202> + }; + }; diff --git a/qcom/monaco-wdp-v1.dtsi b/qcom/monaco-wdp-v1.dtsi index 85fb6846..9e397a3f 100644 --- a/qcom/monaco-wdp-v1.dtsi +++ b/qcom/monaco-wdp-v1.dtsi @@ -6,3 +6,43 @@ #include "monaco-idp-v1.dtsi" #include "monaco-thermal-wdp.dtsi" + + + + + + + + +&qupv3_se1_i2c { + status = "ok"; + + tsc@24 { + compatible = "parade,pt_i2c_adapter"; + reg = <0x24>; + status = "disabled"; + }; + + raydium_ts@39 { + compatible = "raydium,raydium-ts"; + reg = <0x39>; + status = "ok"; + interrupt-parent = <&tlmm>; + interrupts = <13 0x2008>; + vdd_ana-supply = <&L29A>; + vcc_i2c-supply = <&L21A>; + pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + pinctrl-2 = <&ts_release>; + raydium,reset-gpio = <&tlmm 12 0x00>; + raydium,irq-gpio = <&tlmm 13 0x00>; + raydium,num-max-touches = <2>; + raydium,soft-reset-delay-ms = <50>; + raydium,hard-reset-delay-ms = <100>; + raydium,x_max = <320>; + raydium,y_max = <360>; + raydium,display-coords= <0 0 320 360>; + }; +}; +