2 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
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.
10 #include "omap443x.dtsi"
11 #include "elpida_ecb240abacn.dtsi"
14 model = "TI OMAP4 SDP board";
15 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
18 device_type = "memory";
19 reg = <0x80000000 0x40000000>; /* 1 GB */
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 */
32 vbat: fixedregulator-vbat {
33 compatible = "regulator-fixed";
34 regulator-name = "VBAT";
35 regulator-min-microvolt = <3750000>;
36 regulator-max-microvolt = <3750000>;
41 compatible = "gpio-leds";
43 label = "omap4:green:debug0";
44 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
48 label = "omap4:green:debug1";
49 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
53 label = "omap4:green:debug2";
54 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
58 label = "omap4:green:debug3";
59 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
63 label = "omap4:green:debug4";
64 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
68 label = "omap4:blue:user";
69 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
73 label = "omap4:red:user";
74 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
78 label = "omap4:green:user";
79 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
84 compatible = "pwm-leds";
86 label = "omap4::keypad";
87 pwms = <&twl_pwm 0 7812500>;
88 max-brightness = <127>;
92 label = "omap4:green:chrg";
93 pwms = <&twl_pwmled 0 7812500>;
94 max-brightness = <255>;
99 compatible = "pwm-backlight";
100 pwms = <&twl_pwm 1 7812500>;
101 brightness-levels = <
106 default-brightness-level = <13>;
110 compatible = "ti,abe-twl6040";
111 ti,model = "SDP4430";
113 ti,jack-detection = <1>;
114 ti,mclk-freq = <38400000>;
119 ti,twl6040 = <&twl6040>;
123 "Headset Stereophone", "HSOL",
124 "Headset Stereophone", "HSOR",
125 "Earphone Spk", "EP",
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",
140 "DMic", "Digital Mic",
141 "Digital Mic", "Digital Mic1 Bias";
144 /* regulator for wl12xx on sdio5 */
145 wl12xx_vmmc: wl12xx_vmmc {
146 pinctrl-names = "default";
147 pinctrl-0 = <&wl12xx_gpio>;
148 compatible = "regulator-fixed";
149 regulator-name = "vwl1271";
150 regulator-min-microvolt = <1800000>;
151 regulator-max-microvolt = <1800000>;
152 gpio = <&gpio2 22 0>;
153 startup-delay-us = <70000>;
159 pinctrl-names = "default";
165 uart2_pins: pinmux_uart2_pins {
166 pinctrl-single,pins = <
167 0xd8 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
168 0xda (PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
169 0xdc (PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
170 0xde (PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
174 uart3_pins: pinmux_uart3_pins {
175 pinctrl-single,pins = <
176 0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
177 0x102 (PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
178 0x104 (PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
179 0x106 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
183 uart4_pins: pinmux_uart4_pins {
184 pinctrl-single,pins = <
185 0x11c (PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
186 0x11e (PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
190 twl6040_pins: pinmux_twl6040_pins {
191 pinctrl-single,pins = <
192 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
193 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
197 mcpdm_pins: pinmux_mcpdm_pins {
198 pinctrl-single,pins = <
199 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
200 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
201 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
202 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
203 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
207 dmic_pins: pinmux_dmic_pins {
208 pinctrl-single,pins = <
209 0xd0 (PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
210 0xd2 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
211 0xd4 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
212 0xd6 (PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
216 mcbsp1_pins: pinmux_mcbsp1_pins {
217 pinctrl-single,pins = <
218 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
219 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
220 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
221 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
225 mcbsp2_pins: pinmux_mcbsp2_pins {
226 pinctrl-single,pins = <
227 0xb6 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
228 0xb8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
229 0xba (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
230 0xbc (PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
234 mcspi1_pins: pinmux_mcspi1_pins {
235 pinctrl-single,pins = <
236 0xf2 (PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
237 0xf4 (PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
238 0xf6 (PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
239 0xf8 (PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
243 dss_hdmi_pins: pinmux_dss_hdmi_pins {
244 pinctrl-single,pins = <
245 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
246 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
247 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
251 tpd12s015_pins: pinmux_tpd12s015_pins {
252 pinctrl-single,pins = <
253 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
254 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
255 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
259 i2c1_pins: pinmux_i2c1_pins {
260 pinctrl-single,pins = <
261 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
262 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
266 i2c2_pins: pinmux_i2c2_pins {
267 pinctrl-single,pins = <
268 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
269 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
273 i2c3_pins: pinmux_i2c3_pins {
274 pinctrl-single,pins = <
275 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
276 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
280 i2c4_pins: pinmux_i2c4_pins {
281 pinctrl-single,pins = <
282 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
283 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
287 /* wl12xx GPIO output for WLAN_EN */
288 wl12xx_gpio: pinmux_wl12xx_gpio {
289 pinctrl-single,pins = <
290 0x3c (PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
294 /* wl12xx GPIO inputs and SDIO pins */
295 wl12xx_pins: pinmux_wl12xx_pins {
296 pinctrl-single,pins = <
297 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
298 0x108 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
299 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
300 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
301 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
302 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
303 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
309 pinctrl-names = "default";
310 pinctrl-0 = <&i2c1_pins>;
312 clock-frequency = <400000>;
316 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
317 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
318 interrupt-parent = <&gic>;
322 compatible = "ti,twl6040";
325 pinctrl-names = "default";
326 pinctrl-0 = <&twl6040_pins>;
328 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
329 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
330 interrupt-parent = <&gic>;
331 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
333 vio-supply = <&v1v8>;
334 v2v1-supply = <&v2v1>;
337 /* regulators for vibra motor */
338 vddvibl-supply = <&vbat>;
339 vddvibr-supply = <&vbat>;
342 /* Vibra driver, motor resistance parameters */
343 ti,vibldrv-res = <8>;
344 ti,vibrdrv-res = <3>;
345 ti,viblmotor-res = <10>;
346 ti,vibrmotor-res = <10>;
351 #include "twl6030.dtsi"
352 #include "twl6030_omap4.dtsi"
355 pinctrl-names = "default";
356 pinctrl-0 = <&i2c2_pins>;
358 clock-frequency = <400000>;
362 pinctrl-names = "default";
363 pinctrl-0 = <&i2c3_pins>;
365 clock-frequency = <400000>;
369 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
372 compatible = "ti,tmp105";
377 * Ambient Light Sensor
378 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
381 compatible = "rohm,bh1780";
387 pinctrl-names = "default";
388 pinctrl-0 = <&i2c4_pins>;
390 clock-frequency = <400000>;
393 * 3-Axis Digital Compass
394 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
397 compatible = "honeywell,hmc5843";
403 pinctrl-names = "default";
404 pinctrl-0 = <&mcspi1_pins>;
407 compatible = "ks8851";
408 spi-max-frequency = <24000000>;
410 interrupt-parent = <&gpio2>;
411 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
412 vdd-supply = <&vdd_eth>;
417 vmmc-supply = <&vmmc>;
422 vmmc-supply = <&vaux1>;
436 pinctrl-names = "default";
437 pinctrl-0 = <&wl12xx_pins>;
438 vmmc-supply = <&wl12xx_vmmc>;
446 device-handle = <&elpida_ECB240ABACN>;
451 device-handle = <&elpida_ECB240ABACN>;
455 keypad,num-rows = <8>;
456 keypad,num-columns = <8>;
457 linux,keymap = <0x00000012 /* KEY_E */
458 0x00010013 /* KEY_R */
459 0x00020014 /* KEY_T */
460 0x00030066 /* KEY_HOME */
461 0x0004003f /* KEY_F5 */
462 0x000500f0 /* KEY_UNKNOWN */
463 0x00060017 /* KEY_I */
464 0x0007002a /* KEY_LEFTSHIFT */
465 0x01000020 /* KEY_D*/
466 0x01010021 /* KEY_F */
467 0x01020022 /* KEY_G */
468 0x010300e7 /* KEY_SEND */
469 0x01040040 /* KEY_F6 */
470 0x010500f0 /* KEY_UNKNOWN */
471 0x01060025 /* KEY_K */
472 0x0107001c /* KEY_ENTER */
473 0x0200002d /* KEY_X */
474 0x0201002e /* KEY_C */
475 0x0202002f /* KEY_V */
476 0x0203006b /* KEY_END */
477 0x02040041 /* KEY_F7 */
478 0x020500f0 /* KEY_UNKNOWN */
479 0x02060034 /* KEY_DOT */
480 0x0207003a /* KEY_CAPSLOCK */
481 0x0300002c /* KEY_Z */
482 0x0301004e /* KEY_KPLUS */
483 0x03020030 /* KEY_B */
484 0x0303003b /* KEY_F1 */
485 0x03040042 /* KEY_F8 */
486 0x030500f0 /* KEY_UNKNOWN */
487 0x03060018 /* KEY_O */
488 0x03070039 /* KEY_SPACE */
489 0x04000011 /* KEY_W */
490 0x04010015 /* KEY_Y */
491 0x04020016 /* KEY_U */
492 0x0403003c /* KEY_F2 */
493 0x04040073 /* KEY_VOLUMEUP */
494 0x040500f0 /* KEY_UNKNOWN */
495 0x04060026 /* KEY_L */
496 0x04070069 /* KEY_LEFT */
497 0x0500001f /* KEY_S */
498 0x05010023 /* KEY_H */
499 0x05020024 /* KEY_J */
500 0x0503003d /* KEY_F3 */
501 0x05040043 /* KEY_F9 */
502 0x05050072 /* KEY_VOLUMEDOWN */
503 0x05060032 /* KEY_M */
504 0x0507006a /* KEY_RIGHT */
505 0x06000010 /* KEY_Q */
506 0x0601001e /* KEY_A */
507 0x06020031 /* KEY_N */
508 0x0603009e /* KEY_BACK */
509 0x0604000e /* KEY_BACKSPACE */
510 0x060500f0 /* KEY_UNKNOWN */
511 0x06060019 /* KEY_P */
512 0x06070067 /* KEY_UP */
513 0x07000094 /* KEY_PROG1 */
514 0x07010095 /* KEY_PROG2 */
515 0x070200ca /* KEY_PROG3 */
516 0x070300cb /* KEY_PROG4 */
517 0x0704003e /* KEY_F4 */
518 0x070500f0 /* KEY_UNKNOWN */
519 0x07060160 /* KEY_OK */
520 0x0707006c>; /* KEY_DOWN */
521 linux,input-no-autorepeat;
525 pinctrl-names = "default";
526 pinctrl-0 = <&uart2_pins>;
530 pinctrl-names = "default";
531 pinctrl-0 = <&uart3_pins>;
535 pinctrl-names = "default";
536 pinctrl-0 = <&uart4_pins>;
540 pinctrl-names = "default";
541 pinctrl-0 = <&mcbsp1_pins>;
546 pinctrl-names = "default";
547 pinctrl-0 = <&mcbsp2_pins>;
552 pinctrl-names = "default";
553 pinctrl-0 = <&dmic_pins>;
558 pinctrl-names = "default";
559 pinctrl-0 = <&mcpdm_pins>;
563 &twl_usb_comparator {
564 usb-supply = <&vusb>;
568 interface-type = <1>;