168ca364dSManivannan Sadhasivam// SPDX-License-Identifier: GPL-2.0+
268ca364dSManivannan Sadhasivam/*
368ca364dSManivannan Sadhasivam * Copyright 2019 Einfochips
468ca364dSManivannan Sadhasivam * Copyright 2019 Linaro Ltd.
568ca364dSManivannan Sadhasivam */
668ca364dSManivannan Sadhasivam
768ca364dSManivannan Sadhasivam/dts-v1/;
868ca364dSManivannan Sadhasivam
968ca364dSManivannan Sadhasivam#include "imx8mq.dtsi"
1068ca364dSManivannan Sadhasivam
1168ca364dSManivannan Sadhasivam/ {
1268ca364dSManivannan Sadhasivam	model = "Einfochips i.MX8MQ Thor96";
1368ca364dSManivannan Sadhasivam	compatible = "einfochips,imx8mq-thor96", "fsl,imx8mq";
1468ca364dSManivannan Sadhasivam
1568ca364dSManivannan Sadhasivam	chosen {
1668ca364dSManivannan Sadhasivam		stdout-path = &uart1;
1768ca364dSManivannan Sadhasivam	};
1868ca364dSManivannan Sadhasivam
1968ca364dSManivannan Sadhasivam	memory@40000000 {
2068ca364dSManivannan Sadhasivam		device_type = "memory";
2168ca364dSManivannan Sadhasivam		reg = <0x00000000 0x40000000 0 0x80000000>;
2268ca364dSManivannan Sadhasivam	};
2368ca364dSManivannan Sadhasivam
2468ca364dSManivannan Sadhasivam	leds {
2568ca364dSManivannan Sadhasivam		compatible = "gpio-leds";
2668ca364dSManivannan Sadhasivam		pinctrl-names = "default";
2768ca364dSManivannan Sadhasivam		pinctrl-0 = <&pinctrl_leds>;
2868ca364dSManivannan Sadhasivam
2968ca364dSManivannan Sadhasivam		user-led1 {
3068ca364dSManivannan Sadhasivam			label = "green:user1";
3168ca364dSManivannan Sadhasivam			gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>;
3268ca364dSManivannan Sadhasivam			linux,default-trigger = "heartbeat";
3368ca364dSManivannan Sadhasivam		};
3468ca364dSManivannan Sadhasivam
3568ca364dSManivannan Sadhasivam		user-led2 {
3668ca364dSManivannan Sadhasivam			label = "green:user2";
3768ca364dSManivannan Sadhasivam			gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
3868ca364dSManivannan Sadhasivam			linux,default-trigger = "none";
3968ca364dSManivannan Sadhasivam		};
4068ca364dSManivannan Sadhasivam
4168ca364dSManivannan Sadhasivam		user-led3 {
4268ca364dSManivannan Sadhasivam			label = "green:user3";
4368ca364dSManivannan Sadhasivam			gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
4468ca364dSManivannan Sadhasivam			linux,default-trigger = "mmc1";
4568ca364dSManivannan Sadhasivam			default-state = "off";
4668ca364dSManivannan Sadhasivam		};
4768ca364dSManivannan Sadhasivam
4868ca364dSManivannan Sadhasivam		user-led4 {
4968ca364dSManivannan Sadhasivam			label = "green:user4";
5068ca364dSManivannan Sadhasivam			gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
5168ca364dSManivannan Sadhasivam			panic-indicator;
5268ca364dSManivannan Sadhasivam			linux,default-trigger = "none";
5368ca364dSManivannan Sadhasivam		};
5468ca364dSManivannan Sadhasivam
5568ca364dSManivannan Sadhasivam		wlan-active-led {
5668ca364dSManivannan Sadhasivam			label = "yellow:wlan";
5768ca364dSManivannan Sadhasivam			gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
5868ca364dSManivannan Sadhasivam			linux,default-trigger = "phy0tx";
5968ca364dSManivannan Sadhasivam			default-state = "off";
6068ca364dSManivannan Sadhasivam		};
6168ca364dSManivannan Sadhasivam
6268ca364dSManivannan Sadhasivam		bt-active-led {
6368ca364dSManivannan Sadhasivam			label = "blue:bt";
6468ca364dSManivannan Sadhasivam			gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
6568ca364dSManivannan Sadhasivam			linux,default-trigger = "hci0-power";
6668ca364dSManivannan Sadhasivam			default-state = "off";
6768ca364dSManivannan Sadhasivam		};
6868ca364dSManivannan Sadhasivam	};
6968ca364dSManivannan Sadhasivam
7068ca364dSManivannan Sadhasivam	reg_usdhc1_vmmc: reg-usdhc1-vmmc {
7168ca364dSManivannan Sadhasivam		compatible = "regulator-fixed";
7268ca364dSManivannan Sadhasivam		regulator-name = "VDD_3V3";
7368ca364dSManivannan Sadhasivam		regulator-min-microvolt = <3300000>;
7468ca364dSManivannan Sadhasivam		regulator-max-microvolt = <3300000>;
7568ca364dSManivannan Sadhasivam		regulator-always-on;
7668ca364dSManivannan Sadhasivam	};
7768ca364dSManivannan Sadhasivam
7868ca364dSManivannan Sadhasivam	reg_usdhc1_vqmmc: reg-usdhc1-vqmmc {
7968ca364dSManivannan Sadhasivam		compatible = "regulator-fixed";
8068ca364dSManivannan Sadhasivam		regulator-name = "VCC_1V8_EXT";
8168ca364dSManivannan Sadhasivam		regulator-min-microvolt = <1800000>;
8268ca364dSManivannan Sadhasivam		regulator-max-microvolt = <1800000>;
8368ca364dSManivannan Sadhasivam		regulator-always-on;
8468ca364dSManivannan Sadhasivam	};
8568ca364dSManivannan Sadhasivam
8668ca364dSManivannan Sadhasivam	reg_usdhc2_vmmc: reg-usdhc2-vmmc {
8768ca364dSManivannan Sadhasivam		compatible = "regulator-fixed";
8868ca364dSManivannan Sadhasivam		regulator-name = "VSD_3V3";
8968ca364dSManivannan Sadhasivam		regulator-min-microvolt = <3300000>;
9068ca364dSManivannan Sadhasivam		regulator-max-microvolt = <3300000>;
9168ca364dSManivannan Sadhasivam		regulator-always-on;
9268ca364dSManivannan Sadhasivam		pinctrl-names = "default";
9368ca364dSManivannan Sadhasivam		pinctrl-0 = <&pinctrl_reg_usdhc2>;
9468ca364dSManivannan Sadhasivam		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
9568ca364dSManivannan Sadhasivam		enable-active-high;
9668ca364dSManivannan Sadhasivam	};
9768ca364dSManivannan Sadhasivam
9868ca364dSManivannan Sadhasivam	reg_usdhc2_vqmmc: reg-usdhc2-vqmmc {
9968ca364dSManivannan Sadhasivam		compatible = "regulator-fixed";
10068ca364dSManivannan Sadhasivam		regulator-name = "NVCC_SD2";
10168ca364dSManivannan Sadhasivam		regulator-min-microvolt = <3300000>;
10268ca364dSManivannan Sadhasivam		regulator-max-microvolt = <3300000>;
10368ca364dSManivannan Sadhasivam		regulator-always-on;
10468ca364dSManivannan Sadhasivam	};
10568ca364dSManivannan Sadhasivam
10668ca364dSManivannan Sadhasivam	sdio_pwrseq: sdio-pwrseq {
10768ca364dSManivannan Sadhasivam		compatible = "mmc-pwrseq-simple";
10868ca364dSManivannan Sadhasivam		pinctrl-names = "default";
10968ca364dSManivannan Sadhasivam		pinctrl-0 = <&pinctrl_wifi_reg_on>;
11068ca364dSManivannan Sadhasivam		gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
11168ca364dSManivannan Sadhasivam	};
11268ca364dSManivannan Sadhasivam};
11368ca364dSManivannan Sadhasivam
11468ca364dSManivannan Sadhasivam/* LS-SPI0 */
11568ca364dSManivannan Sadhasivam&ecspi2 {
11668ca364dSManivannan Sadhasivam	pinctrl-names = "default";
11768ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_ecspi2>;
11868ca364dSManivannan Sadhasivam	status = "okay";
11968ca364dSManivannan Sadhasivam};
12068ca364dSManivannan Sadhasivam
12168ca364dSManivannan Sadhasivam&fec1 {
12268ca364dSManivannan Sadhasivam	pinctrl-names = "default";
12368ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_fec1>;
12468ca364dSManivannan Sadhasivam	phy-mode = "rgmii-id";
12568ca364dSManivannan Sadhasivam	phy-handle = <&ethphy>;
12668ca364dSManivannan Sadhasivam	fsl,magic-packet;
12768ca364dSManivannan Sadhasivam	status = "okay";
12868ca364dSManivannan Sadhasivam
12968ca364dSManivannan Sadhasivam	mdio {
13068ca364dSManivannan Sadhasivam		#address-cells = <1>;
13168ca364dSManivannan Sadhasivam		#size-cells = <0>;
13268ca364dSManivannan Sadhasivam
13368ca364dSManivannan Sadhasivam		ethphy: ethernet-phy@3 {
13468ca364dSManivannan Sadhasivam			compatible = "ethernet-phy-ieee802.3-c22";
13568ca364dSManivannan Sadhasivam			reg = <3>;
136072edea3SKrzysztof Kozlowski			reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
13768ca364dSManivannan Sadhasivam		};
13868ca364dSManivannan Sadhasivam	};
13968ca364dSManivannan Sadhasivam};
14068ca364dSManivannan Sadhasivam
14168ca364dSManivannan Sadhasivam/* LS-I2C0 */
14268ca364dSManivannan Sadhasivam&i2c1 {
14368ca364dSManivannan Sadhasivam	clock-frequency = <100000>;
14468ca364dSManivannan Sadhasivam	pinctrl-names = "default";
14568ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_i2c1>;
14668ca364dSManivannan Sadhasivam	status = "okay";
14768ca364dSManivannan Sadhasivam
14868ca364dSManivannan Sadhasivam	pmic@8 {
14968ca364dSManivannan Sadhasivam		compatible = "fsl,pfuze100";
15068ca364dSManivannan Sadhasivam		reg = <0x8>;
15168ca364dSManivannan Sadhasivam
15268ca364dSManivannan Sadhasivam		regulators {
15368ca364dSManivannan Sadhasivam			sw1a_reg: sw1ab {
15468ca364dSManivannan Sadhasivam				regulator-min-microvolt = <300000>;
15568ca364dSManivannan Sadhasivam				regulator-max-microvolt = <1875000>;
15668ca364dSManivannan Sadhasivam			};
15768ca364dSManivannan Sadhasivam
15868ca364dSManivannan Sadhasivam			sw1c_reg: sw1c {
15968ca364dSManivannan Sadhasivam				regulator-min-microvolt = <300000>;
16068ca364dSManivannan Sadhasivam				regulator-max-microvolt = <1875000>;
16168ca364dSManivannan Sadhasivam			};
16268ca364dSManivannan Sadhasivam
16368ca364dSManivannan Sadhasivam			sw2_reg: sw2 {
16468ca364dSManivannan Sadhasivam				regulator-min-microvolt = <800000>;
16568ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
16668ca364dSManivannan Sadhasivam				regulator-always-on;
16768ca364dSManivannan Sadhasivam			};
16868ca364dSManivannan Sadhasivam
16968ca364dSManivannan Sadhasivam			sw3a_reg: sw3ab {
17068ca364dSManivannan Sadhasivam				regulator-min-microvolt = <400000>;
17168ca364dSManivannan Sadhasivam				regulator-max-microvolt = <1975000>;
17268ca364dSManivannan Sadhasivam				regulator-always-on;
17368ca364dSManivannan Sadhasivam			};
17468ca364dSManivannan Sadhasivam
17568ca364dSManivannan Sadhasivam			sw4_reg: sw4 {
17668ca364dSManivannan Sadhasivam				regulator-min-microvolt = <800000>;
17768ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
17868ca364dSManivannan Sadhasivam				regulator-always-on;
17968ca364dSManivannan Sadhasivam			};
18068ca364dSManivannan Sadhasivam
18168ca364dSManivannan Sadhasivam			swbst_reg: swbst {
18268ca364dSManivannan Sadhasivam				regulator-min-microvolt = <5000000>;
18368ca364dSManivannan Sadhasivam				regulator-max-microvolt = <5150000>;
18468ca364dSManivannan Sadhasivam			};
18568ca364dSManivannan Sadhasivam
18668ca364dSManivannan Sadhasivam			snvs_reg: vsnvs {
18768ca364dSManivannan Sadhasivam				regulator-min-microvolt = <1000000>;
18868ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3000000>;
18968ca364dSManivannan Sadhasivam				regulator-always-on;
19068ca364dSManivannan Sadhasivam			};
19168ca364dSManivannan Sadhasivam
19268ca364dSManivannan Sadhasivam			vref_reg: vrefddr {
19368ca364dSManivannan Sadhasivam				regulator-always-on;
19468ca364dSManivannan Sadhasivam			};
19568ca364dSManivannan Sadhasivam
19668ca364dSManivannan Sadhasivam			vgen1_reg: vgen1 {
19768ca364dSManivannan Sadhasivam				regulator-min-microvolt = <800000>;
19868ca364dSManivannan Sadhasivam				regulator-max-microvolt = <1550000>;
19968ca364dSManivannan Sadhasivam			};
20068ca364dSManivannan Sadhasivam
20168ca364dSManivannan Sadhasivam			vgen2_reg: vgen2 {
20268ca364dSManivannan Sadhasivam				regulator-min-microvolt = <800000>;
20368ca364dSManivannan Sadhasivam				regulator-max-microvolt = <1550000>;
20468ca364dSManivannan Sadhasivam				regulator-always-on;
20568ca364dSManivannan Sadhasivam			};
20668ca364dSManivannan Sadhasivam
20768ca364dSManivannan Sadhasivam			vgen3_reg: vgen3 {
20868ca364dSManivannan Sadhasivam				regulator-min-microvolt = <1800000>;
20968ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
21068ca364dSManivannan Sadhasivam				regulator-always-on;
21168ca364dSManivannan Sadhasivam			};
21268ca364dSManivannan Sadhasivam
21368ca364dSManivannan Sadhasivam			vgen4_reg: vgen4 {
21468ca364dSManivannan Sadhasivam				regulator-min-microvolt = <1800000>;
21568ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
21668ca364dSManivannan Sadhasivam				regulator-always-on;
21768ca364dSManivannan Sadhasivam			};
21868ca364dSManivannan Sadhasivam
21968ca364dSManivannan Sadhasivam			vgen5_reg: vgen5 {
22068ca364dSManivannan Sadhasivam				regulator-min-microvolt = <1800000>;
22168ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
22268ca364dSManivannan Sadhasivam				regulator-always-on;
22368ca364dSManivannan Sadhasivam			};
22468ca364dSManivannan Sadhasivam
22568ca364dSManivannan Sadhasivam			vgen6_reg: vgen6 {
22668ca364dSManivannan Sadhasivam				regulator-min-microvolt = <1800000>;
22768ca364dSManivannan Sadhasivam				regulator-max-microvolt = <3300000>;
22868ca364dSManivannan Sadhasivam			};
22968ca364dSManivannan Sadhasivam		};
23068ca364dSManivannan Sadhasivam	};
23168ca364dSManivannan Sadhasivam};
23268ca364dSManivannan Sadhasivam
23368ca364dSManivannan Sadhasivam/* LS-I2C1 */
23468ca364dSManivannan Sadhasivam&i2c2 {
23568ca364dSManivannan Sadhasivam	clock-frequency = <100000>;
23668ca364dSManivannan Sadhasivam	pinctrl-names = "default";
23768ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_i2c2>;
23868ca364dSManivannan Sadhasivam	status = "okay";
23968ca364dSManivannan Sadhasivam
24068ca364dSManivannan Sadhasivam	eeprom: eeprom@50 {
24168ca364dSManivannan Sadhasivam		compatible = "atmel,24c256";
24268ca364dSManivannan Sadhasivam		reg = <0x50>;
24368ca364dSManivannan Sadhasivam	};
24468ca364dSManivannan Sadhasivam};
24568ca364dSManivannan Sadhasivam
24668ca364dSManivannan Sadhasivam/* HS-I2C2 */
24768ca364dSManivannan Sadhasivam&i2c3 {
24868ca364dSManivannan Sadhasivam	clock-frequency = <100000>;
24968ca364dSManivannan Sadhasivam	pinctrl-names = "default";
25068ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_i2c3>;
25168ca364dSManivannan Sadhasivam	status = "okay";
25268ca364dSManivannan Sadhasivam};
25368ca364dSManivannan Sadhasivam
25468ca364dSManivannan Sadhasivam/* HS-I2C3 */
25568ca364dSManivannan Sadhasivam&i2c4 {
25668ca364dSManivannan Sadhasivam	clock-frequency = <100000>;
25768ca364dSManivannan Sadhasivam	pinctrl-names = "default";
25868ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_i2c4>;
25968ca364dSManivannan Sadhasivam	status = "okay";
26068ca364dSManivannan Sadhasivam};
26168ca364dSManivannan Sadhasivam
26268ca364dSManivannan Sadhasivam&pgc_gpu {
26368ca364dSManivannan Sadhasivam	power-supply = <&sw1a_reg>;
26468ca364dSManivannan Sadhasivam};
26568ca364dSManivannan Sadhasivam
26668ca364dSManivannan Sadhasivam&pgc_vpu {
26768ca364dSManivannan Sadhasivam	power-supply = <&sw1c_reg>;
26868ca364dSManivannan Sadhasivam};
26968ca364dSManivannan Sadhasivam
27068ca364dSManivannan Sadhasivam&qspi0 {
27168ca364dSManivannan Sadhasivam	pinctrl-names = "default";
27268ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_qspi0>;
27368ca364dSManivannan Sadhasivam	status = "okay";
27468ca364dSManivannan Sadhasivam
27568ca364dSManivannan Sadhasivam	flash@0 {
27668ca364dSManivannan Sadhasivam		compatible = "jedec,spi-nor";
27768ca364dSManivannan Sadhasivam		spi-max-frequency = <100000000>;
27868ca364dSManivannan Sadhasivam		reg = <0>;
27968ca364dSManivannan Sadhasivam	};
28068ca364dSManivannan Sadhasivam};
28168ca364dSManivannan Sadhasivam
28268ca364dSManivannan Sadhasivam/* Debug UART */
28368ca364dSManivannan Sadhasivam&uart1 {
28468ca364dSManivannan Sadhasivam	pinctrl-names = "default";
28568ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_uart1>;
28668ca364dSManivannan Sadhasivam	assigned-clocks = <&clk IMX8MQ_CLK_UART1>;
28768ca364dSManivannan Sadhasivam	assigned-clock-parents = <&clk IMX8MQ_CLK_25M>;
28868ca364dSManivannan Sadhasivam	status = "okay";
28968ca364dSManivannan Sadhasivam};
29068ca364dSManivannan Sadhasivam
29168ca364dSManivannan Sadhasivam/* LS-UART0 */
29268ca364dSManivannan Sadhasivam&uart2 {
29368ca364dSManivannan Sadhasivam	pinctrl-names = "default";
29468ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_uart2>;
29568ca364dSManivannan Sadhasivam	assigned-clocks = <&clk IMX8MQ_CLK_UART2>;
29668ca364dSManivannan Sadhasivam	assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>;
29768ca364dSManivannan Sadhasivam	uart-has-rtscts;
29868ca364dSManivannan Sadhasivam	status = "okay";
29968ca364dSManivannan Sadhasivam
30068ca364dSManivannan Sadhasivam	bluetooth {
30168ca364dSManivannan Sadhasivam		compatible = "brcm,bcm43438-bt";
30268ca364dSManivannan Sadhasivam		device-wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
30368ca364dSManivannan Sadhasivam		host-wakeup-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
30468ca364dSManivannan Sadhasivam		shutdown-gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
30568ca364dSManivannan Sadhasivam		pinctrl-names = "default";
30668ca364dSManivannan Sadhasivam		pinctrl-0 = <&pinctrl_bt_gpios>;
30768ca364dSManivannan Sadhasivam	};
30868ca364dSManivannan Sadhasivam};
30968ca364dSManivannan Sadhasivam
31068ca364dSManivannan Sadhasivam/* LS-UART1 */
31168ca364dSManivannan Sadhasivam&uart3 {
31268ca364dSManivannan Sadhasivam	pinctrl-names = "default";
31368ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_uart3>;
31468ca364dSManivannan Sadhasivam	assigned-clocks = <&clk IMX8MQ_CLK_UART3>;
31568ca364dSManivannan Sadhasivam	assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>;
31668ca364dSManivannan Sadhasivam	status = "okay";
31768ca364dSManivannan Sadhasivam};
31868ca364dSManivannan Sadhasivam
31968ca364dSManivannan Sadhasivam&usb3_phy1 {
32068ca364dSManivannan Sadhasivam	status = "okay";
32168ca364dSManivannan Sadhasivam};
32268ca364dSManivannan Sadhasivam
32368ca364dSManivannan Sadhasivam&usb_dwc3_1 {
32468ca364dSManivannan Sadhasivam	dr_mode = "host";
32568ca364dSManivannan Sadhasivam	status = "okay";
32668ca364dSManivannan Sadhasivam};
32768ca364dSManivannan Sadhasivam
32868ca364dSManivannan Sadhasivam/* SDIO */
32968ca364dSManivannan Sadhasivam&usdhc1 {
33068ca364dSManivannan Sadhasivam	#address-cells = <0x1>;
33168ca364dSManivannan Sadhasivam	#size-cells = <0x0>;
33268ca364dSManivannan Sadhasivam	pinctrl-names = "default", "state_100mhz", "state_200mhz";
33368ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_usdhc1>;
33468ca364dSManivannan Sadhasivam	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
33568ca364dSManivannan Sadhasivam	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
33668ca364dSManivannan Sadhasivam	vmmc-supply = <&reg_usdhc1_vmmc>;
33768ca364dSManivannan Sadhasivam	vqmmc-supply = <&reg_usdhc1_vqmmc>;
33868ca364dSManivannan Sadhasivam	mmc-pwrseq = <&sdio_pwrseq>;
33968ca364dSManivannan Sadhasivam	bus-width = <4>;
34068ca364dSManivannan Sadhasivam	non-removable;
34168ca364dSManivannan Sadhasivam	no-sd;
342*ef10d579SKrzysztof Kozlowski	no-mmc;
34368ca364dSManivannan Sadhasivam	status = "okay";
34468ca364dSManivannan Sadhasivam
34568ca364dSManivannan Sadhasivam	brcmf: wifi@1 {
34668ca364dSManivannan Sadhasivam		reg = <1>;
34768ca364dSManivannan Sadhasivam		compatible = "brcm,bcm4329-fmac";
34868ca364dSManivannan Sadhasivam	};
34968ca364dSManivannan Sadhasivam};
35068ca364dSManivannan Sadhasivam
35168ca364dSManivannan Sadhasivam/* uSD */
35268ca364dSManivannan Sadhasivam&usdhc2 {
35368ca364dSManivannan Sadhasivam	pinctrl-names = "default", "state_100mhz", "state_200mhz";
35468ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
35568ca364dSManivannan Sadhasivam	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
35668ca364dSManivannan Sadhasivam	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
35768ca364dSManivannan Sadhasivam	vmmc-supply = <&reg_usdhc2_vmmc>;
35868ca364dSManivannan Sadhasivam	vqmmc-supply = <&reg_usdhc2_vqmmc>;
35968ca364dSManivannan Sadhasivam	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
36068ca364dSManivannan Sadhasivam	bus-width = <4>;
36168ca364dSManivannan Sadhasivam	no-sdio;
362*ef10d579SKrzysztof Kozlowski	no-mmc;
36368ca364dSManivannan Sadhasivam	disable-wp;
36468ca364dSManivannan Sadhasivam	status = "okay";
36568ca364dSManivannan Sadhasivam};
36668ca364dSManivannan Sadhasivam
36768ca364dSManivannan Sadhasivam&wdog1 {
36868ca364dSManivannan Sadhasivam	pinctrl-names = "default";
36968ca364dSManivannan Sadhasivam	pinctrl-0 = <&pinctrl_wdog>;
37068ca364dSManivannan Sadhasivam	fsl,ext-reset-output;
37168ca364dSManivannan Sadhasivam	status = "okay";
37268ca364dSManivannan Sadhasivam};
37368ca364dSManivannan Sadhasivam
37468ca364dSManivannan Sadhasivam&iomuxc {
37568ca364dSManivannan Sadhasivam	pinctrl_bt_gpios: btgpiosgrp {
37668ca364dSManivannan Sadhasivam		fsl,pins = <
37768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI5_RXD1_GPIO3_IO22		0x19
37868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_DQS_GPIO3_IO14		0x19
37968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5			0x19
38068ca364dSManivannan Sadhasivam		>;
38168ca364dSManivannan Sadhasivam	};
38268ca364dSManivannan Sadhasivam
38368ca364dSManivannan Sadhasivam	pinctrl_ecspi2: ecspi2grp {
38468ca364dSManivannan Sadhasivam		fsl,pins = <
38568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK		0x16
38668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI		0x16
38768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ECSPI2_MISO_ECSPI2_MISO		0x16
38868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ECSPI2_SS0_ECSPI2_SS0		0x16
38968ca364dSManivannan Sadhasivam		>;
39068ca364dSManivannan Sadhasivam	};
39168ca364dSManivannan Sadhasivam
39268ca364dSManivannan Sadhasivam	pinctrl_fec1: fec1grp {
39368ca364dSManivannan Sadhasivam		fsl,pins = <
39468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x4
39568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO		0x24
39668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1c
39768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1c
39868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1c
39968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1c
40068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
40168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
40268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
40368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
40468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1c
40568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
40668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
40768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1c
40868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
40968ca364dSManivannan Sadhasivam		>;
41068ca364dSManivannan Sadhasivam	};
41168ca364dSManivannan Sadhasivam
41268ca364dSManivannan Sadhasivam	pinctrl_i2c1: i2c1grp {
41368ca364dSManivannan Sadhasivam		fsl,pins = <
41468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
41568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA			0x4000007f
41668ca364dSManivannan Sadhasivam		>;
41768ca364dSManivannan Sadhasivam	};
41868ca364dSManivannan Sadhasivam
41968ca364dSManivannan Sadhasivam	pinctrl_i2c2: i2c2grp {
42068ca364dSManivannan Sadhasivam		fsl,pins = <
42168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL			0x4000007f
42268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA			0x4000007f
42368ca364dSManivannan Sadhasivam		>;
42468ca364dSManivannan Sadhasivam	};
42568ca364dSManivannan Sadhasivam
42668ca364dSManivannan Sadhasivam	pinctrl_i2c3: i2c3grp {
42768ca364dSManivannan Sadhasivam		fsl,pins = <
42868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL			0x4000007f
42968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA			0x4000007f
43068ca364dSManivannan Sadhasivam		>;
43168ca364dSManivannan Sadhasivam	};
43268ca364dSManivannan Sadhasivam
43368ca364dSManivannan Sadhasivam	pinctrl_i2c4: i2c4grp {
43468ca364dSManivannan Sadhasivam		fsl,pins = <
43568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL			0x4000007f
43668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA			0x4000007f
43768ca364dSManivannan Sadhasivam		>;
43868ca364dSManivannan Sadhasivam	};
43968ca364dSManivannan Sadhasivam
44068ca364dSManivannan Sadhasivam	pinctrl_leds: ledsgrp {
44168ca364dSManivannan Sadhasivam		fsl,pins = <
44268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI2_RXFS_GPIO4_IO21		0x19
44368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI2_RXC_GPIO4_IO22		0x19
44468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI3_RXFS_GPIO4_IO28		0x19
44568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI3_RXC_GPIO4_IO29		0x19
44668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI1_RXC_GPIO4_IO1			0x19
44768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SAI1_RXFS_GPIO4_IO0		0x19
44868ca364dSManivannan Sadhasivam		>;
44968ca364dSManivannan Sadhasivam	};
45068ca364dSManivannan Sadhasivam
45168ca364dSManivannan Sadhasivam	pinctrl_qspi0: qspi0grp {
45268ca364dSManivannan Sadhasivam		fsl,pins = <
45368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK		0x82
45468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B		0x82
45568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0		0x82
45668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1		0x82
45768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2		0x82
45868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3		0x82
45968ca364dSManivannan Sadhasivam
46068ca364dSManivannan Sadhasivam		>;
46168ca364dSManivannan Sadhasivam	};
46268ca364dSManivannan Sadhasivam
46368ca364dSManivannan Sadhasivam	pinctrl_reg_usdhc2: regusdhc2grp {
46468ca364dSManivannan Sadhasivam		fsl,pins = <
46568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19		0x41
46668ca364dSManivannan Sadhasivam		>;
46768ca364dSManivannan Sadhasivam	};
46868ca364dSManivannan Sadhasivam
46968ca364dSManivannan Sadhasivam	pinctrl_uart1: uart1grp {
47068ca364dSManivannan Sadhasivam		fsl,pins = <
47168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX		0x49
47268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX		0x49
47368ca364dSManivannan Sadhasivam		>;
47468ca364dSManivannan Sadhasivam	};
47568ca364dSManivannan Sadhasivam
47668ca364dSManivannan Sadhasivam	pinctrl_uart2: uart2grp {
47768ca364dSManivannan Sadhasivam		fsl,pins = <
47868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX		0x49
47968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX		0x49
48068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART4_RXD_UART2_DCE_CTS_B		0x49
48168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART4_TXD_UART2_DCE_RTS_B		0x49
48268ca364dSManivannan Sadhasivam		>;
48368ca364dSManivannan Sadhasivam	};
48468ca364dSManivannan Sadhasivam
48568ca364dSManivannan Sadhasivam	pinctrl_uart3: uart3grp {
48668ca364dSManivannan Sadhasivam		fsl,pins = <
48768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX		0x49
48868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX		0x49
48968ca364dSManivannan Sadhasivam		>;
49068ca364dSManivannan Sadhasivam	};
49168ca364dSManivannan Sadhasivam
49268ca364dSManivannan Sadhasivam	pinctrl_usdhc1: usdhc1grp {
49368ca364dSManivannan Sadhasivam		fsl,pins = <
49468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
49568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xc3
49668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xc3
49768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xc3
49868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xc3
49968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xc3
50068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K	0x85
50168ca364dSManivannan Sadhasivam		>;
50268ca364dSManivannan Sadhasivam	};
50368ca364dSManivannan Sadhasivam
50468ca364dSManivannan Sadhasivam	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
50568ca364dSManivannan Sadhasivam		fsl,pins = <
50668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x8d
50768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xcd
50868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xcd
50968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xcd
51068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xcd
51168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xcd
51268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K	0x85
51368ca364dSManivannan Sadhasivam		>;
51468ca364dSManivannan Sadhasivam	};
51568ca364dSManivannan Sadhasivam
51668ca364dSManivannan Sadhasivam	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
51768ca364dSManivannan Sadhasivam		fsl,pins = <
51868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x9f
51968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xdf
52068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xdf
52168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xdf
52268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xdf
52368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xdf
52468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K	0x85
52568ca364dSManivannan Sadhasivam		>;
52668ca364dSManivannan Sadhasivam	};
52768ca364dSManivannan Sadhasivam
52868ca364dSManivannan Sadhasivam	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
52968ca364dSManivannan Sadhasivam		fsl,pins = <
53068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12		0x41
53168ca364dSManivannan Sadhasivam		>;
53268ca364dSManivannan Sadhasivam	};
53368ca364dSManivannan Sadhasivam
53468ca364dSManivannan Sadhasivam	pinctrl_usdhc2: usdhc2grp {
53568ca364dSManivannan Sadhasivam		fsl,pins = <
53668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x83
53768ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc3
53868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc3
53968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc3
54068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc3
54168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc3
54268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
54368ca364dSManivannan Sadhasivam		>;
54468ca364dSManivannan Sadhasivam	};
54568ca364dSManivannan Sadhasivam
54668ca364dSManivannan Sadhasivam	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
54768ca364dSManivannan Sadhasivam		fsl,pins = <
54868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x8c
54968ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xcc
55068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xcc
55168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xcc
55268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xcc
55368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xcc
55468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
55568ca364dSManivannan Sadhasivam		>;
55668ca364dSManivannan Sadhasivam	};
55768ca364dSManivannan Sadhasivam
55868ca364dSManivannan Sadhasivam	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
55968ca364dSManivannan Sadhasivam		fsl,pins = <
56068ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x9c
56168ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xdc
56268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xdc
56368ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xdc
56468ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xdc
56568ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xdc
56668ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xcc
56768ca364dSManivannan Sadhasivam		>;
56868ca364dSManivannan Sadhasivam	};
56968ca364dSManivannan Sadhasivam
57068ca364dSManivannan Sadhasivam	pinctrl_wdog: wdoggrp {
57168ca364dSManivannan Sadhasivam		fsl,pins = <
57268ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
57368ca364dSManivannan Sadhasivam		>;
57468ca364dSManivannan Sadhasivam	};
57568ca364dSManivannan Sadhasivam
57668ca364dSManivannan Sadhasivam	pinctrl_wifi_reg_on: wifiregongrp {
57768ca364dSManivannan Sadhasivam		fsl,pins = <
57868ca364dSManivannan Sadhasivam			MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3		0x17059
57968ca364dSManivannan Sadhasivam		>;
58068ca364dSManivannan Sadhasivam	};
58168ca364dSManivannan Sadhasivam};
582