Merge remote-tracking branch 'regulator/topic/tps65910' into regulator-next
[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 GPIO_ACTIVE_HIGH>; /* 61 */
45 };
46
47 debug1 {
48 label = "omap4:green:debug1";
49 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
50 };
51
52 debug2 {
53 label = "omap4:green:debug2";
54 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
55 };
56
57 debug3 {
58 label = "omap4:green:debug3";
59 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
60 };
61
62 debug4 {
63 label = "omap4:green:debug4";
64 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
65 };
66
67 user1 {
68 label = "omap4:blue:user";
69 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
70 };
71
72 user2 {
73 label = "omap4:red:user";
74 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
75 };
76
77 user3 {
78 label = "omap4:green:user";
79 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 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 /* regulator for wl12xx on sdio5 */
145 wl12xx_vmmc: wl12xx_vmmc {
146 pinctrl-names = "default";
147 pinctrl-0 = <&wl12xx_gpio>;
148 compatible = "regulator-fixed";
149 regulator-name = "vwl1271";
150 regulator-min-microvolt = <1800000>;
151 regulator-max-microvolt = <1800000>;
152 gpio = <&gpio2 22 0>;
153 startup-delay-us = <70000>;
154 enable-active-high;
155 };
156 };
157
158 &omap4_pmx_wkup {
159 pinctrl-names = "default";
160 pinctrl-0 = <
161 &twl6030_wkup_pins
162 >;
163
164 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
165 pinctrl-single,pins = <
166 0x14 (PIN_OUTPUT | MUX_MODE2) /* fref_clk0_out.sys_drm_msecure */
167 >;
168 };
169 };
170
171 &omap4_pmx_core {
172 pinctrl-names = "default";
173 pinctrl-0 = <
174 &twl6030_pins
175 &twl6040_pins
176 &mcpdm_pins
177 &dmic_pins
178 &mcbsp1_pins
179 &mcbsp2_pins
180 &dss_hdmi_pins
181 &tpd12s015_pins
182 >;
183
184 uart2_pins: pinmux_uart2_pins {
185 pinctrl-single,pins = <
186 0xd8 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
187 0xda (PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
188 0xdc (PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
189 0xde (PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
190 >;
191 };
192
193 uart3_pins: pinmux_uart3_pins {
194 pinctrl-single,pins = <
195 0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
196 0x102 (PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
197 0x104 (PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
198 0x106 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
199 >;
200 };
201
202 uart4_pins: pinmux_uart4_pins {
203 pinctrl-single,pins = <
204 0x11c (PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
205 0x11e (PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
206 >;
207 };
208
209 twl6030_pins: pinmux_twl6030_pins {
210 pinctrl-single,pins = <
211 0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */
212 >;
213 };
214
215 twl6040_pins: pinmux_twl6040_pins {
216 pinctrl-single,pins = <
217 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
218 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
219 >;
220 };
221
222 mcpdm_pins: pinmux_mcpdm_pins {
223 pinctrl-single,pins = <
224 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
225 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
226 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
227 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
228 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
229 >;
230 };
231
232 dmic_pins: pinmux_dmic_pins {
233 pinctrl-single,pins = <
234 0xd0 (PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
235 0xd2 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
236 0xd4 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
237 0xd6 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
238 >;
239 };
240
241 mcbsp1_pins: pinmux_mcbsp1_pins {
242 pinctrl-single,pins = <
243 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
244 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
245 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
246 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
247 >;
248 };
249
250 mcbsp2_pins: pinmux_mcbsp2_pins {
251 pinctrl-single,pins = <
252 0xb6 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
253 0xb8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
254 0xba (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
255 0xbc (PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
256 >;
257 };
258
259 mcspi1_pins: pinmux_mcspi1_pins {
260 pinctrl-single,pins = <
261 0xf2 (PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
262 0xf4 (PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
263 0xf6 (PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
264 0xf8 (PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
265 >;
266 };
267
268 dss_hdmi_pins: pinmux_dss_hdmi_pins {
269 pinctrl-single,pins = <
270 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
271 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
272 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
273 >;
274 };
275
276 tpd12s015_pins: pinmux_tpd12s015_pins {
277 pinctrl-single,pins = <
278 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
279 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
280 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
281 >;
282 };
283
284 i2c1_pins: pinmux_i2c1_pins {
285 pinctrl-single,pins = <
286 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
287 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
288 >;
289 };
290
291 i2c2_pins: pinmux_i2c2_pins {
292 pinctrl-single,pins = <
293 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
294 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
295 >;
296 };
297
298 i2c3_pins: pinmux_i2c3_pins {
299 pinctrl-single,pins = <
300 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
301 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
302 >;
303 };
304
305 i2c4_pins: pinmux_i2c4_pins {
306 pinctrl-single,pins = <
307 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
308 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
309 >;
310 };
311
312 /* wl12xx GPIO output for WLAN_EN */
313 wl12xx_gpio: pinmux_wl12xx_gpio {
314 pinctrl-single,pins = <
315 0x3c (PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
316 >;
317 };
318
319 /* wl12xx GPIO inputs and SDIO pins */
320 wl12xx_pins: pinmux_wl12xx_pins {
321 pinctrl-single,pins = <
322 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
323 0x108 (PIN_OUTPUT | MUX_MODE3) /* sdmmc5_clk.sdmmc5_clk */
324 0x10a (PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc5_cmd.sdmmc5_cmd */
325 0x10c (PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc5_dat0.sdmmc5_dat0 */
326 0x10e (PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc5_dat1.sdmmc5_dat1 */
327 0x110 (PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc5_dat2.sdmmc5_dat2 */
328 0x112 (PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc5_dat3.sdmmc5_dat3 */
329 >;
330 };
331 };
332
333 &i2c1 {
334 pinctrl-names = "default";
335 pinctrl-0 = <&i2c1_pins>;
336
337 clock-frequency = <400000>;
338
339 twl: twl@48 {
340 reg = <0x48>;
341 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
342 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
343 interrupt-parent = <&gic>;
344 };
345
346 twl6040: twl@4b {
347 compatible = "ti,twl6040";
348 reg = <0x4b>;
349 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
350 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
351 interrupt-parent = <&gic>;
352 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
353
354 vio-supply = <&v1v8>;
355 v2v1-supply = <&v2v1>;
356 enable-active-high;
357
358 /* regulators for vibra motor */
359 vddvibl-supply = <&vbat>;
360 vddvibr-supply = <&vbat>;
361
362 vibra {
363 /* Vibra driver, motor resistance parameters */
364 ti,vibldrv-res = <8>;
365 ti,vibrdrv-res = <3>;
366 ti,viblmotor-res = <10>;
367 ti,vibrmotor-res = <10>;
368 };
369 };
370 };
371
372 #include "twl6030.dtsi"
373
374 &i2c2 {
375 pinctrl-names = "default";
376 pinctrl-0 = <&i2c2_pins>;
377
378 clock-frequency = <400000>;
379 };
380
381 &i2c3 {
382 pinctrl-names = "default";
383 pinctrl-0 = <&i2c3_pins>;
384
385 clock-frequency = <400000>;
386
387 /*
388 * Temperature Sensor
389 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
390 */
391 tmp105@48 {
392 compatible = "ti,tmp105";
393 reg = <0x48>;
394 };
395
396 /*
397 * Ambient Light Sensor
398 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
399 */
400 bh1780@29 {
401 compatible = "rohm,bh1780";
402 reg = <0x29>;
403 };
404 };
405
406 &i2c4 {
407 pinctrl-names = "default";
408 pinctrl-0 = <&i2c4_pins>;
409
410 clock-frequency = <400000>;
411
412 /*
413 * 3-Axis Digital Compass
414 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
415 */
416 hmc5843@1e {
417 compatible = "honeywell,hmc5843";
418 reg = <0x1e>;
419 };
420 };
421
422 &mcspi1 {
423 pinctrl-names = "default";
424 pinctrl-0 = <&mcspi1_pins>;
425
426 eth@0 {
427 compatible = "ks8851";
428 spi-max-frequency = <24000000>;
429 reg = <0>;
430 interrupt-parent = <&gpio2>;
431 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
432 vdd-supply = <&vdd_eth>;
433 };
434 };
435
436 &mmc1 {
437 vmmc-supply = <&vmmc>;
438 bus-width = <8>;
439 };
440
441 &mmc2 {
442 vmmc-supply = <&vaux1>;
443 bus-width = <8>;
444 ti,non-removable;
445 };
446
447 &mmc3 {
448 status = "disabled";
449 };
450
451 &mmc4 {
452 status = "disabled";
453 };
454
455 &mmc5 {
456 pinctrl-names = "default";
457 pinctrl-0 = <&wl12xx_pins>;
458 vmmc-supply = <&wl12xx_vmmc>;
459 non-removable;
460 bus-width = <4>;
461 cap-power-off-card;
462 };
463
464 &emif1 {
465 cs1-used;
466 device-handle = <&elpida_ECB240ABACN>;
467 };
468
469 &emif2 {
470 cs1-used;
471 device-handle = <&elpida_ECB240ABACN>;
472 };
473
474 &keypad {
475 keypad,num-rows = <8>;
476 keypad,num-columns = <8>;
477 linux,keymap = <0x00000012 /* KEY_E */
478 0x00010013 /* KEY_R */
479 0x00020014 /* KEY_T */
480 0x00030066 /* KEY_HOME */
481 0x0004003f /* KEY_F5 */
482 0x000500f0 /* KEY_UNKNOWN */
483 0x00060017 /* KEY_I */
484 0x0007002a /* KEY_LEFTSHIFT */
485 0x01000020 /* KEY_D*/
486 0x01010021 /* KEY_F */
487 0x01020022 /* KEY_G */
488 0x010300e7 /* KEY_SEND */
489 0x01040040 /* KEY_F6 */
490 0x010500f0 /* KEY_UNKNOWN */
491 0x01060025 /* KEY_K */
492 0x0107001c /* KEY_ENTER */
493 0x0200002d /* KEY_X */
494 0x0201002e /* KEY_C */
495 0x0202002f /* KEY_V */
496 0x0203006b /* KEY_END */
497 0x02040041 /* KEY_F7 */
498 0x020500f0 /* KEY_UNKNOWN */
499 0x02060034 /* KEY_DOT */
500 0x0207003a /* KEY_CAPSLOCK */
501 0x0300002c /* KEY_Z */
502 0x0301004e /* KEY_KPLUS */
503 0x03020030 /* KEY_B */
504 0x0303003b /* KEY_F1 */
505 0x03040042 /* KEY_F8 */
506 0x030500f0 /* KEY_UNKNOWN */
507 0x03060018 /* KEY_O */
508 0x03070039 /* KEY_SPACE */
509 0x04000011 /* KEY_W */
510 0x04010015 /* KEY_Y */
511 0x04020016 /* KEY_U */
512 0x0403003c /* KEY_F2 */
513 0x04040073 /* KEY_VOLUMEUP */
514 0x040500f0 /* KEY_UNKNOWN */
515 0x04060026 /* KEY_L */
516 0x04070069 /* KEY_LEFT */
517 0x0500001f /* KEY_S */
518 0x05010023 /* KEY_H */
519 0x05020024 /* KEY_J */
520 0x0503003d /* KEY_F3 */
521 0x05040043 /* KEY_F9 */
522 0x05050072 /* KEY_VOLUMEDOWN */
523 0x05060032 /* KEY_M */
524 0x0507006a /* KEY_RIGHT */
525 0x06000010 /* KEY_Q */
526 0x0601001e /* KEY_A */
527 0x06020031 /* KEY_N */
528 0x0603009e /* KEY_BACK */
529 0x0604000e /* KEY_BACKSPACE */
530 0x060500f0 /* KEY_UNKNOWN */
531 0x06060019 /* KEY_P */
532 0x06070067 /* KEY_UP */
533 0x07000094 /* KEY_PROG1 */
534 0x07010095 /* KEY_PROG2 */
535 0x070200ca /* KEY_PROG3 */
536 0x070300cb /* KEY_PROG4 */
537 0x0704003e /* KEY_F4 */
538 0x070500f0 /* KEY_UNKNOWN */
539 0x07060160 /* KEY_OK */
540 0x0707006c>; /* KEY_DOWN */
541 linux,input-no-autorepeat;
542 };
543
544 &uart2 {
545 pinctrl-names = "default";
546 pinctrl-0 = <&uart2_pins>;
547 };
548
549 &uart3 {
550 pinctrl-names = "default";
551 pinctrl-0 = <&uart3_pins>;
552 };
553
554 &uart4 {
555 pinctrl-names = "default";
556 pinctrl-0 = <&uart4_pins>;
557 };
558
559 &mcbsp3 {
560 status = "disabled";
561 };
562
563 &twl_usb_comparator {
564 usb-supply = <&vusb>;
565 };
566
567 &usb_otg_hs {
568 interface-type = <1>;
569 mode = <3>;
570 power = <50>;
571 };
This page took 0.062793 seconds and 5 git commands to generate.