25cbe43fa08a663307363d4739424812ac75ce9d
[deliverable/linux.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/ "omap443x.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 pwmleds {
84 compatible = "pwm-leds";
85 kpad {
86 label = "omap4::keypad";
87 pwms = <&twl_pwm 0 7812500>;
88 max-brightness = <127>;
89 };
90
91 charging {
92 label = "omap4:green:chrg";
93 pwms = <&twl_pwmled 0 7812500>;
94 max-brightness = <255>;
95 };
96 };
97
98 backlight {
99 compatible = "pwm-backlight";
100 pwms = <&twl_pwm 1 7812500>;
101 brightness-levels = <
102 0 10 20 30 40
103 50 60 70 80 90
104 100 110 120 127
105 >;
106 default-brightness-level = <13>;
107 };
108
109 sound {
110 compatible = "ti,abe-twl6040";
111 ti,model = "SDP4430";
112
113 ti,jack-detection = <1>;
114 ti,mclk-freq = <38400000>;
115
116 ti,mcpdm = <&mcpdm>;
117 ti,dmic = <&dmic>;
118
119 ti,twl6040 = <&twl6040>;
120
121 /* Audio routing */
122 ti,audio-routing =
123 "Headset Stereophone", "HSOL",
124 "Headset Stereophone", "HSOR",
125 "Earphone Spk", "EP",
126 "Ext Spk", "HFL",
127 "Ext Spk", "HFR",
128 "Line Out", "AUXL",
129 "Line Out", "AUXR",
130 "Vibrator", "VIBRAL",
131 "Vibrator", "VIBRAR",
132 "HSMIC", "Headset Mic",
133 "Headset Mic", "Headset Mic Bias",
134 "MAINMIC", "Main Handset Mic",
135 "Main Handset Mic", "Main Mic Bias",
136 "SUBMIC", "Sub Handset Mic",
137 "Sub Handset Mic", "Main Mic Bias",
138 "AFML", "Line In",
139 "AFMR", "Line In",
140 "DMic", "Digital Mic",
141 "Digital Mic", "Digital Mic1 Bias";
142 };
143 };
144
145 &omap4_pmx_core {
146 pinctrl-names = "default";
147 pinctrl-0 = <
148 &twl6040_pins
149 &mcpdm_pins
150 &dmic_pins
151 &mcbsp1_pins
152 &mcbsp2_pins
153 &dss_hdmi_pins
154 &tpd12s015_pins
155 >;
156
157 uart2_pins: pinmux_uart2_pins {
158 pinctrl-single,pins = <
159 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
160 0xda 0 /* uart2_rts.uart2_rts OUTPUT | MODE0 */
161 0xdc 0x118 /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
162 0xde 0 /* uart2_tx.uart2_tx OUTPUT | MODE0 */
163 >;
164 };
165
166 uart3_pins: pinmux_uart3_pins {
167 pinctrl-single,pins = <
168 0x100 0x118 /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
169 0x102 0 /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
170 0x104 0x100 /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
171 0x106 0 /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
172 >;
173 };
174
175 uart4_pins: pinmux_uart4_pins {
176 pinctrl-single,pins = <
177 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */
178 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */
179 >;
180 };
181
182 twl6040_pins: pinmux_twl6040_pins {
183 pinctrl-single,pins = <
184 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
185 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
186 >;
187 };
188
189 mcpdm_pins: pinmux_mcpdm_pins {
190 pinctrl-single,pins = <
191 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
192 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
193 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
194 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
195 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
196 >;
197 };
198
199 dmic_pins: pinmux_dmic_pins {
200 pinctrl-single,pins = <
201 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
202 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
203 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
204 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
205 >;
206 };
207
208 mcbsp1_pins: pinmux_mcbsp1_pins {
209 pinctrl-single,pins = <
210 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
211 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
212 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
213 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
214 >;
215 };
216
217 mcbsp2_pins: pinmux_mcbsp2_pins {
218 pinctrl-single,pins = <
219 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
220 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
221 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
222 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
223 >;
224 };
225
226 dss_hdmi_pins: pinmux_dss_hdmi_pins {
227 pinctrl-single,pins = <
228 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
229 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
230 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
231 >;
232 };
233
234 tpd12s015_pins: pinmux_tpd12s015_pins {
235 pinctrl-single,pins = <
236 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
237 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
238 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
239 >;
240 };
241
242 i2c1_pins: pinmux_i2c1_pins {
243 pinctrl-single,pins = <
244 0xe2 0x118 /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */
245 0xe4 0x118 /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */
246 >;
247 };
248
249 i2c2_pins: pinmux_i2c2_pins {
250 pinctrl-single,pins = <
251 0xe6 0x118 /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */
252 0xe8 0x118 /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */
253 >;
254 };
255
256 i2c3_pins: pinmux_i2c3_pins {
257 pinctrl-single,pins = <
258 0xea 0x118 /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */
259 0xec 0x118 /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */
260 >;
261 };
262
263 i2c4_pins: pinmux_i2c4_pins {
264 pinctrl-single,pins = <
265 0xee 0x118 /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */
266 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */
267 >;
268 };
269 };
270
271 &i2c1 {
272 pinctrl-names = "default";
273 pinctrl-0 = <&i2c1_pins>;
274
275 clock-frequency = <400000>;
276
277 twl: twl@48 {
278 reg = <0x48>;
279 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
280 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
281 interrupt-parent = <&gic>;
282 };
283
284 twl6040: twl@4b {
285 compatible = "ti,twl6040";
286 reg = <0x4b>;
287 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
288 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
289 interrupt-parent = <&gic>;
290 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
291
292 vio-supply = <&v1v8>;
293 v2v1-supply = <&v2v1>;
294 enable-active-high;
295
296 /* regulators for vibra motor */
297 vddvibl-supply = <&vbat>;
298 vddvibr-supply = <&vbat>;
299
300 vibra {
301 /* Vibra driver, motor resistance parameters */
302 ti,vibldrv-res = <8>;
303 ti,vibrdrv-res = <3>;
304 ti,viblmotor-res = <10>;
305 ti,vibrmotor-res = <10>;
306 };
307 };
308 };
309
310 /include/ "twl6030.dtsi"
311
312 &i2c2 {
313 pinctrl-names = "default";
314 pinctrl-0 = <&i2c2_pins>;
315
316 clock-frequency = <400000>;
317 };
318
319 &i2c3 {
320 pinctrl-names = "default";
321 pinctrl-0 = <&i2c3_pins>;
322
323 clock-frequency = <400000>;
324
325 /*
326 * Temperature Sensor
327 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
328 */
329 tmp105@48 {
330 compatible = "ti,tmp105";
331 reg = <0x48>;
332 };
333
334 /*
335 * Ambient Light Sensor
336 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
337 */
338 bh1780@29 {
339 compatible = "rohm,bh1780";
340 reg = <0x29>;
341 };
342 };
343
344 &i2c4 {
345 pinctrl-names = "default";
346 pinctrl-0 = <&i2c4_pins>;
347
348 clock-frequency = <400000>;
349
350 /*
351 * 3-Axis Digital Compass
352 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
353 */
354 hmc5843@1e {
355 compatible = "honeywell,hmc5843";
356 reg = <0x1e>;
357 };
358 };
359
360 &mcspi1 {
361 eth@0 {
362 compatible = "ks8851";
363 spi-max-frequency = <24000000>;
364 reg = <0>;
365 interrupt-parent = <&gpio2>;
366 interrupts = <2 8>; /* gpio line 34, low triggered */
367 vdd-supply = <&vdd_eth>;
368 };
369 };
370
371 &mmc1 {
372 vmmc-supply = <&vmmc>;
373 bus-width = <8>;
374 };
375
376 &mmc2 {
377 vmmc-supply = <&vaux1>;
378 bus-width = <8>;
379 ti,non-removable;
380 };
381
382 &mmc3 {
383 status = "disabled";
384 };
385
386 &mmc4 {
387 status = "disabled";
388 };
389
390 &mmc5 {
391 bus-width = <4>;
392 ti,non-removable;
393 };
394
395 &emif1 {
396 cs1-used;
397 device-handle = <&elpida_ECB240ABACN>;
398 };
399
400 &emif2 {
401 cs1-used;
402 device-handle = <&elpida_ECB240ABACN>;
403 };
404
405 &keypad {
406 keypad,num-rows = <8>;
407 keypad,num-columns = <8>;
408 linux,keymap = <0x00000012 /* KEY_E */
409 0x00010013 /* KEY_R */
410 0x00020014 /* KEY_T */
411 0x00030066 /* KEY_HOME */
412 0x0004003f /* KEY_F5 */
413 0x000500f0 /* KEY_UNKNOWN */
414 0x00060017 /* KEY_I */
415 0x0007002a /* KEY_LEFTSHIFT */
416 0x01000020 /* KEY_D*/
417 0x01010021 /* KEY_F */
418 0x01020022 /* KEY_G */
419 0x010300e7 /* KEY_SEND */
420 0x01040040 /* KEY_F6 */
421 0x010500f0 /* KEY_UNKNOWN */
422 0x01060025 /* KEY_K */
423 0x0107001c /* KEY_ENTER */
424 0x0200002d /* KEY_X */
425 0x0201002e /* KEY_C */
426 0x0202002f /* KEY_V */
427 0x0203006b /* KEY_END */
428 0x02040041 /* KEY_F7 */
429 0x020500f0 /* KEY_UNKNOWN */
430 0x02060034 /* KEY_DOT */
431 0x0207003a /* KEY_CAPSLOCK */
432 0x0300002c /* KEY_Z */
433 0x0301004e /* KEY_KPLUS */
434 0x03020030 /* KEY_B */
435 0x0303003b /* KEY_F1 */
436 0x03040042 /* KEY_F8 */
437 0x030500f0 /* KEY_UNKNOWN */
438 0x03060018 /* KEY_O */
439 0x03070039 /* KEY_SPACE */
440 0x04000011 /* KEY_W */
441 0x04010015 /* KEY_Y */
442 0x04020016 /* KEY_U */
443 0x0403003c /* KEY_F2 */
444 0x04040073 /* KEY_VOLUMEUP */
445 0x040500f0 /* KEY_UNKNOWN */
446 0x04060026 /* KEY_L */
447 0x04070069 /* KEY_LEFT */
448 0x0500001f /* KEY_S */
449 0x05010023 /* KEY_H */
450 0x05020024 /* KEY_J */
451 0x0503003d /* KEY_F3 */
452 0x05040043 /* KEY_F9 */
453 0x05050072 /* KEY_VOLUMEDOWN */
454 0x05060032 /* KEY_M */
455 0x0507006a /* KEY_RIGHT */
456 0x06000010 /* KEY_Q */
457 0x0601001e /* KEY_A */
458 0x06020031 /* KEY_N */
459 0x0603009e /* KEY_BACK */
460 0x0604000e /* KEY_BACKSPACE */
461 0x060500f0 /* KEY_UNKNOWN */
462 0x06060019 /* KEY_P */
463 0x06070067 /* KEY_UP */
464 0x07000094 /* KEY_PROG1 */
465 0x07010095 /* KEY_PROG2 */
466 0x070200ca /* KEY_PROG3 */
467 0x070300cb /* KEY_PROG4 */
468 0x0704003e /* KEY_F4 */
469 0x070500f0 /* KEY_UNKNOWN */
470 0x07060160 /* KEY_OK */
471 0x0707006c>; /* KEY_DOWN */
472 linux,input-no-autorepeat;
473 };
474
475 &uart2 {
476 pinctrl-names = "default";
477 pinctrl-0 = <&uart2_pins>;
478 };
479
480 &uart3 {
481 pinctrl-names = "default";
482 pinctrl-0 = <&uart3_pins>;
483 };
484
485 &uart4 {
486 pinctrl-names = "default";
487 pinctrl-0 = <&uart4_pins>;
488 };
489
490 &mcbsp3 {
491 status = "disabled";
492 };
493
494 &twl_usb_comparator {
495 usb-supply = <&vusb>;
496 };
497
498 &usb_otg_hs {
499 interface-type = <1>;
500 mode = <3>;
501 power = <50>;
502 };
This page took 0.045722 seconds and 4 git commands to generate.