Merge branch 'master' of git://git.denx.de/u-boot-usb
[karo-tx-uboot.git] / arch / arm / dts / am335x-bone-common.dtsi
1 /*
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 / {
10         model = "TI AM335x BeagleBone";
11         compatible = "ti,am335x-bone", "ti,am33xx";
12
13         chosen {
14                 stdout-path = &uart0;
15         };
16
17         cpus {
18                 cpu@0 {
19                         cpu0-supply = <&dcdc2_reg>;
20                 };
21         };
22
23         memory {
24                 device_type = "memory";
25                 reg = <0x80000000 0x10000000>; /* 256 MB */
26         };
27
28         am33xx_pinmux: pinmux@44e10800 {
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&clkout2_pin>;
31
32                 user_leds_s0: user_leds_s0 {
33                         pinctrl-single,pins = <
34                                 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a5.gpio1_21 */
35                                 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a6.gpio1_22 */
36                                 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a7.gpio1_23 */
37                                 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a8.gpio1_24 */
38                         >;
39                 };
40
41                 i2c0_pins: pinmux_i2c0_pins {
42                         pinctrl-single,pins = <
43                                 0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
44                                 0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
45                         >;
46                 };
47
48                 uart0_pins: pinmux_uart0_pins {
49                         pinctrl-single,pins = <
50                                 0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
51                                 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
52                         >;
53                 };
54
55                 clkout2_pin: pinmux_clkout2_pin {
56                         pinctrl-single,pins = <
57                                 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
58                         >;
59                 };
60
61                 cpsw_default: cpsw_default {
62                         pinctrl-single,pins = <
63                                 /* Slave 1 */
64                                 0x110 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxerr.mii1_rxerr */
65                                 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
66                                 0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxdv.mii1_rxdv */
67                                 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
68                                 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
69                                 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
70                                 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
71                                 0x12c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_txclk.mii1_txclk */
72                                 0x130 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxclk.mii1_rxclk */
73                                 0x134 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd3.mii1_rxd3 */
74                                 0x138 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd2.mii1_rxd2 */
75                                 0x13c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd1.mii1_rxd1 */
76                                 0x140 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd0.mii1_rxd0 */
77                         >;
78                 };
79
80                 cpsw_sleep: cpsw_sleep {
81                         pinctrl-single,pins = <
82                                 /* Slave 1 reset value */
83                                 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
84                                 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
85                                 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
86                                 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
87                                 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
88                                 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
89                                 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
90                                 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
91                                 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
92                                 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
93                                 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
94                                 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
95                                 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
96                         >;
97                 };
98
99                 davinci_mdio_default: davinci_mdio_default {
100                         pinctrl-single,pins = <
101                                 /* MDIO */
102                                 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
103                                 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
104                         >;
105                 };
106
107                 davinci_mdio_sleep: davinci_mdio_sleep {
108                         pinctrl-single,pins = <
109                                 /* MDIO reset value */
110                                 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
111                                 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
112                         >;
113                 };
114         };
115
116         ocp {
117                 uart0: serial@44e09000 {
118                         pinctrl-names = "default";
119                         pinctrl-0 = <&uart0_pins>;
120
121                         status = "okay";
122                 };
123
124                 musb: usb@47400000 {
125                         status = "okay";
126
127                         control@44e10000 {
128                                 status = "okay";
129                         };
130
131                         usb-phy@47401300 {
132                                 status = "okay";
133                         };
134
135                         usb-phy@47401b00 {
136                                 status = "okay";
137                         };
138
139                         usb@47401000 {
140                                 status = "okay";
141                         };
142
143                         usb@47401800 {
144                                 status = "okay";
145                                 dr_mode = "host";
146                         };
147
148                         dma-controller@07402000  {
149                                 status = "okay";
150                         };
151                 };
152
153                 i2c0: i2c@44e0b000 {
154                         pinctrl-names = "default";
155                         pinctrl-0 = <&i2c0_pins>;
156
157                         status = "okay";
158                         clock-frequency = <400000>;
159
160                         tps: tps@24 {
161                                 reg = <0x24>;
162                         };
163
164                 };
165         };
166
167         leds {
168                 pinctrl-names = "default";
169                 pinctrl-0 = <&user_leds_s0>;
170
171                 compatible = "gpio-leds";
172
173                 led@2 {
174                         label = "beaglebone:green:heartbeat";
175                         gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
176                         linux,default-trigger = "heartbeat";
177                         default-state = "off";
178                 };
179
180                 led@3 {
181                         label = "beaglebone:green:mmc0";
182                         gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
183                         linux,default-trigger = "mmc0";
184                         default-state = "off";
185                 };
186
187                 led@4 {
188                         label = "beaglebone:green:usr2";
189                         gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
190                         default-state = "off";
191                 };
192
193                 led@5 {
194                         label = "beaglebone:green:usr3";
195                         gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
196                         default-state = "off";
197                 };
198         };
199 };
200
201 /include/ "tps65217.dtsi"
202
203 &tps {
204         regulators {
205                 dcdc1_reg: regulator@0 {
206                         regulator-always-on;
207                 };
208
209                 dcdc2_reg: regulator@1 {
210                         /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
211                         regulator-name = "vdd_mpu";
212                         regulator-min-microvolt = <925000>;
213                         regulator-max-microvolt = <1325000>;
214                         regulator-boot-on;
215                         regulator-always-on;
216                 };
217
218                 dcdc3_reg: regulator@2 {
219                         /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
220                         regulator-name = "vdd_core";
221                         regulator-min-microvolt = <925000>;
222                         regulator-max-microvolt = <1150000>;
223                         regulator-boot-on;
224                         regulator-always-on;
225                 };
226
227                 ldo1_reg: regulator@3 {
228                         regulator-always-on;
229                 };
230
231                 ldo2_reg: regulator@4 {
232                         regulator-always-on;
233                 };
234
235                 ldo3_reg: regulator@5 {
236                         regulator-always-on;
237                 };
238
239                 ldo4_reg: regulator@6 {
240                         regulator-always-on;
241                 };
242         };
243 };
244
245 &cpsw_emac0 {
246         phy_id = <&davinci_mdio>, <0>;
247         phy-mode = "mii";
248 };
249
250 &cpsw_emac1 {
251         phy_id = <&davinci_mdio>, <1>;
252         phy-mode = "mii";
253 };
254
255 &mac {
256         pinctrl-names = "default", "sleep";
257         pinctrl-0 = <&cpsw_default>;
258         pinctrl-1 = <&cpsw_sleep>;
259
260 };
261
262 &davinci_mdio {
263         pinctrl-names = "default", "sleep";
264         pinctrl-0 = <&davinci_mdio_default>;
265         pinctrl-1 = <&davinci_mdio_sleep>;
266 };