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