]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/arm/boot/dts/omap4-sdp.dts
ARM: dts: OMAP2+: Use #include for all device trees
[mirror_ubuntu-artful-kernel.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_wkup {
146 pinctrl-names = "default";
147 pinctrl-0 = <
148 &twl6030_wkup_pins
149 >;
150
151 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
152 pinctrl-single,pins = <
153 0x14 0x2 /* fref_clk0_out.sys_drm_msecure OUTPUT | MODE2 */
154 >;
155 };
156 };
157
158 &omap4_pmx_core {
159 pinctrl-names = "default";
160 pinctrl-0 = <
161 &twl6030_pins
162 &twl6040_pins
163 &mcpdm_pins
164 &dmic_pins
165 &mcbsp1_pins
166 &mcbsp2_pins
167 &dss_hdmi_pins
168 &tpd12s015_pins
169 >;
170
171 uart2_pins: pinmux_uart2_pins {
172 pinctrl-single,pins = <
173 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
174 0xda 0 /* uart2_rts.uart2_rts OUTPUT | MODE0 */
175 0xdc 0x118 /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
176 0xde 0 /* uart2_tx.uart2_tx OUTPUT | MODE0 */
177 >;
178 };
179
180 uart3_pins: pinmux_uart3_pins {
181 pinctrl-single,pins = <
182 0x100 0x118 /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
183 0x102 0 /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
184 0x104 0x100 /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
185 0x106 0 /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
186 >;
187 };
188
189 uart4_pins: pinmux_uart4_pins {
190 pinctrl-single,pins = <
191 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */
192 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */
193 >;
194 };
195
196 twl6030_pins: pinmux_twl6030_pins {
197 pinctrl-single,pins = <
198 0x15e 0x4118 /* sys_nirq1.sys_nirq1 OMAP_WAKEUP_EN | INPUT_PULLUP | MODE0 */
199 >;
200 };
201
202 twl6040_pins: pinmux_twl6040_pins {
203 pinctrl-single,pins = <
204 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
205 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
206 >;
207 };
208
209 mcpdm_pins: pinmux_mcpdm_pins {
210 pinctrl-single,pins = <
211 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
212 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
213 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
214 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
215 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
216 >;
217 };
218
219 dmic_pins: pinmux_dmic_pins {
220 pinctrl-single,pins = <
221 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
222 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
223 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
224 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
225 >;
226 };
227
228 mcbsp1_pins: pinmux_mcbsp1_pins {
229 pinctrl-single,pins = <
230 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
231 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
232 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
233 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
234 >;
235 };
236
237 mcbsp2_pins: pinmux_mcbsp2_pins {
238 pinctrl-single,pins = <
239 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
240 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
241 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
242 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
243 >;
244 };
245
246 mcspi1_pins: pinmux_mcspi1_pins {
247 pinctrl-single,pins = <
248 0xf2 0x100 /* mcspi1_clk.mcspi1_clk INPUT | MODE0 */
249 0xf4 0x100 /* mcspi1_somi.mcspi1_somi INPUT | MODE0 */
250 0xf6 0x100 /* mcspi1_simo.mcspi1_simo INPUT | MODE0 */
251 0xf8 0x100 /* mcspi1_cs0.mcspi1_cs0 INPUT | MODE0*/
252 >;
253 };
254
255 dss_hdmi_pins: pinmux_dss_hdmi_pins {
256 pinctrl-single,pins = <
257 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
258 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
259 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
260 >;
261 };
262
263 tpd12s015_pins: pinmux_tpd12s015_pins {
264 pinctrl-single,pins = <
265 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
266 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
267 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
268 >;
269 };
270
271 i2c1_pins: pinmux_i2c1_pins {
272 pinctrl-single,pins = <
273 0xe2 0x118 /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */
274 0xe4 0x118 /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */
275 >;
276 };
277
278 i2c2_pins: pinmux_i2c2_pins {
279 pinctrl-single,pins = <
280 0xe6 0x118 /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */
281 0xe8 0x118 /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */
282 >;
283 };
284
285 i2c3_pins: pinmux_i2c3_pins {
286 pinctrl-single,pins = <
287 0xea 0x118 /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */
288 0xec 0x118 /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */
289 >;
290 };
291
292 i2c4_pins: pinmux_i2c4_pins {
293 pinctrl-single,pins = <
294 0xee 0x118 /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */
295 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */
296 >;
297 };
298 };
299
300 &i2c1 {
301 pinctrl-names = "default";
302 pinctrl-0 = <&i2c1_pins>;
303
304 clock-frequency = <400000>;
305
306 twl: twl@48 {
307 reg = <0x48>;
308 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
309 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
310 interrupt-parent = <&gic>;
311 };
312
313 twl6040: twl@4b {
314 compatible = "ti,twl6040";
315 reg = <0x4b>;
316 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
317 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
318 interrupt-parent = <&gic>;
319 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
320
321 vio-supply = <&v1v8>;
322 v2v1-supply = <&v2v1>;
323 enable-active-high;
324
325 /* regulators for vibra motor */
326 vddvibl-supply = <&vbat>;
327 vddvibr-supply = <&vbat>;
328
329 vibra {
330 /* Vibra driver, motor resistance parameters */
331 ti,vibldrv-res = <8>;
332 ti,vibrdrv-res = <3>;
333 ti,viblmotor-res = <10>;
334 ti,vibrmotor-res = <10>;
335 };
336 };
337 };
338
339 #include "twl6030.dtsi"
340
341 &i2c2 {
342 pinctrl-names = "default";
343 pinctrl-0 = <&i2c2_pins>;
344
345 clock-frequency = <400000>;
346 };
347
348 &i2c3 {
349 pinctrl-names = "default";
350 pinctrl-0 = <&i2c3_pins>;
351
352 clock-frequency = <400000>;
353
354 /*
355 * Temperature Sensor
356 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
357 */
358 tmp105@48 {
359 compatible = "ti,tmp105";
360 reg = <0x48>;
361 };
362
363 /*
364 * Ambient Light Sensor
365 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
366 */
367 bh1780@29 {
368 compatible = "rohm,bh1780";
369 reg = <0x29>;
370 };
371 };
372
373 &i2c4 {
374 pinctrl-names = "default";
375 pinctrl-0 = <&i2c4_pins>;
376
377 clock-frequency = <400000>;
378
379 /*
380 * 3-Axis Digital Compass
381 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
382 */
383 hmc5843@1e {
384 compatible = "honeywell,hmc5843";
385 reg = <0x1e>;
386 };
387 };
388
389 &mcspi1 {
390 pinctrl-names = "default";
391 pinctrl-0 = <&mcspi1_pins>;
392
393 eth@0 {
394 compatible = "ks8851";
395 spi-max-frequency = <24000000>;
396 reg = <0>;
397 interrupt-parent = <&gpio2>;
398 interrupts = <2 8>; /* gpio line 34, low triggered */
399 vdd-supply = <&vdd_eth>;
400 };
401 };
402
403 &mmc1 {
404 vmmc-supply = <&vmmc>;
405 bus-width = <8>;
406 };
407
408 &mmc2 {
409 vmmc-supply = <&vaux1>;
410 bus-width = <8>;
411 ti,non-removable;
412 };
413
414 &mmc3 {
415 status = "disabled";
416 };
417
418 &mmc4 {
419 status = "disabled";
420 };
421
422 &mmc5 {
423 bus-width = <4>;
424 ti,non-removable;
425 };
426
427 &emif1 {
428 cs1-used;
429 device-handle = <&elpida_ECB240ABACN>;
430 };
431
432 &emif2 {
433 cs1-used;
434 device-handle = <&elpida_ECB240ABACN>;
435 };
436
437 &keypad {
438 keypad,num-rows = <8>;
439 keypad,num-columns = <8>;
440 linux,keymap = <0x00000012 /* KEY_E */
441 0x00010013 /* KEY_R */
442 0x00020014 /* KEY_T */
443 0x00030066 /* KEY_HOME */
444 0x0004003f /* KEY_F5 */
445 0x000500f0 /* KEY_UNKNOWN */
446 0x00060017 /* KEY_I */
447 0x0007002a /* KEY_LEFTSHIFT */
448 0x01000020 /* KEY_D*/
449 0x01010021 /* KEY_F */
450 0x01020022 /* KEY_G */
451 0x010300e7 /* KEY_SEND */
452 0x01040040 /* KEY_F6 */
453 0x010500f0 /* KEY_UNKNOWN */
454 0x01060025 /* KEY_K */
455 0x0107001c /* KEY_ENTER */
456 0x0200002d /* KEY_X */
457 0x0201002e /* KEY_C */
458 0x0202002f /* KEY_V */
459 0x0203006b /* KEY_END */
460 0x02040041 /* KEY_F7 */
461 0x020500f0 /* KEY_UNKNOWN */
462 0x02060034 /* KEY_DOT */
463 0x0207003a /* KEY_CAPSLOCK */
464 0x0300002c /* KEY_Z */
465 0x0301004e /* KEY_KPLUS */
466 0x03020030 /* KEY_B */
467 0x0303003b /* KEY_F1 */
468 0x03040042 /* KEY_F8 */
469 0x030500f0 /* KEY_UNKNOWN */
470 0x03060018 /* KEY_O */
471 0x03070039 /* KEY_SPACE */
472 0x04000011 /* KEY_W */
473 0x04010015 /* KEY_Y */
474 0x04020016 /* KEY_U */
475 0x0403003c /* KEY_F2 */
476 0x04040073 /* KEY_VOLUMEUP */
477 0x040500f0 /* KEY_UNKNOWN */
478 0x04060026 /* KEY_L */
479 0x04070069 /* KEY_LEFT */
480 0x0500001f /* KEY_S */
481 0x05010023 /* KEY_H */
482 0x05020024 /* KEY_J */
483 0x0503003d /* KEY_F3 */
484 0x05040043 /* KEY_F9 */
485 0x05050072 /* KEY_VOLUMEDOWN */
486 0x05060032 /* KEY_M */
487 0x0507006a /* KEY_RIGHT */
488 0x06000010 /* KEY_Q */
489 0x0601001e /* KEY_A */
490 0x06020031 /* KEY_N */
491 0x0603009e /* KEY_BACK */
492 0x0604000e /* KEY_BACKSPACE */
493 0x060500f0 /* KEY_UNKNOWN */
494 0x06060019 /* KEY_P */
495 0x06070067 /* KEY_UP */
496 0x07000094 /* KEY_PROG1 */
497 0x07010095 /* KEY_PROG2 */
498 0x070200ca /* KEY_PROG3 */
499 0x070300cb /* KEY_PROG4 */
500 0x0704003e /* KEY_F4 */
501 0x070500f0 /* KEY_UNKNOWN */
502 0x07060160 /* KEY_OK */
503 0x0707006c>; /* KEY_DOWN */
504 linux,input-no-autorepeat;
505 };
506
507 &uart2 {
508 pinctrl-names = "default";
509 pinctrl-0 = <&uart2_pins>;
510 };
511
512 &uart3 {
513 pinctrl-names = "default";
514 pinctrl-0 = <&uart3_pins>;
515 };
516
517 &uart4 {
518 pinctrl-names = "default";
519 pinctrl-0 = <&uart4_pins>;
520 };
521
522 &mcbsp3 {
523 status = "disabled";
524 };
525
526 &twl_usb_comparator {
527 usb-supply = <&vusb>;
528 };
529
530 &usb_otg_hs {
531 interface-type = <1>;
532 mode = <3>;
533 power = <50>;
534 };