Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / omap4-panda-common.dtsi
1 /*
2  * Copyright (C) 2011-2013 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 /include/ "elpida_ecb240abacn.dtsi"
9
10 / {
11         model = "TI OMAP4 PandaBoard";
12         compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";
13
14         memory {
15                 device_type = "memory";
16                 reg = <0x80000000 0x40000000>; /* 1 GB */
17         };
18
19         leds {
20                 compatible = "gpio-leds";
21                 heartbeat {
22                         label = "pandaboard::status1";
23                         gpios = <&gpio1 7 0>;
24                         linux,default-trigger = "heartbeat";
25                 };
26
27                 mmc {
28                         label = "pandaboard::status2";
29                         gpios = <&gpio1 8 0>;
30                         linux,default-trigger = "mmc0";
31                 };
32         };
33
34         sound: sound {
35                 compatible = "ti,abe-twl6040";
36                 ti,model = "PandaBoard";
37
38                 ti,mclk-freq = <38400000>;
39
40                 ti,mcpdm = <&mcpdm>;
41
42                 ti,twl6040 = <&twl6040>;
43
44                 /* Audio routing */
45                 ti,audio-routing =
46                         "Headset Stereophone", "HSOL",
47                         "Headset Stereophone", "HSOR",
48                         "Ext Spk", "HFL",
49                         "Ext Spk", "HFR",
50                         "Line Out", "AUXL",
51                         "Line Out", "AUXR",
52                         "HSMIC", "Headset Mic",
53                         "Headset Mic", "Headset Mic Bias",
54                         "AFML", "Line In",
55                         "AFMR", "Line In";
56         };
57 };
58
59 &omap4_pmx_wkup {
60         pinctrl-names = "default";
61         pinctrl-0 = <
62                         &twl6030_wkup_pins
63         >;
64
65         twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
66                 pinctrl-single,pins = <
67                         0x14 0x2        /* fref_clk0_out.sys_drm_msecure OUTPUT | MODE2 */
68                 >;
69         };
70 };
71
72 &omap4_pmx_core {
73         pinctrl-names = "default";
74         pinctrl-0 = <
75                         &twl6030_pins
76                         &twl6040_pins
77                         &mcpdm_pins
78                         &mcbsp1_pins
79                         &dss_hdmi_pins
80                         &tpd12s015_pins
81         >;
82
83         twl6030_pins: pinmux_twl6030_pins {
84                 pinctrl-single,pins = <
85                         0x15e 0x4118    /* sys_nirq1.sys_nirq1 OMAP_WAKEUP_EN | INPUT_PULLUP | MODE0 */
86                 >;
87         };
88
89         twl6040_pins: pinmux_twl6040_pins {
90                 pinctrl-single,pins = <
91                         0xe0 0x3        /* hdq_sio.gpio_127 OUTPUT | MODE3 */
92                         0x160 0x100     /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
93                 >;
94         };
95
96         mcpdm_pins: pinmux_mcpdm_pins {
97                 pinctrl-single,pins = <
98                         0xc6 0x108      /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
99                         0xc8 0x108      /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
100                         0xca 0x118      /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
101                         0xcc 0x108      /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
102                         0xce 0x108      /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
103                 >;
104         };
105
106         mcbsp1_pins: pinmux_mcbsp1_pins {
107                 pinctrl-single,pins = <
108                         0xbe 0x100      /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
109                         0xc0 0x108      /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
110                         0xc2 0x8                /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
111                         0xc4 0x100      /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
112                 >;
113         };
114
115         dss_hdmi_pins: pinmux_dss_hdmi_pins {
116                 pinctrl-single,pins = <
117                         0x5a 0x118      /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
118                         0x5c 0x118      /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
119                         0x5e 0x118      /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
120                 >;
121         };
122
123         tpd12s015_pins: pinmux_tpd12s015_pins {
124                 pinctrl-single,pins = <
125                         0x22 0x3        /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
126                         0x48 0x3        /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
127                         0x58 0x10b      /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
128                 >;
129         };
130
131         i2c1_pins: pinmux_i2c1_pins {
132                 pinctrl-single,pins = <
133                         0xe2 0x118        /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */
134                         0xe4 0x118        /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */
135                 >;
136         };
137
138         i2c2_pins: pinmux_i2c2_pins {
139                 pinctrl-single,pins = <
140                         0xe6 0x118        /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */
141                         0xe8 0x118        /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */
142                 >;
143         };
144
145         i2c3_pins: pinmux_i2c3_pins {
146                 pinctrl-single,pins = <
147                         0xea 0x118        /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */
148                         0xec 0x118     /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */
149                 >;
150         };
151
152         i2c4_pins: pinmux_i2c4_pins {
153                 pinctrl-single,pins = <
154                         0xee 0x118        /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */
155                         0xf0 0x118     /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */
156                 >;
157         };
158 };
159
160 &i2c1 {
161         pinctrl-names = "default";
162         pinctrl-0 = <&i2c1_pins>;
163
164         clock-frequency = <400000>;
165
166         twl: twl@48 {
167                 reg = <0x48>;
168                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
169                 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
170                 interrupt-parent = <&gic>;
171         };
172
173         twl6040: twl@4b {
174                 compatible = "ti,twl6040";
175                 reg = <0x4b>;
176                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
177                 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
178                 interrupt-parent = <&gic>;
179                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
180
181                 vio-supply = <&v1v8>;
182                 v2v1-supply = <&v2v1>;
183                 enable-active-high;
184         };
185 };
186
187 /include/ "twl6030.dtsi"
188
189 &i2c2 {
190         pinctrl-names = "default";
191         pinctrl-0 = <&i2c2_pins>;
192
193         clock-frequency = <400000>;
194 };
195
196 &i2c3 {
197         pinctrl-names = "default";
198         pinctrl-0 = <&i2c3_pins>;
199
200         clock-frequency = <100000>;
201
202         /*
203          * Display monitor features are burnt in their EEPROM as EDID data.
204          * The EEPROM is connected as I2C slave device.
205          */
206         eeprom@50 {
207                 compatible = "ti,eeprom";
208                 reg = <0x50>;
209         };
210 };
211
212 &i2c4 {
213         pinctrl-names = "default";
214         pinctrl-0 = <&i2c4_pins>;
215
216         clock-frequency = <400000>;
217 };
218
219 &mmc1 {
220         vmmc-supply = <&vmmc>;
221         bus-width = <8>;
222 };
223
224 &mmc2 {
225         status = "disabled";
226 };
227
228 &mmc3 {
229         status = "disabled";
230 };
231
232 &mmc4 {
233         status = "disabled";
234 };
235
236 &mmc5 {
237         ti,non-removable;
238         bus-width = <4>;
239 };
240
241 &emif1 {
242         cs1-used;
243         device-handle = <&elpida_ECB240ABACN>;
244 };
245
246 &emif2 {
247         cs1-used;
248         device-handle = <&elpida_ECB240ABACN>;
249 };
250
251 &mcbsp2 {
252         status = "disabled";
253 };
254
255 &mcbsp3 {
256         status = "disabled";
257 };
258
259 &dmic {
260         status = "disabled";
261 };
262
263 &twl_usb_comparator {
264         usb-supply = <&vusb>;
265 };
266
267 &usb_otg_hs {
268         interface-type = <1>;
269         mode = <3>;
270         power = <50>;
271 };