blob: 544dc5170fa0e44638cff09ec13a9ad517e3d33b [file] [log] [blame]
Hannes Schmelzer008c6b52019-02-06 13:25:59 +01001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 B&R Industrial Automation GmbH
4 * http://www.br-automation.com
5 *
6 */
7/dts-v1/;
8
9#include "am33xx.dtsi"
10
11/ {
12 model = "BRXRE1 Panel";
13 compatible = "ti,am33xx";
14
15 fset: factory-settings {
16 bl-version = " ";
17 order-no = " ";
18 cpu-order-no = " ";
19 hw-revision = " ";
20 serial-no = <0>;
21 device-id = <0xE681>;
22 parent-id = <0xE681>;
23 hw-variant = <0x3>;
24 hw-platform = <0x0>;
25 fram-offset = <0x1000>;
26 fram-size = <0x3000>;
27 cache-disable = <0x0>;
28 cpu-clock = <0x0>;
29 };
30 chosen {
31 #address-cells = <1>;
32 #size-cells = <1>;
33
34 bootargs = "console=ttyO0,115200 earlyprintk";
35 stdout-path = &uart0;
36
37 framebuffer: framebuffer@8fbe0000 {
38 display = <&lcdscreen0>;
39 compatible = "simple-framebuffer";
40 status = "okay";
41 reg = <0x8fbef000 (1024 * 600 * 4)>;
42 width = <1024>;
43 height = <600>;
44 stride = <(1024 * 4)>;
45 format = "a8r8g8b8";
46 clocks = <&dpll_disp_m2_ck>, <&dpll_per_m2_ck>;
47 };
48 };
49
50 aliases {
51 fset = &fset;
52 mmc = &mmc2;
53 spi0 = &spi0;
54 spi1 = &spi1;
55 touch0 = &burtouch0;
56 screen0 = &lcdscreen0;
57 };
58
59 memory {
60 device_type = "memory";
61 reg = <0x80000000 0x10000000>; /* 256 MB */
62 };
63
64 panel {
65 compatible = "ti,tilcdc,panel";
66 status = "okay";
67 };
68
69 vmmcsd_fixed: fixedregulator@0 {
70 compatible = "regulator-fixed";
71 regulator-name = "vmmcsd_fixed";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
74 };
75
76 lcdscreen0: lcdscreen@0 {
77 status = "okay";
78 compatible = "ti,tilcdc,panel";
79
80 backlight = <&tps_bl>;
81
82 panel-info {
83 ac-bias = <255>;
84 ac-bias-intrpt = <0>;
85 dma-burst-sz = <16>;
86 bpp = <32>;
87 fdd = <0x80>;
88 sync-edge = <0>;
89 sync-ctrl = <1>;
90 raster-order = <0>;
91 fifo-th = <0>;
92 };
93
94 display-timings {
95 native-mode = <&timing0>;
96 timing0: lcd {
97 clock-frequency = <9142857>;
98 hactive = <480>;
99 vactive = <272>;
100 hfront-porch = <8>;
101 hback-porch = <43>;
102 hsync-len = <2>;
103 vfront-porch = <4>;
104 vback-porch = <2>;
105 vsync-len = <10>;
106 hsync-active = <1>;
107 vsync-active = <1>;
108 pupdelay = <10>;
109 pondelay = <10>;
110 };
111 };
112 };
113};
114
115&uart0 { /* console uart */
Simon Glassd3a98cb2023-02-13 08:56:33 -0700116 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100117 status = "okay";
118};
119
120&uart2 {
121 status = "okay";
122};
123
124&uart3 {
125 status = "okay";
126};
127
128&uart4 {
129 status = "okay";
130};
131
132&i2c0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700133 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100134 status = "okay";
135 clock-frequency = <100000>;
136
137 tps: tps@24 { /* PMIC controller */
Simon Glassd3a98cb2023-02-13 08:56:33 -0700138 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100139 reg = <0x24>;
140 compatible = "ti,tps65217";
141
142 tps_bl: backlight {
143 compatible = "ti,tps65217-bl";
144 isel = <1>; /* 1 - ISET1, 2 ISET2 */
145 fdim = <1000>; /* TPS65217_BL_FDIM_1kHZ */
146 default-brightness = <50>;
147 };
148 };
149 resetc: rstpsc@75 { /* reset controller */
150 compatible = "bur,rstpsc";
151 reg = <0x75>;
152
153 cooling-min-state = <0>;
154 cooling-max-state = <1>; /* reset gets fired */
155 #cooling-cells = <2>; /* min followed by max */
156 };
157 rtc0: rv3029c2@56 {
158 status = "okay";
159 #thermal-sensor-cells = <0>;
160 compatible = "rv3029c2";
161 reg = <0x56>;
162 };
163};
164
165&spi0 {
166 status = "okay";
167};
168
169&spi1 {
170 status = "okay";
171};
172
173&edma {
174 status = "okay";
175};
176
177&cppi41dma {
178 status = "okay";
179};
180
181&usb {
182 status = "okay";
183};
184
185&usb_ctrl_mod {
186 status = "okay";
187};
188
189&usb0_phy {
190 status = "okay";
191};
192
193&usb1_phy {
194 status = "okay";
195};
196
197&usb0 {
198 status = "okay";
199 dr_mode = "host";
200};
201
202&usb1 {
203 status = "okay";
204 dr_mode = "host";
205};
206
207&davinci_mdio {
208 status = "okay";
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300209
210 ethphy0: ethernet-phy@1 {
211 reg = <1>;
212 };
213
214 ethphy1: ethernet-phy@2 {
215 reg = <2>;
216 };
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100217};
218
219&mac {
220 status = "okay";
221};
222
223&cpsw_emac0 {
Hannes Schmelzer45ca6632019-12-13 08:12:45 +0100224 phy_id = <&davinci_mdio>, <1>;
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300225 phy-handle = <&ethphy0>;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100226 phy-mode = "mii";
227};
228
229&cpsw_emac1 {
Hannes Schmelzer45ca6632019-12-13 08:12:45 +0100230 phy_id = <&davinci_mdio>, <2>;
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300231 phy-handle = <&ethphy1>;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100232 phy-mode = "mii";
233};
234
235&mmc1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700236 bootph-all;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100237 vmmc-supply = <&vmmcsd_fixed>;
238 bus-width = <0x4>;
239 ti,non-removable;
240 ti,needs-special-hs-handling;
241 ti,vcc-aux-disable-is-sleep;
242 status = "okay";
243};
244
245&mmc2 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700246 bootph-all;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100247 vmmc-supply = <&vmmcsd_fixed>;
248 bus-width = <0x8>;
249 ti,non-removable;
250 ti,needs-special-hs-handling;
251 ti,vcc-aux-disable-is-sleep;
252 status = "okay";
253};
254
Dario Binacchi67e92c12020-12-30 00:16:27 +0100255&l4_per {
256
257 segment@300000 {
258
259 target-module@e000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700260 bootph-all;
Dario Binacchi67e92c12020-12-30 00:16:27 +0100261
262 lcdc: lcdc@0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700263 bootph-all;
Dario Binacchi67e92c12020-12-30 00:16:27 +0100264 status = "okay";
265 ti,no-reset-on-init;
266 ti,no-idle-on-init;
267 };
268 };
269 };
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100270};
271
272&elm {
273 status = "okay";
274};
275
276&sham {
277 status = "okay";
278};
279
280&aes {
281 status = "okay";
282};
283
284&gpio0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700285 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100286 ti,no-reset-on-init;
287};
288
289&gpio1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700290 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100291 ti,no-reset-on-init;
292};
293
294&gpio2 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700295 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100296 ti,no-reset-on-init;
297};
298
299&gpio3 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700300 bootph-pre-ram;
Hannes Schmelzer008c6b52019-02-06 13:25:59 +0100301 ti,no-reset-on-init;
302};
303
304&timer1 { /* today unused */
305 status = "okay";
306 ti,no-reset-on-init;
307 ti,no-idle-on-init;
308};
309
310&timer2 { /* used for vxworks primary timer device */
311 status = "okay";
312 ti,no-reset-on-init;
313 ti,no-idle-on-init;
314};
315
316&timer3 { /* used sysdelay and hal tsc counter*/
317 status = "okay";
318 ti,no-reset-on-init;
319 ti,no-idle-on-init;
320};
321
322&timer4 { /* used for PWM beeper */
323 status = "okay";
324 ti,no-reset-on-init;
325 ti,no-idle-on-init;
326};
327
328&timer5 { /* used for PWM backlight */
329 status = "okay";
330 ti,no-reset-on-init;
331 ti,no-idle-on-init;
332};
333
334&timer6 { /* used for cpsw end device */
335 status = "okay";
336 ti,no-reset-on-init;
337 ti,no-idle-on-init;
338};
339
340&timer7 { /* used for cpsw end device */
341 status = "okay";
342 ti,no-reset-on-init;
343 ti,no-idle-on-init;
344};
345
346&wdt2 {
347 status = "okay";
348 ti,no-reset-on-init;
349 ti,no-idle-on-init;
350};
351
352&epwmss0 {
353 status = "okay";
354};
355
356&tscadc {
357 status = "okay";
358
359 tsc {
360 burtouch0: burtouch@0 {
361 status = "okay";
362 compatible = "bur,DdVxSfTouchXXX";
363 bur,hwtree = "IF7";
364 bur,KX0 = <0x0>;
365 bur,KX1 = <0x0>;
366 bur,KX2 = <0x0>;
367 bur,KY0 = <0x0>;
368 bur,KY1 = <0x0>;
369 bur,KY2 = <0x0>;
370 };
371 };
372};
373
374&dcan0 {
375 status = "okay";
376};
377
378&dcan1 {
379 status = "okay";
380};
381
382&sham {
383 status = "disabled";
384};
385
386&aes {
387 status = "disabled";
388};
389
390&rng {
391 status = "disabled";
392};