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 */
28 vdd_eth: fixedregulator-vdd-eth {
29 pinctrl-names = "default";
30 pinctrl-0 = <&enet_enable_gpio>;
32 compatible = "regulator-fixed";
33 regulator-name = "VDD_ETH";
34 regulator-min-microvolt = <3300000>;
35 regulator-max-microvolt = <3300000>;
36 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
39 startup-delay-us = <25000>;
42 vbat: fixedregulator-vbat {
43 compatible = "regulator-fixed";
44 regulator-name = "VBAT";
45 regulator-min-microvolt = <3750000>;
46 regulator-max-microvolt = <3750000>;
51 compatible = "gpio-leds";
53 label = "omap4:green:debug0";
54 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
58 label = "omap4:green:debug1";
59 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
63 label = "omap4:green:debug2";
64 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
68 label = "omap4:green:debug3";
69 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
73 label = "omap4:green:debug4";
74 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
78 label = "omap4:blue:user";
79 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
83 label = "omap4:red:user";
84 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
88 label = "omap4:green:user";
89 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
94 compatible = "pwm-leds";
96 label = "omap4::keypad";
97 pwms = <&twl_pwm 0 7812500>;
98 max-brightness = <127>;
102 label = "omap4:green:chrg";
103 pwms = <&twl_pwmled 0 7812500>;
104 max-brightness = <255>;
109 compatible = "pwm-backlight";
110 pwms = <&twl_pwm 1 7812500>;
111 brightness-levels = <
116 default-brightness-level = <13>;
120 compatible = "ti,abe-twl6040";
121 ti,model = "SDP4430";
123 ti,jack-detection = <1>;
124 ti,mclk-freq = <38400000>;
129 ti,twl6040 = <&twl6040>;
133 "Headset Stereophone", "HSOL",
134 "Headset Stereophone", "HSOR",
135 "Earphone Spk", "EP",
140 "Vibrator", "VIBRAL",
141 "Vibrator", "VIBRAR",
142 "HSMIC", "Headset Mic",
143 "Headset Mic", "Headset Mic Bias",
144 "MAINMIC", "Main Handset Mic",
145 "Main Handset Mic", "Main Mic Bias",
146 "SUBMIC", "Sub Handset Mic",
147 "Sub Handset Mic", "Main Mic Bias",
150 "DMic", "Digital Mic",
151 "Digital Mic", "Digital Mic1 Bias";
154 /* regulator for wl12xx on sdio5 */
155 wl12xx_vmmc: wl12xx_vmmc {
156 pinctrl-names = "default";
157 pinctrl-0 = <&wl12xx_gpio>;
158 compatible = "regulator-fixed";
159 regulator-name = "vwl1271";
160 regulator-min-microvolt = <1800000>;
161 regulator-max-microvolt = <1800000>;
162 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
163 startup-delay-us = <70000>;
168 compatible = "ti,tpd12s015";
170 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
171 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
172 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
175 #address-cells = <1>;
181 tpd12s015_in: endpoint {
182 remote-endpoint = <&hdmi_out>;
189 tpd12s015_out: endpoint {
190 remote-endpoint = <&hdmi_connector_in>;
197 compatible = "hdmi-connector";
203 hdmi_connector_in: endpoint {
204 remote-endpoint = <&tpd12s015_out>;
211 pinctrl-names = "default";
217 uart2_pins: pinmux_uart2_pins {
218 pinctrl-single,pins = <
219 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
220 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
221 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
222 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
226 uart3_pins: pinmux_uart3_pins {
227 pinctrl-single,pins = <
228 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
229 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
230 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
231 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
235 uart4_pins: pinmux_uart4_pins {
236 pinctrl-single,pins = <
237 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
238 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
242 twl6040_pins: pinmux_twl6040_pins {
243 pinctrl-single,pins = <
244 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
245 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
249 mcpdm_pins: pinmux_mcpdm_pins {
250 pinctrl-single,pins = <
251 OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
252 OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
253 OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
254 OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
255 OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
259 dmic_pins: pinmux_dmic_pins {
260 pinctrl-single,pins = <
261 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
262 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
263 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
264 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
268 mcbsp1_pins: pinmux_mcbsp1_pins {
269 pinctrl-single,pins = <
270 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
271 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
272 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
273 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
277 mcbsp2_pins: pinmux_mcbsp2_pins {
278 pinctrl-single,pins = <
279 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
280 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
281 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
282 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
286 mcspi1_pins: pinmux_mcspi1_pins {
287 pinctrl-single,pins = <
288 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
289 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
290 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
291 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
295 dss_hdmi_pins: pinmux_dss_hdmi_pins {
296 pinctrl-single,pins = <
297 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
298 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
299 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
303 tpd12s015_pins: pinmux_tpd12s015_pins {
304 pinctrl-single,pins = <
305 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
306 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
307 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
311 i2c1_pins: pinmux_i2c1_pins {
312 pinctrl-single,pins = <
313 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
314 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
318 i2c2_pins: pinmux_i2c2_pins {
319 pinctrl-single,pins = <
320 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
321 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
325 i2c3_pins: pinmux_i2c3_pins {
326 pinctrl-single,pins = <
327 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
328 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
332 i2c4_pins: pinmux_i2c4_pins {
333 pinctrl-single,pins = <
334 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
335 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
339 /* wl12xx GPIO output for WLAN_EN */
340 wl12xx_gpio: pinmux_wl12xx_gpio {
341 pinctrl-single,pins = <
342 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
346 /* wl12xx GPIO inputs and SDIO pins */
347 wl12xx_pins: pinmux_wl12xx_pins {
348 pinctrl-single,pins = <
349 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
350 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
351 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
352 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
353 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
354 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
355 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
359 /* gpio_48 for ENET_ENABLE */
360 enet_enable_gpio: pinmux_enet_enable_gpio {
361 pinctrl-single,pins = <
362 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
366 ks8851_pins: pinmux_ks8851_pins {
367 pinctrl-single,pins = <
369 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
371 * Misterious pin which makes the ethernet working
372 * The legacy board file requested this pin on boot
373 * (ETH_KS8851_QUART) and set it to high, similarly to
374 * the ENET_ENABLE pin.
375 * We could use gpio-hog to keep it high, but let's use
376 * it as a reset GPIO for ks8851.
378 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
384 pinctrl-names = "default";
385 pinctrl-0 = <&i2c1_pins>;
387 clock-frequency = <400000>;
391 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
392 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
396 compatible = "ti,twl6040";
400 pinctrl-names = "default";
401 pinctrl-0 = <&twl6040_pins>;
403 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
404 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
405 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
407 vio-supply = <&v1v8>;
408 v2v1-supply = <&v2v1>;
411 /* regulators for vibra motor */
412 vddvibl-supply = <&vbat>;
413 vddvibr-supply = <&vbat>;
416 /* Vibra driver, motor resistance parameters */
417 ti,vibldrv-res = <8>;
418 ti,vibrdrv-res = <3>;
419 ti,viblmotor-res = <10>;
420 ti,vibrmotor-res = <10>;
425 #include "twl6030.dtsi"
426 #include "twl6030_omap4.dtsi"
429 pinctrl-names = "default";
430 pinctrl-0 = <&i2c2_pins>;
432 clock-frequency = <400000>;
436 pinctrl-names = "default";
437 pinctrl-0 = <&i2c3_pins>;
439 clock-frequency = <400000>;
443 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
446 compatible = "ti,tmp105";
451 * Ambient Light Sensor
452 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
455 compatible = "rohm,bh1780";
461 pinctrl-names = "default";
462 pinctrl-0 = <&i2c4_pins>;
464 clock-frequency = <400000>;
467 * 3-Axis Digital Compass
468 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
471 compatible = "honeywell,hmc5843";
477 pinctrl-names = "default";
478 pinctrl-0 = <&mcspi1_pins>;
481 pinctrl-names = "default";
482 pinctrl-0 = <&ks8851_pins>;
484 compatible = "ks8851";
485 spi-max-frequency = <24000000>;
487 interrupt-parent = <&gpio2>;
488 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
489 vdd-supply = <&vdd_eth>;
490 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
495 vmmc-supply = <&vmmc>;
500 vmmc-supply = <&vaux1>;
514 pinctrl-names = "default";
515 pinctrl-0 = <&wl12xx_pins>;
516 vmmc-supply = <&wl12xx_vmmc>;
521 #address-cells = <1>;
524 compatible = "ti,wl1281";
526 interrupt-parent = <&gpio1>;
527 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
528 ref-clock-frequency = <26000000>;
529 tcxo-clock-frequency = <26000000>;
535 device-handle = <&elpida_ECB240ABACN>;
540 device-handle = <&elpida_ECB240ABACN>;
544 keypad,num-rows = <8>;
545 keypad,num-columns = <8>;
546 linux,keymap = <0x00000012 /* KEY_E */
547 0x00010013 /* KEY_R */
548 0x00020014 /* KEY_T */
549 0x00030066 /* KEY_HOME */
550 0x0004003f /* KEY_F5 */
551 0x000500f0 /* KEY_UNKNOWN */
552 0x00060017 /* KEY_I */
553 0x0007002a /* KEY_LEFTSHIFT */
554 0x01000020 /* KEY_D*/
555 0x01010021 /* KEY_F */
556 0x01020022 /* KEY_G */
557 0x010300e7 /* KEY_SEND */
558 0x01040040 /* KEY_F6 */
559 0x010500f0 /* KEY_UNKNOWN */
560 0x01060025 /* KEY_K */
561 0x0107001c /* KEY_ENTER */
562 0x0200002d /* KEY_X */
563 0x0201002e /* KEY_C */
564 0x0202002f /* KEY_V */
565 0x0203006b /* KEY_END */
566 0x02040041 /* KEY_F7 */
567 0x020500f0 /* KEY_UNKNOWN */
568 0x02060034 /* KEY_DOT */
569 0x0207003a /* KEY_CAPSLOCK */
570 0x0300002c /* KEY_Z */
571 0x0301004e /* KEY_KPLUS */
572 0x03020030 /* KEY_B */
573 0x0303003b /* KEY_F1 */
574 0x03040042 /* KEY_F8 */
575 0x030500f0 /* KEY_UNKNOWN */
576 0x03060018 /* KEY_O */
577 0x03070039 /* KEY_SPACE */
578 0x04000011 /* KEY_W */
579 0x04010015 /* KEY_Y */
580 0x04020016 /* KEY_U */
581 0x0403003c /* KEY_F2 */
582 0x04040073 /* KEY_VOLUMEUP */
583 0x040500f0 /* KEY_UNKNOWN */
584 0x04060026 /* KEY_L */
585 0x04070069 /* KEY_LEFT */
586 0x0500001f /* KEY_S */
587 0x05010023 /* KEY_H */
588 0x05020024 /* KEY_J */
589 0x0503003d /* KEY_F3 */
590 0x05040043 /* KEY_F9 */
591 0x05050072 /* KEY_VOLUMEDOWN */
592 0x05060032 /* KEY_M */
593 0x0507006a /* KEY_RIGHT */
594 0x06000010 /* KEY_Q */
595 0x0601001e /* KEY_A */
596 0x06020031 /* KEY_N */
597 0x0603009e /* KEY_BACK */
598 0x0604000e /* KEY_BACKSPACE */
599 0x060500f0 /* KEY_UNKNOWN */
600 0x06060019 /* KEY_P */
601 0x06070067 /* KEY_UP */
602 0x07000094 /* KEY_PROG1 */
603 0x07010095 /* KEY_PROG2 */
604 0x070200ca /* KEY_PROG3 */
605 0x070300cb /* KEY_PROG4 */
606 0x0704003e /* KEY_F4 */
607 0x070500f0 /* KEY_UNKNOWN */
608 0x07060160 /* KEY_OK */
609 0x0707006c>; /* KEY_DOWN */
610 linux,input-no-autorepeat;
614 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
615 &omap4_pmx_core OMAP4_UART2_RX>;
616 pinctrl-names = "default";
617 pinctrl-0 = <&uart2_pins>;
621 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
622 &omap4_pmx_core OMAP4_UART3_RX>;
623 pinctrl-names = "default";
624 pinctrl-0 = <&uart3_pins>;
628 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
629 &omap4_pmx_core OMAP4_UART4_RX>;
630 pinctrl-names = "default";
631 pinctrl-0 = <&uart4_pins>;
635 pinctrl-names = "default";
636 pinctrl-0 = <&mcbsp1_pins>;
641 pinctrl-names = "default";
642 pinctrl-0 = <&mcbsp2_pins>;
647 pinctrl-names = "default";
648 pinctrl-0 = <&dmic_pins>;
653 pinctrl-names = "default";
654 pinctrl-0 = <&mcpdm_pins>;
657 clock-names = "pdmclk";
662 &twl_usb_comparator {
663 usb-supply = <&vusb>;
667 interface-type = <1>;
678 vdd-supply = <&vcxio>;
681 dsi1_out_ep: endpoint {
682 remote-endpoint = <&lcd0_in>;
683 lanes = <0 1 2 3 4 5>;
688 compatible = "tpo,taal", "panel-dsi-cm";
691 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
695 remote-endpoint = <&dsi1_out_ep>;
703 vdd-supply = <&vcxio>;
706 dsi2_out_ep: endpoint {
707 remote-endpoint = <&lcd1_in>;
708 lanes = <0 1 2 3 4 5>;
713 compatible = "tpo,taal", "panel-dsi-cm";
716 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
720 remote-endpoint = <&dsi2_out_ep>;
728 vdda-supply = <&vdac>;
732 remote-endpoint = <&tpd12s015_in>;