1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
7 #include "omap443x.dtsi"
8 #include "elpida_ecb240abacn.dtsi"
9 #include "omap4-mcpdm.dtsi"
12 model = "TI OMAP4 SDP board";
13 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16 device_type = "memory";
17 reg = <0x80000000 0x40000000>; /* 1 GB */
26 vdd_eth: fixedregulator-vdd-eth {
27 pinctrl-names = "default";
28 pinctrl-0 = <&enet_enable_gpio>;
30 compatible = "regulator-fixed";
31 regulator-name = "VDD_ETH";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
37 startup-delay-us = <25000>;
40 vbat: fixedregulator-vbat {
41 compatible = "regulator-fixed";
42 regulator-name = "VBAT";
43 regulator-min-microvolt = <3750000>;
44 regulator-max-microvolt = <3750000>;
49 compatible = "gpio-leds";
51 label = "omap4:green:debug0";
52 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
56 label = "omap4:green:debug1";
57 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
61 label = "omap4:green:debug2";
62 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
66 label = "omap4:green:debug3";
67 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
71 label = "omap4:green:debug4";
72 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
76 label = "omap4:blue:user";
77 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
81 label = "omap4:red:user";
82 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
86 label = "omap4:green:user";
87 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
92 compatible = "pwm-leds";
94 label = "omap4::keypad";
95 pwms = <&twl_pwm 0 7812500>;
96 max-brightness = <127>;
100 label = "omap4:green:chrg";
101 pwms = <&twl_pwmled 0 7812500>;
102 max-brightness = <255>;
107 compatible = "pwm-backlight";
108 pwms = <&twl_pwm 1 7812500>;
109 brightness-levels = <
114 default-brightness-level = <13>;
118 compatible = "ti,abe-twl6040";
119 ti,model = "SDP4430";
121 ti,jack-detection = <1>;
122 ti,mclk-freq = <38400000>;
127 ti,twl6040 = <&twl6040>;
131 "Headset Stereophone", "HSOL",
132 "Headset Stereophone", "HSOR",
133 "Earphone Spk", "EP",
138 "Vibrator", "VIBRAL",
139 "Vibrator", "VIBRAR",
140 "HSMIC", "Headset Mic",
141 "Headset Mic", "Headset Mic Bias",
142 "MAINMIC", "Main Handset Mic",
143 "Main Handset Mic", "Main Mic Bias",
144 "SUBMIC", "Sub Handset Mic",
145 "Sub Handset Mic", "Main Mic Bias",
148 "DMic", "Digital Mic",
149 "Digital Mic", "Digital Mic1 Bias";
152 /* regulator for wl12xx on sdio5 */
153 wl12xx_vmmc: wl12xx_vmmc {
154 pinctrl-names = "default";
155 pinctrl-0 = <&wl12xx_gpio>;
156 compatible = "regulator-fixed";
157 regulator-name = "vwl1271";
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
160 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
161 startup-delay-us = <70000>;
166 compatible = "ti,tpd12s015";
168 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
169 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
170 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
173 #address-cells = <1>;
179 tpd12s015_in: endpoint {
180 remote-endpoint = <&hdmi_out>;
187 tpd12s015_out: endpoint {
188 remote-endpoint = <&hdmi_connector_in>;
195 compatible = "hdmi-connector";
201 hdmi_connector_in: endpoint {
202 remote-endpoint = <&tpd12s015_out>;
209 pinctrl-names = "default";
215 uart2_pins: pinmux_uart2_pins {
216 pinctrl-single,pins = <
217 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
218 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
219 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
220 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
224 uart3_pins: pinmux_uart3_pins {
225 pinctrl-single,pins = <
226 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
227 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
228 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
229 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
233 uart4_pins: pinmux_uart4_pins {
234 pinctrl-single,pins = <
235 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
236 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
240 twl6040_pins: pinmux_twl6040_pins {
241 pinctrl-single,pins = <
242 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
243 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
247 dmic_pins: pinmux_dmic_pins {
248 pinctrl-single,pins = <
249 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
250 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
251 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
252 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
256 mcbsp1_pins: pinmux_mcbsp1_pins {
257 pinctrl-single,pins = <
258 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
259 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
260 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
261 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
265 mcbsp2_pins: pinmux_mcbsp2_pins {
266 pinctrl-single,pins = <
267 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
268 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
269 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
270 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
274 mcspi1_pins: pinmux_mcspi1_pins {
275 pinctrl-single,pins = <
276 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
277 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
278 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
279 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
283 dss_hdmi_pins: pinmux_dss_hdmi_pins {
284 pinctrl-single,pins = <
285 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
286 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
287 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
291 tpd12s015_pins: pinmux_tpd12s015_pins {
292 pinctrl-single,pins = <
293 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
294 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
295 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
299 i2c1_pins: pinmux_i2c1_pins {
300 pinctrl-single,pins = <
301 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
302 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
306 i2c2_pins: pinmux_i2c2_pins {
307 pinctrl-single,pins = <
308 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
309 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
313 i2c3_pins: pinmux_i2c3_pins {
314 pinctrl-single,pins = <
315 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
316 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
320 i2c4_pins: pinmux_i2c4_pins {
321 pinctrl-single,pins = <
322 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
323 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
327 /* wl12xx GPIO output for WLAN_EN */
328 wl12xx_gpio: pinmux_wl12xx_gpio {
329 pinctrl-single,pins = <
330 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
334 /* wl12xx GPIO inputs and SDIO pins */
335 wl12xx_pins: pinmux_wl12xx_pins {
336 pinctrl-single,pins = <
337 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
338 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
339 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
340 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
341 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
342 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
343 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
347 /* gpio_48 for ENET_ENABLE */
348 enet_enable_gpio: pinmux_enet_enable_gpio {
349 pinctrl-single,pins = <
350 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
354 ks8851_pins: pinmux_ks8851_pins {
355 pinctrl-single,pins = <
357 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
359 * Misterious pin which makes the ethernet working
360 * The legacy board file requested this pin on boot
361 * (ETH_KS8851_QUART) and set it to high, similarly to
362 * the ENET_ENABLE pin.
363 * We could use gpio-hog to keep it high, but let's use
364 * it as a reset GPIO for ks8851.
366 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
372 pinctrl-names = "default";
373 pinctrl-0 = <&i2c1_pins>;
375 clock-frequency = <400000>;
379 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
380 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
384 compatible = "ti,twl6040";
388 pinctrl-names = "default";
389 pinctrl-0 = <&twl6040_pins>;
391 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
392 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
393 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
395 vio-supply = <&v1v8>;
396 v2v1-supply = <&v2v1>;
399 /* regulators for vibra motor */
400 vddvibl-supply = <&vbat>;
401 vddvibr-supply = <&vbat>;
404 /* Vibra driver, motor resistance parameters */
405 ti,vibldrv-res = <8>;
406 ti,vibrdrv-res = <3>;
407 ti,viblmotor-res = <10>;
408 ti,vibrmotor-res = <10>;
413 #include "twl6030.dtsi"
414 #include "twl6030_omap4.dtsi"
417 pinctrl-names = "default";
418 pinctrl-0 = <&i2c2_pins>;
420 clock-frequency = <400000>;
424 pinctrl-names = "default";
425 pinctrl-0 = <&i2c3_pins>;
427 clock-frequency = <400000>;
431 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
434 compatible = "ti,tmp105";
439 * Ambient Light Sensor
440 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
443 compatible = "rohm,bh1780";
449 pinctrl-names = "default";
450 pinctrl-0 = <&i2c4_pins>;
452 clock-frequency = <400000>;
455 * 3-Axis Digital Compass
456 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
459 compatible = "honeywell,hmc5843";
465 pinctrl-names = "default";
466 pinctrl-0 = <&mcspi1_pins>;
469 pinctrl-names = "default";
470 pinctrl-0 = <&ks8851_pins>;
472 compatible = "ks8851";
473 spi-max-frequency = <24000000>;
475 interrupt-parent = <&gpio2>;
476 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
477 vdd-supply = <&vdd_eth>;
478 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
483 vmmc-supply = <&vmmc>;
488 vmmc-supply = <&vaux1>;
502 pinctrl-names = "default";
503 pinctrl-0 = <&wl12xx_pins>;
504 vmmc-supply = <&wl12xx_vmmc>;
509 #address-cells = <1>;
512 compatible = "ti,wl1281";
514 interrupt-parent = <&gpio1>;
515 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
516 ref-clock-frequency = <26000000>;
517 tcxo-clock-frequency = <26000000>;
523 device-handle = <&elpida_ECB240ABACN>;
528 device-handle = <&elpida_ECB240ABACN>;
532 keypad,num-rows = <8>;
533 keypad,num-columns = <8>;
534 linux,keymap = <0x00000012 /* KEY_E */
535 0x00010013 /* KEY_R */
536 0x00020014 /* KEY_T */
537 0x00030066 /* KEY_HOME */
538 0x0004003f /* KEY_F5 */
539 0x000500f0 /* KEY_UNKNOWN */
540 0x00060017 /* KEY_I */
541 0x0007002a /* KEY_LEFTSHIFT */
542 0x01000020 /* KEY_D*/
543 0x01010021 /* KEY_F */
544 0x01020022 /* KEY_G */
545 0x010300e7 /* KEY_SEND */
546 0x01040040 /* KEY_F6 */
547 0x010500f0 /* KEY_UNKNOWN */
548 0x01060025 /* KEY_K */
549 0x0107001c /* KEY_ENTER */
550 0x0200002d /* KEY_X */
551 0x0201002e /* KEY_C */
552 0x0202002f /* KEY_V */
553 0x0203006b /* KEY_END */
554 0x02040041 /* KEY_F7 */
555 0x020500f0 /* KEY_UNKNOWN */
556 0x02060034 /* KEY_DOT */
557 0x0207003a /* KEY_CAPSLOCK */
558 0x0300002c /* KEY_Z */
559 0x0301004e /* KEY_KPLUS */
560 0x03020030 /* KEY_B */
561 0x0303003b /* KEY_F1 */
562 0x03040042 /* KEY_F8 */
563 0x030500f0 /* KEY_UNKNOWN */
564 0x03060018 /* KEY_O */
565 0x03070039 /* KEY_SPACE */
566 0x04000011 /* KEY_W */
567 0x04010015 /* KEY_Y */
568 0x04020016 /* KEY_U */
569 0x0403003c /* KEY_F2 */
570 0x04040073 /* KEY_VOLUMEUP */
571 0x040500f0 /* KEY_UNKNOWN */
572 0x04060026 /* KEY_L */
573 0x04070069 /* KEY_LEFT */
574 0x0500001f /* KEY_S */
575 0x05010023 /* KEY_H */
576 0x05020024 /* KEY_J */
577 0x0503003d /* KEY_F3 */
578 0x05040043 /* KEY_F9 */
579 0x05050072 /* KEY_VOLUMEDOWN */
580 0x05060032 /* KEY_M */
581 0x0507006a /* KEY_RIGHT */
582 0x06000010 /* KEY_Q */
583 0x0601001e /* KEY_A */
584 0x06020031 /* KEY_N */
585 0x0603009e /* KEY_BACK */
586 0x0604000e /* KEY_BACKSPACE */
587 0x060500f0 /* KEY_UNKNOWN */
588 0x06060019 /* KEY_P */
589 0x06070067 /* KEY_UP */
590 0x07000094 /* KEY_PROG1 */
591 0x07010095 /* KEY_PROG2 */
592 0x070200ca /* KEY_PROG3 */
593 0x070300cb /* KEY_PROG4 */
594 0x0704003e /* KEY_F4 */
595 0x070500f0 /* KEY_UNKNOWN */
596 0x07060160 /* KEY_OK */
597 0x0707006c>; /* KEY_DOWN */
598 linux,input-no-autorepeat;
602 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
603 &omap4_pmx_core OMAP4_UART2_RX>;
604 pinctrl-names = "default";
605 pinctrl-0 = <&uart2_pins>;
609 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
610 &omap4_pmx_core OMAP4_UART3_RX>;
611 pinctrl-names = "default";
612 pinctrl-0 = <&uart3_pins>;
616 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
617 &omap4_pmx_core OMAP4_UART4_RX>;
618 pinctrl-names = "default";
619 pinctrl-0 = <&uart4_pins>;
623 pinctrl-names = "default";
624 pinctrl-0 = <&mcbsp1_pins>;
629 pinctrl-names = "default";
630 pinctrl-0 = <&mcbsp2_pins>;
635 pinctrl-names = "default";
636 pinctrl-0 = <&dmic_pins>;
640 &twl_usb_comparator {
641 usb-supply = <&vusb>;
645 interface-type = <1>;
656 vdd-supply = <&vcxio>;
659 dsi1_out_ep: endpoint {
660 remote-endpoint = <&lcd0_in>;
661 lanes = <0 1 2 3 4 5>;
666 compatible = "tpo,taal", "panel-dsi-cm";
669 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
673 remote-endpoint = <&dsi1_out_ep>;
681 vdd-supply = <&vcxio>;
684 dsi2_out_ep: endpoint {
685 remote-endpoint = <&lcd1_in>;
686 lanes = <0 1 2 3 4 5>;
691 compatible = "tpo,taal", "panel-dsi-cm";
694 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
698 remote-endpoint = <&dsi2_out_ep>;
706 vdda-supply = <&vdac>;
710 remote-endpoint = <&tpd12s015_in>;