blob: 0f57bdf7c2df650b8827665b1a52311540238700 [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
83 sound {
84 compatible = "ti,abe-twl6040";
85 ti,model = "SDP4430";
86
87 ti,jack-detection = <1>;
88 ti,mclk-freq = <38400000>;
89
90 ti,mcpdm = <&mcpdm>;
91 ti,dmic = <&dmic>;
92
93 ti,twl6040 = <&twl6040>;
94
95 /* Audio routing */
96 ti,audio-routing =
97 "Headset Stereophone", "HSOL",
98 "Headset Stereophone", "HSOR",
99 "Earphone Spk", "EP",
100 "Ext Spk", "HFL",
101 "Ext Spk", "HFR",
102 "Line Out", "AUXL",
103 "Line Out", "AUXR",
104 "Vibrator", "VIBRAL",
105 "Vibrator", "VIBRAR",
106 "HSMIC", "Headset Mic",
107 "Headset Mic", "Headset Mic Bias",
108 "MAINMIC", "Main Handset Mic",
109 "Main Handset Mic", "Main Mic Bias",
110 "SUBMIC", "Sub Handset Mic",
111 "Sub Handset Mic", "Main Mic Bias",
112 "AFML", "Line In",
113 "AFMR", "Line In",
114 "DMic", "Digital Mic",
115 "Digital Mic", "Digital Mic1 Bias";
116 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200117};
Benoit Cousson33632ae2011-08-23 17:17:46 +0200118
Tony Lindgren26638c62012-09-10 10:34:52 -0700119&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300120 pinctrl-names = "default";
121 pinctrl-0 = <
122 &twl6040_pins
123 &mcpdm_pins
124 &dmic_pins
125 &mcbsp1_pins
126 &mcbsp2_pins
127 >;
128
Tony Lindgren26638c62012-09-10 10:34:52 -0700129 uart2_pins: pinmux_uart2_pins {
130 pinctrl-single,pins = <
131 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
132 0xda 0 /* uart2_rts.uart2_rts OUTPUT | MODE0 */
133 0xdc 0x118 /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
134 0xde 0 /* uart2_tx.uart2_tx OUTPUT | MODE0 */
135 >;
136 };
137
138 uart3_pins: pinmux_uart3_pins {
139 pinctrl-single,pins = <
140 0x100 0x118 /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
141 0x102 0 /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
142 0x104 0x100 /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
143 0x106 0 /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
144 >;
145 };
146
147 uart4_pins: pinmux_uart4_pins {
148 pinctrl-single,pins = <
149 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */
150 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */
151 >;
152 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300153
154 twl6040_pins: pinmux_twl6040_pins {
155 pinctrl-single,pins = <
156 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
157 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
158 >;
159 };
160
161 mcpdm_pins: pinmux_mcpdm_pins {
162 pinctrl-single,pins = <
163 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
164 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
165 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
166 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
167 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
168 >;
169 };
170
171 dmic_pins: pinmux_dmic_pins {
172 pinctrl-single,pins = <
173 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
174 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
175 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
176 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
177 >;
178 };
179
180 mcbsp1_pins: pinmux_mcbsp1_pins {
181 pinctrl-single,pins = <
182 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
183 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
184 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
185 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
186 >;
187 };
188
189 mcbsp2_pins: pinmux_mcbsp2_pins {
190 pinctrl-single,pins = <
191 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
192 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
193 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
194 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
195 >;
196 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700197};
198
Benoit Cousson33632ae2011-08-23 17:17:46 +0200199&i2c1 {
200 clock-frequency = <400000>;
201
202 twl: twl@48 {
203 reg = <0x48>;
204 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
205 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
206 interrupt-parent = <&gic>;
207 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300208
209 twl6040: twl@4b {
210 compatible = "ti,twl6040";
211 reg = <0x4b>;
212 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
213 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
214 interrupt-parent = <&gic>;
215 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
216
217 vio-supply = <&v1v8>;
218 v2v1-supply = <&v2v1>;
219 enable-active-high;
220
221 /* regulators for vibra motor */
222 vddvibl-supply = <&vbat>;
223 vddvibr-supply = <&vbat>;
224
225 vibra {
226 /* Vibra driver, motor resistance parameters */
227 ti,vibldrv-res = <8>;
228 ti,vibrdrv-res = <3>;
229 ti,viblmotor-res = <10>;
230 ti,vibrmotor-res = <10>;
231 };
232 };
Benoit Cousson33632ae2011-08-23 17:17:46 +0200233};
234
235/include/ "twl6030.dtsi"
236
237&i2c2 {
238 clock-frequency = <400000>;
239};
240
241&i2c3 {
242 clock-frequency = <400000>;
243
244 /*
245 * Temperature Sensor
246 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
247 */
248 tmp105@48 {
249 compatible = "ti,tmp105";
250 reg = <0x48>;
251 };
252
253 /*
254 * Ambient Light Sensor
255 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
256 */
257 bh1780@29 {
258 compatible = "rohm,bh1780";
259 reg = <0x29>;
260 };
261};
262
263&i2c4 {
264 clock-frequency = <400000>;
265
266 /*
267 * 3-Axis Digital Compass
268 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
269 */
270 hmc5843@1e {
271 compatible = "honeywell,hmc5843";
272 reg = <0x1e>;
273 };
274};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100275
276&mcspi1 {
277 eth@0 {
278 compatible = "ks8851";
279 spi-max-frequency = <24000000>;
280 reg = <0>;
281 interrupt-parent = <&gpio2>;
282 interrupts = <2>; /* gpio line 34 */
283 vdd-supply = <&vdd_eth>;
284 };
285};
Rajendra Nayak74981762011-10-04 17:10:27 +0530286
287&mmc1 {
288 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400289 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530290};
291
292&mmc2 {
293 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400294 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530295 ti,non-removable;
296};
297
298&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700299 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530300};
301
302&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700303 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530304};
305
306&mmc5 {
Arnd Bergmann7f217792012-05-13 00:14:24 -0400307 bus-width = <4>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530308 ti,non-removable;
309};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530310
Aneesh V11c27062012-01-20 20:35:26 +0530311&emif1 {
312 cs1-used;
313 device-handle = <&elpida_ECB240ABACN>;
314};
315
316&emif2 {
317 cs1-used;
318 device-handle = <&elpida_ECB240ABACN>;
319};
320
Sourav Poddar61bc3542012-08-14 16:45:37 +0530321&keypad {
322 keypad,num-rows = <8>;
323 keypad,num-columns = <8>;
324 linux,keymap = <0x00000012 /* KEY_E */
325 0x00010013 /* KEY_R */
326 0x00020014 /* KEY_T */
327 0x00030066 /* KEY_HOME */
328 0x0004003f /* KEY_F5 */
329 0x000500f0 /* KEY_UNKNOWN */
330 0x00060017 /* KEY_I */
331 0x0007002a /* KEY_LEFTSHIFT */
332 0x01000020 /* KEY_D*/
333 0x01010021 /* KEY_F */
334 0x01020022 /* KEY_G */
335 0x010300e7 /* KEY_SEND */
336 0x01040040 /* KEY_F6 */
337 0x010500f0 /* KEY_UNKNOWN */
338 0x01060025 /* KEY_K */
339 0x0107001c /* KEY_ENTER */
340 0x0200002d /* KEY_X */
341 0x0201002e /* KEY_C */
342 0x0202002f /* KEY_V */
343 0x0203006b /* KEY_END */
344 0x02040041 /* KEY_F7 */
345 0x020500f0 /* KEY_UNKNOWN */
346 0x02060034 /* KEY_DOT */
347 0x0207003a /* KEY_CAPSLOCK */
348 0x0300002c /* KEY_Z */
349 0x0301004e /* KEY_KPLUS */
350 0x03020030 /* KEY_B */
351 0x0303003b /* KEY_F1 */
352 0x03040042 /* KEY_F8 */
353 0x030500f0 /* KEY_UNKNOWN */
354 0x03060018 /* KEY_O */
355 0x03070039 /* KEY_SPACE */
356 0x04000011 /* KEY_W */
357 0x04010015 /* KEY_Y */
358 0x04020016 /* KEY_U */
359 0x0403003c /* KEY_F2 */
360 0x04040073 /* KEY_VOLUMEUP */
361 0x040500f0 /* KEY_UNKNOWN */
362 0x04060026 /* KEY_L */
363 0x04070069 /* KEY_LEFT */
364 0x0500001f /* KEY_S */
365 0x05010023 /* KEY_H */
366 0x05020024 /* KEY_J */
367 0x0503003d /* KEY_F3 */
368 0x05040043 /* KEY_F9 */
369 0x05050072 /* KEY_VOLUMEDOWN */
370 0x05060032 /* KEY_M */
371 0x0507006a /* KEY_RIGHT */
372 0x06000010 /* KEY_Q */
373 0x0601001e /* KEY_A */
374 0x06020031 /* KEY_N */
375 0x0603009e /* KEY_BACK */
376 0x0604000e /* KEY_BACKSPACE */
377 0x060500f0 /* KEY_UNKNOWN */
378 0x06060019 /* KEY_P */
379 0x06070067 /* KEY_UP */
380 0x07000094 /* KEY_PROG1 */
381 0x07010095 /* KEY_PROG2 */
382 0x070200ca /* KEY_PROG3 */
383 0x070300cb /* KEY_PROG4 */
384 0x0704003e /* KEY_F4 */
385 0x070500f0 /* KEY_UNKNOWN */
386 0x07060160 /* KEY_OK */
387 0x0707006c>; /* KEY_DOWN */
388 linux,input-no-autorepeat;
389};
Tony Lindgren26638c62012-09-10 10:34:52 -0700390
391&uart2 {
392 pinctrl-names = "default";
393 pinctrl-0 = <&uart2_pins>;
394};
395
396&uart3 {
397 pinctrl-names = "default";
398 pinctrl-0 = <&uart3_pins>;
399};
400
401&uart4 {
402 pinctrl-names = "default";
403 pinctrl-0 = <&uart4_pins>;
404};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300405
406&mcbsp3 {
407 status = "disabled";
408};
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530409
410&twl_usb_comparator {
411 usb-supply = <&vusb>;
412};