blob: a35d9cd5806317dfa5cfc82e3f648fec38711822 [file] [log] [blame]
Benoit Cousson492beed2011-08-16 15:59:52 +02001/*
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
Nishanth Menone77049b2013-03-19 12:53:06 -050010/include/ "omap443x.dtsi"
Aneesh V11c27062012-01-20 20:35:26 +053011/include/ "elpida_ecb240abacn.dtsi"
Benoit Cousson492beed2011-08-16 15:59:52 +020012
13/ {
14 model = "TI OMAP4 SDP board";
15 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16
Benoit Cousson492beed2011-08-16 15:59:52 +020017 memory {
18 device_type = "memory";
19 reg = <0x80000000 0x40000000>; /* 1 GB */
20 };
Benoit Coussone7c64db2012-01-20 14:17:00 +010021
Rajendra Nayak624411c2012-07-30 18:42:20 +053022 vdd_eth: fixedregulator-vdd-eth {
Benoit Coussone7c64db2012-01-20 14:17:00 +010023 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 };
Benoit Cousson83909c72012-05-08 18:37:26 +020031
Rajendra Nayak624411c2012-07-30 18:42:20 +053032 vbat: fixedregulator-vbat {
Peter Ujfalusi4814f2f2012-06-08 17:02:01 +030033 compatible = "regulator-fixed";
34 regulator-name = "VBAT";
35 regulator-min-microvolt = <3750000>;
36 regulator-max-microvolt = <3750000>;
37 regulator-boot-on;
38 };
39
Benoit Cousson83909c72012-05-08 18:37:26 +020040 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 };
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +030082
Peter Ujfalusi28f166cb2012-11-12 15:06:56 +010083 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
Peter Ujfalusif95c01d2013-01-18 15:00:47 +010098 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
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +0300109 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 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200143};
Benoit Cousson33632ae2011-08-23 17:17:46 +0200144
Tony Lindgren26638c62012-09-10 10:34:52 -0700145&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300146 pinctrl-names = "default";
147 pinctrl-0 = <
148 &twl6040_pins
149 &mcpdm_pins
150 &dmic_pins
151 &mcbsp1_pins
152 &mcbsp2_pins
Ricardo Neri347bf482012-11-05 15:14:15 +0200153 &dss_hdmi_pins
154 &tpd12s015_pins
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300155 >;
156
Tony Lindgren26638c62012-09-10 10:34:52 -0700157 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 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300181
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 };
Ricardo Neri347bf482012-11-05 15:14:15 +0200225
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700226 mcspi1_pins: pinmux_mcspi1_pins {
227 pinctrl-single,pins = <
228 0xf2 0x100 /* mcspi1_clk.mcspi1_clk INPUT | MODE0 */
229 0xf4 0x100 /* mcspi1_somi.mcspi1_somi INPUT | MODE0 */
230 0xf6 0x100 /* mcspi1_simo.mcspi1_simo INPUT | MODE0 */
231 0xf8 0x100 /* mcspi1_cs0.mcspi1_cs0 INPUT | MODE0*/
232 >;
233 };
234
Ricardo Neri347bf482012-11-05 15:14:15 +0200235 dss_hdmi_pins: pinmux_dss_hdmi_pins {
236 pinctrl-single,pins = <
237 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
238 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
239 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
240 >;
241 };
242
243 tpd12s015_pins: pinmux_tpd12s015_pins {
244 pinctrl-single,pins = <
245 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
246 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
247 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
248 >;
249 };
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530250
251 i2c1_pins: pinmux_i2c1_pins {
252 pinctrl-single,pins = <
253 0xe2 0x118 /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */
254 0xe4 0x118 /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */
255 >;
256 };
257
258 i2c2_pins: pinmux_i2c2_pins {
259 pinctrl-single,pins = <
260 0xe6 0x118 /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */
261 0xe8 0x118 /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */
262 >;
263 };
264
265 i2c3_pins: pinmux_i2c3_pins {
266 pinctrl-single,pins = <
267 0xea 0x118 /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */
268 0xec 0x118 /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */
269 >;
270 };
271
272 i2c4_pins: pinmux_i2c4_pins {
273 pinctrl-single,pins = <
274 0xee 0x118 /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */
275 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */
276 >;
277 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700278};
279
Benoit Cousson33632ae2011-08-23 17:17:46 +0200280&i2c1 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530281 pinctrl-names = "default";
282 pinctrl-0 = <&i2c1_pins>;
283
Benoit Cousson33632ae2011-08-23 17:17:46 +0200284 clock-frequency = <400000>;
285
286 twl: twl@48 {
287 reg = <0x48>;
288 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
289 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
290 interrupt-parent = <&gic>;
291 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300292
293 twl6040: twl@4b {
294 compatible = "ti,twl6040";
295 reg = <0x4b>;
296 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
297 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
298 interrupt-parent = <&gic>;
299 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
300
301 vio-supply = <&v1v8>;
302 v2v1-supply = <&v2v1>;
303 enable-active-high;
304
305 /* regulators for vibra motor */
306 vddvibl-supply = <&vbat>;
307 vddvibr-supply = <&vbat>;
308
309 vibra {
310 /* Vibra driver, motor resistance parameters */
311 ti,vibldrv-res = <8>;
312 ti,vibrdrv-res = <3>;
313 ti,viblmotor-res = <10>;
314 ti,vibrmotor-res = <10>;
315 };
316 };
Benoit Cousson33632ae2011-08-23 17:17:46 +0200317};
318
319/include/ "twl6030.dtsi"
320
321&i2c2 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530322 pinctrl-names = "default";
323 pinctrl-0 = <&i2c2_pins>;
324
Benoit Cousson33632ae2011-08-23 17:17:46 +0200325 clock-frequency = <400000>;
326};
327
328&i2c3 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530329 pinctrl-names = "default";
330 pinctrl-0 = <&i2c3_pins>;
331
Benoit Cousson33632ae2011-08-23 17:17:46 +0200332 clock-frequency = <400000>;
333
334 /*
335 * Temperature Sensor
336 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
337 */
338 tmp105@48 {
339 compatible = "ti,tmp105";
340 reg = <0x48>;
341 };
342
343 /*
344 * Ambient Light Sensor
345 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
346 */
347 bh1780@29 {
348 compatible = "rohm,bh1780";
349 reg = <0x29>;
350 };
351};
352
353&i2c4 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530354 pinctrl-names = "default";
355 pinctrl-0 = <&i2c4_pins>;
356
Benoit Cousson33632ae2011-08-23 17:17:46 +0200357 clock-frequency = <400000>;
358
359 /*
360 * 3-Axis Digital Compass
361 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
362 */
363 hmc5843@1e {
364 compatible = "honeywell,hmc5843";
365 reg = <0x1e>;
366 };
367};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100368
369&mcspi1 {
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700370 pinctrl-names = "default";
371 pinctrl-0 = <&mcspi1_pins>;
372
Benoit Coussone7c64db2012-01-20 14:17:00 +0100373 eth@0 {
374 compatible = "ks8851";
375 spi-max-frequency = <24000000>;
376 reg = <0>;
377 interrupt-parent = <&gpio2>;
Jon Huntere60f18d2013-04-10 12:31:07 -0500378 interrupts = <2 8>; /* gpio line 34, low triggered */
Benoit Coussone7c64db2012-01-20 14:17:00 +0100379 vdd-supply = <&vdd_eth>;
380 };
381};
Rajendra Nayak74981762011-10-04 17:10:27 +0530382
383&mmc1 {
384 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400385 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530386};
387
388&mmc2 {
389 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400390 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530391 ti,non-removable;
392};
393
394&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700395 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530396};
397
398&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700399 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530400};
401
402&mmc5 {
Arnd Bergmann7f217792012-05-13 00:14:24 -0400403 bus-width = <4>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530404 ti,non-removable;
405};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530406
Aneesh V11c27062012-01-20 20:35:26 +0530407&emif1 {
408 cs1-used;
409 device-handle = <&elpida_ECB240ABACN>;
410};
411
412&emif2 {
413 cs1-used;
414 device-handle = <&elpida_ECB240ABACN>;
415};
416
Sourav Poddar61bc3542012-08-14 16:45:37 +0530417&keypad {
418 keypad,num-rows = <8>;
419 keypad,num-columns = <8>;
420 linux,keymap = <0x00000012 /* KEY_E */
421 0x00010013 /* KEY_R */
422 0x00020014 /* KEY_T */
423 0x00030066 /* KEY_HOME */
424 0x0004003f /* KEY_F5 */
425 0x000500f0 /* KEY_UNKNOWN */
426 0x00060017 /* KEY_I */
427 0x0007002a /* KEY_LEFTSHIFT */
428 0x01000020 /* KEY_D*/
429 0x01010021 /* KEY_F */
430 0x01020022 /* KEY_G */
431 0x010300e7 /* KEY_SEND */
432 0x01040040 /* KEY_F6 */
433 0x010500f0 /* KEY_UNKNOWN */
434 0x01060025 /* KEY_K */
435 0x0107001c /* KEY_ENTER */
436 0x0200002d /* KEY_X */
437 0x0201002e /* KEY_C */
438 0x0202002f /* KEY_V */
439 0x0203006b /* KEY_END */
440 0x02040041 /* KEY_F7 */
441 0x020500f0 /* KEY_UNKNOWN */
442 0x02060034 /* KEY_DOT */
443 0x0207003a /* KEY_CAPSLOCK */
444 0x0300002c /* KEY_Z */
445 0x0301004e /* KEY_KPLUS */
446 0x03020030 /* KEY_B */
447 0x0303003b /* KEY_F1 */
448 0x03040042 /* KEY_F8 */
449 0x030500f0 /* KEY_UNKNOWN */
450 0x03060018 /* KEY_O */
451 0x03070039 /* KEY_SPACE */
452 0x04000011 /* KEY_W */
453 0x04010015 /* KEY_Y */
454 0x04020016 /* KEY_U */
455 0x0403003c /* KEY_F2 */
456 0x04040073 /* KEY_VOLUMEUP */
457 0x040500f0 /* KEY_UNKNOWN */
458 0x04060026 /* KEY_L */
459 0x04070069 /* KEY_LEFT */
460 0x0500001f /* KEY_S */
461 0x05010023 /* KEY_H */
462 0x05020024 /* KEY_J */
463 0x0503003d /* KEY_F3 */
464 0x05040043 /* KEY_F9 */
465 0x05050072 /* KEY_VOLUMEDOWN */
466 0x05060032 /* KEY_M */
467 0x0507006a /* KEY_RIGHT */
468 0x06000010 /* KEY_Q */
469 0x0601001e /* KEY_A */
470 0x06020031 /* KEY_N */
471 0x0603009e /* KEY_BACK */
472 0x0604000e /* KEY_BACKSPACE */
473 0x060500f0 /* KEY_UNKNOWN */
474 0x06060019 /* KEY_P */
475 0x06070067 /* KEY_UP */
476 0x07000094 /* KEY_PROG1 */
477 0x07010095 /* KEY_PROG2 */
478 0x070200ca /* KEY_PROG3 */
479 0x070300cb /* KEY_PROG4 */
480 0x0704003e /* KEY_F4 */
481 0x070500f0 /* KEY_UNKNOWN */
482 0x07060160 /* KEY_OK */
483 0x0707006c>; /* KEY_DOWN */
484 linux,input-no-autorepeat;
485};
Tony Lindgren26638c62012-09-10 10:34:52 -0700486
487&uart2 {
488 pinctrl-names = "default";
489 pinctrl-0 = <&uart2_pins>;
490};
491
492&uart3 {
493 pinctrl-names = "default";
494 pinctrl-0 = <&uart3_pins>;
495};
496
497&uart4 {
498 pinctrl-names = "default";
499 pinctrl-0 = <&uart4_pins>;
500};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300501
502&mcbsp3 {
503 status = "disabled";
504};
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530505
506&twl_usb_comparator {
507 usb-supply = <&vusb>;
508};
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530509
510&usb_otg_hs {
511 interface-type = <1>;
512 mode = <3>;
513 power = <50>;
514};