Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / omap3-igep.dtsi
1 /*
2  * Common device tree for IGEP boards based on AM/DM37x
3  *
4  * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk>
5  * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11 /dts-v1/;
12
13 #include "omap36xx.dtsi"
14
15 / {
16         memory {
17                 device_type = "memory";
18                 reg = <0x80000000 0x20000000>; /* 512 MB */
19         };
20
21         sound {
22                 compatible = "ti,omap-twl4030";
23                 ti,model = "igep2";
24                 ti,mcbsp = <&mcbsp2>;
25                 ti,codec = <&twl_audio>;
26         };
27
28         vdd33: regulator-vdd33 {
29                 compatible = "regulator-fixed";
30                 regulator-name = "vdd33";
31                 regulator-always-on;
32         };
33
34         lbee1usjyc_vmmc: lbee1usjyc_vmmc {
35                 pinctrl-names = "default";
36                 pinctrl-0 = <&lbee1usjyc_pins>;
37                 compatible = "regulator-fixed";
38                 regulator-name = "regulator-lbee1usjyc";
39                 regulator-min-microvolt = <3300000>;
40                 regulator-max-microvolt = <3300000>;
41                 gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;    /* gpio_138 WIFI_PDN */
42                 startup-delay-us = <10000>;
43                 enable-active-high;
44                 vin-supply = <&vdd33>;
45         };
46 };
47
48 &omap3_pmx_core {
49         uart1_pins: pinmux_uart1_pins {
50                 pinctrl-single,pins = <
51                         0x152 (PIN_INPUT | MUX_MODE0)           /* uart1_rx.uart1_rx */
52                         0x14c (PIN_OUTPUT |MUX_MODE0)           /* uart1_tx.uart1_tx */
53                 >;
54         };
55
56         uart2_pins: pinmux_uart2_pins {
57                 pinctrl-single,pins = <
58                         0x14a (PIN_INPUT | MUX_MODE0)           /* uart2_rx.uart2_rx */
59                         0x148 (PIN_OUTPUT | MUX_MODE0)          /* uart2_tx.uart2_tx */
60                 >;
61         };
62
63         uart3_pins: pinmux_uart3_pins {
64                 pinctrl-single,pins = <
65                         0x16e (PIN_INPUT | MUX_MODE0)           /* uart3_rx.uart3_rx */
66                         0x170 (PIN_OUTPUT | MUX_MODE0)          /* uart3_tx.uart3_tx */
67                 >;
68         };
69
70         /* WiFi/BT combo */
71         lbee1usjyc_pins: pinmux_lbee1usjyc_pins {
72                 pinctrl-single,pins = <
73                         0x136 (PIN_OUTPUT | MUX_MODE4)  /* sdmmc2_dat5.gpio_137 */
74                         0x138 (PIN_OUTPUT | MUX_MODE4)  /* sdmmc2_dat6.gpio_138 */
75                         0x13a (PIN_OUTPUT | MUX_MODE4)  /* sdmmc2_dat7.gpio_139 */
76                 >;
77         };
78
79         mcbsp2_pins: pinmux_mcbsp2_pins {
80                 pinctrl-single,pins = <
81                         0x10c (PIN_INPUT | MUX_MODE0)           /* mcbsp2_fsx.mcbsp2_fsx */
82                         0x10e (PIN_INPUT | MUX_MODE0)           /* mcbsp2_clkx.mcbsp2_clkx */
83                         0x110 (PIN_INPUT | MUX_MODE0)           /* mcbsp2_dr.mcbsp2.dr */
84                         0x112 (PIN_OUTPUT | MUX_MODE0)          /* mcbsp2_dx.mcbsp2_dx */
85                 >;
86         };
87
88         mmc1_pins: pinmux_mmc1_pins {
89                 pinctrl-single,pins = <
90                         0x114 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_clk.sdmmc1_clk */
91                         0x116 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_cmd.sdmmc1_cmd */
92                         0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat0.sdmmc1_dat0 */
93                         0x11a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat1.sdmmc1_dat1 */
94                         0x11c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat2.sdmmc1_dat2 */
95                         0x11e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat3.sdmmc1_dat3 */
96                 >;
97         };
98
99         mmc2_pins: pinmux_mmc2_pins {
100                 pinctrl-single,pins = <
101                         0x128 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_clk.sdmmc2_clk */
102                         0x12a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_cmd.sdmmc2_cmd */
103                         0x12c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_dat0.sdmmc2_dat0 */
104                         0x12e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_dat1.sdmmc2_dat1 */
105                         0x130 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_dat2.sdmmc2_dat2 */
106                         0x132 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc2_dat3.sdmmc2_dat3 */
107                 >;
108         };
109
110         smsc9221_pins: pinmux_smsc9221_pins {
111                 pinctrl-single,pins = <
112                         0x1a2 (PIN_INPUT | MUX_MODE4)           /* mcspi1_cs2.gpio_176 */
113                 >;
114         };
115
116         i2c1_pins: pinmux_i2c1_pins {
117                 pinctrl-single,pins = <
118                         0x18a (PIN_INPUT | MUX_MODE0)   /* i2c1_scl.i2c1_scl */
119                         0x18c (PIN_INPUT | MUX_MODE0)   /* i2c1_sda.i2c1_sda */
120                 >;
121         };
122
123         i2c2_pins: pinmux_i2c2_pins {
124                 pinctrl-single,pins = <
125                         0x18e (PIN_INPUT | MUX_MODE0)   /* i2c2_scl.i2c2_scl */
126                         0x190 (PIN_INPUT | MUX_MODE0)   /* i2c2_sda.i2c2_sda */
127                 >;
128         };
129
130         i2c3_pins: pinmux_i2c3_pins {
131                 pinctrl-single,pins = <
132                         0x192 (PIN_INPUT | MUX_MODE0)   /* i2c3_scl.i2c3_scl */
133                         0x194 (PIN_INPUT | MUX_MODE0)   /* i2c3_sda.i2c3_sda */
134                 >;
135         };
136 };
137
138 &i2c1 {
139         pinctrl-names = "default";
140         pinctrl-0 = <&i2c1_pins>;
141         clock-frequency = <2600000>;
142
143         twl: twl@48 {
144                 reg = <0x48>;
145                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
146                 interrupt-parent = <&intc>;
147
148                 twl_audio: audio {
149                         compatible = "ti,twl4030-audio";
150                         codec {
151                               };
152                 };
153         };
154 };
155
156 #include "twl4030.dtsi"
157 #include "twl4030_omap3.dtsi"
158
159 &i2c2 {
160         pinctrl-names = "default";
161         pinctrl-0 = <&i2c2_pins>;
162         clock-frequency = <400000>;
163 };
164
165 &i2c3 {
166         pinctrl-names = "default";
167         pinctrl-0 = <&i2c3_pins>;
168 };
169
170 &mcbsp2 {
171         pinctrl-names = "default";
172         pinctrl-0 = <&mcbsp2_pins>;
173         status = "okay";
174 };
175
176 &mmc1 {
177       pinctrl-names = "default";
178       pinctrl-0 = <&mmc1_pins>;
179       vmmc-supply = <&vmmc1>;
180       vmmc_aux-supply = <&vsim>;
181       bus-width = <4>;
182 };
183
184 &mmc2 {
185         pinctrl-names = "default";
186         pinctrl-0 = <&mmc2_pins>;
187         vmmc-supply = <&lbee1usjyc_vmmc>;
188         bus-width = <4>;
189         non-removable;
190 };
191
192 &mmc3 {
193         status = "disabled";
194 };
195
196 &uart1 {
197        pinctrl-names = "default";
198        pinctrl-0 = <&uart1_pins>;
199 };
200
201 &uart2 {
202        pinctrl-names = "default";
203        pinctrl-0 = <&uart2_pins>;
204 };
205
206 &uart3 {
207        pinctrl-names = "default";
208        pinctrl-0 = <&uart3_pins>;
209 };
210
211 &twl_gpio {
212         ti,use-leds;
213 };
214
215 &usb_otg_hs {
216         interface-type = <0>;
217         usb-phy = <&usb2_phy>;
218         phys = <&usb2_phy>;
219         phy-names = "usb2-phy";
220         mode = <3>;
221         power = <50>;
222 };