From 39c588bb5bbba6a1934ed9db3611a232e90f67c6 Mon Sep 17 00:00:00 2001 From: Luca Weiss Date: Mon, 23 Jun 2025 14:21:50 +0200 Subject: [PATCH] arm64: dts: qcom: milos-fairphone-fp6: Add downstream touchscreen Add a node for the SPI-connected touchscreen, and its pinctrl. WIP: Downstream touchscreen driver and bindings Signed-off-by: Luca Weiss --- .../boot/dts/qcom/milos-fairphone-fp6.dts | 54 ++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts index 2418f26f2060..9e0ff92c13a0 100644 --- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts +++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts @@ -975,7 +975,45 @@ }; &spi0 { - /* Eswin EPH8621 touchscreen @ 0 */ + status = "okay"; + + touchscreen@0 { + compatible = "eswin,eph861x"; + reg = <0>; + + pinctrl-0 = <&ts_active>; + pinctrl-1 = <&ts_suspend>; + pinctrl-names = "ts_active", "ts_suspend"; + + avdd-supply = <&vreg_l22b>; + iovdd-supply = <&vreg_l9b>; + + interrupt-parent = <&tlmm>; + spi-max-frequency = <2000000>; + bits-per-word = <8>; + spi-cpol; + spi-cpha; + + eswin,spi-mode = <3>; + eswin,regulator_dvdd = "iovdd"; + eswin,regulator_avdd = "avdd"; + eswin,power-delay-ms = <200>; + eswin,irq-gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>; + eswin,irq-on-state = <0x00>; + eswin,reset-gpio = <&tlmm 20 GPIO_ACTIVE_HIGH>; + eswin,reset-on-state = <0>; + eswin,reset-active-ms = <20>; + eswin,reset-delay-ms = <200>; + eswin,spi-byte-delay-us = <10>; + eswin,spi-block-delay-us = <10>; + eswin,suspend-mode = <2>; + eswin,fw_name = "EPH86XX_fw.bin"; + eswin,input_name = "ESWIN EPH86XX Touchscreen"; + eswin,panel-invert-x = <1>; + eswin,panel-invert-y = <0>; + eswin,panel-max-x = <1116>; + eswin,panel-max-y = <2484>; + }; }; &tlmm { @@ -983,6 +1021,20 @@ <13 1>, /* NC */ <63 2>; /* WLAN UART */ + ts_active: ts-irq-active-state { + pins = "gpio19"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + ts_suspend: ts-irq-suspend-state { + pins = "gpio19"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + qup_uart11_sleep_cts: qup-uart11-sleep-cts-state { pins = "gpio48"; function = "gpio";