blob: 41642fe770a148a179de5aa495a00878f6d3a0be [file] [log] [blame]
Nishanth Menon5a0f93c2014-11-07 11:47:13 -06001/*
2 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
10#include "dra74x.dtsi"
Nishanth Menon5a0f93c2014-11-07 11:47:13 -060011#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13
14/ {
15 model = "TI AM5728 BeagleBoard-X15";
16 compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
17
18 aliases {
19 rtc0 = &mcp_rtc;
20 rtc1 = &tps659038_rtc;
21 };
22
23 memory {
24 device_type = "memory";
25 reg = <0x80000000 0x80000000>;
26 };
27
28 vdd_3v3: fixedregulator-vdd_3v3 {
29 compatible = "regulator-fixed";
30 regulator-name = "vdd_3v3";
31 vin-supply = <&regen1>;
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 };
35
36 vtt_fixed: fixedregulator-vtt {
37 /* TPS51200 */
38 compatible = "regulator-fixed";
39 regulator-name = "vtt_fixed";
40 vin-supply = <&smps3_reg>;
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 regulator-always-on;
44 regulator-boot-on;
45 enable-active-high;
46 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
47 };
48
49 leds {
50 compatible = "gpio-leds";
51 pinctrl-names = "default";
52 pinctrl-0 = <&leds_pins_default>;
53
54 led@0 {
55 label = "beagle-x15:usr0";
56 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
57 linux,default-trigger = "heartbeat";
58 default-state = "off";
59 };
60
61 led@1 {
62 label = "beagle-x15:usr1";
63 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
64 linux,default-trigger = "cpu0";
65 default-state = "off";
66 };
67
68 led@2 {
69 label = "beagle-x15:usr2";
70 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
71 linux,default-trigger = "mmc0";
72 default-state = "off";
73 };
74
75 led@3 {
76 label = "beagle-x15:usr3";
77 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
78 linux,default-trigger = "ide-disk";
79 default-state = "off";
80 };
81 };
Nishanth Menon7a03f2c2015-01-05 10:32:29 -060082
83 gpio_fan: gpio_fan {
84 /* Based on 5v 500mA AFB02505HHB */
85 compatible = "gpio-fan";
86 gpios = <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>;
87 gpio-fan,speed-map = <0 0>,
88 <13000 1>;
89 };
Roger Quadrosf60db982015-01-26 14:15:30 +020090
91 extcon_usb1: extcon_usb1 {
92 compatible = "linux,extcon-usb-gpio";
93 id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&extcon_usb1_pins>;
96 };
97
98 extcon_usb2: extcon_usb2 {
99 compatible = "linux,extcon-usb-gpio";
100 id-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&extcon_usb2_pins>;
103 };
Nishanth Menon5a0f93c2014-11-07 11:47:13 -0600104};
105
106&dra7_pmx_core {
107 leds_pins_default: leds_pins_default {
108 pinctrl-single,pins = <
109 0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */
110 0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */
111 0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */
112 0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */
113 >;
114 };
115
116 i2c1_pins_default: i2c1_pins_default {
117 pinctrl-single,pins = <
118 0x400 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */
119 0x404 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */
120 >;
121 };
122
123 i2c3_pins_default: i2c3_pins_default {
124 pinctrl-single,pins = <
125 0x2a4 (PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */
126 0x2a8 (PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */
127 >;
128 };
129
130 uart3_pins_default: uart3_pins_default {
131 pinctrl-single,pins = <
132 0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */
133 0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */
134 >;
135 };
136
137 mmc1_pins_default: mmc1_pins_default {
138 pinctrl-single,pins = <
139 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
140 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
141 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
142 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
143 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
144 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
145 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
146 >;
147 };
148
149 mmc2_pins_default: mmc2_pins_default {
150 pinctrl-single,pins = <
151 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
152 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
153 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
154 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
155 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
156 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
157 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
158 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
159 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
160 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
161 >;
162 };
163
Felipe Balbia75dacf2014-12-04 15:02:57 -0600164 cpsw_pins_default: cpsw_pins_default {
165 pinctrl-single,pins = <
166 /* Slave 1 */
167 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tclk */
168 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tctl */
169 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td3 */
170 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td2 */
171 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td1 */
172 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td0 */
173 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii1_rclk */
174 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii1_rctl */
175 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd3 */
176 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd2 */
177 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd1 */
178 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii1_rd0 */
179
180 /* Slave 2 */
181 0x198 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tclk */
182 0x19c (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tctl */
183 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td3 */
184 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td2 */
185 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td1 */
186 0x1ac (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td0 */
187 0x1b0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rclk */
188 0x1b4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rctl */
189 0x1b8 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd3 */
190 0x1bc (PIN_INPUT | MUX_MODE3) /* rgmii2_rd2 */
191 0x1c0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd1 */
192 0x1c4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd0 */
193 >;
194
195 };
196
197 cpsw_pins_sleep: cpsw_pins_sleep {
198 pinctrl-single,pins = <
199 /* Slave 1 */
200 0x250 (PIN_INPUT | MUX_MODE15)
201 0x254 (PIN_INPUT | MUX_MODE15)
202 0x258 (PIN_INPUT | MUX_MODE15)
203 0x25c (PIN_INPUT | MUX_MODE15)
204 0x260 (PIN_INPUT | MUX_MODE15)
205 0x264 (PIN_INPUT | MUX_MODE15)
206 0x268 (PIN_INPUT | MUX_MODE15)
207 0x26c (PIN_INPUT | MUX_MODE15)
208 0x270 (PIN_INPUT | MUX_MODE15)
209 0x274 (PIN_INPUT | MUX_MODE15)
210 0x278 (PIN_INPUT | MUX_MODE15)
211 0x27c (PIN_INPUT | MUX_MODE15)
212
213 /* Slave 2 */
214 0x198 (PIN_INPUT | MUX_MODE15)
215 0x19c (PIN_INPUT | MUX_MODE15)
216 0x1a0 (PIN_INPUT | MUX_MODE15)
217 0x1a4 (PIN_INPUT | MUX_MODE15)
218 0x1a8 (PIN_INPUT | MUX_MODE15)
219 0x1ac (PIN_INPUT | MUX_MODE15)
220 0x1b0 (PIN_INPUT | MUX_MODE15)
221 0x1b4 (PIN_INPUT | MUX_MODE15)
222 0x1b8 (PIN_INPUT | MUX_MODE15)
223 0x1bc (PIN_INPUT | MUX_MODE15)
224 0x1c0 (PIN_INPUT | MUX_MODE15)
225 0x1c4 (PIN_INPUT | MUX_MODE15)
226 >;
227 };
228
229 davinci_mdio_pins_default: davinci_mdio_pins_default {
230 pinctrl-single,pins = <
231 /* MDIO */
232 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_mclk */
233 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_d */
234 >;
235 };
236
237 davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
238 pinctrl-single,pins = <
239 0x23c (PIN_INPUT | MUX_MODE15)
240 0x240 (PIN_INPUT | MUX_MODE15)
241 >;
242 };
243
Nishanth Menon5a0f93c2014-11-07 11:47:13 -0600244 tps659038_pins_default: tps659038_pins_default {
245 pinctrl-single,pins = <
246 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
247 >;
248 };
249
250 tmp102_pins_default: tmp102_pins_default {
251 pinctrl-single,pins = <
252 0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14) /* spi2_d0.gpio7_16 */
253 >;
254 };
255
256 mcp79410_pins_default: mcp79410_pins_default {
257 pinctrl-single,pins = <
258 0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */
259 >;
260 };
261
262 usb1_pins: pinmux_usb1_pins {
263 pinctrl-single,pins = <
264 0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
265 >;
266 };
267
Roger Quadrosf60db982015-01-26 14:15:30 +0200268 extcon_usb1_pins: extcon_usb1_pins {
269 pinctrl-single,pins = <
270 0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
271 >;
272 };
273
274 extcon_usb2_pins: extcon_usb2_pins {
275 pinctrl-single,pins = <
276 0x3e8 (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_ctsn.gpio7_24 */
277 >;
278 };
Nishanth Menon5a0f93c2014-11-07 11:47:13 -0600279};
280
281&i2c1 {
282 status = "okay";
283 pinctrl-names = "default";
284 pinctrl-0 = <&i2c1_pins_default>;
285 clock-frequency = <400000>;
286
287 tps659038: tps659038@58 {
288 compatible = "ti,tps659038";
289 reg = <0x58>;
290 interrupt-parent = <&gpio1>;
291 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
292
293 pinctrl-names = "default";
294 pinctrl-0 = <&tps659038_pins_default>;
295
296 #interrupt-cells = <2>;
297 interrupt-controller;
298
299 ti,system-power-controller;
300
301 tps659038_pmic {
302 compatible = "ti,tps659038-pmic";
303
304 regulators {
305 smps12_reg: smps12 {
306 /* VDD_MPU */
307 regulator-name = "smps12";
308 regulator-min-microvolt = < 850000>;
309 regulator-max-microvolt = <1250000>;
310 regulator-always-on;
311 regulator-boot-on;
312 };
313
314 smps3_reg: smps3 {
315 /* VDD_DDR */
316 regulator-name = "smps3";
317 regulator-min-microvolt = <1350000>;
318 regulator-max-microvolt = <1350000>;
319 regulator-always-on;
320 regulator-boot-on;
321 };
322
323 smps45_reg: smps45 {
324 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
325 regulator-name = "smps45";
326 regulator-min-microvolt = < 850000>;
327 regulator-max-microvolt = <1150000>;
328 regulator-always-on;
329 regulator-boot-on;
330 };
331
332 smps6_reg: smps6 {
333 /* VDD_CORE */
334 regulator-name = "smps6";
335 regulator-min-microvolt = <850000>;
336 regulator-max-microvolt = <1030000>;
337 regulator-always-on;
338 regulator-boot-on;
339 };
340
341 /* SMPS7 unused */
342
343 smps8_reg: smps8 {
344 /* VDD_1V8 */
345 regulator-name = "smps8";
346 regulator-min-microvolt = <1800000>;
347 regulator-max-microvolt = <1800000>;
348 regulator-always-on;
349 regulator-boot-on;
350 };
351
352 /* SMPS9 unused */
353
354 ldo1_reg: ldo1 {
355 /* VDD_SD */
356 regulator-name = "ldo1";
357 regulator-min-microvolt = <1800000>;
358 regulator-max-microvolt = <3300000>;
359 regulator-boot-on;
360 };
361
362 ldo2_reg: ldo2 {
363 /* VDD_SHV5 */
364 regulator-name = "ldo2";
365 regulator-min-microvolt = <3300000>;
366 regulator-max-microvolt = <3300000>;
367 regulator-always-on;
368 regulator-boot-on;
369 };
370
371 ldo3_reg: ldo3 {
372 /* VDDA_1V8_PHY */
373 regulator-name = "ldo3";
374 regulator-min-microvolt = <1800000>;
375 regulator-max-microvolt = <1800000>;
376 regulator-always-on;
377 regulator-boot-on;
378 };
379
380 ldo9_reg: ldo9 {
381 /* VDD_RTC */
382 regulator-name = "ldo9";
383 regulator-min-microvolt = <1050000>;
384 regulator-max-microvolt = <1050000>;
385 regulator-always-on;
386 regulator-boot-on;
387 };
388
389 ldoln_reg: ldoln {
390 /* VDDA_1V8_PLL */
391 regulator-name = "ldoln";
392 regulator-min-microvolt = <1800000>;
393 regulator-max-microvolt = <1800000>;
394 regulator-always-on;
395 regulator-boot-on;
396 };
397
398 ldousb_reg: ldousb {
399 /* VDDA_3V_USB: VDDA_USBHS33 */
400 regulator-name = "ldousb";
401 regulator-min-microvolt = <3300000>;
402 regulator-max-microvolt = <3300000>;
403 regulator-boot-on;
404 };
405
406 regen1: regen1 {
407 /* VDD_3V3_ON */
408 regulator-name = "regen1";
409 regulator-boot-on;
410 regulator-always-on;
411 };
412 };
413 };
414
415 tps659038_rtc: tps659038_rtc {
416 compatible = "ti,palmas-rtc";
417 interrupt-parent = <&tps659038>;
418 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
419 wakeup-source;
420 };
421
422 tps659038_pwr_button: tps659038_pwr_button {
423 compatible = "ti,palmas-pwrbutton";
424 interrupt-parent = <&tps659038>;
425 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
426 wakeup-source;
427 ti,palmas-long-press-seconds = <12>;
428 };
Nishanth Menon7a03f2c2015-01-05 10:32:29 -0600429
430 tps659038_gpio: tps659038_gpio {
431 compatible = "ti,palmas-gpio";
432 gpio-controller;
433 #gpio-cells = <2>;
434 };
Nishanth Menon5a0f93c2014-11-07 11:47:13 -0600435 };
436
437 tmp102: tmp102@48 {
438 compatible = "ti,tmp102";
439 reg = <0x48>;
440 pinctrl-names = "default";
441 pinctrl-0 = <&tmp102_pins_default>;
442 interrupt-parent = <&gpio7>;
443 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
444 };
445};
446
447&i2c3 {
448 status = "okay";
449 pinctrl-names = "default";
450 pinctrl-0 = <&i2c3_pins_default>;
451 clock-frequency = <400000>;
452
453 mcp_rtc: rtc@6f {
454 compatible = "microchip,mcp7941x";
455 reg = <0x6f>;
456 interrupt-parent = <&gic>;
457 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>; /* IRQ_SYS_1N */
458
459 pinctrl-names = "default";
460 pinctrl-0 = <&mcp79410_pins_default>;
461
462 vcc-supply = <&vdd_3v3>;
463 wakeup-source;
464 };
465};
466
467&gpio7 {
468 ti,no-reset-on-init;
469 ti,no-idle-on-init;
470};
471
472&cpu0 {
473 cpu0-supply = <&smps12_reg>;
474 voltage-tolerance = <1>;
475};
476
477&uart3 {
478 status = "okay";
479 interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
480 <&dra7_pmx_core 0x248>;
481
482 pinctrl-names = "default";
483 pinctrl-0 = <&uart3_pins_default>;
484};
485
Felipe Balbia75dacf2014-12-04 15:02:57 -0600486&mac {
487 status = "okay";
488 pinctrl-names = "default", "sleep";
489 pinctrl-0 = <&cpsw_pins_default>;
490 pinctrl-1 = <&cpsw_pins_sleep>;
491 dual_emac;
492};
493
494&cpsw_emac0 {
495 phy_id = <&davinci_mdio>, <1>;
496 phy-mode = "rgmii";
497 dual_emac_res_vlan = <1>;
498};
499
500&cpsw_emac1 {
501 phy_id = <&davinci_mdio>, <2>;
502 phy-mode = "rgmii";
503 dual_emac_res_vlan = <2>;
504};
505
506&davinci_mdio {
507 pinctrl-names = "default", "sleep";
508 pinctrl-0 = <&davinci_mdio_pins_default>;
509 pinctrl-1 = <&davinci_mdio_pins_sleep>;
510};
511
Nishanth Menon5a0f93c2014-11-07 11:47:13 -0600512&mmc1 {
513 status = "okay";
514
515 pinctrl-names = "default";
516 pinctrl-0 = <&mmc1_pins_default>;
517
518 vmmc-supply = <&ldo1_reg>;
519 vmmc_aux-supply = <&vdd_3v3>;
520 pbias-supply = <&pbias_mmc_reg>;
521 bus-width = <4>;
522 cd-gpios = <&gpio6 27 0>; /* gpio 219 */
523};
524
525&mmc2 {
526 status = "okay";
527
528 pinctrl-names = "default";
529 pinctrl-0 = <&mmc2_pins_default>;
530
531 vmmc-supply = <&vdd_3v3>;
532 bus-width = <8>;
533 ti,non-removable;
534 cap-mmc-dual-data-rate;
535};
536
537&sata {
538 status = "okay";
539};
540
541&usb2_phy1 {
542 phy-supply = <&ldousb_reg>;
543};
544
545&usb1 {
546 dr_mode = "host";
547 pinctrl-names = "default";
548 pinctrl-0 = <&usb1_pins>;
549};
Roger Quadrosf60db982015-01-26 14:15:30 +0200550
Roger Quadrosa7b0aa12015-03-17 11:43:51 +0200551&omap_dwc3_1 {
552 extcon = <&extcon_usb1>;
553};
554
555&omap_dwc3_2 {
556 extcon = <&extcon_usb2>;
557};
558
Roger Quadros726806a2015-01-26 14:15:31 +0200559&usb2 {
560 dr_mode = "peripheral";
561};