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"
12 #include "omap4-mcpdm.dtsi"
15 model = "TI OMAP4 SDP board";
16 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
19 device_type = "memory";
20 reg = <0x80000000 0x40000000>; /* 1 GB */
29 vdd_eth: fixedregulator-vdd-eth {
30 pinctrl-names = "default";
31 pinctrl-0 = <&enet_enable_gpio>;
33 compatible = "regulator-fixed";
34 regulator-name = "VDD_ETH";
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
37 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
40 startup-delay-us = <25000>;
43 vbat: fixedregulator-vbat {
44 compatible = "regulator-fixed";
45 regulator-name = "VBAT";
46 regulator-min-microvolt = <3750000>;
47 regulator-max-microvolt = <3750000>;
52 compatible = "gpio-leds";
54 label = "omap4:green:debug0";
55 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
59 label = "omap4:green:debug1";
60 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
64 label = "omap4:green:debug2";
65 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
69 label = "omap4:green:debug3";
70 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
74 label = "omap4:green:debug4";
75 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
79 label = "omap4:blue:user";
80 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
84 label = "omap4:red:user";
85 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
89 label = "omap4:green:user";
90 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
95 compatible = "pwm-leds";
97 label = "omap4::keypad";
98 pwms = <&twl_pwm 0 7812500>;
99 max-brightness = <127>;
103 label = "omap4:green:chrg";
104 pwms = <&twl_pwmled 0 7812500>;
105 max-brightness = <255>;
110 compatible = "pwm-backlight";
111 pwms = <&twl_pwm 1 7812500>;
112 brightness-levels = <
117 default-brightness-level = <13>;
121 compatible = "ti,abe-twl6040";
122 ti,model = "SDP4430";
124 ti,jack-detection = <1>;
125 ti,mclk-freq = <38400000>;
130 ti,twl6040 = <&twl6040>;
134 "Headset Stereophone", "HSOL",
135 "Headset Stereophone", "HSOR",
136 "Earphone Spk", "EP",
141 "Vibrator", "VIBRAL",
142 "Vibrator", "VIBRAR",
143 "HSMIC", "Headset Mic",
144 "Headset Mic", "Headset Mic Bias",
145 "MAINMIC", "Main Handset Mic",
146 "Main Handset Mic", "Main Mic Bias",
147 "SUBMIC", "Sub Handset Mic",
148 "Sub Handset Mic", "Main Mic Bias",
151 "DMic", "Digital Mic",
152 "Digital Mic", "Digital Mic1 Bias";
155 /* regulator for wl12xx on sdio5 */
156 wl12xx_vmmc: wl12xx_vmmc {
157 pinctrl-names = "default";
158 pinctrl-0 = <&wl12xx_gpio>;
159 compatible = "regulator-fixed";
160 regulator-name = "vwl1271";
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <1800000>;
163 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
164 startup-delay-us = <70000>;
169 compatible = "ti,tpd12s015";
171 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
172 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
173 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
176 #address-cells = <1>;
182 tpd12s015_in: endpoint {
183 remote-endpoint = <&hdmi_out>;
190 tpd12s015_out: endpoint {
191 remote-endpoint = <&hdmi_connector_in>;
198 compatible = "hdmi-connector";
204 hdmi_connector_in: endpoint {
205 remote-endpoint = <&tpd12s015_out>;
212 pinctrl-names = "default";
218 uart2_pins: pinmux_uart2_pins {
219 pinctrl-single,pins = <
220 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
221 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
222 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
223 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
227 uart3_pins: pinmux_uart3_pins {
228 pinctrl-single,pins = <
229 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
230 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
231 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
232 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
236 uart4_pins: pinmux_uart4_pins {
237 pinctrl-single,pins = <
238 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
239 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
243 twl6040_pins: pinmux_twl6040_pins {
244 pinctrl-single,pins = <
245 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
246 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
250 dmic_pins: pinmux_dmic_pins {
251 pinctrl-single,pins = <
252 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
253 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
254 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
255 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
259 mcbsp1_pins: pinmux_mcbsp1_pins {
260 pinctrl-single,pins = <
261 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
262 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
263 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
264 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
268 mcbsp2_pins: pinmux_mcbsp2_pins {
269 pinctrl-single,pins = <
270 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
271 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
272 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
273 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
277 mcspi1_pins: pinmux_mcspi1_pins {
278 pinctrl-single,pins = <
279 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
280 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
281 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
282 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
286 dss_hdmi_pins: pinmux_dss_hdmi_pins {
287 pinctrl-single,pins = <
288 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
289 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
290 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
294 tpd12s015_pins: pinmux_tpd12s015_pins {
295 pinctrl-single,pins = <
296 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
297 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
298 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
302 i2c1_pins: pinmux_i2c1_pins {
303 pinctrl-single,pins = <
304 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
305 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
309 i2c2_pins: pinmux_i2c2_pins {
310 pinctrl-single,pins = <
311 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
312 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
316 i2c3_pins: pinmux_i2c3_pins {
317 pinctrl-single,pins = <
318 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
319 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
323 i2c4_pins: pinmux_i2c4_pins {
324 pinctrl-single,pins = <
325 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
326 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
330 /* wl12xx GPIO output for WLAN_EN */
331 wl12xx_gpio: pinmux_wl12xx_gpio {
332 pinctrl-single,pins = <
333 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
337 /* wl12xx GPIO inputs and SDIO pins */
338 wl12xx_pins: pinmux_wl12xx_pins {
339 pinctrl-single,pins = <
340 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
341 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
342 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
343 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
344 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
345 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
346 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
350 /* gpio_48 for ENET_ENABLE */
351 enet_enable_gpio: pinmux_enet_enable_gpio {
352 pinctrl-single,pins = <
353 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
357 ks8851_pins: pinmux_ks8851_pins {
358 pinctrl-single,pins = <
360 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
362 * Misterious pin which makes the ethernet working
363 * The legacy board file requested this pin on boot
364 * (ETH_KS8851_QUART) and set it to high, similarly to
365 * the ENET_ENABLE pin.
366 * We could use gpio-hog to keep it high, but let's use
367 * it as a reset GPIO for ks8851.
369 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
375 pinctrl-names = "default";
376 pinctrl-0 = <&i2c1_pins>;
378 clock-frequency = <400000>;
382 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
383 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
387 compatible = "ti,twl6040";
391 pinctrl-names = "default";
392 pinctrl-0 = <&twl6040_pins>;
394 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
395 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
396 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
398 vio-supply = <&v1v8>;
399 v2v1-supply = <&v2v1>;
402 /* regulators for vibra motor */
403 vddvibl-supply = <&vbat>;
404 vddvibr-supply = <&vbat>;
407 /* Vibra driver, motor resistance parameters */
408 ti,vibldrv-res = <8>;
409 ti,vibrdrv-res = <3>;
410 ti,viblmotor-res = <10>;
411 ti,vibrmotor-res = <10>;
416 #include "twl6030.dtsi"
417 #include "twl6030_omap4.dtsi"
420 pinctrl-names = "default";
421 pinctrl-0 = <&i2c2_pins>;
423 clock-frequency = <400000>;
427 pinctrl-names = "default";
428 pinctrl-0 = <&i2c3_pins>;
430 clock-frequency = <400000>;
434 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
437 compatible = "ti,tmp105";
442 * Ambient Light Sensor
443 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
446 compatible = "rohm,bh1780";
452 pinctrl-names = "default";
453 pinctrl-0 = <&i2c4_pins>;
455 clock-frequency = <400000>;
458 * 3-Axis Digital Compass
459 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
462 compatible = "honeywell,hmc5843";
468 pinctrl-names = "default";
469 pinctrl-0 = <&mcspi1_pins>;
472 pinctrl-names = "default";
473 pinctrl-0 = <&ks8851_pins>;
475 compatible = "ks8851";
476 spi-max-frequency = <24000000>;
478 interrupt-parent = <&gpio2>;
479 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
480 vdd-supply = <&vdd_eth>;
481 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
486 vmmc-supply = <&vmmc>;
491 vmmc-supply = <&vaux1>;
505 pinctrl-names = "default";
506 pinctrl-0 = <&wl12xx_pins>;
507 vmmc-supply = <&wl12xx_vmmc>;
512 #address-cells = <1>;
515 compatible = "ti,wl1281";
517 interrupt-parent = <&gpio1>;
518 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
519 ref-clock-frequency = <26000000>;
520 tcxo-clock-frequency = <26000000>;
526 device-handle = <&elpida_ECB240ABACN>;
531 device-handle = <&elpida_ECB240ABACN>;
535 keypad,num-rows = <8>;
536 keypad,num-columns = <8>;
537 linux,keymap = <0x00000012 /* KEY_E */
538 0x00010013 /* KEY_R */
539 0x00020014 /* KEY_T */
540 0x00030066 /* KEY_HOME */
541 0x0004003f /* KEY_F5 */
542 0x000500f0 /* KEY_UNKNOWN */
543 0x00060017 /* KEY_I */
544 0x0007002a /* KEY_LEFTSHIFT */
545 0x01000020 /* KEY_D*/
546 0x01010021 /* KEY_F */
547 0x01020022 /* KEY_G */
548 0x010300e7 /* KEY_SEND */
549 0x01040040 /* KEY_F6 */
550 0x010500f0 /* KEY_UNKNOWN */
551 0x01060025 /* KEY_K */
552 0x0107001c /* KEY_ENTER */
553 0x0200002d /* KEY_X */
554 0x0201002e /* KEY_C */
555 0x0202002f /* KEY_V */
556 0x0203006b /* KEY_END */
557 0x02040041 /* KEY_F7 */
558 0x020500f0 /* KEY_UNKNOWN */
559 0x02060034 /* KEY_DOT */
560 0x0207003a /* KEY_CAPSLOCK */
561 0x0300002c /* KEY_Z */
562 0x0301004e /* KEY_KPLUS */
563 0x03020030 /* KEY_B */
564 0x0303003b /* KEY_F1 */
565 0x03040042 /* KEY_F8 */
566 0x030500f0 /* KEY_UNKNOWN */
567 0x03060018 /* KEY_O */
568 0x03070039 /* KEY_SPACE */
569 0x04000011 /* KEY_W */
570 0x04010015 /* KEY_Y */
571 0x04020016 /* KEY_U */
572 0x0403003c /* KEY_F2 */
573 0x04040073 /* KEY_VOLUMEUP */
574 0x040500f0 /* KEY_UNKNOWN */
575 0x04060026 /* KEY_L */
576 0x04070069 /* KEY_LEFT */
577 0x0500001f /* KEY_S */
578 0x05010023 /* KEY_H */
579 0x05020024 /* KEY_J */
580 0x0503003d /* KEY_F3 */
581 0x05040043 /* KEY_F9 */
582 0x05050072 /* KEY_VOLUMEDOWN */
583 0x05060032 /* KEY_M */
584 0x0507006a /* KEY_RIGHT */
585 0x06000010 /* KEY_Q */
586 0x0601001e /* KEY_A */
587 0x06020031 /* KEY_N */
588 0x0603009e /* KEY_BACK */
589 0x0604000e /* KEY_BACKSPACE */
590 0x060500f0 /* KEY_UNKNOWN */
591 0x06060019 /* KEY_P */
592 0x06070067 /* KEY_UP */
593 0x07000094 /* KEY_PROG1 */
594 0x07010095 /* KEY_PROG2 */
595 0x070200ca /* KEY_PROG3 */
596 0x070300cb /* KEY_PROG4 */
597 0x0704003e /* KEY_F4 */
598 0x070500f0 /* KEY_UNKNOWN */
599 0x07060160 /* KEY_OK */
600 0x0707006c>; /* KEY_DOWN */
601 linux,input-no-autorepeat;
605 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
606 &omap4_pmx_core OMAP4_UART2_RX>;
607 pinctrl-names = "default";
608 pinctrl-0 = <&uart2_pins>;
612 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
613 &omap4_pmx_core OMAP4_UART3_RX>;
614 pinctrl-names = "default";
615 pinctrl-0 = <&uart3_pins>;
619 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
620 &omap4_pmx_core OMAP4_UART4_RX>;
621 pinctrl-names = "default";
622 pinctrl-0 = <&uart4_pins>;
626 pinctrl-names = "default";
627 pinctrl-0 = <&mcbsp1_pins>;
632 pinctrl-names = "default";
633 pinctrl-0 = <&mcbsp2_pins>;
638 pinctrl-names = "default";
639 pinctrl-0 = <&dmic_pins>;
643 &twl_usb_comparator {
644 usb-supply = <&vusb>;
648 interface-type = <1>;
659 vdd-supply = <&vcxio>;
662 dsi1_out_ep: endpoint {
663 remote-endpoint = <&lcd0_in>;
664 lanes = <0 1 2 3 4 5>;
669 compatible = "tpo,taal", "panel-dsi-cm";
672 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
676 remote-endpoint = <&dsi1_out_ep>;
684 vdd-supply = <&vcxio>;
687 dsi2_out_ep: endpoint {
688 remote-endpoint = <&lcd1_in>;
689 lanes = <0 1 2 3 4 5>;
694 compatible = "tpo,taal", "panel-dsi-cm";
697 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
701 remote-endpoint = <&dsi2_out_ep>;
709 vdda-supply = <&vdac>;
713 remote-endpoint = <&tpd12s015_in>;