162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2018 Protonic Holland
462306a36Sopenharmony_ci * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include "imx6qp.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	model = "Protonic WD3 board";
1362306a36Sopenharmony_ci	compatible = "prt,prtwd3", "fsl,imx6qp";
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	chosen {
1662306a36Sopenharmony_ci		stdout-path = &uart4;
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	memory@10000000 {
2062306a36Sopenharmony_ci		device_type = "memory";
2162306a36Sopenharmony_ci		reg = <0x10000000 0x20000000>;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	memory@80000000 {
2562306a36Sopenharmony_ci		device_type = "memory";
2662306a36Sopenharmony_ci		reg = <0x80000000 0x20000000>;
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	clock_ksz8081: clock-ksz8081 {
3062306a36Sopenharmony_ci		compatible = "fixed-clock";
3162306a36Sopenharmony_ci		#clock-cells = <0>;
3262306a36Sopenharmony_ci		clock-frequency = <50000000>;
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	clock_ksz9031: clock-ksz9031 {
3662306a36Sopenharmony_ci		compatible = "fixed-clock";
3762306a36Sopenharmony_ci		#clock-cells = <0>;
3862306a36Sopenharmony_ci		clock-frequency = <25000000>;
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	clock_mcp251xfd: clock-mcp251xfd {
4262306a36Sopenharmony_ci		compatible = "fixed-clock";
4362306a36Sopenharmony_ci		#clock-cells = <0>;
4462306a36Sopenharmony_ci		clock-frequency = <20000000>;
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	clock_sja1105: clock-sja1105 {
4862306a36Sopenharmony_ci		compatible = "fixed-clock";
4962306a36Sopenharmony_ci		#clock-cells = <0>;
5062306a36Sopenharmony_ci		clock-frequency = <25000000>;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	mdio {
5462306a36Sopenharmony_ci		compatible = "virtual,mdio-gpio";
5562306a36Sopenharmony_ci		pinctrl-names = "default";
5662306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_mdio>;
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		#address-cells = <1>;
5962306a36Sopenharmony_ci		#size-cells = <0>;
6062306a36Sopenharmony_ci		gpios = <&gpio5 6 GPIO_ACTIVE_HIGH
6162306a36Sopenharmony_ci			 &gpio5 7 GPIO_ACTIVE_HIGH>;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		/* Microchip KSZ8081 */
6462306a36Sopenharmony_ci		usbeth_phy: ethernet-phy@3 {
6562306a36Sopenharmony_ci			reg = <0x3>;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci			interrupts-extended = <&gpio5 12 IRQ_TYPE_LEVEL_LOW>;
6862306a36Sopenharmony_ci			reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
6962306a36Sopenharmony_ci			reset-assert-us = <500>;
7062306a36Sopenharmony_ci			reset-deassert-us = <1000>;
7162306a36Sopenharmony_ci			clocks = <&clock_ksz8081>;
7262306a36Sopenharmony_ci			clock-names = "rmii-ref";
7362306a36Sopenharmony_ci			micrel,led-mode = <0>;
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		tja1102_phy0: ethernet-phy@4 {
7762306a36Sopenharmony_ci			reg = <0x4>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci			interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
8062306a36Sopenharmony_ci			reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
8162306a36Sopenharmony_ci			reset-assert-us = <20>;
8262306a36Sopenharmony_ci			reset-deassert-us = <2000>;
8362306a36Sopenharmony_ci			#address-cells = <1>;
8462306a36Sopenharmony_ci			#size-cells = <0>;
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci			tja1102_phy1: ethernet-phy@5 {
8762306a36Sopenharmony_ci				reg = <0x5>;
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci				interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
9062306a36Sopenharmony_ci			};
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	reg_5v0: regulator-5v0 {
9562306a36Sopenharmony_ci		compatible = "regulator-fixed";
9662306a36Sopenharmony_ci		regulator-name = "5v0";
9762306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
9862306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	reg_otg_vbus: regulator-otg-vbus {
10262306a36Sopenharmony_ci		compatible = "regulator-fixed";
10362306a36Sopenharmony_ci		regulator-name = "otg-vbus";
10462306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
10562306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
10662306a36Sopenharmony_ci		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
10762306a36Sopenharmony_ci		enable-active-high;
10862306a36Sopenharmony_ci	};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	usdhc2_wifi_pwrseq: usdhc2-wifi-pwrseq {
11162306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
11262306a36Sopenharmony_ci		pinctrl-names = "default";
11362306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_wifi_npd>;
11462306a36Sopenharmony_ci		reset-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>;
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci&can1 {
11962306a36Sopenharmony_ci	pinctrl-names = "default";
12062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_can1>;
12162306a36Sopenharmony_ci	xceiver-supply = <&reg_5v0>;
12262306a36Sopenharmony_ci	status = "okay";
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&ecspi2 {
12662306a36Sopenharmony_ci	cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
12762306a36Sopenharmony_ci	pinctrl-names = "default";
12862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_ecspi2>;
12962306a36Sopenharmony_ci	status = "okay";
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	switch@0 {
13262306a36Sopenharmony_ci		compatible = "nxp,sja1105q";
13362306a36Sopenharmony_ci		reg = <0>;
13462306a36Sopenharmony_ci		spi-max-frequency = <4000000>;
13562306a36Sopenharmony_ci		spi-rx-delay-us = <1>;
13662306a36Sopenharmony_ci		spi-tx-delay-us = <1>;
13762306a36Sopenharmony_ci		spi-cpha;
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		clocks = <&clock_sja1105>;
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci		ports {
14462306a36Sopenharmony_ci			#address-cells = <1>;
14562306a36Sopenharmony_ci			#size-cells = <0>;
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci			port@0 {
14862306a36Sopenharmony_ci				reg = <0>;
14962306a36Sopenharmony_ci				label = "usb";
15062306a36Sopenharmony_ci				phy-handle = <&usbeth_phy>;
15162306a36Sopenharmony_ci				phy-mode = "rmii";
15262306a36Sopenharmony_ci			};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci			port@1 {
15562306a36Sopenharmony_ci				reg = <1>;
15662306a36Sopenharmony_ci				label = "t1slave";
15762306a36Sopenharmony_ci				phy-handle = <&tja1102_phy1>;
15862306a36Sopenharmony_ci				phy-mode = "rmii";
15962306a36Sopenharmony_ci			};
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci			port@2 {
16262306a36Sopenharmony_ci				reg = <2>;
16362306a36Sopenharmony_ci				label = "t1master";
16462306a36Sopenharmony_ci				phy-handle = <&tja1102_phy0>;
16562306a36Sopenharmony_ci				phy-mode = "rmii";
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci			};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci			port@3 {
17062306a36Sopenharmony_ci				reg = <3>;
17162306a36Sopenharmony_ci				label = "rj45";
17262306a36Sopenharmony_ci				phy-handle = <&rgmii_phy>;
17362306a36Sopenharmony_ci				phy-mode = "rgmii-id";
17462306a36Sopenharmony_ci			};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci			port@4 {
17762306a36Sopenharmony_ci				reg = <4>;
17862306a36Sopenharmony_ci				label = "cpu";
17962306a36Sopenharmony_ci				ethernet = <&fec>;
18062306a36Sopenharmony_ci				phy-mode = "rgmii-id";
18162306a36Sopenharmony_ci				rx-internal-delay-ps = <2000>;
18262306a36Sopenharmony_ci				tx-internal-delay-ps = <2000>;
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci				fixed-link {
18562306a36Sopenharmony_ci					speed = <100>;
18662306a36Sopenharmony_ci					full-duplex;
18762306a36Sopenharmony_ci				};
18862306a36Sopenharmony_ci			};
18962306a36Sopenharmony_ci		};
19062306a36Sopenharmony_ci	};
19162306a36Sopenharmony_ci};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci&ecspi3 {
19462306a36Sopenharmony_ci	cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
19562306a36Sopenharmony_ci	pinctrl-names = "default";
19662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_ecspi3>;
19762306a36Sopenharmony_ci	status = "okay";
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci	can@0 {
20062306a36Sopenharmony_ci		compatible = "microchip,mcp251xfd";
20162306a36Sopenharmony_ci		pinctrl-names = "default";
20262306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_can2>;
20362306a36Sopenharmony_ci		reg = <0>;
20462306a36Sopenharmony_ci		clocks = <&clock_mcp251xfd>;
20562306a36Sopenharmony_ci		spi-max-frequency = <10000000>;
20662306a36Sopenharmony_ci		interrupts-extended = <&gpio4 25 IRQ_TYPE_LEVEL_LOW>;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci&fec {
21162306a36Sopenharmony_ci	pinctrl-names = "default";
21262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_enet>;
21362306a36Sopenharmony_ci	assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF>;
21462306a36Sopenharmony_ci	assigned-clock-rates = <125000000>;
21562306a36Sopenharmony_ci	status = "okay";
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci	phy-mode = "rgmii";
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci	fixed-link {
22062306a36Sopenharmony_ci		speed = <100>;
22162306a36Sopenharmony_ci		full-duplex;
22262306a36Sopenharmony_ci	};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci	mdio {
22562306a36Sopenharmony_ci		#address-cells = <1>;
22662306a36Sopenharmony_ci		#size-cells = <0>;
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci		/* Microchip KSZ9031 */
22962306a36Sopenharmony_ci		rgmii_phy: ethernet-phy@2 {
23062306a36Sopenharmony_ci			reg = <2>;
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci			interrupts-extended = <&gpio1 28 IRQ_TYPE_EDGE_FALLING>;
23362306a36Sopenharmony_ci			reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
23462306a36Sopenharmony_ci			reset-assert-us = <10000>;
23562306a36Sopenharmony_ci			reset-deassert-us = <1000>;
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci			clocks = <&clock_ksz9031>;
23862306a36Sopenharmony_ci		};
23962306a36Sopenharmony_ci	};
24062306a36Sopenharmony_ci};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci&gpio1 {
24362306a36Sopenharmony_ci	gpio-line-names =
24462306a36Sopenharmony_ci		"", "SD1_CD", "", "", "", "", "", "",
24562306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
24662306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
24762306a36Sopenharmony_ci		"", "PHY3_RESET", "", "", "PHY3_INT", "", "", "";
24862306a36Sopenharmony_ci};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci&gpio2 {
25162306a36Sopenharmony_ci	gpio-line-names =
25262306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
25362306a36Sopenharmony_ci		"REV_ID0", "REV_ID1", "REV_ID2", "REV_ID3", "BOARD_ID3",
25462306a36Sopenharmony_ci			"BOARD_ID0", "BOARD_ID1", "BOARD_ID2",
25562306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
25662306a36Sopenharmony_ci		"", "", "ECSPI2_SS0", "", "", "", "", "";
25762306a36Sopenharmony_ci};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci&gpio3 {
26062306a36Sopenharmony_ci	gpio-line-names =
26162306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
26262306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
26362306a36Sopenharmony_ci		"", "", "", "", "", "USB_OTG_OC", "USB_OTG_PWR", "",
26462306a36Sopenharmony_ci		"", "", "", "", "", "", "", "";
26562306a36Sopenharmony_ci};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci&gpio4 {
26862306a36Sopenharmony_ci	gpio-line-names =
26962306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
27062306a36Sopenharmony_ci		"", "", "", "", "CAN1_SR", "CAN2_SR", "", "",
27162306a36Sopenharmony_ci		"", "", "", "", "", "", "", "",
27262306a36Sopenharmony_ci		"ECSPI3_SS0", "CANFD_INT", "USB_ETH_RESET", "", "", "", "", "";
27362306a36Sopenharmony_ci};
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci&gpio5 {
27662306a36Sopenharmony_ci	gpio-line-names =
27762306a36Sopenharmony_ci		"", "", "", "", "", "SW_RESET", "", "",
27862306a36Sopenharmony_ci		"PHY12_INT", "PHY12_RESET", "PHY12_EN", "PHY0_RESET",
27962306a36Sopenharmony_ci			"PHY0_INT", "", "", "",
28062306a36Sopenharmony_ci		"", "", "DISP1_EN", "DISP1_LR", "DISP1_TS_IRQ", "LVDS1_PD",
28162306a36Sopenharmony_ci			"", "",
28262306a36Sopenharmony_ci		"", "LVDS1_INT", "", "", "DISP0_LR", "DISP0_TS_IRQ",
28362306a36Sopenharmony_ci			"DISP0_EN", "CAM_GPIO0";
28462306a36Sopenharmony_ci};
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci&gpio6 {
28762306a36Sopenharmony_ci	gpio-line-names =
28862306a36Sopenharmony_ci		"LVDS0_INT", "LVDS0_PD", "CAM_INT", "CAM_GPIO1", "CAM_PD",
28962306a36Sopenharmony_ci			"CAM_LOCK", "", "POWER_TG",
29062306a36Sopenharmony_ci		"POWER_VSEL", "", "WLAN_REG_ON", "USB_ETH_CHG", "", "",
29162306a36Sopenharmony_ci			"USB_ETH_CHG_ID0", "USB_ETH_CHG_ID1",
29262306a36Sopenharmony_ci		"USB_ETH_CHG_ID2", "", "", "", "", "", "", "",
29362306a36Sopenharmony_ci		"", "", "", "", "", "", "", "";
29462306a36Sopenharmony_ci};
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci&i2c1 {
29762306a36Sopenharmony_ci	clock-frequency = <100000>;
29862306a36Sopenharmony_ci	pinctrl-names = "default";
29962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
30062306a36Sopenharmony_ci	status = "okay";
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci	/* additional i2c devices are added automatically by the boot loader */
30362306a36Sopenharmony_ci};
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci&i2c3 {
30662306a36Sopenharmony_ci	adc@49 {
30762306a36Sopenharmony_ci		compatible = "ti,ads1015";
30862306a36Sopenharmony_ci		reg = <0x49>;
30962306a36Sopenharmony_ci		#address-cells = <1>;
31062306a36Sopenharmony_ci		#size-cells = <0>;
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci		/* VIN */
31362306a36Sopenharmony_ci		channel@4 {
31462306a36Sopenharmony_ci			reg = <4>;
31562306a36Sopenharmony_ci			ti,gain = <1>;
31662306a36Sopenharmony_ci			ti,datarate = <3>;
31762306a36Sopenharmony_ci		};
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci		/* VBUS */
32062306a36Sopenharmony_ci		channel@5 {
32162306a36Sopenharmony_ci			reg = <5>;
32262306a36Sopenharmony_ci			ti,gain = <1>;
32362306a36Sopenharmony_ci			ti,datarate = <3>;
32462306a36Sopenharmony_ci		};
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci		/* ICHG */
32762306a36Sopenharmony_ci		channel@6 {
32862306a36Sopenharmony_ci			reg = <6>;
32962306a36Sopenharmony_ci			ti,gain = <1>;
33062306a36Sopenharmony_ci			ti,datarate = <3>;
33162306a36Sopenharmony_ci		};
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci		channel@7 {
33462306a36Sopenharmony_ci			reg = <7>;
33562306a36Sopenharmony_ci			ti,gain = <1>;
33662306a36Sopenharmony_ci			ti,datarate = <3>;
33762306a36Sopenharmony_ci		};
33862306a36Sopenharmony_ci	};
33962306a36Sopenharmony_ci};
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci&uart4 {
34262306a36Sopenharmony_ci	pinctrl-names = "default";
34362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart4>;
34462306a36Sopenharmony_ci	status = "okay";
34562306a36Sopenharmony_ci};
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci&usbotg {
34862306a36Sopenharmony_ci	vbus-supply = <&reg_otg_vbus>;
34962306a36Sopenharmony_ci	pinctrl-names = "default";
35062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usbotg>;
35162306a36Sopenharmony_ci	phy_type = "utmi";
35262306a36Sopenharmony_ci	dr_mode = "host";
35362306a36Sopenharmony_ci	over-current-active-low;
35462306a36Sopenharmony_ci	status = "okay";
35562306a36Sopenharmony_ci};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci&usbphynop1 {
35862306a36Sopenharmony_ci	status = "disabled";
35962306a36Sopenharmony_ci};
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci&usbphynop2 {
36262306a36Sopenharmony_ci	status = "disabled";
36362306a36Sopenharmony_ci};
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci&usdhc1 {
36662306a36Sopenharmony_ci	pinctrl-names = "default";
36762306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc1>;
36862306a36Sopenharmony_ci	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
36962306a36Sopenharmony_ci	no-1-8-v;
37062306a36Sopenharmony_ci	disable-wp;
37162306a36Sopenharmony_ci	cap-sd-highspeed;
37262306a36Sopenharmony_ci	no-mmc;
37362306a36Sopenharmony_ci	no-sdio;
37462306a36Sopenharmony_ci	status = "okay";
37562306a36Sopenharmony_ci};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci&usdhc2 {
37862306a36Sopenharmony_ci	pinctrl-names = "default";
37962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc2>;
38062306a36Sopenharmony_ci	no-1-8-v;
38162306a36Sopenharmony_ci	non-removable;
38262306a36Sopenharmony_ci	mmc-pwrseq = <&usdhc2_wifi_pwrseq>;
38362306a36Sopenharmony_ci	status = "okay";
38462306a36Sopenharmony_ci	#address-cells = <1>;
38562306a36Sopenharmony_ci	#size-cells = <0>;
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci	brcmf: bcrmf@1 {
38862306a36Sopenharmony_ci		reg = <1>;
38962306a36Sopenharmony_ci		compatible = "brcm,bcm4329-fmac";
39062306a36Sopenharmony_ci	};
39162306a36Sopenharmony_ci};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci&usdhc3 {
39462306a36Sopenharmony_ci	pinctrl-names = "default";
39562306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc3>;
39662306a36Sopenharmony_ci	bus-width = <8>;
39762306a36Sopenharmony_ci	no-1-8-v;
39862306a36Sopenharmony_ci	non-removable;
39962306a36Sopenharmony_ci	no-sd;
40062306a36Sopenharmony_ci	no-sdio;
40162306a36Sopenharmony_ci	status = "okay";
40262306a36Sopenharmony_ci};
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci&iomuxc {
40562306a36Sopenharmony_ci	pinctrl_can1: can1grp {
40662306a36Sopenharmony_ci		fsl,pins = <
40762306a36Sopenharmony_ci			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX		0x1b000
40862306a36Sopenharmony_ci			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX		0x3008
40962306a36Sopenharmony_ci			/* CAN1_SR */
41062306a36Sopenharmony_ci			MX6QDL_PAD_KEY_COL3__GPIO4_IO12			0x13008
41162306a36Sopenharmony_ci		>;
41262306a36Sopenharmony_ci	};
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci	pinctrl_can2: can2grp {
41562306a36Sopenharmony_ci		fsl,pins = <
41662306a36Sopenharmony_ci			/* CAN2_nINT */
41762306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25		0x1b0b1
41862306a36Sopenharmony_ci			/* CAN2_SR */
41962306a36Sopenharmony_ci			MX6QDL_PAD_KEY_ROW3__GPIO4_IO13			0x13070
42062306a36Sopenharmony_ci		>;
42162306a36Sopenharmony_ci	};
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci	pinctrl_ecspi2: ecspi2grp {
42462306a36Sopenharmony_ci		fsl,pins = <
42562306a36Sopenharmony_ci			MX6QDL_PAD_EIM_OE__ECSPI2_MISO			0x100b1
42662306a36Sopenharmony_ci			MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK			0x100b1
42762306a36Sopenharmony_ci			MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI			0x100b1
42862306a36Sopenharmony_ci			MX6QDL_PAD_EIM_RW__GPIO2_IO26			0x000b1
42962306a36Sopenharmony_ci		>;
43062306a36Sopenharmony_ci	};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci	pinctrl_ecspi3: ecspi3grp {
43362306a36Sopenharmony_ci		fsl,pins = <
43462306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK		0x100b1
43562306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI		0x100b1
43662306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO		0x100b1
43762306a36Sopenharmony_ci			/* CS */
43862306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24		0x000b1
43962306a36Sopenharmony_ci		>;
44062306a36Sopenharmony_ci	};
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci	pinctrl_enet: enetgrp {
44362306a36Sopenharmony_ci		fsl,pins = <
44462306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RXC__RGMII_RXC			0x1b030
44562306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RD0__RGMII_RD0			0x1b030
44662306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RD1__RGMII_RD1			0x1b030
44762306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RD2__RGMII_RD2			0x1b030
44862306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RD3__RGMII_RD3			0x1b030
44962306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL		0x1b030
45062306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TXC__RGMII_TXC			0x10030
45162306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TD0__RGMII_TD0			0x10030
45262306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TD1__RGMII_TD1			0x10030
45362306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TD2__RGMII_TD2			0x10030
45462306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TD3__RGMII_TD3			0x10030
45562306a36Sopenharmony_ci			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL		0x10030
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ci			MX6QDL_PAD_ENET_MDIO__ENET_MDIO			0x10030
45862306a36Sopenharmony_ci			MX6QDL_PAD_ENET_MDC__ENET_MDC			0x10030
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci			/* Configure clock provider for RGMII ref clock */
46162306a36Sopenharmony_ci			MX6QDL_PAD_GPIO_16__ENET_REF_CLK		0x4001b0b0
46262306a36Sopenharmony_ci			/* Configure clock consumer for RGMII ref clock */
46362306a36Sopenharmony_ci			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK		0x10030
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci			/* SJA1105Q switch reset */
46662306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05		0x10030
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci			/* phy3/rgmii_phy reset */
46962306a36Sopenharmony_ci			MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25		0x10030
47062306a36Sopenharmony_ci			/* phy3/rgmii_phy int */
47162306a36Sopenharmony_ci			MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28		0x40010000
47262306a36Sopenharmony_ci		>;
47362306a36Sopenharmony_ci	};
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci	pinctrl_i2c1: i2c1grp {
47662306a36Sopenharmony_ci		fsl,pins = <
47762306a36Sopenharmony_ci			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA			0x4001f8b1
47862306a36Sopenharmony_ci			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL			0x4001f8b1
47962306a36Sopenharmony_ci		>;
48062306a36Sopenharmony_ci	};
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci	pinctrl_mdio: mdiogrp {
48362306a36Sopenharmony_ci		fsl,pins = <
48462306a36Sopenharmony_ci			/* phy0/usbeth_phy reset */
48562306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11		0x10030
48662306a36Sopenharmony_ci			/* phy0/usbeth_phy int */
48762306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12		0x100b1
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci			/* phy12/tja1102_phy0 reset */
49062306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09		0x10030
49162306a36Sopenharmony_ci			/* phy12/tja1102_phy0 int */
49262306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08		0x100b1
49362306a36Sopenharmony_ci			/* phy12/tja1102_phy0 enable. Set 100K pull-up */
49462306a36Sopenharmony_ci			MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10		0x1f030
49562306a36Sopenharmony_ci		>;
49662306a36Sopenharmony_ci	};
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci	pinctrl_uart4: uart4grp {
49962306a36Sopenharmony_ci		fsl,pins = <
50062306a36Sopenharmony_ci			MX6QDL_PAD_KEY_COL0__UART4_TX_DATA		0x1b0b1
50162306a36Sopenharmony_ci			MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA		0x1b0b1
50262306a36Sopenharmony_ci		>;
50362306a36Sopenharmony_ci	};
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci	pinctrl_usbotg: usbotggrp {
50662306a36Sopenharmony_ci		fsl,pins = <
50762306a36Sopenharmony_ci			MX6QDL_PAD_EIM_D21__USB_OTG_OC			0x1b0b0
50862306a36Sopenharmony_ci			MX6QDL_PAD_EIM_D22__GPIO3_IO22			0x1b0b0
50962306a36Sopenharmony_ci		>;
51062306a36Sopenharmony_ci	};
51162306a36Sopenharmony_ci
51262306a36Sopenharmony_ci	pinctrl_usdhc1: usdhc1grp {
51362306a36Sopenharmony_ci		fsl,pins = <
51462306a36Sopenharmony_ci			MX6QDL_PAD_SD1_CMD__SD1_CMD			0x170f9
51562306a36Sopenharmony_ci			MX6QDL_PAD_SD1_CLK__SD1_CLK			0x100f9
51662306a36Sopenharmony_ci			MX6QDL_PAD_SD1_DAT0__SD1_DATA0			0x170f9
51762306a36Sopenharmony_ci			MX6QDL_PAD_SD1_DAT1__SD1_DATA1			0x170f9
51862306a36Sopenharmony_ci			MX6QDL_PAD_SD1_DAT2__SD1_DATA2			0x170f9
51962306a36Sopenharmony_ci			MX6QDL_PAD_SD1_DAT3__SD1_DATA3			0x170f9
52062306a36Sopenharmony_ci			MX6QDL_PAD_GPIO_1__GPIO1_IO01			0x1b0b0
52162306a36Sopenharmony_ci		>;
52262306a36Sopenharmony_ci	};
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci	pinctrl_usdhc2: usdhc2grp {
52562306a36Sopenharmony_ci		fsl,pins = <
52662306a36Sopenharmony_ci			MX6QDL_PAD_SD2_CMD__SD2_CMD			0x170b9
52762306a36Sopenharmony_ci			MX6QDL_PAD_SD2_CLK__SD2_CLK			0x100b9
52862306a36Sopenharmony_ci			MX6QDL_PAD_SD2_DAT0__SD2_DATA0			0x170b9
52962306a36Sopenharmony_ci			MX6QDL_PAD_SD2_DAT1__SD2_DATA1			0x170b9
53062306a36Sopenharmony_ci			MX6QDL_PAD_SD2_DAT2__SD2_DATA2			0x170b9
53162306a36Sopenharmony_ci			MX6QDL_PAD_SD2_DAT3__SD2_DATA3			0x170b9
53262306a36Sopenharmony_ci		>;
53362306a36Sopenharmony_ci	};
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci	pinctrl_usdhc3: usdhc3grp {
53662306a36Sopenharmony_ci		fsl,pins = <
53762306a36Sopenharmony_ci			MX6QDL_PAD_SD3_CMD__SD3_CMD			0x17099
53862306a36Sopenharmony_ci			MX6QDL_PAD_SD3_CLK__SD3_CLK			0x10099
53962306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT0__SD3_DATA0			0x17099
54062306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT1__SD3_DATA1			0x17099
54162306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT2__SD3_DATA2			0x17099
54262306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT3__SD3_DATA3			0x17099
54362306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT4__SD3_DATA4			0x17099
54462306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT5__SD3_DATA5			0x17099
54562306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT6__SD3_DATA6			0x17099
54662306a36Sopenharmony_ci			MX6QDL_PAD_SD3_DAT7__SD3_DATA7			0x17099
54762306a36Sopenharmony_ci			MX6QDL_PAD_SD3_RST__SD3_RESET			0x1b0b1
54862306a36Sopenharmony_ci		>;
54962306a36Sopenharmony_ci	};
55062306a36Sopenharmony_ci
55162306a36Sopenharmony_ci	pinctrl_wifi_npd: wifinpd {
55262306a36Sopenharmony_ci		fsl,pins = <
55362306a36Sopenharmony_ci			/* WL_REG_ON */
55462306a36Sopenharmony_ci			MX6QDL_PAD_NANDF_RB0__GPIO6_IO10		0x13069
55562306a36Sopenharmony_ci		>;
55662306a36Sopenharmony_ci	};
55762306a36Sopenharmony_ci};
558