Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / omap3-beagle-xm.dts
1 /*
2  * Copyright (C) 2011 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 "omap36xx.dtsi"
11
12 / {
13         model = "TI OMAP3 BeagleBoard xM";
14         compatible = "ti,omap3-beagle-xm", "ti,omap36xx", "ti,omap3";
15
16         cpus {
17                 cpu@0 {
18                         cpu0-supply = <&vcc>;
19                 };
20         };
21
22         memory {
23                 device_type = "memory";
24                 reg = <0x80000000 0x20000000>; /* 512 MB */
25         };
26
27         leds {
28                 compatible = "gpio-leds";
29
30                 heartbeat {
31                         label = "beagleboard::usr0";
32                         gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* 150 -> D6 LED */
33                         linux,default-trigger = "heartbeat";
34                 };
35
36                 mmc {
37                         label = "beagleboard::usr1";
38                         gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>; /* 149 -> D7 LED */
39                         linux,default-trigger = "mmc0";
40                 };
41         };
42
43         pwmleds {
44                 compatible = "pwm-leds";
45
46                 pmu_stat {
47                         label = "beagleboard::pmu_stat";
48                         pwms = <&twl_pwmled 1 7812500>;
49                         max-brightness = <127>;
50                 };
51         };
52
53         sound {
54                 compatible = "ti,omap-twl4030";
55                 ti,model = "omap3beagle";
56
57                 ti,mcbsp = <&mcbsp2>;
58                 ti,codec = <&twl_audio>;
59         };
60
61         gpio_keys {
62                 compatible = "gpio-keys";
63
64                 user {
65                         label = "user";
66                         gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
67                         linux,code = <0x114>;
68                         gpio-key,wakeup;
69                 };
70
71         };
72
73         /* HS USB Port 2 Power */
74         hsusb2_power: hsusb2_power_reg {
75                 compatible = "regulator-fixed";
76                 regulator-name = "hsusb2_vbus";
77                 regulator-min-microvolt = <3300000>;
78                 regulator-max-microvolt = <3300000>;
79                 gpio = <&twl_gpio 18 0>;        /* GPIO LEDA */
80                 startup-delay-us = <70000>;
81         };
82
83         /* HS USB Host PHY on PORT 2 */
84         hsusb2_phy: hsusb2_phy {
85                 compatible = "usb-nop-xceiv";
86                 reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */
87                 vcc-supply = <&hsusb2_power>;
88         };
89 };
90
91 &omap3_pmx_wkup {
92         gpio1_pins: pinmux_gpio1_pins {
93                 pinctrl-single,pins = <
94                         0x0e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE4) /* sys_boot2.gpio_4 */
95                 >;
96         };
97 };
98
99 &omap3_pmx_core {
100         pinctrl-names = "default";
101         pinctrl-0 = <
102                         &hsusb2_pins
103         >;
104
105         uart3_pins: pinmux_uart3_pins {
106                 pinctrl-single,pins = <
107                         0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
108                         0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
109                 >;
110         };
111
112         hsusb2_pins: pinmux_hsusb2_pins {
113                 pinctrl-single,pins = <
114                         OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi1_cs3.hsusb2_data2 */
115                         OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_clk.hsusb2_data7 */
116                         OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_simo.hsusb2_data4 */
117                         OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_somi.hsusb2_data5 */
118                         OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs0.hsusb2_data6 */
119                         OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs1.hsusb2_data3 */
120                 >;
121         };
122 };
123
124 &omap3_pmx_core2 {
125         pinctrl-names = "default";
126         pinctrl-0 = <
127                         &hsusb2_2_pins
128         >;
129
130         hsusb2_2_pins: pinmux_hsusb2_2_pins {
131                 pinctrl-single,pins = <
132                         OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
133                         OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
134                         OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
135                         OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
136                         OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
137                         OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
138                 >;
139         };
140 };
141
142 &i2c1 {
143         clock-frequency = <2600000>;
144
145         twl: twl@48 {
146                 reg = <0x48>;
147                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
148                 interrupt-parent = <&intc>;
149
150                 twl_audio: audio {
151                         compatible = "ti,twl4030-audio";
152                         codec {
153                         };
154                 };
155         };
156 };
157
158 #include "twl4030.dtsi"
159 #include "twl4030_omap3.dtsi"
160
161 &i2c2 {
162         clock-frequency = <400000>;
163 };
164
165 &i2c3 {
166         clock-frequency = <100000>;
167
168         /*
169          * Display monitor features are burnt in the EEPROM
170          * as EDID data.
171          */
172         eeprom@50 {
173                 compatible = "ti,eeprom";
174                 reg = <0x50>;
175         };
176 };
177
178 &mmc1 {
179         vmmc-supply = <&vmmc1>;
180         vmmc_aux-supply = <&vsim>;
181         bus-width = <8>;
182 };
183
184 &mmc2 {
185         status = "disabled";
186 };
187
188 &mmc3 {
189         status = "disabled";
190 };
191
192 &twl_gpio {
193         ti,use-leds;
194         /* pullups: BIT(1) */
195         ti,pullups = <0x000002>;
196         /*
197          * pulldowns:
198          * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13)
199          * BIT(15), BIT(16), BIT(17)
200          */
201         ti,pulldowns = <0x03a1c4>;
202 };
203
204 &usb_otg_hs {
205         interface-type = <0>;
206         usb-phy = <&usb2_phy>;
207         phys = <&usb2_phy>;
208         phy-names = "usb2-phy";
209         mode = <3>;
210         power = <50>;
211 };
212
213 &uart3 {
214         pinctrl-names = "default";
215         pinctrl-0 = <&uart3_pins>;
216 };
217
218 &gpio1 {
219         pinctrl-names = "default";
220         pinctrl-0 = <&gpio1_pins>;
221 };
222
223 &usbhshost {
224         port2-mode = "ehci-phy";
225 };
226
227 &usbhsehci {
228         phys = <0 &hsusb2_phy>;
229 };
230
231 &vaux2 {
232         regulator-name = "usb_1v8";
233         regulator-min-microvolt = <1800000>;
234         regulator-max-microvolt = <1800000>;
235         regulator-always-on;
236 };
237
238 &mcbsp2 {
239         status = "okay";
240 };