blob: 8101a945e7c3233f33f3f49a11ed57e6abb0d130 [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
10/include/ "omap4.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 Ujfalusib15bb2c2012-06-08 17:02:03 +030098 sound {
99 compatible = "ti,abe-twl6040";
100 ti,model = "SDP4430";
101
102 ti,jack-detection = <1>;
103 ti,mclk-freq = <38400000>;
104
105 ti,mcpdm = <&mcpdm>;
106 ti,dmic = <&dmic>;
107
108 ti,twl6040 = <&twl6040>;
109
110 /* Audio routing */
111 ti,audio-routing =
112 "Headset Stereophone", "HSOL",
113 "Headset Stereophone", "HSOR",
114 "Earphone Spk", "EP",
115 "Ext Spk", "HFL",
116 "Ext Spk", "HFR",
117 "Line Out", "AUXL",
118 "Line Out", "AUXR",
119 "Vibrator", "VIBRAL",
120 "Vibrator", "VIBRAR",
121 "HSMIC", "Headset Mic",
122 "Headset Mic", "Headset Mic Bias",
123 "MAINMIC", "Main Handset Mic",
124 "Main Handset Mic", "Main Mic Bias",
125 "SUBMIC", "Sub Handset Mic",
126 "Sub Handset Mic", "Main Mic Bias",
127 "AFML", "Line In",
128 "AFMR", "Line In",
129 "DMic", "Digital Mic",
130 "Digital Mic", "Digital Mic1 Bias";
131 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200132};
Benoit Cousson33632ae2011-08-23 17:17:46 +0200133
Tony Lindgren26638c62012-09-10 10:34:52 -0700134&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300135 pinctrl-names = "default";
136 pinctrl-0 = <
137 &twl6040_pins
138 &mcpdm_pins
139 &dmic_pins
140 &mcbsp1_pins
141 &mcbsp2_pins
Ricardo Neri347bf482012-11-05 15:14:15 +0200142 &dss_hdmi_pins
143 &tpd12s015_pins
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300144 >;
145
Tony Lindgren26638c62012-09-10 10:34:52 -0700146 uart2_pins: pinmux_uart2_pins {
147 pinctrl-single,pins = <
148 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
149 0xda 0 /* uart2_rts.uart2_rts OUTPUT | MODE0 */
150 0xdc 0x118 /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
151 0xde 0 /* uart2_tx.uart2_tx OUTPUT | MODE0 */
152 >;
153 };
154
155 uart3_pins: pinmux_uart3_pins {
156 pinctrl-single,pins = <
157 0x100 0x118 /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
158 0x102 0 /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
159 0x104 0x100 /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
160 0x106 0 /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
161 >;
162 };
163
164 uart4_pins: pinmux_uart4_pins {
165 pinctrl-single,pins = <
166 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */
167 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */
168 >;
169 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300170
171 twl6040_pins: pinmux_twl6040_pins {
172 pinctrl-single,pins = <
173 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
174 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
175 >;
176 };
177
178 mcpdm_pins: pinmux_mcpdm_pins {
179 pinctrl-single,pins = <
180 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
181 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
182 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
183 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
184 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
185 >;
186 };
187
188 dmic_pins: pinmux_dmic_pins {
189 pinctrl-single,pins = <
190 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
191 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
192 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
193 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
194 >;
195 };
196
197 mcbsp1_pins: pinmux_mcbsp1_pins {
198 pinctrl-single,pins = <
199 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
200 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
201 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
202 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
203 >;
204 };
205
206 mcbsp2_pins: pinmux_mcbsp2_pins {
207 pinctrl-single,pins = <
208 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
209 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
210 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
211 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
212 >;
213 };
Ricardo Neri347bf482012-11-05 15:14:15 +0200214
215 dss_hdmi_pins: pinmux_dss_hdmi_pins {
216 pinctrl-single,pins = <
217 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
218 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
219 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
220 >;
221 };
222
223 tpd12s015_pins: pinmux_tpd12s015_pins {
224 pinctrl-single,pins = <
225 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
226 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
227 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
228 >;
229 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700230};
231
Benoit Cousson33632ae2011-08-23 17:17:46 +0200232&i2c1 {
233 clock-frequency = <400000>;
234
235 twl: twl@48 {
236 reg = <0x48>;
237 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
238 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
239 interrupt-parent = <&gic>;
240 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300241
242 twl6040: twl@4b {
243 compatible = "ti,twl6040";
244 reg = <0x4b>;
245 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
246 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
247 interrupt-parent = <&gic>;
248 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
249
250 vio-supply = <&v1v8>;
251 v2v1-supply = <&v2v1>;
252 enable-active-high;
253
254 /* regulators for vibra motor */
255 vddvibl-supply = <&vbat>;
256 vddvibr-supply = <&vbat>;
257
258 vibra {
259 /* Vibra driver, motor resistance parameters */
260 ti,vibldrv-res = <8>;
261 ti,vibrdrv-res = <3>;
262 ti,viblmotor-res = <10>;
263 ti,vibrmotor-res = <10>;
264 };
265 };
Benoit Cousson33632ae2011-08-23 17:17:46 +0200266};
267
268/include/ "twl6030.dtsi"
269
270&i2c2 {
271 clock-frequency = <400000>;
272};
273
274&i2c3 {
275 clock-frequency = <400000>;
276
277 /*
278 * Temperature Sensor
279 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
280 */
281 tmp105@48 {
282 compatible = "ti,tmp105";
283 reg = <0x48>;
284 };
285
286 /*
287 * Ambient Light Sensor
288 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
289 */
290 bh1780@29 {
291 compatible = "rohm,bh1780";
292 reg = <0x29>;
293 };
294};
295
296&i2c4 {
297 clock-frequency = <400000>;
298
299 /*
300 * 3-Axis Digital Compass
301 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
302 */
303 hmc5843@1e {
304 compatible = "honeywell,hmc5843";
305 reg = <0x1e>;
306 };
307};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100308
309&mcspi1 {
310 eth@0 {
311 compatible = "ks8851";
312 spi-max-frequency = <24000000>;
313 reg = <0>;
314 interrupt-parent = <&gpio2>;
315 interrupts = <2>; /* gpio line 34 */
316 vdd-supply = <&vdd_eth>;
317 };
318};
Rajendra Nayak74981762011-10-04 17:10:27 +0530319
320&mmc1 {
321 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400322 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530323};
324
325&mmc2 {
326 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400327 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530328 ti,non-removable;
329};
330
331&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700332 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530333};
334
335&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700336 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530337};
338
339&mmc5 {
Arnd Bergmann7f217792012-05-13 00:14:24 -0400340 bus-width = <4>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530341 ti,non-removable;
342};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530343
Aneesh V11c27062012-01-20 20:35:26 +0530344&emif1 {
345 cs1-used;
346 device-handle = <&elpida_ECB240ABACN>;
347};
348
349&emif2 {
350 cs1-used;
351 device-handle = <&elpida_ECB240ABACN>;
352};
353
Sourav Poddar61bc3542012-08-14 16:45:37 +0530354&keypad {
355 keypad,num-rows = <8>;
356 keypad,num-columns = <8>;
357 linux,keymap = <0x00000012 /* KEY_E */
358 0x00010013 /* KEY_R */
359 0x00020014 /* KEY_T */
360 0x00030066 /* KEY_HOME */
361 0x0004003f /* KEY_F5 */
362 0x000500f0 /* KEY_UNKNOWN */
363 0x00060017 /* KEY_I */
364 0x0007002a /* KEY_LEFTSHIFT */
365 0x01000020 /* KEY_D*/
366 0x01010021 /* KEY_F */
367 0x01020022 /* KEY_G */
368 0x010300e7 /* KEY_SEND */
369 0x01040040 /* KEY_F6 */
370 0x010500f0 /* KEY_UNKNOWN */
371 0x01060025 /* KEY_K */
372 0x0107001c /* KEY_ENTER */
373 0x0200002d /* KEY_X */
374 0x0201002e /* KEY_C */
375 0x0202002f /* KEY_V */
376 0x0203006b /* KEY_END */
377 0x02040041 /* KEY_F7 */
378 0x020500f0 /* KEY_UNKNOWN */
379 0x02060034 /* KEY_DOT */
380 0x0207003a /* KEY_CAPSLOCK */
381 0x0300002c /* KEY_Z */
382 0x0301004e /* KEY_KPLUS */
383 0x03020030 /* KEY_B */
384 0x0303003b /* KEY_F1 */
385 0x03040042 /* KEY_F8 */
386 0x030500f0 /* KEY_UNKNOWN */
387 0x03060018 /* KEY_O */
388 0x03070039 /* KEY_SPACE */
389 0x04000011 /* KEY_W */
390 0x04010015 /* KEY_Y */
391 0x04020016 /* KEY_U */
392 0x0403003c /* KEY_F2 */
393 0x04040073 /* KEY_VOLUMEUP */
394 0x040500f0 /* KEY_UNKNOWN */
395 0x04060026 /* KEY_L */
396 0x04070069 /* KEY_LEFT */
397 0x0500001f /* KEY_S */
398 0x05010023 /* KEY_H */
399 0x05020024 /* KEY_J */
400 0x0503003d /* KEY_F3 */
401 0x05040043 /* KEY_F9 */
402 0x05050072 /* KEY_VOLUMEDOWN */
403 0x05060032 /* KEY_M */
404 0x0507006a /* KEY_RIGHT */
405 0x06000010 /* KEY_Q */
406 0x0601001e /* KEY_A */
407 0x06020031 /* KEY_N */
408 0x0603009e /* KEY_BACK */
409 0x0604000e /* KEY_BACKSPACE */
410 0x060500f0 /* KEY_UNKNOWN */
411 0x06060019 /* KEY_P */
412 0x06070067 /* KEY_UP */
413 0x07000094 /* KEY_PROG1 */
414 0x07010095 /* KEY_PROG2 */
415 0x070200ca /* KEY_PROG3 */
416 0x070300cb /* KEY_PROG4 */
417 0x0704003e /* KEY_F4 */
418 0x070500f0 /* KEY_UNKNOWN */
419 0x07060160 /* KEY_OK */
420 0x0707006c>; /* KEY_DOWN */
421 linux,input-no-autorepeat;
422};
Tony Lindgren26638c62012-09-10 10:34:52 -0700423
424&uart2 {
425 pinctrl-names = "default";
426 pinctrl-0 = <&uart2_pins>;
427};
428
429&uart3 {
430 pinctrl-names = "default";
431 pinctrl-0 = <&uart3_pins>;
432};
433
434&uart4 {
435 pinctrl-names = "default";
436 pinctrl-0 = <&uart4_pins>;
437};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300438
439&mcbsp3 {
440 status = "disabled";
441};
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530442
443&twl_usb_comparator {
444 usb-supply = <&vusb>;
445};