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