blob: cb102535838def8c9a354675545d4f4c988ccd0d [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001// 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};