blob: 2c0aab352b449f6530eb18fdc3799f65de977fa2 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001// SPDX-License-Identifier: GPL-2.0-only
Schuyler Pattona7cac712016-03-28 11:35:09 -05002/*
3 * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
Schuyler Pattona7cac712016-03-28 11:35:09 -05004 */
5
Keerthy5b604222016-04-28 15:35:49 +05306#include "am57xx-industrial-grade.dtsi"
7
Schuyler Pattona7cac712016-03-28 11:35:09 -05008/ {
9 aliases {
10 rtc0 = &tps659038_rtc;
11 rtc1 = &rtc;
Tomi Valkeinenedb71d32019-11-25 15:11:00 +020012 display0 = &hdmi0;
Schuyler Pattona7cac712016-03-28 11:35:09 -050013 };
14
Lokesh Vutlabc1baa62017-01-18 09:33:25 +053015 chosen {
16 stdout-path = &uart3;
17 };
18
Schuyler Pattona7cac712016-03-28 11:35:09 -050019 vmain: fixedregulator-vmain {
20 compatible = "regulator-fixed";
21 regulator-name = "VMAIN";
22 regulator-min-microvolt = <5000000>;
23 regulator-max-microvolt = <5000000>;
24 regulator-always-on;
25 regulator-boot-on;
26 };
27
28 v3_3d: fixedregulator-v3_3d {
29 compatible = "regulator-fixed";
30 regulator-name = "V3_3D";
31 vin-supply = <&smps9_reg>;
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 regulator-always-on;
35 regulator-boot-on;
36 };
37
Tomi Valkeinen441ba632020-04-17 14:30:20 +030038 v1_2d: fixedregulator-v1_2d {
39 compatible = "regulator-fixed";
40 regulator-name = "V1_2D";
41 vin-supply = <&vmain>;
42 regulator-min-microvolt = <1200000>;
43 regulator-max-microvolt = <1200000>;
44 regulator-always-on;
45 regulator-boot-on;
46 };
47
Schuyler Pattona7cac712016-03-28 11:35:09 -050048 vtt_fixed: fixedregulator-vtt {
49 /* TPS51200 */
50 compatible = "regulator-fixed";
51 regulator-name = "vtt_fixed";
52 vin-supply = <&v3_3d>;
53 regulator-min-microvolt = <3300000>;
54 regulator-max-microvolt = <3300000>;
55 regulator-always-on;
56 regulator-boot-on;
57 };
Andrew F. Davis50e95b62016-10-07 09:44:28 -050058
59 leds-iio {
60 status = "disabled";
61 compatible = "gpio-leds";
62 led-out0 {
63 label = "out0";
64 gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
65 default-state = "off";
66 };
67
68 led-out1 {
69 label = "out1";
70 gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
71 default-state = "off";
72 };
73
74 led-out2 {
75 label = "out2";
76 gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
77 default-state = "off";
78 };
79
80 led-out3 {
81 label = "out3";
82 gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
83 default-state = "off";
84 };
85
86 led-out4 {
87 label = "out4";
88 gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
89 default-state = "off";
90 };
91
92 led-out5 {
93 label = "out5";
94 gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
95 default-state = "off";
96 };
97
98 led-out6 {
99 label = "out6";
100 gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
101 default-state = "off";
102 };
103
104 led-out7 {
105 label = "out7";
106 gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
107 default-state = "off";
108 };
109 };
Tomi Valkeinenedb71d32019-11-25 15:11:00 +0200110
111 hdmi0: connector@0 {
112 compatible = "hdmi-connector";
113 label = "hdmi";
114
115 type = "a";
116
117 port {
118 hdmi_connector_in: endpoint {
119 remote-endpoint = <&tpd12s015_out>;
120 };
121 };
122 };
123
124 tpd12s015: encoder@0 {
125 compatible = "ti,tpd12s016", "ti,tpd12s015";
126
127 gpios = <0>, /* optional CT_CP_HPD */
128 <0>, /* optional LS_OE */
129 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* HPD */
130
131 ports {
132 #address-cells = <1>;
133 #size-cells = <0>;
134
135 port@0 {
136 reg = <0>;
137
138 tpd12s015_in: endpoint@0 {
139 remote-endpoint = <&hdmi_out>;
140 };
141 };
142
143 port@1 {
144 reg = <1>;
145
146 tpd12s015_out: endpoint@0 {
147 remote-endpoint = <&hdmi_connector_in>;
148 };
149 };
150 };
151 };
Tomi Valkeinen441ba632020-04-17 14:30:20 +0300152
153 src_clk_x1: src_clk_x1 {
154 #clock-cells = <0>;
155 compatible = "fixed-clock";
156 clock-frequency = <20000000>;
157 };
Schuyler Pattona7cac712016-03-28 11:35:09 -0500158};
159
Schuyler Patton0e1b2112017-02-21 15:30:03 +0530160&dra7_pmx_core {
161 dcan1_pins_default: dcan1_pins_default {
162 pinctrl-single,pins = <
163 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
164 DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */
165 >;
166 };
167
168 dcan1_pins_sleep: dcan1_pins_sleep {
169 pinctrl-single,pins = <
170 DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
171 DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
172 >;
173 };
174};
175
Schuyler Pattona7cac712016-03-28 11:35:09 -0500176&i2c1 {
177 status = "okay";
178 clock-frequency = <400000>;
179
180 tps659038: tps659038@58 {
181 compatible = "ti,tps659038";
182 reg = <0x58>;
183 interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
184 &dra7_pmx_core 0x418>;
185 #interrupt-cells = <2>;
186 interrupt-controller;
187 ti,system-power-controller;
Keerthy88047552016-11-10 10:39:20 +0530188 ti,palmas-override-powerhold;
Schuyler Pattona7cac712016-03-28 11:35:09 -0500189
190 tps659038_pmic {
191 compatible = "ti,tps659038-pmic";
Nishanth Menon3d9f77b2016-05-06 08:37:57 -0500192
193 smps12-in-supply = <&vmain>;
194 smps3-in-supply = <&vmain>;
195 smps45-in-supply = <&vmain>;
196 smps6-in-supply = <&vmain>;
197 smps7-in-supply = <&vmain>;
198 smps8-in-supply = <&vmain>;
199 smps9-in-supply = <&vmain>;
200 ldo1-in-supply = <&vmain>;
201 ldo2-in-supply = <&vmain>;
202 ldo3-in-supply = <&vmain>;
203 ldo4-in-supply = <&vmain>;
204 ldo9-in-supply = <&vmain>;
205 ldoln-in-supply = <&vmain>;
206 ldousb-in-supply = <&vmain>;
207 ldortc-in-supply = <&vmain>;
208
Schuyler Pattona7cac712016-03-28 11:35:09 -0500209 regulators {
210 smps12_reg: smps12 {
211 /* VDD_MPU */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500212 regulator-name = "smps12";
213 regulator-min-microvolt = <850000>;
214 regulator-max-microvolt = <1250000>;
215 regulator-always-on;
216 regulator-boot-on;
217 };
218
219 smps3_reg: smps3 {
220 /* VDD_DDR EMIF1 EMIF2 */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500221 regulator-name = "smps3";
222 regulator-min-microvolt = <1350000>;
223 regulator-max-microvolt = <1350000>;
224 regulator-always-on;
225 regulator-boot-on;
226 };
227
228 smps45_reg: smps45 {
229 /* VDD_DSPEVE on AM572 */
230 /* VDD_IVA + VDD_DSP on AM571 */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500231 regulator-name = "smps45";
232 regulator-min-microvolt = <850000>;
233 regulator-max-microvolt = <1250000>;
234 regulator-always-on;
235 regulator-boot-on;
236 };
237
238 smps6_reg: smps6 {
239 /* VDD_GPU */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500240 regulator-name = "smps6";
241 regulator-min-microvolt = <850000>;
242 regulator-max-microvolt = <1250000>;
243 regulator-always-on;
244 regulator-boot-on;
245 };
246
247 smps7_reg: smps7 {
248 /* VDD_CORE */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500249 regulator-name = "smps7";
250 regulator-min-microvolt = <850000>;
251 regulator-max-microvolt = <1150000>;
252 regulator-always-on;
253 regulator-boot-on;
254 };
255
256 smps8_reg: smps8 {
257 /* 5728 - VDD_IVAHD */
258 /* 5718 - N.C. test point */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500259 regulator-name = "smps8";
260 };
261
262 smps9_reg: smps9 {
263 /* VDD_3_3D */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500264 regulator-name = "smps9";
265 regulator-min-microvolt = <3300000>;
266 regulator-max-microvolt = <3300000>;
267 regulator-always-on;
268 regulator-boot-on;
269 };
270
271 ldo1_reg: ldo1 {
272 /* VDDSHV8 - VSDMMC */
273 /* NOTE: on rev 1.3a, data supply */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500274 regulator-name = "ldo1";
275 regulator-min-microvolt = <1800000>;
276 regulator-max-microvolt = <3300000>;
277 regulator-boot-on;
278 regulator-always-on;
279 };
280
281 ldo2_reg: ldo2 {
282 /* VDDSH18V */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500283 regulator-name = "ldo2";
284 regulator-min-microvolt = <1800000>;
285 regulator-max-microvolt = <1800000>;
286 regulator-always-on;
287 regulator-boot-on;
288 };
289
290 ldo3_reg: ldo3 {
291 /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500292 regulator-name = "ldo3";
293 regulator-min-microvolt = <1800000>;
294 regulator-max-microvolt = <1800000>;
295 regulator-always-on;
296 regulator-boot-on;
297 };
298
299 ldo4_reg: ldo4 {
300 /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
Schuyler Pattona7cac712016-03-28 11:35:09 -0500301 regulator-name = "ldo4";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
304 regulator-always-on;
305 regulator-boot-on;
306 };
307
308 /* LDO5-8 unused */
309
310 ldo9_reg: ldo9 {
311 /* VDD_RTC */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500312 regulator-name = "ldo9";
313 regulator-min-microvolt = <840000>;
314 regulator-max-microvolt = <1160000>;
315 regulator-always-on;
316 regulator-boot-on;
317 };
318
319 ldoln_reg: ldoln {
320 /* VDDA_1V8_PLL */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500321 regulator-name = "ldoln";
322 regulator-min-microvolt = <1800000>;
323 regulator-max-microvolt = <1800000>;
324 regulator-always-on;
325 regulator-boot-on;
326 };
327
328 ldousb_reg: ldousb {
329 /* VDDA_3V_USB: VDDA_USBHS33 */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500330 regulator-name = "ldousb";
331 regulator-min-microvolt = <3300000>;
332 regulator-max-microvolt = <3300000>;
333 regulator-always-on;
334 regulator-boot-on;
335 };
336
337 ldortc_reg: ldortc {
338 /* VDDA_RTC */
Schuyler Pattona7cac712016-03-28 11:35:09 -0500339 regulator-name = "ldortc";
340 regulator-min-microvolt = <1800000>;
341 regulator-max-microvolt = <1800000>;
342 regulator-always-on;
343 regulator-boot-on;
344 };
345
346 regen1: regen1 {
347 /* VDD_3V3_ON */
348 regulator-name = "regen1";
349 regulator-boot-on;
350 regulator-always-on;
351 };
352
353 regen2: regen2 {
354 /* Needed for PMIC internal resource */
355 regulator-name = "regen2";
356 regulator-boot-on;
357 regulator-always-on;
358 };
359 };
360 };
361
362 tps659038_rtc: tps659038_rtc {
363 compatible = "ti,palmas-rtc";
364 interrupt-parent = <&tps659038>;
365 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
366 wakeup-source;
367 };
368
369 tps659038_pwr_button: tps659038_pwr_button {
370 compatible = "ti,palmas-pwrbutton";
371 interrupt-parent = <&tps659038>;
372 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
373 wakeup-source;
374 ti,palmas-long-press-seconds = <12>;
375 };
376
377 tps659038_gpio: tps659038_gpio {
378 compatible = "ti,palmas-gpio";
379 gpio-controller;
380 #gpio-cells = <2>;
381 };
Roger Quadros10d27df2016-12-12 11:58:04 +0200382
383 extcon_usb2: tps659038_usb {
384 compatible = "ti,palmas-usb-vid";
385 ti,enable-vbus-detection;
386 ti,enable-id-detection;
387 /* ID & VBUS GPIOs provided in board dts */
388 };
Schuyler Pattona7cac712016-03-28 11:35:09 -0500389 };
Sekhar Norif5432f02017-02-15 20:42:52 +0530390
391 tpic2810: tpic2810@60 {
392 compatible = "ti,tpic2810";
393 reg = <0x60>;
394 gpio-controller;
395 #gpio-cells = <2>;
396 };
Tomi Valkeinen441ba632020-04-17 14:30:20 +0300397
398 dsi_bridge: tc358778@e {
399 compatible = "toshiba,tc358778", "toshiba,tc358768";
400 reg = <0xe>;
401 status = "disabled";
402
403 clocks = <&src_clk_x1>;
404 clock-names = "refclk";
405
406 vddc-supply = <&v1_2d>;
407 vddmipi-supply = <&v1_2d>;
408 vddio-supply = <&v3_3d>;
409
410 dsi_bridge_ports: ports {
411 #address-cells = <1>;
412 #size-cells = <0>;
413
414 port@0 {
415 reg = <0>;
416 rgb_in: endpoint {
417 remote-endpoint = <&dpi_out>;
418 data-lines = <24>;
419 };
420 };
421 };
422 };
Schuyler Pattona7cac712016-03-28 11:35:09 -0500423};
424
Andrew F. Davis8b437642016-10-07 09:44:27 -0500425&mcspi3 {
426 status = "okay";
427 ti,pindir-d0-out-d1-in;
428
429 sn65hvs882: sn65hvs882@0 {
430 compatible = "pisosr-gpio";
431 gpio-controller;
432 #gpio-cells = <2>;
433
434 reg = <0>;
435 spi-max-frequency = <1000000>;
436 spi-cpol;
437 };
438};
439
Schuyler Pattona7cac712016-03-28 11:35:09 -0500440&uart3 {
441 status = "okay";
442 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
443 &dra7_pmx_core 0x248>;
444};
445
446&rtc {
447 status = "okay";
448 ext-clk-src;
449};
450
Schuyler Pattona7cac712016-03-28 11:35:09 -0500451&cpsw_emac0 {
Grygorii Strashkoadfcf712018-09-10 17:57:51 -0500452 phy-handle = <&ethphy0>;
Grygorii Strashko820f8a82020-05-06 22:11:24 +0300453 phy-mode = "rgmii-rxid";
Schuyler Pattona7cac712016-03-28 11:35:09 -0500454 dual_emac_res_vlan = <1>;
455};
456
457&cpsw_emac1 {
Grygorii Strashkoadfcf712018-09-10 17:57:51 -0500458 phy-handle = <&ethphy1>;
Grygorii Strashko820f8a82020-05-06 22:11:24 +0300459 phy-mode = "rgmii-rxid";
Schuyler Pattona7cac712016-03-28 11:35:09 -0500460 dual_emac_res_vlan = <2>;
461};
462
Grygorii Strashkoadfcf712018-09-10 17:57:51 -0500463&davinci_mdio {
464 ethphy0: ethernet-phy@0 {
465 reg = <0>;
466 };
467
468 ethphy1: ethernet-phy@1 {
469 reg = <1>;
470 };
471};
472
Schuyler Pattona7cac712016-03-28 11:35:09 -0500473&usb2_phy1 {
474 phy-supply = <&ldousb_reg>;
475};
476
477&usb2_phy2 {
478 phy-supply = <&ldousb_reg>;
479};
480
481&usb1 {
482 dr_mode = "host";
483};
484
Roger Quadros5f3cc162018-05-29 12:00:55 +0300485&omap_dwc3_2 {
486 extcon = <&extcon_usb2>;
487};
488
Schuyler Pattona7cac712016-03-28 11:35:09 -0500489&usb2 {
Roger Quadros5f3cc162018-05-29 12:00:55 +0300490 extcon = <&extcon_usb2>;
491 dr_mode = "otg";
Schuyler Pattona7cac712016-03-28 11:35:09 -0500492};
493
Sekhar Nori799ab3f2017-08-16 19:15:03 +0530494&mmc1 {
495 status = "okay";
496 vmmc-supply = <&v3_3d>;
497 vqmmc-supply = <&ldo1_reg>;
498 bus-width = <4>;
499 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
Faiz Abbas88a74842019-05-02 14:17:48 +0530500 no-1-8-v;
Sekhar Nori799ab3f2017-08-16 19:15:03 +0530501};
502
Schuyler Pattona7cac712016-03-28 11:35:09 -0500503&mmc2 {
504 status = "okay";
505 vmmc-supply = <&v3_3d>;
Kishon Vijay Abraham I4dd7f7a2018-02-06 18:28:00 +0530506 vqmmc-supply = <&v3_3d>;
Schuyler Pattona7cac712016-03-28 11:35:09 -0500507 bus-width = <8>;
Kishon Vijay Abraham I940293a2018-04-27 17:39:03 +0530508 non-removable;
Schuyler Pattona7cac712016-03-28 11:35:09 -0500509 max-frequency = <96000000>;
Kishon Vijay Abraham I940293a2018-04-27 17:39:03 +0530510 no-1-8-v;
Schuyler Pattona7cac712016-03-28 11:35:09 -0500511};
Vignesh R504482e2016-08-02 10:51:47 +0530512
Schuyler Patton0e1b2112017-02-21 15:30:03 +0530513&dcan1 {
514 status = "okay";
515 pinctrl-names = "default", "sleep", "active";
516 pinctrl-0 = <&dcan1_pins_sleep>;
517 pinctrl-1 = <&dcan1_pins_sleep>;
518 pinctrl-2 = <&dcan1_pins_default>;
519};
520
Vignesh R504482e2016-08-02 10:51:47 +0530521&qspi {
522 status = "okay";
523
524 spi-max-frequency = <76800000>;
525 m25p80@0 {
526 compatible = "s25fl256s1", "jedec,spi-nor";
527 spi-max-frequency = <76800000>;
528 reg = <0>;
529 spi-tx-bus-width = <1>;
530 spi-rx-bus-width = <4>;
531 #address-cells = <1>;
532 #size-cells = <1>;
533
534 /* MTD partition table.
535 * The ROM checks the first four physical blocks
536 * for a valid file to boot and the flash here is
537 * 64KiB block size.
538 */
539 partition@0 {
540 label = "QSPI.SPL";
541 reg = <0x00000000 0x000040000>;
542 };
543 partition@1 {
544 label = "QSPI.u-boot";
545 reg = <0x00040000 0x00100000>;
546 };
547 partition@2 {
548 label = "QSPI.u-boot-spl-os";
549 reg = <0x00140000 0x00080000>;
550 };
551 partition@3 {
552 label = "QSPI.u-boot-env";
553 reg = <0x001c0000 0x00010000>;
554 };
555 partition@4 {
556 label = "QSPI.u-boot-env.backup1";
557 reg = <0x001d0000 0x0010000>;
558 };
559 partition@5 {
560 label = "QSPI.kernel";
561 reg = <0x001e0000 0x0800000>;
562 };
563 partition@6 {
564 label = "QSPI.file-system";
565 reg = <0x009e0000 0x01620000>;
566 };
567 };
568};
Keerthy5c8a6b92018-09-21 16:52:58 +0530569
570&cpu0 {
571 vdd-supply = <&smps12_reg>;
572};
Tomi Valkeinenedb71d32019-11-25 15:11:00 +0200573
574&hdmi {
575 status = "okay";
576
577 vdda-supply = <&ldo4_reg>;
578
579 port {
580 hdmi_out: endpoint {
581 remote-endpoint = <&tpd12s015_in>;
582 };
583 };
584};
585
586&dss {
587 status = "okay";
Tomi Valkeinen441ba632020-04-17 14:30:20 +0300588
589 vdda_video-supply = <&ldoln_reg>;
590
591 ports {
592 #address-cells = <1>;
593 #size-cells = <0>;
594
595 port@0 {
596 reg = <0>;
597
598 dpi_out: endpoint {
599 remote-endpoint = <&rgb_in>;
600 data-lines = <24>;
601 };
602 };
603 };
Tomi Valkeinenedb71d32019-11-25 15:11:00 +0200604};