blob: dbb3f4d2bf84ebf4565555949053c94619ea161d [file] [log] [blame]
Koen Kooi2ba35492013-09-09 16:29:21 +02001/*
2 * Copyright (C) 2012 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
9/ {
Koen Kooi2ba35492013-09-09 16:29:21 +020010 cpus {
11 cpu@0 {
12 cpu0-supply = <&dcdc2_reg>;
13 };
14 };
15
16 memory {
17 device_type = "memory";
18 reg = <0x80000000 0x10000000>; /* 256 MB */
19 };
20
Koen Kooi2ba35492013-09-09 16:29:21 +020021 leds {
22 pinctrl-names = "default";
23 pinctrl-0 = <&user_leds_s0>;
24
25 compatible = "gpio-leds";
26
27 led@2 {
28 label = "beaglebone:green:heartbeat";
29 gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
30 linux,default-trigger = "heartbeat";
31 default-state = "off";
32 };
33
34 led@3 {
35 label = "beaglebone:green:mmc0";
36 gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
37 linux,default-trigger = "mmc0";
38 default-state = "off";
39 };
40
41 led@4 {
42 label = "beaglebone:green:usr2";
43 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
Koen Kooiec8a7592013-09-12 20:35:35 +020044 linux,default-trigger = "cpu0";
Koen Kooi2ba35492013-09-09 16:29:21 +020045 default-state = "off";
46 };
47
48 led@5 {
49 label = "beaglebone:green:usr3";
50 gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
Koen Kooiec8a7592013-09-12 20:35:35 +020051 linux,default-trigger = "mmc1";
Koen Kooi2ba35492013-09-09 16:29:21 +020052 default-state = "off";
53 };
54 };
Nishanth Menonea5b7c12013-09-30 09:40:16 -050055
56 vmmcsd_fixed: fixedregulator@0 {
57 compatible = "regulator-fixed";
58 regulator-name = "vmmcsd_fixed";
59 regulator-min-microvolt = <3300000>;
60 regulator-max-microvolt = <3300000>;
61 };
Koen Kooi2ba35492013-09-09 16:29:21 +020062};
63
Javier Martinez Canillas82d75af2013-09-20 17:00:00 +020064&am33xx_pinmux {
65 pinctrl-names = "default";
66 pinctrl-0 = <&clkout2_pin>;
67
68 user_leds_s0: user_leds_s0 {
69 pinctrl-single,pins = <
70 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
71 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
72 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
73 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
74 >;
75 };
76
77 i2c0_pins: pinmux_i2c0_pins {
78 pinctrl-single,pins = <
79 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
80 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
81 >;
82 };
83
84 uart0_pins: pinmux_uart0_pins {
85 pinctrl-single,pins = <
86 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
87 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
88 >;
89 };
90
91 clkout2_pin: pinmux_clkout2_pin {
92 pinctrl-single,pins = <
93 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
94 >;
95 };
96
97 cpsw_default: cpsw_default {
98 pinctrl-single,pins = <
99 /* Slave 1 */
100 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */
101 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
102 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
103 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
104 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
105 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
106 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
107 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */
108 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
109 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
110 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
111 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
112 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
113 >;
114 };
115
116 cpsw_sleep: cpsw_sleep {
117 pinctrl-single,pins = <
118 /* Slave 1 reset value */
119 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
120 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
121 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
122 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
123 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
124 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
125 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
126 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
127 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
128 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
129 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
130 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
131 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
132 >;
133 };
134
135 davinci_mdio_default: davinci_mdio_default {
136 pinctrl-single,pins = <
137 /* MDIO */
138 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
139 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
140 >;
141 };
142
143 davinci_mdio_sleep: davinci_mdio_sleep {
144 pinctrl-single,pins = <
145 /* MDIO reset value */
146 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
147 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
148 >;
149 };
150
151 mmc1_pins: pinmux_mmc1_pins {
152 pinctrl-single,pins = <
153 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
154 >;
155 };
156
157 emmc_pins: pinmux_emmc_pins {
158 pinctrl-single,pins = <
159 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
Balaji T Kaf905b22013-09-27 17:05:09 +0530160 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
Javier Martinez Canillas82d75af2013-09-20 17:00:00 +0200161 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
162 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
163 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
164 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
165 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
166 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
167 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
168 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
169 >;
170 };
171};
172
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200173&uart0 {
174 pinctrl-names = "default";
175 pinctrl-0 = <&uart0_pins>;
176
177 status = "okay";
178};
179
180&usb {
181 status = "okay";
Guido Martínez081df892014-04-28 17:54:32 -0300182};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200183
Guido Martínez081df892014-04-28 17:54:32 -0300184&usb_ctrl_mod {
185 status = "okay";
186};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200187
Guido Martínez081df892014-04-28 17:54:32 -0300188&usb0_phy {
189 status = "okay";
190};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200191
Guido Martínez081df892014-04-28 17:54:32 -0300192&usb1_phy {
193 status = "okay";
194};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200195
Guido Martínez081df892014-04-28 17:54:32 -0300196&usb0 {
197 status = "okay";
Robert Nelson67fd14b2015-02-24 10:10:43 -0600198 dr_mode = "peripheral";
Guido Martínez081df892014-04-28 17:54:32 -0300199};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200200
Guido Martínez081df892014-04-28 17:54:32 -0300201&usb1 {
202 status = "okay";
203 dr_mode = "host";
204};
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200205
Guido Martínez081df892014-04-28 17:54:32 -0300206&cppi41dma {
207 status = "okay";
Javier Martinez Canillase0efaaf2013-09-20 17:42:19 +0200208};
209
210&i2c0 {
211 pinctrl-names = "default";
212 pinctrl-0 = <&i2c0_pins>;
213
214 status = "okay";
215 clock-frequency = <400000>;
216
217 tps: tps@24 {
218 reg = <0x24>;
219 };
220
221};
222
Koen Kooi2ba35492013-09-09 16:29:21 +0200223/include/ "tps65217.dtsi"
224
225&tps {
Matthijs van Duin7a6cb0a2015-06-01 21:33:28 +0200226 /*
227 * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
228 * mode") at poweroff. Most BeagleBone versions do not support RTC-only
229 * mode and risk hardware damage if this mode is entered.
230 *
231 * For details, see linux-omap mailing list May 2015 thread
232 * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
233 * In particular, messages:
234 * http://www.spinics.net/lists/linux-omap/msg118585.html
235 * http://www.spinics.net/lists/linux-omap/msg118615.html
236 *
237 * You can override this later with
238 * &tps { /delete-property/ ti,pmic-shutdown-controller; }
239 * if you want to use RTC-only mode and made sure you are not affected
240 * by the hardware problems. (Tip: double-check by performing a current
241 * measurement after shutdown: it should be less than 1 mA.)
242 */
243 ti,pmic-shutdown-controller;
244
Koen Kooi2ba35492013-09-09 16:29:21 +0200245 regulators {
246 dcdc1_reg: regulator@0 {
Mark Brown83c9b2a2014-09-05 22:12:05 +0100247 regulator-name = "vdds_dpr";
Koen Kooi2ba35492013-09-09 16:29:21 +0200248 regulator-always-on;
249 };
250
251 dcdc2_reg: regulator@1 {
252 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
253 regulator-name = "vdd_mpu";
254 regulator-min-microvolt = <925000>;
255 regulator-max-microvolt = <1325000>;
256 regulator-boot-on;
257 regulator-always-on;
258 };
259
260 dcdc3_reg: regulator@2 {
261 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
262 regulator-name = "vdd_core";
263 regulator-min-microvolt = <925000>;
264 regulator-max-microvolt = <1150000>;
265 regulator-boot-on;
266 regulator-always-on;
267 };
268
269 ldo1_reg: regulator@3 {
Mark Brown83c9b2a2014-09-05 22:12:05 +0100270 regulator-name = "vio,vrtc,vdds";
Koen Kooi2ba35492013-09-09 16:29:21 +0200271 regulator-always-on;
272 };
273
274 ldo2_reg: regulator@4 {
Mark Brown83c9b2a2014-09-05 22:12:05 +0100275 regulator-name = "vdd_3v3aux";
Koen Kooi2ba35492013-09-09 16:29:21 +0200276 regulator-always-on;
277 };
278
279 ldo3_reg: regulator@5 {
Mark Brown83c9b2a2014-09-05 22:12:05 +0100280 regulator-name = "vdd_1v8";
Koen Kooi2ba35492013-09-09 16:29:21 +0200281 regulator-always-on;
282 };
283
284 ldo4_reg: regulator@6 {
Mark Brown83c9b2a2014-09-05 22:12:05 +0100285 regulator-name = "vdd_3v3a";
Koen Kooi2ba35492013-09-09 16:29:21 +0200286 regulator-always-on;
287 };
288 };
289};
290
291&cpsw_emac0 {
292 phy_id = <&davinci_mdio>, <0>;
293 phy-mode = "mii";
294};
295
296&cpsw_emac1 {
297 phy_id = <&davinci_mdio>, <1>;
298 phy-mode = "mii";
299};
300
301&mac {
302 pinctrl-names = "default", "sleep";
303 pinctrl-0 = <&cpsw_default>;
304 pinctrl-1 = <&cpsw_sleep>;
Johan Hovold16c75a12014-05-08 10:57:36 +0200305 status = "okay";
Koen Kooi2ba35492013-09-09 16:29:21 +0200306};
307
308&davinci_mdio {
309 pinctrl-names = "default", "sleep";
310 pinctrl-0 = <&davinci_mdio_default>;
311 pinctrl-1 = <&davinci_mdio_sleep>;
Johan Hovold16c75a12014-05-08 10:57:36 +0200312 status = "okay";
Koen Kooi2ba35492013-09-09 16:29:21 +0200313};
Alexander Holler3045fff2013-09-12 20:35:32 +0200314
315&mmc1 {
316 status = "okay";
Koen Kooi757a90e2013-09-12 20:35:34 +0200317 bus-width = <0x4>;
Alexander Holler3045fff2013-09-12 20:35:32 +0200318 pinctrl-names = "default";
319 pinctrl-0 = <&mmc1_pins>;
320 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
321 cd-inverted;
322};
Matt Portera43b446d2015-02-25 13:52:41 -0500323
324&aes {
325 status = "okay";
326};
327
328&sham {
329 status = "okay";
330};