xref: /linux/arch/arm64/boot/dts/qcom/sm8650-hdk-display-card.dtso (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024, Linaro Limited
4 */
5
6/*
7 * Display Card kit overlay
8 * This requires S5702 Switch 7 to be turned to OFF to route DSI0 to the display panel
9 */
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13
14/dts-v1/;
15/plugin/;
16
17/* Disable HDMI bridge related nodes (mutually exclusive with the display card) */
18
19&i2c6 {
20	status = "disabled";
21};
22
23&lt9611_1v2 {
24	status = "disabled";
25};
26
27&lt9611_3v3 {
28	status = "disabled";
29};
30
31&vreg_bob_3v3 {
32	status = "disabled";
33};
34
35&lt9611_codec {
36	status = "disabled";
37};
38
39&mdss_dsi0 {
40	#address-cells = <1>;
41	#size-cells = <0>;
42
43	panel@0 {
44		compatible = "visionox,vtdr6130";
45		reg = <0>;
46
47		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
48
49		vddio-supply = <&vreg_l12b_1p8>;
50		vci-supply = <&vreg_l13b_3p0>;
51		vdd-supply = <&vreg_l11b_1p2>;
52
53		pinctrl-0 = <&disp0_reset_n_active>, <&mdp_vsync>;
54		pinctrl-1 = <&disp0_reset_n_suspend>, <&mdp_vsync>;
55		pinctrl-names = "default", "sleep";
56
57		port {
58			panel0_in: endpoint {
59				remote-endpoint = <&mdss_dsi0_out>;
60			};
61		};
62	};
63
64	ports {
65		#address-cells = <1>;
66		#size-cells = <0>;
67
68		port@1 {
69			reg = <1>;
70
71			mdss_dsi0_out: endpoint {
72				remote-endpoint = <&panel0_in>;
73			};
74		};
75	};
76};
77
78&spi4 {
79	#address-cells = <1>;
80	#size-cells = <0>;
81
82	status = "okay";
83
84	touchscreen@0 {
85		compatible = "goodix,gt9916";
86		reg = <0>;
87
88		interrupt-parent = <&tlmm>;
89		interrupts = <162 IRQ_TYPE_LEVEL_LOW>;
90
91		reset-gpios = <&tlmm 161 GPIO_ACTIVE_LOW>;
92
93		avdd-supply = <&vreg_l14b_3p2>;
94
95		spi-max-frequency = <1000000>;
96
97		touchscreen-size-x = <1080>;
98		touchscreen-size-y = <2400>;
99
100		pinctrl-0 = <&ts_irq>, <&ts_reset>;
101		pinctrl-names = "default";
102	};
103};
104
105&tlmm {
106	disp0_reset_n_active: disp0-reset-n-active-state {
107		pins = "gpio133";
108		function = "gpio";
109		drive-strength = <8>;
110		bias-disable;
111	};
112
113	disp0_reset_n_suspend: disp0-reset-n-suspend-state {
114		pins = "gpio133";
115		function = "gpio";
116		drive-strength = <2>;
117		bias-pull-down;
118	};
119
120	mdp_vsync: mdp-vsync-state {
121		pins = "gpio86";
122		function = "mdp_vsync";
123		drive-strength = <2>;
124		bias-pull-down;
125	};
126
127	ts_irq: ts-irq-state {
128		pins = "gpio161";
129		function = "gpio";
130		drive-strength = <8>;
131		bias-pull-up;
132		output-disable;
133	};
134
135	ts_reset: ts-reset-state {
136		pins = "gpio162";
137		function = "gpio";
138		drive-strength = <8>;
139		bias-pull-up;
140	};
141};
142