ARM: dts: Configure and fix the McSPI pins for 4430sdp
[deliverable/linux.git] / arch / arm / boot / dts / omap4-sdp.dts
CommitLineData
492beedf
BC
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
e77049bb 10/include/ "omap443x.dtsi"
11c27069 11/include/ "elpida_ecb240abacn.dtsi"
492beedf
BC
12
13/ {
14 model = "TI OMAP4 SDP board";
15 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16
492beedf
BC
17 memory {
18 device_type = "memory";
19 reg = <0x80000000 0x40000000>; /* 1 GB */
20 };
e7c64db9 21
624411ce 22 vdd_eth: fixedregulator-vdd-eth {
e7c64db9
BC
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 };
83909c73 31
624411ce 32 vbat: fixedregulator-vbat {
4814f2f7
PU
33 compatible = "regulator-fixed";
34 regulator-name = "VBAT";
35 regulator-min-microvolt = <3750000>;
36 regulator-max-microvolt = <3750000>;
37 regulator-boot-on;
38 };
39
83909c73
BC
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 };
b15bb2c0 82
28f166cb
PU
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
f95c01df
PU
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
b15bb2c0
PU
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 };
492beedf 143};
33632ae7 144
26638c66 145&omap4_pmx_core {
08386feb
PU
146 pinctrl-names = "default";
147 pinctrl-0 = <
148 &twl6040_pins
149 &mcpdm_pins
150 &dmic_pins
151 &mcbsp1_pins
152 &mcbsp2_pins
347bf48f
RN
153 &dss_hdmi_pins
154 &tpd12s015_pins
08386feb
PU
155 >;
156
26638c66
TL
157 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 };
08386feb
PU
181
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 };
347bf48f 225
d5a2b34f
TL
226 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
347bf48f
RN
235 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 };
be26cd6d
SP
250
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 };
26638c66
TL
278};
279
33632ae7 280&i2c1 {
be26cd6d
SP
281 pinctrl-names = "default";
282 pinctrl-0 = <&i2c1_pins>;
283
33632ae7
BC
284 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 };
efd2af55
PU
292
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 };
33632ae7
BC
317};
318
319/include/ "twl6030.dtsi"
320
321&i2c2 {
be26cd6d
SP
322 pinctrl-names = "default";
323 pinctrl-0 = <&i2c2_pins>;
324
33632ae7
BC
325 clock-frequency = <400000>;
326};
327
328&i2c3 {
be26cd6d
SP
329 pinctrl-names = "default";
330 pinctrl-0 = <&i2c3_pins>;
331
33632ae7
BC
332 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 {
be26cd6d
SP
354 pinctrl-names = "default";
355 pinctrl-0 = <&i2c4_pins>;
356
33632ae7
BC
357 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};
e7c64db9
BC
368
369&mcspi1 {
d5a2b34f
TL
370 pinctrl-names = "default";
371 pinctrl-0 = <&mcspi1_pins>;
372
e7c64db9
BC
373 eth@0 {
374 compatible = "ks8851";
375 spi-max-frequency = <24000000>;
376 reg = <0>;
377 interrupt-parent = <&gpio2>;
e60f18d6 378 interrupts = <2 8>; /* gpio line 34, low triggered */
e7c64db9
BC
379 vdd-supply = <&vdd_eth>;
380 };
381};
74981768
RN
382
383&mmc1 {
384 vmmc-supply = <&vmmc>;
7f217794 385 bus-width = <8>;
74981768
RN
386};
387
388&mmc2 {
389 vmmc-supply = <&vaux1>;
7f217794 390 bus-width = <8>;
74981768
RN
391 ti,non-removable;
392};
393
394&mmc3 {
fd5c3fd7 395 status = "disabled";
74981768
RN
396};
397
398&mmc4 {
fd5c3fd7 399 status = "disabled";
74981768
RN
400};
401
402&mmc5 {
7f217794 403 bus-width = <4>;
74981768
RN
404 ti,non-removable;
405};
61bc3544 406
11c27069
A
407&emif1 {
408 cs1-used;
409 device-handle = <&elpida_ECB240ABACN>;
410};
411
412&emif2 {
413 cs1-used;
414 device-handle = <&elpida_ECB240ABACN>;
415};
416
61bc3544
SP
417&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};
26638c66
TL
486
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};
6e659281
PU
501
502&mcbsp3 {
503 status = "disabled";
504};
6ff862f6
KVA
505
506&twl_usb_comparator {
507 usb-supply = <&vusb>;
508};
ad871c10
KVA
509
510&usb_otg_hs {
511 interface-type = <1>;
512 mode = <3>;
513 power = <50>;
514};
This page took 0.096247 seconds and 5 git commands to generate.