162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Support for CompuLab CM-T3517
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci/dts-v1/;
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "am3517.dtsi"
862306a36Sopenharmony_ci#include "omap3-cm-t3x.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	model = "CompuLab CM-T3517";
1262306a36Sopenharmony_ci	compatible = "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	vmmc: regulator-vmmc {
1562306a36Sopenharmony_ci		compatible = "regulator-fixed";
1662306a36Sopenharmony_ci		regulator-name = "vmmc";
1762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
1862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	wl12xx_vmmc2: wl12xx_vmmc2 {
2262306a36Sopenharmony_ci		compatible = "regulator-fixed";
2362306a36Sopenharmony_ci		regulator-name = "vw1271";
2462306a36Sopenharmony_ci		pinctrl-names = "default";
2562306a36Sopenharmony_ci		pinctrl-0 = <
2662306a36Sopenharmony_ci				&wl12xx_wkup_pins
2762306a36Sopenharmony_ci				&wl12xx_core_pins
2862306a36Sopenharmony_ci			    >;
2962306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
3062306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
3162306a36Sopenharmony_ci		gpio = <&gpio1 6 GPIO_ACTIVE_HIGH >; /* gpio6 */
3262306a36Sopenharmony_ci		startup-delay-us = <20000>;
3362306a36Sopenharmony_ci		enable-active-high;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	wl12xx_vaux2: wl12xx_vaux2 {
3762306a36Sopenharmony_ci		compatible = "regulator-fixed";
3862306a36Sopenharmony_ci		regulator-name = "vwl1271_vaux2";
3962306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
4062306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci&omap3_pmx_wkup {
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	wl12xx_wkup_pins: wl12xx-wkup-pins {
4762306a36Sopenharmony_ci		pinctrl-single,pins = <
4862306a36Sopenharmony_ci			OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4)	/* sys_boot2.gpio_4 */
4962306a36Sopenharmony_ci			OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE4)	/* sys_boot4.gpio_6 */
5062306a36Sopenharmony_ci		>;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci&omap3_pmx_core {
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	phy1_reset_pins: hsusb1-phy-reset-pins {
5762306a36Sopenharmony_ci		pinctrl-single,pins = <
5862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE4)	/* uart2_tx.gpio_146 */
5962306a36Sopenharmony_ci		>;
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	phy2_reset_pins: hsusb2-phy-reset-pins {
6362306a36Sopenharmony_ci		pinctrl-single,pins = <
6462306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x217a, PIN_OUTPUT | MUX_MODE4)	/* uart2_rx.gpio_147 */
6562306a36Sopenharmony_ci		>;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	otg_drv_vbus: otg-drv-vbus-pins {
6962306a36Sopenharmony_ci		pinctrl-single,pins = <
7062306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50MHz_clk.usb0_drvvbus */
7162306a36Sopenharmony_ci		>;
7262306a36Sopenharmony_ci	};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	mmc2_pins: mmc2-pins {
7562306a36Sopenharmony_ci		pinctrl-single,pins = <
7662306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_clk.sdmmc2_clk */
7762306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_cmd.sdmmc2_cmd */
7862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat0.sdmmc2_dat0 */
7962306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat1.sdmmc2_dat1 */
8062306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat2.sdmmc2_dat2 */
8162306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat3.sdmmc2_dat3 */
8262306a36Sopenharmony_ci		>;
8362306a36Sopenharmony_ci	};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	wl12xx_core_pins: wl12xx-core-pins {
8662306a36Sopenharmony_ci		pinctrl-single,pins = <
8762306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20b8, PIN_OUTPUT | MUX_MODE4)	/* gpmc_ncs5.gpio_56 */
8862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2176, PIN_INPUT_PULLUP | MUX_MODE4)	/* uart2_rts.gpio_145 */
8962306a36Sopenharmony_ci		>;
9062306a36Sopenharmony_ci	};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	usb_hub_pins: usb-hub-pins {
9362306a36Sopenharmony_ci		pinctrl-single,pins = <
9462306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2184, PIN_OUTPUT | MUX_MODE4)	/* mcbsp4_clkx.gpio_152 - USB HUB RST */
9562306a36Sopenharmony_ci		>;
9662306a36Sopenharmony_ci	};
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&hsusb1_phy {
10062306a36Sopenharmony_ci	pinctrl-names = "default";
10162306a36Sopenharmony_ci	pinctrl-0 = <&phy1_reset_pins>;
10262306a36Sopenharmony_ci	reset-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>;
10362306a36Sopenharmony_ci};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci&hsusb2_phy {
10662306a36Sopenharmony_ci	pinctrl-names = "default";
10762306a36Sopenharmony_ci	pinctrl-0 = <&phy2_reset_pins>;
10862306a36Sopenharmony_ci	reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>;
10962306a36Sopenharmony_ci};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci&davinci_emac {
11262306a36Sopenharmony_ci	status = "okay";
11362306a36Sopenharmony_ci};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci&davinci_mdio {
11662306a36Sopenharmony_ci	status = "okay";
11762306a36Sopenharmony_ci};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci&am35x_otg_hs {
12062306a36Sopenharmony_ci	status = "okay";
12162306a36Sopenharmony_ci	pinctrl-names = "default";
12262306a36Sopenharmony_ci	pinctrl-0 = <&otg_drv_vbus>;
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&mmc1 {
12662306a36Sopenharmony_ci	vmmc-supply = <&vmmc>;
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&mmc2 {
13062306a36Sopenharmony_ci	pinctrl-names = "default";
13162306a36Sopenharmony_ci	pinctrl-0 = <&mmc2_pins>;
13262306a36Sopenharmony_ci	vmmc-supply = <&wl12xx_vmmc2>;
13362306a36Sopenharmony_ci	vqmmc-supply = <&wl12xx_vaux2>;
13462306a36Sopenharmony_ci	non-removable;
13562306a36Sopenharmony_ci	bus-width = <4>;
13662306a36Sopenharmony_ci	cap-power-off-card;
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci	#address-cells = <1>;
13962306a36Sopenharmony_ci	#size-cells = <0>;
14062306a36Sopenharmony_ci	wlcore: wlcore@2 {
14162306a36Sopenharmony_ci		compatible = "ti,wl1271";
14262306a36Sopenharmony_ci		reg = <2>;
14362306a36Sopenharmony_ci		interrupt-parent = <&gpio5>;
14462306a36Sopenharmony_ci		interrupts = <17 IRQ_TYPE_EDGE_RISING>; /* gpio 145 */
14562306a36Sopenharmony_ci		ref-clock-frequency = <38400000>;
14662306a36Sopenharmony_ci	};
14762306a36Sopenharmony_ci};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci&dss {
15062306a36Sopenharmony_ci	status = "okay";
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci	pinctrl-names = "default";
15362306a36Sopenharmony_ci	pinctrl-0 = <
15462306a36Sopenharmony_ci		&dss_dpi_pins_common
15562306a36Sopenharmony_ci		&dss_dpi_pins_cm_t35x
15662306a36Sopenharmony_ci	>;
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
159