Merge branch 'clockevents/fixes' of git://git.linaro.org/people/daniel.lezcano/linux...
[linux-drm-fsl-dcu.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         smsc911x_pins: pinmux_smsc911x_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         leds_pins: pinmux_leds_pins { };
138 };
139
140 &i2c1 {
141         pinctrl-names = "default";
142         pinctrl-0 = <&i2c1_pins>;
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         pinctrl-names = "default";
163         pinctrl-0 = <&i2c2_pins>;
164         clock-frequency = <400000>;
165 };
166
167 &i2c3 {
168         pinctrl-names = "default";
169         pinctrl-0 = <&i2c3_pins>;
170 };
171
172 &mcbsp2 {
173         pinctrl-names = "default";
174         pinctrl-0 = <&mcbsp2_pins>;
175 };
176
177 &mmc1 {
178       pinctrl-names = "default";
179       pinctrl-0 = <&mmc1_pins>;
180       vmmc-supply = <&vmmc1>;
181       vmmc_aux-supply = <&vsim>;
182       bus-width = <4>;
183 };
184
185 &mmc2 {
186         pinctrl-names = "default";
187         pinctrl-0 = <&mmc2_pins>;
188         vmmc-supply = <&lbee1usjyc_vmmc>;
189         bus-width = <4>;
190         non-removable;
191 };
192
193 &mmc3 {
194         status = "disabled";
195 };
196
197 &uart1 {
198        pinctrl-names = "default";
199        pinctrl-0 = <&uart1_pins>;
200 };
201
202 &uart2 {
203        pinctrl-names = "default";
204        pinctrl-0 = <&uart2_pins>;
205 };
206
207 &uart3 {
208        pinctrl-names = "default";
209        pinctrl-0 = <&uart3_pins>;
210 };
211
212 &twl_gpio {
213         ti,use-leds;
214 };
215
216 &usb_otg_hs {
217         interface-type = <0>;
218         usb-phy = <&usb2_phy>;
219         phys = <&usb2_phy>;
220         phy-names = "usb2-phy";
221         mode = <3>;
222         power = <50>;
223 };