blob: 34293034e363a5246252386dc9cfb99a09f1dc06 [file] [log] [blame]
Jason Kridner2d7a1452020-01-02 08:17:28 -06001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2014-2019 Texas Instruments Incorporated - http://www.ti.com/
4 */
5
6/dts-v1/;
7#include "dra74x.dtsi"
8#include "dra74x-mmc-iodelay.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/pinctrl/dra.h>
12
13/ {
14 model = "BeagleBoard.org BeagleBone AI";
15 compatible = "beagle,am5729-beagleboneai", "ti,am5728",
16 "ti,dra742", "ti,dra74", "ti,dra7";
17
18 aliases {
19 rtc0 = &tps659038_rtc;
20 rtc1 = &rtc;
21 display0 = &hdmi_conn;
22 };
23
24 chosen {
25 stdout-path = &uart1;
26 };
27
28 memory@0 {
29 device_type = "memory";
30 reg = <0x0 0x80000000 0x0 0x40000000>;
31 };
32
33 vdd_adc: gpioregulator-vdd_adc {
34 compatible = "regulator-gpio";
35 regulator-name = "vdd_adc";
36 vin-supply = <&vdd_5v>;
37 regulator-min-microvolt = <1800000>;
38 regulator-max-microvolt = <3300000>;
39 regulator-always-on;
40 regulator-boot-on;
41 gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
42 states = <1800000 0
43 3300000 1>;
44 };
45
46 vdd_5v: fixedregulator-vdd_5v {
47 compatible = "regulator-fixed";
48 regulator-name = "vdd_5v";
49 regulator-min-microvolt = <5000000>;
50 regulator-max-microvolt = <5000000>;
51 regulator-always-on;
52 regulator-boot-on;
53 };
54
55 vtt_fixed: fixedregulator-vtt {
56 /* TPS51200 */
57 compatible = "regulator-fixed";
58 regulator-name = "vtt_fixed";
59 vin-supply = <&vdd_ddr>;
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62 regulator-always-on;
63 regulator-boot-on;
64 };
65
66 leds {
67 compatible = "gpio-leds";
68
69 led0 {
70 label = "beaglebone:green:usr0";
71 gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
72 linux,default-trigger = "heartbeat";
73 default-state = "off";
74 };
75
76 led1 {
77 label = "beaglebone:green:usr1";
78 gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
79 linux,default-trigger = "mmc0";
80 default-state = "off";
81 };
82
83 led2 {
84 label = "beaglebone:green:usr2";
85 gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
86 linux,default-trigger = "cpu";
87 default-state = "off";
88 };
89
90 led3 {
91 label = "beaglebone:green:usr3";
92 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
93 linux,default-trigger = "mmc1";
94 default-state = "off";
95 };
96
97 led4 {
98 label = "beaglebone:green:usr4";
99 gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
100 linux,default-trigger = "netdev";
101 default-state = "off";
102 };
103 };
104
105 hdmi_conn: connector@0 {
106 compatible = "hdmi-connector";
107 label = "hdmi";
108 type = "a";
109
110 port {
111 hdmi_connector_in: endpoint {
112 remote-endpoint = <&hdmi_encoder_out>;
113 };
114 };
115 };
116
117 hdmi_enc: encoder@0 {
118 /* "ti,tpd12s016" software compatible with "ti,tpd12s015"
119 * no need for individual driver
120 */
121 compatible = "ti,tpd12s015";
122 gpios = <0>,
123 <0>,
124 <&gpio7 12 GPIO_ACTIVE_HIGH>;
125
126 ports {
127 #address-cells = <0x1>;
128 #size-cells = <0x0>;
129
130 port@0 {
131 reg = <0x0>;
132
133 hdmi_encoder_in: endpoint@0 {
134 remote-endpoint = <&hdmi_out>;
135 };
136 };
137
138 port@1 {
139 reg = <0x1>;
140
141 hdmi_encoder_out: endpoint@0 {
142 remote-endpoint = <&hdmi_connector_in>;
143 };
144 };
145 };
146 };
147
148 emmc_pwrseq: emmc_pwrseq {
149 compatible = "mmc-pwrseq-emmc";
150 reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
151 };
152
153 brcmf_pwrseq: brcmf_pwrseq {
154 compatible = "mmc-pwrseq-simple";
155 reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>, /* BT-REG-ON */
156 <&gpio3 18 GPIO_ACTIVE_LOW>; /* WL-REG-ON */
157 };
158
159 extcon_usb1: extcon_usb1 {
160 compatible = "linux,extcon-usb-gpio";
161 ti,enable-id-detection;
162 id-gpio = <&gpio3 13 GPIO_ACTIVE_HIGH>;
163 };
164};
165
166&i2c1 {
167 status = "okay";
168 clock-frequency = <400000>;
169
170 tps659038: tps659038@58 {
171 compatible = "ti,tps659038";
172 reg = <0x58>;
173 interrupt-parent = <&gpio6>;
174 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
175
176 #interrupt-cells = <2>;
177 interrupt-controller;
178
179 ti,system-power-controller;
180 ti,palmas-override-powerhold;
181
182 tps659038_pmic {
183 compatible = "ti,tps659038-pmic";
184
185 smps12-in-supply = <&vdd_5v>;
186 smps3-in-supply = <&vdd_5v>;
187 smps45-in-supply = <&vdd_5v>;
188 smps6-in-supply = <&vdd_5v>;
189 smps7-in-supply = <&vdd_5v>;
190 mps3-in-supply = <&vdd_5v>;
191 smps8-in-supply = <&vdd_5v>;
192 smps9-in-supply = <&vdd_5v>;
193 ldo1-in-supply = <&vdd_5v>;
194 ldo2-in-supply = <&vdd_5v>;
195 ldo3-in-supply = <&vdd_5v>;
196 ldo4-in-supply = <&vdd_5v>;
197 ldo9-in-supply = <&vdd_5v>;
198 ldoln-in-supply = <&vdd_5v>;
199 ldousb-in-supply = <&vdd_5v>;
200 ldortc-in-supply = <&vdd_5v>;
201
202 regulators {
203 vdd_mpu: smps12 {
204 /* VDD_MPU */
205 regulator-name = "smps12";
206 regulator-min-microvolt = <850000>;
207 regulator-max-microvolt = <1250000>;
208 regulator-always-on;
209 regulator-boot-on;
210 };
211
212 vdd_ddr: smps3 {
213 /* VDD_DDR EMIF1 EMIF2 */
214 regulator-name = "smps3";
215 regulator-min-microvolt = <1350000>;
216 regulator-max-microvolt = <1350000>;
217 regulator-always-on;
218 regulator-boot-on;
219 };
220
221 vdd_dspeve: smps45 {
222 /* VDD_DSPEVE on AM572 */
223 regulator-name = "smps45";
224 regulator-min-microvolt = < 850000>;
225 regulator-max-microvolt = <1250000>;
226 regulator-always-on;
227 regulator-boot-on;
228 };
229
230 vdd_gpu: smps6 {
231 /* VDD_GPU */
232 regulator-name = "smps6";
233 regulator-min-microvolt = < 850000>;
234 regulator-max-microvolt = <1250000>;
235 regulator-always-on;
236 regulator-boot-on;
237 };
238
239 vdd_core: smps7 {
240 /* VDD_CORE */
241 regulator-name = "smps7";
242 regulator-min-microvolt = < 850000>; /*** 1.15V */
243 regulator-max-microvolt = <1150000>;
244 regulator-always-on;
245 regulator-boot-on;
246 };
247
248 vdd_iva: smps8 {
249 /* VDD_IVAHD */ /*** 1.06V */
250 regulator-name = "smps8";
251 };
252
253 vdd_3v3: smps9 {
254 /* VDD_3V3 */
255 regulator-name = "smps9";
256 regulator-min-microvolt = <3300000>;
257 regulator-max-microvolt = <3300000>;
258 regulator-always-on;
259 regulator-boot-on;
260 };
261
262 vdd_sd: ldo1 {
263 /* VDDSHV8 - VSDMMC */
264 regulator-name = "ldo1";
265 regulator-min-microvolt = <1800000>;
266 regulator-max-microvolt = <3300000>;
267 regulator-boot-on;
268 regulator-always-on;
269 };
270
271 vdd_1v8: ldo2 {
272 /* VDDSH18V */
273 regulator-name = "ldo2";
274 regulator-min-microvolt = <1800000>;
275 regulator-max-microvolt = <1800000>;
276 regulator-always-on;
277 regulator-boot-on;
278 };
279
280 vdd_1v8_phy_ldo3: ldo3 {
281 /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
282 regulator-name = "ldo3";
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 regulator-always-on;
286 regulator-boot-on;
287 };
288
289 vdd_1v8_phy_ldo4: ldo4 {
290 /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
291 regulator-name = "ldo4";
292 regulator-min-microvolt = <1800000>;
293 regulator-max-microvolt = <1800000>;
294 regulator-always-on;
295 regulator-boot-on;
296 };
297
298 /* LDO5-8 unused */
299
300 vdd_rtc: ldo9 {
301 /* VDD_RTC */
302 regulator-name = "ldo9";
303 regulator-min-microvolt = < 840000>;
304 regulator-max-microvolt = <1160000>;
305 regulator-always-on;
306 regulator-boot-on;
307 };
308
309 vdd_1v8_pll: ldoln {
310 /* VDDA_1V8_PLL */
311 regulator-name = "ldoln";
312 regulator-min-microvolt = <1800000>;
313 regulator-max-microvolt = <1800000>;
314 regulator-always-on;
315 regulator-boot-on;
316 };
317
318 ldousb_reg: ldousb {
319 /* VDDA_3V_USB: VDDA_USBHS33 */
320 regulator-name = "ldousb";
321 regulator-min-microvolt = <3300000>;
322 regulator-max-microvolt = <3300000>;
323 regulator-always-on;
324 regulator-boot-on;
325 };
326
327 ldortc_reg: ldortc {
328 /* VDDA_RTC */
329 regulator-name = "ldortc";
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <1800000>;
332 regulator-always-on;
333 regulator-boot-on;
334 };
335
336 regen1: regen1 {
337 /* VDD_3V3_ON */
338 regulator-name = "regen1";
339 regulator-boot-on;
340 regulator-always-on;
341 };
342
343 regen2: regen2 {
344 /* Needed for PMIC internal resource */
345 regulator-name = "regen2";
346 regulator-boot-on;
347 regulator-always-on;
348 };
349 };
350 };
351
352 tps659038_rtc: tps659038_rtc {
353 compatible = "ti,palmas-rtc";
354 interrupt-parent = <&tps659038>;
355 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
356 wakeup-source;
357 };
358
359 tps659038_pwr_button: tps659038_pwr_button {
360 compatible = "ti,palmas-pwrbutton";
361 interrupt-parent = <&tps659038>;
362 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
363 wakeup-source;
364 ti,palmas-long-press-seconds = <12>;
365 };
366
367 tps659038_gpio: tps659038_gpio {
368 compatible = "ti,palmas-gpio";
369 gpio-controller;
370 #gpio-cells = <2>;
371 };
372 };
373};
374
375&mcspi3 {
376 status = "okay";
377 ti,pindir-d0-out-d1-in;
378
379 sn65hvs882: sn65hvs882@0 {
380 compatible = "pisosr-gpio";
381 gpio-controller;
382 #gpio-cells = <2>;
383
384 reg = <0>;
385 spi-max-frequency = <1000000>;
386 spi-cpol;
387 };
388};
389
390&cpu0 {
391 vdd-supply = <&vdd_mpu>;
392 voltage-tolerance = <1>;
393};
394
395&uart1 {
396 status = "okay";
397};
398
399&davinci_mdio {
400 reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
401 reset-delay-us = <2>;
402
403 phy0: ethernet-phy@1 {
404 reg = <4>;
405 eee-broken-100tx;
406 eee-broken-1000t;
407 };
408};
409
410&mac {
411 slaves = <1>;
412 status = "okay";
413};
414
415&cpsw_emac0 {
416 phy-handle = <&phy0>;
417 phy-mode = "rgmii";
418};
419
420&mmc1 {
421 status = "okay";
422 vmmc-supply = <&vdd_3v3>;
423 vqmmc-supply = <&vdd_sd>;
424 bus-width = <4>;
425 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
426
427 pinctrl-names = "default";
428 pinctrl-0 = <&mmc1_pins_default>;
429};
430
431&mmc2 {
432 status = "okay";
433 vmmc-supply = <&vdd_1v8>;
434 vqmmc-supply = <&vdd_1v8>;
435 bus-width = <8>;
436 ti,non-removable;
437 non-removable;
438 mmc-pwrseq = <&emmc_pwrseq>;
439
440 ti,needs-special-reset;
441 dmas = <&sdma_xbar 47>, <&sdma_xbar 48>;
442 dma-names = "tx", "rx";
443
444 pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
445 pinctrl-0 = <&mmc2_pins_default>;
446 pinctrl-1 = <&mmc2_pins_hs>;
447 pinctrl-2 = <&mmc2_pins_ddr_rev20>;
448 pinctrl-3 = <&mmc2_pins_hs200>;
449
450};
451
452&mmc4 {
453 /* DS: Default speed (DS) up to 25 MHz, including 1- and 4-bit modes (3.3 V signaling). */
454 /* HS: High speed up to 50 MHz (3.3 V signaling). */
455 /* SDR12: SDR up to 25 MHz (1.8 V signaling). */
456 /* SDR25: SDR up to 50 MHz (1.8 V signaling). */
457 /* SDR50: SDR up to 100 MHz (1.8 V signaling). */
458 /* SDR104: SDR up to 208 MHz (1.8 V signaling) */
459 /* DDR50: DDR up to 50 MHz (1.8 V signaling). */
460 status = "okay";
461
462 ti,needs-special-reset;
463 vmmc-supply = <&vdd_3v3>;
464 cap-power-off-card;
465 keep-power-in-suspend;
466 bus-width = <4>;
467 ti,non-removable;
468 non-removable;
469 no-1-8-v;
470 max-frequency = <24000000>;
471
472 #address-cells = <1>;
473 #size-cells = <0>;
474 mmc-pwrseq = <&brcmf_pwrseq>;
475
476 brcmf: wifi@1 {
477 status = "okay";
478 reg = <1>;
479 compatible = "brcm,bcm4329-fmac";
480
481 brcm,sd-head-align = <4>;
482 brcm,sd_head_align = <4>;
483 brcm,sd_sgentry_align = <512>;
484
485 interrupt-parent = <&gpio3>;
486 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
487 interrupt-names = "host-wake";
488 };
489};
490
491&usb2_phy1 {
492 phy-supply = <&ldousb_reg>;
493};
494
495&usb2_phy2 {
496 phy-supply = <&ldousb_reg>;
497};
498
499&usb1 {
500 status = "okay";
501 dr_mode = "otg";
502};
503
504&omap_dwc3_1 {
505 extcon = <&extcon_usb1>;
506};
507
508&usb2 {
509 status = "okay";
510 dr_mode = "host";
511};
512
513&dss {
514 status = "okay";
515 vdda_video-supply = <&vdd_1v8_pll>;
516};
517
518&hdmi {
519 status = "okay";
520 vdda-supply = <&vdd_1v8_phy_ldo4>;
521
522 port {
523 hdmi_out: endpoint {
524 remote-endpoint = <&hdmi_encoder_in>;
525 };
526 };
527};
528
529&bandgap {
530 status = "okay";
531};
532
533&cpu_alert0 {
534 temperature = <55000>; /* milliCelsius */
535};
536
537&cpu_crit {
538 temperature = <85000>; /* milliCelsius */
539};
540
541&gpu_crit {
542 temperature = <85000>; /* milliCelsius */
543};
544
545&core_crit {
546 temperature = <85000>; /* milliCelsius */
547};
548
549&dspeve_crit {
550 temperature = <85000>; /* milliCelsius */
551};
552
553&iva_crit {
554 temperature = <85000>; /* milliCelsius */
555};
556
557&sata {
558 status = "disabled";
559};
560
561&sata_phy {
562 status = "disabled";
563};
564
565/* bluetooth */
566&uart6 {
567 status = "okay";
568};
569
570/* cape header stuff */
571&i2c4 {
572 status = "okay";
573 clock-frequency = <100000>;
574};
575
576#include "omap5-u-boot.dtsi"