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