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