162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/ {
762306a36Sopenharmony_ci	/* regulator for wl12xx on sdio4 */
862306a36Sopenharmony_ci	wl12xx_vmmc: wl12xx_vmmc {
962306a36Sopenharmony_ci		pinctrl-names = "default";
1062306a36Sopenharmony_ci		pinctrl-0 = <&wl12xx_ctrl_pins>;
1162306a36Sopenharmony_ci		compatible = "regulator-fixed";
1262306a36Sopenharmony_ci		regulator-name = "vwl1271";
1362306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1462306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
1562306a36Sopenharmony_ci		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;	/* gpio 43 */
1662306a36Sopenharmony_ci		startup-delay-us = <70000>;
1762306a36Sopenharmony_ci		enable-active-high;
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci&omap4_pmx_core {
2262306a36Sopenharmony_ci	uart2_pins: uart2-pins {
2362306a36Sopenharmony_ci		pinctrl-single,pins = <
2462306a36Sopenharmony_ci			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_cts.uart2_cts */
2562306a36Sopenharmony_ci			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)		/* uart2_rts.uart2_rts */
2662306a36Sopenharmony_ci			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_rx.uart2_rx */
2762306a36Sopenharmony_ci			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)		/* uart2_tx.uart2_tx */
2862306a36Sopenharmony_ci		>;
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	wl12xx_ctrl_pins: wl12xx-ctrl-pins {
3262306a36Sopenharmony_ci		pinctrl-single,pins = <
3362306a36Sopenharmony_ci			OMAP4_IOPAD(0x062, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a17.gpio_41 (WLAN_IRQ) */
3462306a36Sopenharmony_ci			OMAP4_IOPAD(0x064, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a18.gpio_42 (BT_EN) */
3562306a36Sopenharmony_ci			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 (WLAN_EN) */
3662306a36Sopenharmony_ci		>;
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	mmc4_pins: mmc4-pins {
4062306a36Sopenharmony_ci		pinctrl-single,pins = <
4162306a36Sopenharmony_ci			OMAP4_IOPAD(0x154, PIN_INPUT_PULLUP | MUX_MODE1)	/* mcspi4_clk.sdmmc4_clk */
4262306a36Sopenharmony_ci			OMAP4_IOPAD(0x156, PIN_INPUT_PULLUP | MUX_MODE1)	/* mcspi4_simo.sdmmc4_cmd */
4362306a36Sopenharmony_ci			OMAP4_IOPAD(0x158, PIN_INPUT_PULLUP | MUX_MODE1)	/* mcspi4_somi.sdmmc4_dat0 */
4462306a36Sopenharmony_ci			OMAP4_IOPAD(0x15e, PIN_INPUT_PULLUP | MUX_MODE1)	/* uart4_tx.sdmmc4_dat1 */
4562306a36Sopenharmony_ci			OMAP4_IOPAD(0x15c, PIN_INPUT_PULLUP | MUX_MODE1)	/* uart4_rx.sdmmc4_dat2 */
4662306a36Sopenharmony_ci			OMAP4_IOPAD(0x15a, PIN_INPUT_PULLUP | MUX_MODE1)	/* mcspi4_cs0.sdmmc4_dat3 */
4762306a36Sopenharmony_ci		>;
4862306a36Sopenharmony_ci	};
4962306a36Sopenharmony_ci};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci&uart2 {
5262306a36Sopenharmony_ci	pinctrl-names = "default";
5362306a36Sopenharmony_ci	pinctrl-0 = <&uart2_pins>;
5462306a36Sopenharmony_ci	status = "okay";
5562306a36Sopenharmony_ci};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci&mmc4 {
5862306a36Sopenharmony_ci	pinctrl-names = "default";
5962306a36Sopenharmony_ci	pinctrl-0 = <&mmc4_pins>;
6062306a36Sopenharmony_ci	vmmc-supply = <&wl12xx_vmmc>;
6162306a36Sopenharmony_ci	non-removable;
6262306a36Sopenharmony_ci	bus-width = <4>;
6362306a36Sopenharmony_ci	cap-power-off-card;
6462306a36Sopenharmony_ci	status = "okay";
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	#address-cells = <1>;
6762306a36Sopenharmony_ci	#size-cells = <0>;
6862306a36Sopenharmony_ci	wlcore: wlcore@2 {
6962306a36Sopenharmony_ci		compatible = "ti,wl1271";
7062306a36Sopenharmony_ci		reg = <2>;
7162306a36Sopenharmony_ci		interrupt-parent = <&gpio2>;
7262306a36Sopenharmony_ci		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; /* gpio 41 */
7362306a36Sopenharmony_ci		ref-clock-frequency = <38400000>;
7462306a36Sopenharmony_ci	};
7562306a36Sopenharmony_ci};
76