xref: /linux/arch/arm64/boot/dts/qcom/sm8650-hdk-display-card.dtso (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
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
65&mdss_dsi0_out {
66	remote-endpoint = <&panel0_in>;
67};
68
69&spi4 {
70	#address-cells = <1>;
71	#size-cells = <0>;
72
73	status = "okay";
74
75	touchscreen@0 {
76		compatible = "goodix,gt9916";
77		reg = <0>;
78
79		interrupt-parent = <&tlmm>;
80		interrupts = <162 IRQ_TYPE_LEVEL_LOW>;
81
82		reset-gpios = <&tlmm 161 GPIO_ACTIVE_LOW>;
83
84		avdd-supply = <&vreg_l14b_3p2>;
85
86		spi-max-frequency = <1000000>;
87
88		touchscreen-size-x = <1080>;
89		touchscreen-size-y = <2400>;
90
91		pinctrl-0 = <&ts_irq>, <&ts_reset>;
92		pinctrl-names = "default";
93	};
94};
95
96&tlmm {
97	disp0_reset_n_active: disp0-reset-n-active-state {
98		pins = "gpio133";
99		function = "gpio";
100		drive-strength = <8>;
101		bias-disable;
102	};
103
104	disp0_reset_n_suspend: disp0-reset-n-suspend-state {
105		pins = "gpio133";
106		function = "gpio";
107		drive-strength = <2>;
108		bias-pull-down;
109	};
110
111	mdp_vsync: mdp-vsync-state {
112		pins = "gpio86";
113		function = "mdp_vsync";
114		drive-strength = <2>;
115		bias-pull-down;
116	};
117
118	ts_irq: ts-irq-state {
119		pins = "gpio161";
120		function = "gpio";
121		drive-strength = <8>;
122		bias-pull-up;
123		output-disable;
124	};
125
126	ts_reset: ts-reset-state {
127		pins = "gpio162";
128		function = "gpio";
129		drive-strength = <8>;
130		bias-pull-up;
131	};
132};
133