From 8594c927615cebb6089b42c61fe0ffffaed44468 Mon Sep 17 00:00:00 2001 From: Zhibin Huang Date: Mon, 26 May 2025 10:49:26 +0800 Subject: [PATCH] arm64: dts: rockchip: rk3576-evb: Add hyn touchscreen support Type: Function Redmine ID: #N/A Associated modifications: I649a447919003574d907b83b10ba3fd7496ad492 Test: N/A Signed-off-by: Zhibin Huang Change-Id: I9f65041ac85a5bf1f47d244ec2b08fa60d5e77fc --- arch/arm64/boot/dts/rockchip/rk3576-evb.dtsi | 35 +++++++++++++++++++ .../boot/dts/rockchip/rk3576-evb1-v10-dv.dts | 4 +++ arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi | 5 +++ arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi | 2 +- .../dts/rockchip/rk3576-industry-evb.dtsi | 5 +++ .../boot/dts/rockchip/rk3576-industry.dtsi | 35 +++++++++++++++++++ .../boot/dts/rockchip/rk3576-iotest.dtsi | 5 +++ .../arm64/boot/dts/rockchip/rk3576-test1.dtsi | 5 +++ .../arm64/boot/dts/rockchip/rk3576-test5.dtsi | 5 +++ .../dts/rockchip/rk3576-vehicle-evb-v20.dtsi | 5 +++ .../boot/dts/rockchip/rk3576-vehicle-evb.dtsi | 5 +++ .../boot/dts/rockchip/rk3576-vehicle.dtsi | 35 +++++++++++++++++++ arch/arm64/boot/dts/rockchip/rk3576s-evb.dtsi | 35 +++++++++++++++++++ .../arm64/boot/dts/rockchip/rk3576s-evb1.dtsi | 5 +++ 14 files changed, 185 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-evb.dtsi index 3ae8e1ddb9c2..bc0b80781ec4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb.dtsi @@ -628,6 +628,25 @@ goodix,rst-gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; goodix,irq-gpio = <&gpio0 RK_PC5 IRQ_TYPE_LEVEL_LOW>; }; + + hynitron: hynitron@5a { + status = "disabled"; + compatible = "hyn,3240"; + reg = <0x5a>; + + pinctrl-names = "ts_active","ts_suspend"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; + irq-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>; + + max-touch-number = <5>; + display-coords = <0 0 1080 1920>; + pos-swap = <0>; + posx-reverse = <0>; + posy-reverse = <0>; + }; }; &i2c2 { @@ -684,6 +703,22 @@ <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; }; + + ts_int_active: ts_int_active { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_reset_active: ts_reset_active { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_int_suspend: ts_int_suspend { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + ts_reset_suspend: ts_reset_suspend { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; + }; }; wireless-bluetooth { diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-dv.dts b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-dv.dts index c64a5fefe615..d10fd17bbbb6 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-dv.dts +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-dv.dts @@ -163,6 +163,10 @@ status = "disabled"; }; +&hynitron { + status = "disabled"; +}; + &i2c2 { status = "okay"; /delete-node/ husb311@4e; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi index c3f2fb9f2adc..864d5044564d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi @@ -312,6 +312,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c2 { status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi index 1b73b3465081..f7996f95cc48 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi @@ -10,6 +10,7 @@ /delete-node/ &leds; /delete-node/ >1x; +/delete-node/ &hynitron; / { es8388_sound: es8388-sound { @@ -570,4 +571,3 @@ wifi_chip_type = "ap6398s"; status = "okay"; }; - diff --git a/arch/arm64/boot/dts/rockchip/rk3576-industry-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-industry-evb.dtsi index 2e6edb9d86ca..f0a8d28978f5 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-industry-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-industry-evb.dtsi @@ -131,6 +131,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c3 { status = "okay"; pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-industry.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-industry.dtsi index 618f6225420e..f4d362dc66dc 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-industry.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-industry.dtsi @@ -585,6 +585,25 @@ goodix,rst-gpio = <&gpio2 RK_PA5 GPIO_ACTIVE_HIGH>; goodix,irq-gpio = <&gpio2 RK_PA4 IRQ_TYPE_LEVEL_LOW>; }; + + hynitron: hynitron@5a { + status = "disabled"; + compatible = "hyn,3240"; + reg = <0x5a>; + + pinctrl-names = "ts_active","ts_suspend"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + + reset-gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_HIGH>; + irq-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>; + + max-touch-number = <5>; + display-coords = <0 0 1080 1920>; + pos-swap = <0>; + posx-reverse = <0>; + posy-reverse = <0>; + }; }; &iep { @@ -632,6 +651,22 @@ <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; }; + + ts_int_active: ts_int_active { + rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_reset_active: ts_reset_active { + rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_int_suspend: ts_int_suspend { + rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + ts_reset_suspend: ts_reset_suspend { + rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>; + }; }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-iotest.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-iotest.dtsi index e751063bcd77..b79d66911393 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-iotest.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-iotest.dtsi @@ -128,6 +128,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &route_hdmi { status = "disabled"; connect = <&vp0_out_hdmi>; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi index 7fe5cf36f11b..bf3b58281e70 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi @@ -281,6 +281,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c0 { status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-test5.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-test5.dtsi index 90cff8fd1a25..75e6b0b9bf14 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-test5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-test5.dtsi @@ -163,6 +163,11 @@ power-supply = <&vcc3v3_lcd_n>; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c2 { status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dtsi index ff14855b8004..5fe4d1221e83 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dtsi @@ -218,6 +218,11 @@ status = "disabled"; }; +&hynitron { + status = "disabled"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c0 { s35390a: s35390a@30 { compatible = "sii,s35390a"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb.dtsi index f65e3b0b5627..47b640443de5 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb.dtsi @@ -238,6 +238,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c0 { s35390a: s35390a@30 { compatible = "sii,s35390a"; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-vehicle.dtsi index 243b4cafe2d8..599812136840 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-vehicle.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle.dtsi @@ -251,6 +251,25 @@ goodix,rst-gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; goodix,irq-gpio = <&gpio0 RK_PC5 IRQ_TYPE_LEVEL_LOW>; }; + + hynitron: hynitron@5a { + status = "disabled"; + compatible = "hyn,3240"; + reg = <0x5a>; + + pinctrl-names = "ts_active","ts_suspend"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; + irq-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>; + + max-touch-number = <5>; + display-coords = <0 0 1080 1920>; + pos-swap = <0>; + posx-reverse = <0>; + posy-reverse = <0>; + }; }; &i2c2 { @@ -305,6 +324,22 @@ <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; }; + + ts_int_active: ts_int_active { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_reset_active: ts_reset_active { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_int_suspend: ts_int_suspend { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + ts_reset_suspend: ts_reset_suspend { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; + }; }; wireless-bluetooth { diff --git a/arch/arm64/boot/dts/rockchip/rk3576s-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3576s-evb.dtsi index d743c12c4b82..efe8634ac19e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576s-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576s-evb.dtsi @@ -611,6 +611,25 @@ goodix,rst-gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; goodix,irq-gpio = <&gpio0 RK_PC5 IRQ_TYPE_LEVEL_LOW>; }; + + hynitron: hynitron@5a { + status = "disabled"; + compatible = "hyn,3240"; + reg = <0x5a>; + + pinctrl-names = "ts_active","ts_suspend"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; + irq-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>; + + max-touch-number = <5>; + display-coords = <0 0 1080 1920>; + pos-swap = <0>; + posx-reverse = <0>; + posy-reverse = <0>; + }; }; &i2c2 { @@ -667,6 +686,22 @@ <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; }; + + ts_int_active: ts_int_active { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_reset_active: ts_reset_active { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + ts_int_suspend: ts_int_suspend { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + ts_reset_suspend: ts_reset_suspend { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; + }; }; wireless-bluetooth { diff --git a/arch/arm64/boot/dts/rockchip/rk3576s-evb1.dtsi b/arch/arm64/boot/dts/rockchip/rk3576s-evb1.dtsi index ed4050845eb6..a9fe620f2bbf 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576s-evb1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576s-evb1.dtsi @@ -247,6 +247,11 @@ status = "okay"; }; +&hynitron { + status = "okay"; + power-supply = <&vcc3v3_lcd_n>; +}; + &i2c2 { status = "okay";