am57xx-beagle-x15.dts revision 284090
1/*
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	};
83
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	};
91
92	extcon_usb1: extcon_usb1 {
93		compatible = "linux,extcon-usb-gpio";
94		id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
95		pinctrl-names = "default";
96		pinctrl-0 = <&extcon_usb1_pins>;
97	};
98
99	extcon_usb2: extcon_usb2 {
100		compatible = "linux,extcon-usb-gpio";
101		id-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
102		pinctrl-names = "default";
103		pinctrl-0 = <&extcon_usb2_pins>;
104	};
105};
106
107&dra7_pmx_core {
108	leds_pins_default: leds_pins_default {
109		pinctrl-single,pins = <
110			0x3a8 (PIN_OUTPUT | MUX_MODE14)	/* spi1_d1.gpio7_8 */
111			0x3ac (PIN_OUTPUT | MUX_MODE14)	/* spi1_d0.gpio7_9 */
112			0x3c0 (PIN_OUTPUT | MUX_MODE14)	/* spi2_sclk.gpio7_14 */
113			0x3c4 (PIN_OUTPUT | MUX_MODE14)	/* spi2_d1.gpio7_15 */
114		>;
115	};
116
117	i2c1_pins_default: i2c1_pins_default {
118		pinctrl-single,pins = <
119			0x400 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda.sda */
120			0x404 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl.scl */
121		>;
122	};
123
124	i2c3_pins_default: i2c3_pins_default {
125		pinctrl-single,pins = <
126			0x2a4 (PIN_INPUT| MUX_MODE10)	/* mcasp1_aclkx.i2c3_sda */
127			0x2a8 (PIN_INPUT| MUX_MODE10)	/* mcasp1_fsx.i2c3_scl */
128		>;
129	};
130
131	uart3_pins_default: uart3_pins_default {
132		pinctrl-single,pins = <
133			0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */
134			0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */
135		>;
136	};
137
138	mmc1_pins_default: mmc1_pins_default {
139		pinctrl-single,pins = <
140			0x36c (PIN_INPUT | MUX_MODE14)	/* mmc1sdcd.gpio219 */
141			0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
142			0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
143			0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
144			0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
145			0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
146			0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
147		>;
148	};
149
150	mmc2_pins_default: mmc2_pins_default {
151		pinctrl-single,pins = <
152			0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
153			0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
154			0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
155			0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
156			0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
157			0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
158			0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
159			0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
160			0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
161			0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
162		>;
163	};
164
165	cpsw_pins_default: cpsw_pins_default {
166		pinctrl-single,pins = <
167			/* Slave 1 */
168			0x250 (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_tclk */
169			0x254 (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_tctl */
170			0x258 (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td3 */
171			0x25c (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td2 */
172			0x260 (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td1 */
173			0x264 (PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td0 */
174			0x268 (PIN_INPUT | MUX_MODE0)	/* rgmii1_rclk */
175			0x26c (PIN_INPUT | MUX_MODE0)	/* rgmii1_rctl */
176			0x270 (PIN_INPUT | MUX_MODE0)	/* rgmii1_rd3 */
177			0x274 (PIN_INPUT | MUX_MODE0)	/* rgmii1_rd2 */
178			0x278 (PIN_INPUT | MUX_MODE0)	/* rgmii1_rd1 */
179			0x27c (PIN_INPUT | MUX_MODE0)	/* rgmii1_rd0 */
180
181			/* Slave 2 */
182			0x198 (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_tclk */
183			0x19c (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_tctl */
184			0x1a0 (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td3 */
185			0x1a4 (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td2 */
186			0x1a8 (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td1 */
187			0x1ac (PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td0 */
188			0x1b0 (PIN_INPUT | MUX_MODE3)	/* rgmii2_rclk */
189			0x1b4 (PIN_INPUT | MUX_MODE3)	/* rgmii2_rctl */
190			0x1b8 (PIN_INPUT | MUX_MODE3)	/* rgmii2_rd3 */
191			0x1bc (PIN_INPUT | MUX_MODE3)	/* rgmii2_rd2 */
192			0x1c0 (PIN_INPUT | MUX_MODE3)	/* rgmii2_rd1 */
193			0x1c4 (PIN_INPUT | MUX_MODE3)	/* rgmii2_rd0 */
194		>;
195
196	};
197
198	cpsw_pins_sleep: cpsw_pins_sleep {
199		pinctrl-single,pins = <
200			/* Slave 1 */
201			0x250 (PIN_INPUT | MUX_MODE15)
202			0x254 (PIN_INPUT | MUX_MODE15)
203			0x258 (PIN_INPUT | MUX_MODE15)
204			0x25c (PIN_INPUT | MUX_MODE15)
205			0x260 (PIN_INPUT | MUX_MODE15)
206			0x264 (PIN_INPUT | MUX_MODE15)
207			0x268 (PIN_INPUT | MUX_MODE15)
208			0x26c (PIN_INPUT | MUX_MODE15)
209			0x270 (PIN_INPUT | MUX_MODE15)
210			0x274 (PIN_INPUT | MUX_MODE15)
211			0x278 (PIN_INPUT | MUX_MODE15)
212			0x27c (PIN_INPUT | MUX_MODE15)
213
214			/* Slave 2 */
215			0x198 (PIN_INPUT | MUX_MODE15)
216			0x19c (PIN_INPUT | MUX_MODE15)
217			0x1a0 (PIN_INPUT | MUX_MODE15)
218			0x1a4 (PIN_INPUT | MUX_MODE15)
219			0x1a8 (PIN_INPUT | MUX_MODE15)
220			0x1ac (PIN_INPUT | MUX_MODE15)
221			0x1b0 (PIN_INPUT | MUX_MODE15)
222			0x1b4 (PIN_INPUT | MUX_MODE15)
223			0x1b8 (PIN_INPUT | MUX_MODE15)
224			0x1bc (PIN_INPUT | MUX_MODE15)
225			0x1c0 (PIN_INPUT | MUX_MODE15)
226			0x1c4 (PIN_INPUT | MUX_MODE15)
227		>;
228	};
229
230	davinci_mdio_pins_default: davinci_mdio_pins_default {
231		pinctrl-single,pins = <
232			/* MDIO */
233			0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* mdio_mclk */
234			0x240 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mdio_d */
235		>;
236	};
237
238	davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
239		pinctrl-single,pins = <
240			0x23c (PIN_INPUT | MUX_MODE15)
241			0x240 (PIN_INPUT | MUX_MODE15)
242		>;
243	};
244
245	tps659038_pins_default: tps659038_pins_default {
246		pinctrl-single,pins = <
247			0x418 (PIN_INPUT_PULLUP | MUX_MODE14)	/* wakeup0.gpio1_0 */
248		>;
249	};
250
251	tmp102_pins_default: tmp102_pins_default {
252		pinctrl-single,pins = <
253			0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14)	/* spi2_d0.gpio7_16 */
254		>;
255	};
256
257	mcp79410_pins_default: mcp79410_pins_default {
258		pinctrl-single,pins = <
259			0x424 (PIN_INPUT_PULLUP | MUX_MODE1)	/* wakeup3.sys_nirq1 */
260		>;
261	};
262
263	usb1_pins: pinmux_usb1_pins {
264		pinctrl-single,pins = <
265			0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
266		>;
267	};
268
269	extcon_usb1_pins: extcon_usb1_pins {
270		pinctrl-single,pins = <
271			0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
272		>;
273	};
274
275	extcon_usb2_pins: extcon_usb2_pins {
276		pinctrl-single,pins = <
277			0x3e8 (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_ctsn.gpio7_24 */
278		>;
279	};
280};
281
282&i2c1 {
283	status = "okay";
284	pinctrl-names = "default";
285	pinctrl-0 = <&i2c1_pins_default>;
286	clock-frequency = <400000>;
287
288	tps659038: tps659038@58 {
289		compatible = "ti,tps659038";
290		reg = <0x58>;
291		interrupt-parent = <&gpio1>;
292		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
293
294		pinctrl-names = "default";
295		pinctrl-0 = <&tps659038_pins_default>;
296
297		#interrupt-cells = <2>;
298		interrupt-controller;
299
300		ti,system-power-controller;
301
302		tps659038_pmic {
303			compatible = "ti,tps659038-pmic";
304
305			regulators {
306				smps12_reg: smps12 {
307					/* VDD_MPU */
308					regulator-name = "smps12";
309					regulator-min-microvolt = < 850000>;
310					regulator-max-microvolt = <1250000>;
311					regulator-always-on;
312					regulator-boot-on;
313				};
314
315				smps3_reg: smps3 {
316					/* VDD_DDR */
317					regulator-name = "smps3";
318					regulator-min-microvolt = <1350000>;
319					regulator-max-microvolt = <1350000>;
320					regulator-always-on;
321					regulator-boot-on;
322				};
323
324				smps45_reg: smps45 {
325					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
326					regulator-name = "smps45";
327					regulator-min-microvolt = < 850000>;
328					regulator-max-microvolt = <1150000>;
329					regulator-always-on;
330					regulator-boot-on;
331				};
332
333				smps6_reg: smps6 {
334					/* VDD_CORE */
335					regulator-name = "smps6";
336					regulator-min-microvolt = <850000>;
337					regulator-max-microvolt = <1030000>;
338					regulator-always-on;
339					regulator-boot-on;
340				};
341
342				/* SMPS7 unused */
343
344				smps8_reg: smps8 {
345					/* VDD_1V8 */
346					regulator-name = "smps8";
347					regulator-min-microvolt = <1800000>;
348					regulator-max-microvolt = <1800000>;
349					regulator-always-on;
350					regulator-boot-on;
351				};
352
353				/* SMPS9 unused */
354
355				ldo1_reg: ldo1 {
356					/* VDD_SD  */
357					regulator-name = "ldo1";
358					regulator-min-microvolt = <1800000>;
359					regulator-max-microvolt = <3300000>;
360					regulator-boot-on;
361				};
362
363				ldo2_reg: ldo2 {
364					/* VDD_SHV5 */
365					regulator-name = "ldo2";
366					regulator-min-microvolt = <3300000>;
367					regulator-max-microvolt = <3300000>;
368					regulator-always-on;
369					regulator-boot-on;
370				};
371
372				ldo3_reg: ldo3 {
373					/* VDDA_1V8_PHY */
374					regulator-name = "ldo3";
375					regulator-min-microvolt = <1800000>;
376					regulator-max-microvolt = <1800000>;
377					regulator-always-on;
378					regulator-boot-on;
379				};
380
381				ldo9_reg: ldo9 {
382					/* VDD_RTC */
383					regulator-name = "ldo9";
384					regulator-min-microvolt = <1050000>;
385					regulator-max-microvolt = <1050000>;
386					regulator-always-on;
387					regulator-boot-on;
388				};
389
390				ldoln_reg: ldoln {
391					/* VDDA_1V8_PLL */
392					regulator-name = "ldoln";
393					regulator-min-microvolt = <1800000>;
394					regulator-max-microvolt = <1800000>;
395					regulator-always-on;
396					regulator-boot-on;
397				};
398
399				ldousb_reg: ldousb {
400					/* VDDA_3V_USB: VDDA_USBHS33 */
401					regulator-name = "ldousb";
402					regulator-min-microvolt = <3300000>;
403					regulator-max-microvolt = <3300000>;
404					regulator-boot-on;
405				};
406
407				regen1: regen1 {
408					/* VDD_3V3_ON */
409					regulator-name = "regen1";
410					regulator-boot-on;
411					regulator-always-on;
412				};
413			};
414		};
415
416		tps659038_rtc: tps659038_rtc {
417			compatible = "ti,palmas-rtc";
418			interrupt-parent = <&tps659038>;
419			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
420			wakeup-source;
421		};
422
423		tps659038_pwr_button: tps659038_pwr_button {
424			compatible = "ti,palmas-pwrbutton";
425			interrupt-parent = <&tps659038>;
426			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
427			wakeup-source;
428			ti,palmas-long-press-seconds = <12>;
429		};
430
431		tps659038_gpio: tps659038_gpio {
432			compatible = "ti,palmas-gpio";
433			gpio-controller;
434			#gpio-cells = <2>;
435		};
436	};
437
438	tmp102: tmp102@48 {
439		compatible = "ti,tmp102";
440		reg = <0x48>;
441		pinctrl-names = "default";
442		pinctrl-0 = <&tmp102_pins_default>;
443		interrupt-parent = <&gpio7>;
444		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
445	};
446};
447
448&i2c3 {
449	status = "okay";
450	pinctrl-names = "default";
451	pinctrl-0 = <&i2c3_pins_default>;
452	clock-frequency = <400000>;
453
454	mcp_rtc: rtc@6f {
455		compatible = "microchip,mcp7941x";
456		reg = <0x6f>;
457		interrupt-parent = <&gic>;
458		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>;  /* IRQ_SYS_1N */
459
460		pinctrl-names = "default";
461		pinctrl-0 = <&mcp79410_pins_default>;
462
463		vcc-supply = <&vdd_3v3>;
464		wakeup-source;
465	};
466};
467
468&gpio7 {
469	ti,no-reset-on-init;
470	ti,no-idle-on-init;
471};
472
473&cpu0 {
474	cpu0-supply = <&smps12_reg>;
475	voltage-tolerance = <1>;
476};
477
478&uart3 {
479	status = "okay";
480	interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
481			      <&dra7_pmx_core 0x248>;
482
483	pinctrl-names = "default";
484	pinctrl-0 = <&uart3_pins_default>;
485};
486
487&mac {
488	status = "okay";
489	pinctrl-names = "default", "sleep";
490	pinctrl-0 = <&cpsw_pins_default>;
491	pinctrl-1 = <&cpsw_pins_sleep>;
492	dual_emac;
493};
494
495&cpsw_emac0 {
496	phy_id = <&davinci_mdio>, <1>;
497	phy-mode = "rgmii";
498	dual_emac_res_vlan = <1>;
499};
500
501&cpsw_emac1 {
502	phy_id = <&davinci_mdio>, <2>;
503	phy-mode = "rgmii";
504	dual_emac_res_vlan = <2>;
505};
506
507&davinci_mdio {
508	pinctrl-names = "default", "sleep";
509	pinctrl-0 = <&davinci_mdio_pins_default>;
510	pinctrl-1 = <&davinci_mdio_pins_sleep>;
511};
512
513&mmc1 {
514	status = "okay";
515
516	pinctrl-names = "default";
517	pinctrl-0 = <&mmc1_pins_default>;
518
519	vmmc-supply = <&ldo1_reg>;
520	vmmc_aux-supply = <&vdd_3v3>;
521	pbias-supply = <&pbias_mmc_reg>;
522	bus-width = <4>;
523	cd-gpios = <&gpio6 27 0>; /* gpio 219 */
524};
525
526&mmc2 {
527	status = "okay";
528
529	pinctrl-names = "default";
530	pinctrl-0 = <&mmc2_pins_default>;
531
532	vmmc-supply = <&vdd_3v3>;
533	bus-width = <8>;
534	ti,non-removable;
535	cap-mmc-dual-data-rate;
536};
537
538&sata {
539	status = "okay";
540};
541
542&usb2_phy1 {
543	phy-supply = <&ldousb_reg>;
544};
545
546&usb1 {
547	dr_mode = "host";
548	pinctrl-names = "default";
549	pinctrl-0 = <&usb1_pins>;
550};
551
552&omap_dwc3_1 {
553	extcon = <&extcon_usb1>;
554};
555
556&omap_dwc3_2 {
557	extcon = <&extcon_usb2>;
558};
559
560&usb2 {
561	dr_mode = "peripheral";
562};
563