arm64: dts: qcom: sm8550-qrd: enable Touchscreen

Message ID 20240131-topic-sm8550-upstream-qrd8550-touch-v1-1-007f61158aa8@linaro.org
State New
Headers
Series arm64: dts: qcom: sm8550-qrd: enable Touchscreen |

Commit Message

Neil Armstrong Jan. 31, 2024, 11:58 a.m. UTC
  Add Goodix Berlin touchscreen controller node for the SM8550 QRD
connected to the SPI4 controller.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 42 +++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)


---
base-commit: 06f658aadff0e483ee4f807b0b46c9e5cba62bfa
change-id: 20240131-topic-sm8550-upstream-qrd8550-touch-a59df5250c07

Best regards,
  

Comments

Bjorn Andersson Feb. 3, 2024, 5:06 p.m. UTC | #1
On Wed, 31 Jan 2024 12:58:34 +0100, Neil Armstrong wrote:
> Add Goodix Berlin touchscreen controller node for the SM8550 QRD
> connected to the SPI4 controller.
> 
> 

Applied, thanks!

[1/1] arm64: dts: qcom: sm8550-qrd: enable Touchscreen
      commit: f6afb821e06b6fae7d970b5ed976ba8902167cdf

Best regards,
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
index d401d63e5c4d..4c0a863024da 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
@@ -724,6 +724,10 @@  &gcc {
 		 <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
 };
 
+&gpi_dma1 {
+	status = "okay";
+};
+
 &gpu {
 	status = "okay";
 
@@ -960,6 +964,30 @@  south_spkr: speaker@0,1 {
 	};
 };
 
+&spi4 {
+	status = "okay";
+
+	touchscreen@0 {
+		compatible = "goodix,gt9916";
+		reg = <0>;
+
+		interrupt-parent = <&tlmm>;
+		interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
+
+		reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
+
+		avdd-supply = <&vreg_l14b_3p2>;
+
+		spi-max-frequency = <1000000>;
+
+		touchscreen-size-x = <1080>;
+		touchscreen-size-y = <2400>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&ts_irq>, <&ts_reset>;
+	};
+};
+
 &swr1 {
 	status = "okay";
 
@@ -1028,6 +1056,20 @@  sde_te_suspend: sde-te-suspend-state {
 		bias-pull-down;
 	};
 
+	ts_irq: ts-irq-state {
+		pins = "gpio25";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-pull-up;
+	};
+
+	ts_reset: ts-reset-state {
+		pins = "gpio24";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-pull-up;
+	};
+
 	wcd_default: wcd-reset-n-active-state {
 		pins = "gpio108";
 		function = "gpio";