blob: 2c525c6e6200fd079772457a5382b01522912a8b [file] [log] [blame]
Hannes Schmelzer82088482019-08-01 07:04:46 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2017 B&R Industrial Automation GmbH
4 * http://www.br-automation.com
5 *
6 */
7/dts-v1/;
8
9#include "am33xx.dtsi"
10#include "dt-bindings/thermal/thermal.h"
11
12/ {
13 model = "BRSMARC1 SoM";
14 compatible = "ti,am33xx";
15
16 fset: factory-settings {
17 bl-version = " ";
18 order-no = " ";
19 cpu-order-no = " ";
20 hw-revision = " ";
21 serial-no = <0>;
22 device-id = <0x0>;
23 parent-id = <0x0>;
24 hw-variant = <0x0>;
25 hw-platform = <0x7>;
26 fram-offset = <0x100>;
27 fram-size = <0x1F00>;
28 cache-disable = <0x0>;
29 cpu-clock = <0x0>;
30 };
31
32 chosen {
33 bootargs = "console=ttyO0,115200 earlyprintk";
34 stdout-path = &uart0;
35 };
36
37 aliases {
38 fset = &fset;
39 mmc = &mmc2;
40 spi0 = &spi0;
41 spi1 = &spi1;
42 touch0 = &burtouch0;
43 screen0 = &lcdscreen0;
44 };
45
46 memory {
47 device_type = "memory";
48 reg = <0x80000000 0x10000000>; /* 256 MB */
49 };
50
51 vmmcsd_fixed: fixedregulator@0 {
52 compatible = "regulator-fixed";
53 regulator-name = "vmmcsd_fixed";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 };
57
58 lcdscreen0: lcdscreen@0 {
59 /*backlight = <&tps_bl>; */
60 compatible = "ti,tilcdc,panel";
61 status = "okay";
62
63 panel-info {
64 ac-bias = <255>;
65 ac-bias-intrpt = <0>;
66 dma-burst-sz = <16>;
67 bpp = <32>;
68 fdd = <0x80>;
69 sync-edge = <0>;
70 sync-ctrl = <1>;
71 raster-order = <0>;
72 fifo-th = <0>;
73 rotation = <0>;
74 pupdelay = <0>;
75 pondelay = <0>;
76 pwrpin = <0x000000B1>;
77 brightdrv = <0>;
78 brightfdim = <100>;
79 brightdef = <50>;
80 };
81
82 display-timings {
83 default {
84 clock-frequency = <0>;
85 hactive = <0>;
86 vactive = <0>;
87 hfront-porch = <0>;
88 hback-porch = <0>;
89 hsync-len = <0>;
90 vfront-porch = <0>;
91 vback-porch = <0>;
92 vsync-len = <0>;
93 hsync-active = <0>;
94 vsync-active = <0>;
95 pupdelay = <10>;
96 pondelay = <10>;
97 };
98 };
99 };
100
101 board_thermal: board-thermal {
102 polling-delay-passive = <1000>; /* milliseconds */
103 polling-delay = <2500>; /* milliseconds */
104
105 thermal-sensors = <&cputemp>;
106
107 trips {
108 crit_trip: crit-trip {
109 temperature = <95000>; /* millicelsius */
110 hysteresis = <5000>; /* millicelsius */
111 type = "critical";
112 };
113 };
114 cooling-maps {
115 map0 {
116 trip = <&crit_trip>;
117 cooling-device =
118 <&resetc THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
119 };
120 };
121 };
122};
123
124&uart0 { /* console uart */
Simon Glassd3a98cb2023-02-13 08:56:33 -0700125 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200126 status = "okay";
127};
128
129&uart2 { /* X2X - P2P */
130 status = "okay";
131};
132
133&uart3 { /* RS485 */
134 status = "okay";
135};
136
137&uart4 { /* RS232 */
138 status = "okay";
139};
140
141&i2c0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700142 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200143 status = "okay";
144 clock-frequency = <100000>;
145
146 tps: tps@24 { /* PMIC controller */
Simon Glassd3a98cb2023-02-13 08:56:33 -0700147 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200148 reg = <0x24>;
149 compatible = "ti,tps65217";
150 };
151
152 cputemp: temperature-sensor@48 { /* cpu temperature */
153 #thermal-sensor-cells = <0>;
154 compatible = "nxp,pct2075";
155 reg = <0x48>;
156 };
157
158 basetemp: temperature-sensor@49 { /* baseboard temperature */
159 #thermal-sensor-cells = <0>;
160 compatible = "nxp,pct2075";
161 reg = <0x49>;
162 };
163 extrtc: rtc@51 { /* realtime clock */
164 compatible = "epson,rx8571";
165 reg = <0x51>;
166 };
167
168 resetc: reset-controller@60 {
169 compatible = "bur,rststm";
170 reg = <0x60>;
171
172 cooling-min-state = <0>;
173 cooling-max-state = <1>; /* reset gets fired */
174 #cooling-cells = <2>; /* min followed by max */
175 };
176};
177
178&i2c1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700179 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200180 status = "okay";
181};
182
183&spi0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700184 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200185 status = "okay";
186
187 cs-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>,
188 <&gpio0 6 GPIO_ACTIVE_HIGH>,
189 <0>,
190 <0>;
191
192 spi-max-frequency = <24000000>;
193
194 spi_flash: spiflash@0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700195 bootph-pre-ram;
196 bootph-all;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200197 compatible = "spidev", "spi-flash";
198 spi-max-frequency = <24000000>;
199 reg = <0>;
200 };
201};
202
203&spi1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700204 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200205 status = "okay";
206 cs-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>,
207 <&gpio0 19 GPIO_ACTIVE_HIGH>,
208 <0>,
209 <0>;
210
211 spi-max-frequency = <24000000>;
212};
213
214&edma {
215 status = "okay";
216};
217
218&cppi41dma {
219 status = "okay";
220};
221
222&usb {
223 status = "okay";
224};
225
226&usb_ctrl_mod {
227 status = "okay";
228};
229
230&usb0_phy {
231 status = "okay";
232};
233
234&usb1_phy {
235 status = "okay";
236};
237
238&usb0 {
239 status = "okay";
240 dr_mode = "host";
241};
242
243&usb1 {
244 status = "okay";
245 dr_mode = "host";
246};
247
248&davinci_mdio {
249 status = "okay";
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300250
251 ethphy0: ethernet-phy@1 {
252 reg = <1>;
253 };
254
255 ethphy1: ethernet-phy@3 {
256 reg = <3>;
257 };
Hannes Schmelzer82088482019-08-01 07:04:46 +0200258};
259
260&mac {
261 status = "okay";
262};
263
264&phy_sel {
265 rmii-clock-ext;
266};
267
268&cpsw_emac0 {
Hannes Schmelzer45ca6632019-12-13 08:12:45 +0100269 phy_id = <&davinci_mdio>, <1>;
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300270 phy-handle = <&ethphy0>;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200271 phy-mode = "rmii";
272 ti,ledcr = <0x0480>;
273};
274
275&cpsw_emac1 {
Hannes Schmelzer45ca6632019-12-13 08:12:45 +0100276 phy_id = <&davinci_mdio>, <3>;
Grygorii Strashkoa6f37dc2019-08-31 10:30:34 +0300277 phy-handle = <&ethphy1>;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200278 phy-mode = "rmii";
279 ti,ledcr = <0x0480>;
280};
281
282&mmc1 {
283 vmmc-supply = <&vmmcsd_fixed>;
284 bus-width = <0x4>;
285 ti,non-removable;
286 ti,needs-special-hs-handling;
287 ti,vcc-aux-disable-is-sleep;
288 status = "okay";
289};
290
291&mmc2 {
292 vmmc-supply = <&vmmcsd_fixed>;
293 bus-width = <0x8>;
294 ti,non-removable;
295 ti,needs-special-hs-handling;
296 ti,vcc-aux-disable-is-sleep;
297 status = "okay";
298};
299
Dario Binacchi67e92c12020-12-30 00:16:27 +0100300&l4_per {
301
302 segment@300000 {
303
304 target-module@e000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700305 bootph-all;
Dario Binacchi67e92c12020-12-30 00:16:27 +0100306
307 lcdc: lcdc@0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700308 bootph-all;
Dario Binacchi67e92c12020-12-30 00:16:27 +0100309 status = "okay";
310 ti,no-reset-on-init;
311 ti,no-idle-on-init;
312 };
313 };
314 };
Hannes Schmelzer82088482019-08-01 07:04:46 +0200315};
316
317&elm {
318 status = "okay";
319};
320
321&sham {
322 status = "okay";
323};
324
325&aes {
326 status = "okay";
327};
328
329&gpio0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700330 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200331 ti,no-reset-on-init;
332};
333
334&gpio1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700335 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200336 ti,no-reset-on-init;
337};
338
339&gpio2 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700340 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200341 ti,no-reset-on-init;
342};
343
344&gpio3 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700345 bootph-pre-ram;
Hannes Schmelzer82088482019-08-01 07:04:46 +0200346 ti,no-reset-on-init;
347};
348
349&timer1 { /* today unused */
350 status = "okay";
351 ti,no-reset-on-init;
352 ti,no-idle-on-init;
353};
354
355&timer2 { /* used for vxworks primary timer device */
356 status = "okay";
357 ti,no-reset-on-init;
358 ti,no-idle-on-init;
359};
360
361&timer3 { /* used sysdelay and hal tsc counter*/
362 status = "okay";
363 ti,no-reset-on-init;
364 ti,no-idle-on-init;
365};
366
367&timer4 { /* used for PWM beeper */
368 status = "okay";
369 ti,no-reset-on-init;
370 ti,no-idle-on-init;
371};
372
373&timer5 { /* used for PWM backlight */
374 status = "okay";
375 ti,no-reset-on-init;
376 ti,no-idle-on-init;
377};
378
379&timer6 { /* used for cpsw end device */
380 status = "okay";
381 ti,no-reset-on-init;
382 ti,no-idle-on-init;
383};
384
385&timer7 { /* used for cpsw end device */
386 status = "okay";
387 ti,no-reset-on-init;
388 ti,no-idle-on-init;
389};
390
391&wdt2 {
392 status = "okay";
393 ti,no-reset-on-init;
394 ti,no-idle-on-init;
395};
396
397&epwmss0 {
398 status = "okay";
399};
400
401&tscadc {
402 status = "okay";
403
404 tsc {
405 burtouch0: burtouch@0 {
406 status = "okay";
407 compatible = "bur,DdVxSfTouchXXX";
408 bur,hwtree = "IF7";
409 bur,KX0 = <0x0>;
410 bur,KX1 = <0x0>;
411 bur,KX2 = <0x0>;
412 bur,KY0 = <0x0>;
413 bur,KY1 = <0x0>;
414 bur,KY2 = <0x0>;
415 };
416 };
417};
418
419&dcan0 {
420 status = "okay";
421};
422
423&dcan1 {
424 status = "okay";
425};
426
427&sham {
428 status = "disabled";
429};
430
431&aes {
432 status = "disabled";
433};
434
435&rng {
436 status = "disabled";
437};