Merge tag 'byteswap-for-linus-20121219' of git://git.infradead.org/users/dwmw2/byteswap
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arm / boot / dts / omap4-sdp.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/ "omap4.dtsi"
11 /include/ "elpida_ecb240abacn.dtsi"
12
13 / {
14 model = "TI OMAP4 SDP board";
15 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16
17 memory {
18 device_type = "memory";
19 reg = <0x80000000 0x40000000>; /* 1 GB */
20 };
21
22 vdd_eth: fixedregulator-vdd-eth {
23 compatible = "regulator-fixed";
24 regulator-name = "VDD_ETH";
25 regulator-min-microvolt = <3300000>;
26 regulator-max-microvolt = <3300000>;
27 gpio = <&gpio2 16 0>; /* gpio line 48 */
28 enable-active-high;
29 regulator-boot-on;
30 };
31
32 vbat: fixedregulator-vbat {
33 compatible = "regulator-fixed";
34 regulator-name = "VBAT";
35 regulator-min-microvolt = <3750000>;
36 regulator-max-microvolt = <3750000>;
37 regulator-boot-on;
38 };
39
40 leds {
41 compatible = "gpio-leds";
42 debug0 {
43 label = "omap4:green:debug0";
44 gpios = <&gpio2 29 0>; /* 61 */
45 };
46
47 debug1 {
48 label = "omap4:green:debug1";
49 gpios = <&gpio1 30 0>; /* 30 */
50 };
51
52 debug2 {
53 label = "omap4:green:debug2";
54 gpios = <&gpio1 7 0>; /* 7 */
55 };
56
57 debug3 {
58 label = "omap4:green:debug3";
59 gpios = <&gpio1 8 0>; /* 8 */
60 };
61
62 debug4 {
63 label = "omap4:green:debug4";
64 gpios = <&gpio2 18 0>; /* 50 */
65 };
66
67 user1 {
68 label = "omap4:blue:user";
69 gpios = <&gpio6 9 0>; /* 169 */
70 };
71
72 user2 {
73 label = "omap4:red:user";
74 gpios = <&gpio6 10 0>; /* 170 */
75 };
76
77 user3 {
78 label = "omap4:green:user";
79 gpios = <&gpio5 11 0>; /* 139 */
80 };
81 };
82
83 sound {
84 compatible = "ti,abe-twl6040";
85 ti,model = "SDP4430";
86
87 ti,jack-detection = <1>;
88 ti,mclk-freq = <38400000>;
89
90 ti,mcpdm = <&mcpdm>;
91 ti,dmic = <&dmic>;
92
93 ti,twl6040 = <&twl6040>;
94
95 /* Audio routing */
96 ti,audio-routing =
97 "Headset Stereophone", "HSOL",
98 "Headset Stereophone", "HSOR",
99 "Earphone Spk", "EP",
100 "Ext Spk", "HFL",
101 "Ext Spk", "HFR",
102 "Line Out", "AUXL",
103 "Line Out", "AUXR",
104 "Vibrator", "VIBRAL",
105 "Vibrator", "VIBRAR",
106 "HSMIC", "Headset Mic",
107 "Headset Mic", "Headset Mic Bias",
108 "MAINMIC", "Main Handset Mic",
109 "Main Handset Mic", "Main Mic Bias",
110 "SUBMIC", "Sub Handset Mic",
111 "Sub Handset Mic", "Main Mic Bias",
112 "AFML", "Line In",
113 "AFMR", "Line In",
114 "DMic", "Digital Mic",
115 "Digital Mic", "Digital Mic1 Bias";
116 };
117 };
118
119 &omap4_pmx_core {
120 pinctrl-names = "default";
121 pinctrl-0 = <
122 &twl6040_pins
123 &mcpdm_pins
124 &dmic_pins
125 &mcbsp1_pins
126 &mcbsp2_pins
127 &dss_hdmi_pins
128 &tpd12s015_pins
129 >;
130
131 uart2_pins: pinmux_uart2_pins {
132 pinctrl-single,pins = <
133 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
134 0xda 0 /* uart2_rts.uart2_rts OUTPUT | MODE0 */
135 0xdc 0x118 /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
136 0xde 0 /* uart2_tx.uart2_tx OUTPUT | MODE0 */
137 >;
138 };
139
140 uart3_pins: pinmux_uart3_pins {
141 pinctrl-single,pins = <
142 0x100 0x118 /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
143 0x102 0 /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
144 0x104 0x100 /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
145 0x106 0 /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
146 >;
147 };
148
149 uart4_pins: pinmux_uart4_pins {
150 pinctrl-single,pins = <
151 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */
152 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */
153 >;
154 };
155
156 twl6040_pins: pinmux_twl6040_pins {
157 pinctrl-single,pins = <
158 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
159 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
160 >;
161 };
162
163 mcpdm_pins: pinmux_mcpdm_pins {
164 pinctrl-single,pins = <
165 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
166 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
167 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
168 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
169 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
170 >;
171 };
172
173 dmic_pins: pinmux_dmic_pins {
174 pinctrl-single,pins = <
175 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
176 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
177 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
178 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
179 >;
180 };
181
182 mcbsp1_pins: pinmux_mcbsp1_pins {
183 pinctrl-single,pins = <
184 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
185 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
186 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
187 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
188 >;
189 };
190
191 mcbsp2_pins: pinmux_mcbsp2_pins {
192 pinctrl-single,pins = <
193 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
194 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
195 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
196 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
197 >;
198 };
199
200 dss_hdmi_pins: pinmux_dss_hdmi_pins {
201 pinctrl-single,pins = <
202 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
203 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
204 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
205 >;
206 };
207
208 tpd12s015_pins: pinmux_tpd12s015_pins {
209 pinctrl-single,pins = <
210 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
211 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
212 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
213 >;
214 };
215 };
216
217 &i2c1 {
218 clock-frequency = <400000>;
219
220 twl: twl@48 {
221 reg = <0x48>;
222 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
223 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
224 interrupt-parent = <&gic>;
225 };
226
227 twl6040: twl@4b {
228 compatible = "ti,twl6040";
229 reg = <0x4b>;
230 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
231 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
232 interrupt-parent = <&gic>;
233 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
234
235 vio-supply = <&v1v8>;
236 v2v1-supply = <&v2v1>;
237 enable-active-high;
238
239 /* regulators for vibra motor */
240 vddvibl-supply = <&vbat>;
241 vddvibr-supply = <&vbat>;
242
243 vibra {
244 /* Vibra driver, motor resistance parameters */
245 ti,vibldrv-res = <8>;
246 ti,vibrdrv-res = <3>;
247 ti,viblmotor-res = <10>;
248 ti,vibrmotor-res = <10>;
249 };
250 };
251 };
252
253 /include/ "twl6030.dtsi"
254
255 &i2c2 {
256 clock-frequency = <400000>;
257 };
258
259 &i2c3 {
260 clock-frequency = <400000>;
261
262 /*
263 * Temperature Sensor
264 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
265 */
266 tmp105@48 {
267 compatible = "ti,tmp105";
268 reg = <0x48>;
269 };
270
271 /*
272 * Ambient Light Sensor
273 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
274 */
275 bh1780@29 {
276 compatible = "rohm,bh1780";
277 reg = <0x29>;
278 };
279 };
280
281 &i2c4 {
282 clock-frequency = <400000>;
283
284 /*
285 * 3-Axis Digital Compass
286 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
287 */
288 hmc5843@1e {
289 compatible = "honeywell,hmc5843";
290 reg = <0x1e>;
291 };
292 };
293
294 &mcspi1 {
295 eth@0 {
296 compatible = "ks8851";
297 spi-max-frequency = <24000000>;
298 reg = <0>;
299 interrupt-parent = <&gpio2>;
300 interrupts = <2>; /* gpio line 34 */
301 vdd-supply = <&vdd_eth>;
302 };
303 };
304
305 &mmc1 {
306 vmmc-supply = <&vmmc>;
307 bus-width = <8>;
308 };
309
310 &mmc2 {
311 vmmc-supply = <&vaux1>;
312 bus-width = <8>;
313 ti,non-removable;
314 };
315
316 &mmc3 {
317 status = "disabled";
318 };
319
320 &mmc4 {
321 status = "disabled";
322 };
323
324 &mmc5 {
325 bus-width = <4>;
326 ti,non-removable;
327 };
328
329 &emif1 {
330 cs1-used;
331 device-handle = <&elpida_ECB240ABACN>;
332 };
333
334 &emif2 {
335 cs1-used;
336 device-handle = <&elpida_ECB240ABACN>;
337 };
338
339 &keypad {
340 keypad,num-rows = <8>;
341 keypad,num-columns = <8>;
342 linux,keymap = <0x00000012 /* KEY_E */
343 0x00010013 /* KEY_R */
344 0x00020014 /* KEY_T */
345 0x00030066 /* KEY_HOME */
346 0x0004003f /* KEY_F5 */
347 0x000500f0 /* KEY_UNKNOWN */
348 0x00060017 /* KEY_I */
349 0x0007002a /* KEY_LEFTSHIFT */
350 0x01000020 /* KEY_D*/
351 0x01010021 /* KEY_F */
352 0x01020022 /* KEY_G */
353 0x010300e7 /* KEY_SEND */
354 0x01040040 /* KEY_F6 */
355 0x010500f0 /* KEY_UNKNOWN */
356 0x01060025 /* KEY_K */
357 0x0107001c /* KEY_ENTER */
358 0x0200002d /* KEY_X */
359 0x0201002e /* KEY_C */
360 0x0202002f /* KEY_V */
361 0x0203006b /* KEY_END */
362 0x02040041 /* KEY_F7 */
363 0x020500f0 /* KEY_UNKNOWN */
364 0x02060034 /* KEY_DOT */
365 0x0207003a /* KEY_CAPSLOCK */
366 0x0300002c /* KEY_Z */
367 0x0301004e /* KEY_KPLUS */
368 0x03020030 /* KEY_B */
369 0x0303003b /* KEY_F1 */
370 0x03040042 /* KEY_F8 */
371 0x030500f0 /* KEY_UNKNOWN */
372 0x03060018 /* KEY_O */
373 0x03070039 /* KEY_SPACE */
374 0x04000011 /* KEY_W */
375 0x04010015 /* KEY_Y */
376 0x04020016 /* KEY_U */
377 0x0403003c /* KEY_F2 */
378 0x04040073 /* KEY_VOLUMEUP */
379 0x040500f0 /* KEY_UNKNOWN */
380 0x04060026 /* KEY_L */
381 0x04070069 /* KEY_LEFT */
382 0x0500001f /* KEY_S */
383 0x05010023 /* KEY_H */
384 0x05020024 /* KEY_J */
385 0x0503003d /* KEY_F3 */
386 0x05040043 /* KEY_F9 */
387 0x05050072 /* KEY_VOLUMEDOWN */
388 0x05060032 /* KEY_M */
389 0x0507006a /* KEY_RIGHT */
390 0x06000010 /* KEY_Q */
391 0x0601001e /* KEY_A */
392 0x06020031 /* KEY_N */
393 0x0603009e /* KEY_BACK */
394 0x0604000e /* KEY_BACKSPACE */
395 0x060500f0 /* KEY_UNKNOWN */
396 0x06060019 /* KEY_P */
397 0x06070067 /* KEY_UP */
398 0x07000094 /* KEY_PROG1 */
399 0x07010095 /* KEY_PROG2 */
400 0x070200ca /* KEY_PROG3 */
401 0x070300cb /* KEY_PROG4 */
402 0x0704003e /* KEY_F4 */
403 0x070500f0 /* KEY_UNKNOWN */
404 0x07060160 /* KEY_OK */
405 0x0707006c>; /* KEY_DOWN */
406 linux,input-no-autorepeat;
407 };
408
409 &uart2 {
410 pinctrl-names = "default";
411 pinctrl-0 = <&uart2_pins>;
412 };
413
414 &uart3 {
415 pinctrl-names = "default";
416 pinctrl-0 = <&uart3_pins>;
417 };
418
419 &uart4 {
420 pinctrl-names = "default";
421 pinctrl-0 = <&uart4_pins>;
422 };
423
424 &mcbsp3 {
425 status = "disabled";
426 };
427
428 &twl_usb_comparator {
429 usb-supply = <&vusb>;
430 };