1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License version 2 as
4 * published by the Free Software Foundation.
5 */
6
7/dts-v1/;
8
9#include "omap36xx.dtsi"
10#include "logicpd-torpedo-som.dtsi"
11#include "omap-gpmc-smsc9221.dtsi"
12#include "logicpd-torpedo-baseboard.dtsi"
13
14/ {
15	model = "LogicPD Zoom DM3730 Torpedo + Wireless Development Kit";
16	compatible = "logicpd,dm3730-torpedo-devkit", "ti,omap3630", "ti,omap3";
17
18	wl12xx_vmmc: wl12xx_vmmc {
19		compatible = "regulator-fixed";
20		regulator-name = "vwl1271";
21		regulator-min-microvolt = <1800000>;
22		regulator-max-microvolt = <1800000>;
23		gpio = <&gpio5 29 0>;   /* gpio157 */
24		startup-delay-us = <70000>;
25		enable-active-high;
26		vin-supply = <&vmmc2>;
27	};
28};
29
30/*
31 * Only found on the wireless SOM. For the SOM without wireless, the pins for
32 * MMC3 can be routed with jumpers to the second MMC slot on the devkit and
33 * gpio157 is not connected. So this should be OK to keep common for now,
34 * probably device tree overlays is the way to go with the various SOM and
35 * jumpering combinations for the long run.
36 */
37&mmc3 {
38	interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>;
39	pinctrl-0 = <&mmc3_pins &mmc3_core2_pins>;
40	pinctrl-names = "default";
41	vmmc-supply = <&wl12xx_vmmc>;
42	non-removable;
43	bus-width = <4>;
44	cap-power-off-card;
45	#address-cells = <1>;
46	#size-cells = <0>;
47	wlcore: wlcore@2 {
48		compatible = "ti,wl1283";
49		reg = <2>;
50		interrupt-parent = <&gpio5>;
51		interrupts = <24 IRQ_TYPE_EDGE_RISING>; /* gpio 152 */
52		ref-clock-frequency = <26000000>;
53		tcxo-clock-frequency = <26000000>;
54	};
55};
56
57&omap3_pmx_core {
58	mmc3_pins: pinmux_mm3_pins {
59		pinctrl-single,pins = <
60			OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE3)	/* sdmmc2_dat4.sdmmc3_dat0 */
61			OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE3)	/* sdmmc2_dat5.sdmmc3_dat1 */
62			OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE3)	/* sdmmc2_dat6.sdmmc3_dat2 */
63			OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE3)	/* sdmmc2_dat6.sdmmc3_dat3 */
64			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4)	/* mcbsp4_clkx.gpio_152 */
65			OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)	/* mcbsp1_fsr.gpio_157 */
66		>;
67	};
68};
69
70&omap3_pmx_core2 {
71	mmc3_core2_pins: pinmux_mmc3_core2_pins {
72		pinctrl-single,pins = <
73			OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2)   /* etk_clk.sdmmc3_clk */
74			OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2)   /* etk_ctl.sdmmc3_cmd */
75		>;
76	};
77};
78