xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mq-evk.dts (revision 0bcc4bf063b2843a2e9897c0477f7ad4609ae06d)
19079aca4SLucas Stach// SPDX-License-Identifier: (GPL-2.0 OR MIT)
29079aca4SLucas Stach/*
39079aca4SLucas Stach * Copyright 2017 NXP
49079aca4SLucas Stach * Copyright (C) 2017-2018 Pengutronix, Lucas Stach <kernel@pengutronix.de>
59079aca4SLucas Stach */
69079aca4SLucas Stach
79079aca4SLucas Stach/dts-v1/;
89079aca4SLucas Stach
99079aca4SLucas Stach#include "imx8mq.dtsi"
109079aca4SLucas Stach
119079aca4SLucas Stach/ {
129079aca4SLucas Stach	model = "NXP i.MX8MQ EVK";
139079aca4SLucas Stach	compatible = "fsl,imx8mq-evk", "fsl,imx8mq";
149079aca4SLucas Stach
159079aca4SLucas Stach	chosen {
169079aca4SLucas Stach		stdout-path = &uart1;
179079aca4SLucas Stach	};
189079aca4SLucas Stach
199079aca4SLucas Stach	memory@40000000 {
209079aca4SLucas Stach		device_type = "memory";
219079aca4SLucas Stach		reg = <0x00000000 0x40000000 0 0xc0000000>;
229079aca4SLucas Stach	};
239079aca4SLucas Stach
24cdfdea07SAndrey Smirnov	pcie0_refclk: pcie0-refclk {
25cdfdea07SAndrey Smirnov		compatible = "fixed-clock";
26cdfdea07SAndrey Smirnov		#clock-cells = <0>;
27cdfdea07SAndrey Smirnov		clock-frequency = <100000000>;
28cdfdea07SAndrey Smirnov	};
29cdfdea07SAndrey Smirnov
309079aca4SLucas Stach	reg_usdhc2_vmmc: regulator-vsd-3v3 {
319079aca4SLucas Stach		pinctrl-names = "default";
329079aca4SLucas Stach		pinctrl-0 = <&pinctrl_reg_usdhc2>;
339079aca4SLucas Stach		compatible = "regulator-fixed";
349079aca4SLucas Stach		regulator-name = "VSD_3V3";
359079aca4SLucas Stach		regulator-min-microvolt = <3300000>;
369079aca4SLucas Stach		regulator-max-microvolt = <3300000>;
379079aca4SLucas Stach		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
389079aca4SLucas Stach		enable-active-high;
399079aca4SLucas Stach	};
409b87ebb1SAbel Vesa
419b87ebb1SAbel Vesa	buck2_reg: regulator-buck2 {
429b87ebb1SAbel Vesa		pinctrl-names = "default";
439b87ebb1SAbel Vesa		pinctrl-0 = <&pinctrl_buck2>;
449b87ebb1SAbel Vesa		compatible = "regulator-gpio";
459b87ebb1SAbel Vesa		regulator-name = "vdd_arm";
469b87ebb1SAbel Vesa		regulator-min-microvolt = <900000>;
479b87ebb1SAbel Vesa		regulator-max-microvolt = <1000000>;
489b87ebb1SAbel Vesa		gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
499b87ebb1SAbel Vesa		states = <1000000 0x0
509b87ebb1SAbel Vesa			  900000 0x1>;
5113645b1aSAnson Huang		regulator-boot-on;
5213645b1aSAnson Huang		regulator-always-on;
539b87ebb1SAbel Vesa	};
54c6578d98SDaniel Baluta
55431e4628SRogerio Pimentel da Silva	ir-receiver {
56431e4628SRogerio Pimentel da Silva		compatible = "gpio-ir-receiver";
57431e4628SRogerio Pimentel da Silva		gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
58431e4628SRogerio Pimentel da Silva		pinctrl-names = "default";
59431e4628SRogerio Pimentel da Silva		pinctrl-0 = <&pinctrl_ir>;
604d583263SJoakim Zhang		linux,autosuspend-period = <125>;
61431e4628SRogerio Pimentel da Silva	};
62431e4628SRogerio Pimentel da Silva
63c6578d98SDaniel Baluta	wm8524: audio-codec {
64c6578d98SDaniel Baluta		#sound-dai-cells = <0>;
65c6578d98SDaniel Baluta		compatible = "wlf,wm8524";
66c6578d98SDaniel Baluta		wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
67c6578d98SDaniel Baluta	};
68c6578d98SDaniel Baluta
69c6578d98SDaniel Baluta	sound-wm8524 {
70c6578d98SDaniel Baluta		compatible = "simple-audio-card";
71c6578d98SDaniel Baluta		simple-audio-card,name = "wm8524-audio";
72c6578d98SDaniel Baluta		simple-audio-card,format = "i2s";
73c6578d98SDaniel Baluta		simple-audio-card,frame-master = <&cpudai>;
74c6578d98SDaniel Baluta		simple-audio-card,bitclock-master = <&cpudai>;
75c6578d98SDaniel Baluta		simple-audio-card,widgets =
76c6578d98SDaniel Baluta			"Line", "Left Line Out Jack",
77c6578d98SDaniel Baluta			"Line", "Right Line Out Jack";
78c6578d98SDaniel Baluta		simple-audio-card,routing =
79c6578d98SDaniel Baluta			"Left Line Out Jack", "LINEVOUTL",
80c6578d98SDaniel Baluta			"Right Line Out Jack", "LINEVOUTR";
81c6578d98SDaniel Baluta
82c6578d98SDaniel Baluta		cpudai: simple-audio-card,cpu {
83c6578d98SDaniel Baluta			sound-dai = <&sai2>;
84c6578d98SDaniel Baluta		};
85c6578d98SDaniel Baluta
86c6578d98SDaniel Baluta		link_codec: simple-audio-card,codec {
87c6578d98SDaniel Baluta			sound-dai = <&wm8524>;
88c6578d98SDaniel Baluta			clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
89c6578d98SDaniel Baluta		};
90c6578d98SDaniel Baluta	};
9108a1a2e2SShengjiu Wang
9208a1a2e2SShengjiu Wang	sound-spdif {
9308a1a2e2SShengjiu Wang		compatible = "fsl,imx-audio-spdif";
9408a1a2e2SShengjiu Wang		model = "imx-spdif";
9508a1a2e2SShengjiu Wang		spdif-controller = <&spdif1>;
9608a1a2e2SShengjiu Wang		spdif-out;
9708a1a2e2SShengjiu Wang		spdif-in;
9808a1a2e2SShengjiu Wang	};
9908a1a2e2SShengjiu Wang
10008a1a2e2SShengjiu Wang	sound-hdmi-arc {
10108a1a2e2SShengjiu Wang		compatible = "fsl,imx-audio-spdif";
10208a1a2e2SShengjiu Wang		model = "imx-hdmi-arc";
10308a1a2e2SShengjiu Wang		spdif-controller = <&spdif2>;
10408a1a2e2SShengjiu Wang		spdif-in;
10508a1a2e2SShengjiu Wang	};
1069b87ebb1SAbel Vesa};
1079b87ebb1SAbel Vesa
1089b87ebb1SAbel Vesa&A53_0 {
1099b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1109b87ebb1SAbel Vesa};
1119b87ebb1SAbel Vesa
1129b87ebb1SAbel Vesa&A53_1 {
1139b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1149b87ebb1SAbel Vesa};
1159b87ebb1SAbel Vesa
1169b87ebb1SAbel Vesa&A53_2 {
1179b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1189b87ebb1SAbel Vesa};
1199b87ebb1SAbel Vesa
1209b87ebb1SAbel Vesa&A53_3 {
1219b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1229079aca4SLucas Stach};
1239079aca4SLucas Stach
1240376f6ecSLeonard Crestez&ddrc {
1250376f6ecSLeonard Crestez	operating-points-v2 = <&ddrc_opp_table>;
126*0bcc4bf0SLucas Stach	status = "okay";
1270376f6ecSLeonard Crestez
1280376f6ecSLeonard Crestez	ddrc_opp_table: opp-table {
1290376f6ecSLeonard Crestez		compatible = "operating-points-v2";
1300376f6ecSLeonard Crestez
1310376f6ecSLeonard Crestez		opp-25M {
1320376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <25000000>;
1330376f6ecSLeonard Crestez		};
1340376f6ecSLeonard Crestez
1350376f6ecSLeonard Crestez		opp-100M {
1360376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <100000000>;
1370376f6ecSLeonard Crestez		};
1380376f6ecSLeonard Crestez
1390376f6ecSLeonard Crestez		/*
1400376f6ecSLeonard Crestez		 * On imx8mq B0 PLL can't be bypassed so low bus is 166M
1410376f6ecSLeonard Crestez		 */
1420376f6ecSLeonard Crestez		opp-166M {
1430376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <166935483>;
1440376f6ecSLeonard Crestez		};
1450376f6ecSLeonard Crestez
1460376f6ecSLeonard Crestez		opp-800M {
1470376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <800000000>;
1480376f6ecSLeonard Crestez		};
1490376f6ecSLeonard Crestez	};
1500376f6ecSLeonard Crestez};
1510376f6ecSLeonard Crestez
152d367e7d3SFabio Estevam&dphy {
153d367e7d3SFabio Estevam	status = "okay";
154d367e7d3SFabio Estevam};
155d367e7d3SFabio Estevam
1569079aca4SLucas Stach&fec1 {
1579079aca4SLucas Stach	pinctrl-names = "default";
1589079aca4SLucas Stach	pinctrl-0 = <&pinctrl_fec1>;
1599079aca4SLucas Stach	phy-mode = "rgmii-id";
16055b0b15aSCarlo Caione	phy-handle = <&ethphy0>;
161f196ef19SCarlo Caione	fsl,magic-packet;
1629079aca4SLucas Stach	status = "okay";
16355b0b15aSCarlo Caione
16455b0b15aSCarlo Caione	mdio {
16555b0b15aSCarlo Caione		#address-cells = <1>;
16655b0b15aSCarlo Caione		#size-cells = <0>;
16755b0b15aSCarlo Caione
16855b0b15aSCarlo Caione		ethphy0: ethernet-phy@0 {
16955b0b15aSCarlo Caione			compatible = "ethernet-phy-ieee802.3-c22";
17055b0b15aSCarlo Caione			reg = <0>;
171b73af7fcSKrzysztof Kozlowski			reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
172b73af7fcSKrzysztof Kozlowski			reset-assert-us = <10000>;
17320b6559eSJoakim Zhang			qca,disable-smarteee;
17409e5ccddSJoakim Zhang			vddio-supply = <&vddh>;
17509e5ccddSJoakim Zhang
17609e5ccddSJoakim Zhang			vddh: vddh-regulator {
17709e5ccddSJoakim Zhang			};
17855b0b15aSCarlo Caione		};
17955b0b15aSCarlo Caione	};
1809079aca4SLucas Stach};
1819079aca4SLucas Stach
182cdfdea07SAndrey Smirnov&gpio5 {
183cdfdea07SAndrey Smirnov	pinctrl-names = "default";
184cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_wifi_reset>;
185cdfdea07SAndrey Smirnov
186878cc5a2SKrzysztof Kozlowski	wl-reg-on-hog {
187cdfdea07SAndrey Smirnov		gpio-hog;
188cdfdea07SAndrey Smirnov		gpios = <29 GPIO_ACTIVE_HIGH>;
189cdfdea07SAndrey Smirnov		output-high;
190cdfdea07SAndrey Smirnov	};
191cdfdea07SAndrey Smirnov};
192cdfdea07SAndrey Smirnov
1939079aca4SLucas Stach&i2c1 {
1949079aca4SLucas Stach	clock-frequency = <100000>;
1959079aca4SLucas Stach	pinctrl-names = "default";
1969079aca4SLucas Stach	pinctrl-0 = <&pinctrl_i2c1>;
1979079aca4SLucas Stach	status = "okay";
1989079aca4SLucas Stach
1999079aca4SLucas Stach	pmic@8 {
2009079aca4SLucas Stach		compatible = "fsl,pfuze100";
2019079aca4SLucas Stach		reg = <0x8>;
2029079aca4SLucas Stach
2039079aca4SLucas Stach		regulators {
2049079aca4SLucas Stach			sw1a_reg: sw1ab {
2059079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2069079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2079079aca4SLucas Stach			};
2089079aca4SLucas Stach
2099079aca4SLucas Stach			sw1c_reg: sw1c {
2109079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2119079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2129079aca4SLucas Stach			};
2139079aca4SLucas Stach
2149079aca4SLucas Stach			sw2_reg: sw2 {
2159079aca4SLucas Stach				regulator-min-microvolt = <1100000>;
2169079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2179079aca4SLucas Stach				regulator-always-on;
2189079aca4SLucas Stach			};
2199079aca4SLucas Stach
2209079aca4SLucas Stach			sw3a_reg: sw3ab {
2219079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2229079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2239079aca4SLucas Stach				regulator-always-on;
2249079aca4SLucas Stach			};
2259079aca4SLucas Stach
2269079aca4SLucas Stach			sw4_reg: sw4 {
2279079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2289079aca4SLucas Stach				regulator-max-microvolt = <1800000>;
2299079aca4SLucas Stach				regulator-always-on;
2309079aca4SLucas Stach			};
2319079aca4SLucas Stach
2329079aca4SLucas Stach			swbst_reg: swbst {
2339079aca4SLucas Stach				regulator-min-microvolt = <5000000>;
2349079aca4SLucas Stach				regulator-max-microvolt = <5150000>;
2359079aca4SLucas Stach			};
2369079aca4SLucas Stach
2379079aca4SLucas Stach			snvs_reg: vsnvs {
2389079aca4SLucas Stach				regulator-min-microvolt = <1000000>;
2399079aca4SLucas Stach				regulator-max-microvolt = <3000000>;
2409079aca4SLucas Stach				regulator-always-on;
2419079aca4SLucas Stach			};
2429079aca4SLucas Stach
2439079aca4SLucas Stach			vref_reg: vrefddr {
2449079aca4SLucas Stach				regulator-always-on;
2459079aca4SLucas Stach			};
2469079aca4SLucas Stach
2479079aca4SLucas Stach			vgen1_reg: vgen1 {
2489079aca4SLucas Stach				regulator-min-microvolt = <800000>;
2499079aca4SLucas Stach				regulator-max-microvolt = <1550000>;
2509079aca4SLucas Stach			};
2519079aca4SLucas Stach
2529079aca4SLucas Stach			vgen2_reg: vgen2 {
2539079aca4SLucas Stach				regulator-min-microvolt = <850000>;
2549079aca4SLucas Stach				regulator-max-microvolt = <975000>;
2559079aca4SLucas Stach				regulator-always-on;
2569079aca4SLucas Stach			};
2579079aca4SLucas Stach
2589079aca4SLucas Stach			vgen3_reg: vgen3 {
2599079aca4SLucas Stach				regulator-min-microvolt = <1675000>;
2609079aca4SLucas Stach				regulator-max-microvolt = <1975000>;
2619079aca4SLucas Stach				regulator-always-on;
2629079aca4SLucas Stach			};
2639079aca4SLucas Stach
2649079aca4SLucas Stach			vgen4_reg: vgen4 {
2659079aca4SLucas Stach				regulator-min-microvolt = <1625000>;
2669079aca4SLucas Stach				regulator-max-microvolt = <1875000>;
2679079aca4SLucas Stach				regulator-always-on;
2689079aca4SLucas Stach			};
2699079aca4SLucas Stach
2709079aca4SLucas Stach			vgen5_reg: vgen5 {
2719079aca4SLucas Stach				regulator-min-microvolt = <3075000>;
2729079aca4SLucas Stach				regulator-max-microvolt = <3625000>;
2739079aca4SLucas Stach				regulator-always-on;
2749079aca4SLucas Stach			};
2759079aca4SLucas Stach
2769079aca4SLucas Stach			vgen6_reg: vgen6 {
2779079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2789079aca4SLucas Stach				regulator-max-microvolt = <3300000>;
2799079aca4SLucas Stach			};
2809079aca4SLucas Stach		};
2819079aca4SLucas Stach	};
2829079aca4SLucas Stach};
2839079aca4SLucas Stach
284d367e7d3SFabio Estevam&lcdif {
285d367e7d3SFabio Estevam	status = "okay";
286d367e7d3SFabio Estevam};
287d367e7d3SFabio Estevam
288d367e7d3SFabio Estevam&mipi_dsi {
289d367e7d3SFabio Estevam	#address-cells = <1>;
290d367e7d3SFabio Estevam	#size-cells = <0>;
291d367e7d3SFabio Estevam	status = "okay";
292d367e7d3SFabio Estevam
293d367e7d3SFabio Estevam	panel@0 {
294d367e7d3SFabio Estevam		pinctrl-0 = <&pinctrl_mipi_dsi>;
295d367e7d3SFabio Estevam		pinctrl-names = "default";
296d367e7d3SFabio Estevam		compatible = "raydium,rm67191";
297d367e7d3SFabio Estevam		reg = <0>;
298d367e7d3SFabio Estevam		reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
299d367e7d3SFabio Estevam		dsi-lanes = <4>;
300d367e7d3SFabio Estevam
301d367e7d3SFabio Estevam		port {
302d367e7d3SFabio Estevam			panel_in: endpoint {
303d367e7d3SFabio Estevam				remote-endpoint = <&mipi_dsi_out>;
304d367e7d3SFabio Estevam			};
305d367e7d3SFabio Estevam		};
306d367e7d3SFabio Estevam	};
307d367e7d3SFabio Estevam
308d367e7d3SFabio Estevam	ports {
309d367e7d3SFabio Estevam		port@1 {
310d367e7d3SFabio Estevam			reg = <1>;
311d367e7d3SFabio Estevam			mipi_dsi_out: endpoint {
312d367e7d3SFabio Estevam				remote-endpoint = <&panel_in>;
313d367e7d3SFabio Estevam			};
314d367e7d3SFabio Estevam		};
315d367e7d3SFabio Estevam	};
316d367e7d3SFabio Estevam};
317d367e7d3SFabio Estevam
318cdfdea07SAndrey Smirnov&pcie0 {
319cdfdea07SAndrey Smirnov	pinctrl-names = "default";
320cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_pcie0>;
321cdfdea07SAndrey Smirnov	reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>;
322cdfdea07SAndrey Smirnov	clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
323cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_AUX>,
324cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_PHY>,
325cdfdea07SAndrey Smirnov		 <&pcie0_refclk>;
326cdfdea07SAndrey Smirnov	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
3279b95c44bSRichard Zhu	vph-supply = <&vgen5_reg>;
328cdfdea07SAndrey Smirnov	status = "okay";
329cdfdea07SAndrey Smirnov};
330cdfdea07SAndrey Smirnov
331eda73fc8SLucas Stach&pgc_gpu {
332eda73fc8SLucas Stach	power-supply = <&sw1a_reg>;
333eda73fc8SLucas Stach};
334eda73fc8SLucas Stach
3351a42daaaSAdam Ford&pgc_vpu {
3361a42daaaSAdam Ford	power-supply = <&sw1c_reg>;
3371a42daaaSAdam Ford};
3381a42daaaSAdam Ford
3390169002fSAnson Huang&qspi0 {
3400169002fSAnson Huang	pinctrl-names = "default";
3410169002fSAnson Huang	pinctrl-0 = <&pinctrl_qspi>;
3420169002fSAnson Huang	status = "okay";
3430169002fSAnson Huang
3440169002fSAnson Huang	n25q256a: flash@0 {
3450169002fSAnson Huang		reg = <0>;
3460169002fSAnson Huang		#address-cells = <1>;
3470169002fSAnson Huang		#size-cells = <1>;
3480169002fSAnson Huang		compatible = "micron,n25q256a", "jedec,spi-nor";
3490169002fSAnson Huang		spi-max-frequency = <29000000>;
35004aa946dSHaibo Chen		spi-tx-bus-width = <1>;
35104aa946dSHaibo Chen		spi-rx-bus-width = <4>;
3520169002fSAnson Huang	};
3530169002fSAnson Huang};
3540169002fSAnson Huang
3550169002fSAnson Huang&sai2 {
3560169002fSAnson Huang	pinctrl-names = "default";
3570169002fSAnson Huang	pinctrl-0 = <&pinctrl_sai2>;
3580169002fSAnson Huang	assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI2>;
3590169002fSAnson Huang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>;
3600169002fSAnson Huang	assigned-clock-rates = <0>, <24576000>;
3610169002fSAnson Huang	status = "okay";
3620169002fSAnson Huang};
3630169002fSAnson Huang
3643c3a8e50SAnson Huang&snvs_pwrkey {
3653c3a8e50SAnson Huang	status = "okay";
3663c3a8e50SAnson Huang};
3673c3a8e50SAnson Huang
36808a1a2e2SShengjiu Wang&spdif1 {
36908a1a2e2SShengjiu Wang	pinctrl-names = "default";
37008a1a2e2SShengjiu Wang	pinctrl-0 = <&pinctrl_spdif1>;
37108a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF1>;
37208a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
37308a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
37408a1a2e2SShengjiu Wang	status = "okay";
37508a1a2e2SShengjiu Wang};
37608a1a2e2SShengjiu Wang
37708a1a2e2SShengjiu Wang&spdif2 {
37808a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
37908a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
38008a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
38108a1a2e2SShengjiu Wang	status = "okay";
38208a1a2e2SShengjiu Wang};
38308a1a2e2SShengjiu Wang
3849079aca4SLucas Stach&uart1 {
3859079aca4SLucas Stach	pinctrl-names = "default";
3869079aca4SLucas Stach	pinctrl-0 = <&pinctrl_uart1>;
3879079aca4SLucas Stach	status = "okay";
3889079aca4SLucas Stach};
3899079aca4SLucas Stach
39049e6d2b2SLucas Stach&usb3_phy1 {
39149e6d2b2SLucas Stach	status = "okay";
39249e6d2b2SLucas Stach};
39349e6d2b2SLucas Stach
39449e6d2b2SLucas Stach&usb_dwc3_1 {
39549e6d2b2SLucas Stach	dr_mode = "host";
39649e6d2b2SLucas Stach	status = "okay";
39749e6d2b2SLucas Stach};
39849e6d2b2SLucas Stach
3999079aca4SLucas Stach&usdhc1 {
400e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
401e045f044SAnson Huang	assigned-clock-rates = <400000000>;
4029079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
4039079aca4SLucas Stach	pinctrl-0 = <&pinctrl_usdhc1>;
4049079aca4SLucas Stach	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
4059079aca4SLucas Stach	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
4069079aca4SLucas Stach	vqmmc-supply = <&sw4_reg>;
4079079aca4SLucas Stach	bus-width = <8>;
4089079aca4SLucas Stach	non-removable;
4099079aca4SLucas Stach	no-sd;
4109079aca4SLucas Stach	no-sdio;
4119079aca4SLucas Stach	status = "okay";
4129079aca4SLucas Stach};
4139079aca4SLucas Stach
4149079aca4SLucas Stach&usdhc2 {
415e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
416e045f044SAnson Huang	assigned-clock-rates = <200000000>;
4179079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
4187e5f3146SKwon Tae-young	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
4197e5f3146SKwon Tae-young	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
4207e5f3146SKwon Tae-young	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
4219079aca4SLucas Stach	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
4229079aca4SLucas Stach	vmmc-supply = <&reg_usdhc2_vmmc>;
4239079aca4SLucas Stach	status = "okay";
4249079aca4SLucas Stach};
4259079aca4SLucas Stach
4263bbc9abbSBaruch Siach&wdog1 {
4273bbc9abbSBaruch Siach	pinctrl-names = "default";
4283bbc9abbSBaruch Siach	pinctrl-0 = <&pinctrl_wdog>;
4293bbc9abbSBaruch Siach	fsl,ext-reset-output;
4303bbc9abbSBaruch Siach	status = "okay";
4313bbc9abbSBaruch Siach};
4323bbc9abbSBaruch Siach
4339079aca4SLucas Stach&iomuxc {
4349b87ebb1SAbel Vesa	pinctrl_buck2: vddarmgrp {
4359b87ebb1SAbel Vesa		fsl,pins = <
4369b87ebb1SAbel Vesa			MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13		0x19
4379b87ebb1SAbel Vesa		>;
4389b87ebb1SAbel Vesa	};
4399b87ebb1SAbel Vesa
4409079aca4SLucas Stach	pinctrl_fec1: fec1grp {
4419079aca4SLucas Stach		fsl,pins = <
4429079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x3
4439079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO		0x23
4449079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
4459079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
4469079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
4479079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
4489079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
4499079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
4509079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
4519079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
4529079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
4539079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
4549079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
4559079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
4569079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
4579079aca4SLucas Stach		>;
4589079aca4SLucas Stach	};
4599079aca4SLucas Stach
4609079aca4SLucas Stach	pinctrl_i2c1: i2c1grp {
4619079aca4SLucas Stach		fsl,pins = <
4629079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
4639079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA			0x4000007f
4649079aca4SLucas Stach		>;
4659079aca4SLucas Stach	};
4669079aca4SLucas Stach
467431e4628SRogerio Pimentel da Silva	pinctrl_ir: irgrp {
468431e4628SRogerio Pimentel da Silva		fsl,pins = <
469431e4628SRogerio Pimentel da Silva			MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12		0x4f
470431e4628SRogerio Pimentel da Silva		>;
471431e4628SRogerio Pimentel da Silva	};
472431e4628SRogerio Pimentel da Silva
473d367e7d3SFabio Estevam	pinctrl_mipi_dsi: mipidsigrp {
474d367e7d3SFabio Estevam		fsl,pins = <
475d367e7d3SFabio Estevam			MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6		0x16
476d367e7d3SFabio Estevam		>;
477d367e7d3SFabio Estevam	};
478d367e7d3SFabio Estevam
479cdfdea07SAndrey Smirnov	pinctrl_pcie0: pcie0grp {
480cdfdea07SAndrey Smirnov		fsl,pins = <
481cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B		0x76
482cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_RXD_GPIO5_IO28		0x16
483cdfdea07SAndrey Smirnov		>;
484cdfdea07SAndrey Smirnov	};
485cdfdea07SAndrey Smirnov
486f9f818cfSCarlo Caione	pinctrl_qspi: qspigrp {
487f9f818cfSCarlo Caione		fsl,pins = <
488f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK	0x82
489f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B	0x82
490f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0	0x82
491f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1	0x82
492f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2	0x82
493f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3	0x82
494f9f818cfSCarlo Caione		>;
495f9f818cfSCarlo Caione	};
496f9f818cfSCarlo Caione
497ad5260e0SKrzysztof Kozlowski	pinctrl_reg_usdhc2: regusdhc2gpiogrp {
4989079aca4SLucas Stach		fsl,pins = <
4999079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19		0x41
5009079aca4SLucas Stach		>;
5019079aca4SLucas Stach	};
5029079aca4SLucas Stach
503c6578d98SDaniel Baluta	pinctrl_sai2: sai2grp {
504c6578d98SDaniel Baluta		fsl,pins = <
505c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC     0xd6
506c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK      0xd6
507c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK        0xd6
508c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0    0xd6
509c6578d98SDaniel Baluta			MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8       0xd6
510c6578d98SDaniel Baluta		>;
511c6578d98SDaniel Baluta	};
512c6578d98SDaniel Baluta
51308a1a2e2SShengjiu Wang	pinctrl_spdif1: spdif1grp {
51408a1a2e2SShengjiu Wang		fsl,pins = <
51508a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_TX_SPDIF1_OUT	0xd6
51608a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_RX_SPDIF1_IN		0xd6
51708a1a2e2SShengjiu Wang		>;
51808a1a2e2SShengjiu Wang	};
51908a1a2e2SShengjiu Wang
5209079aca4SLucas Stach	pinctrl_uart1: uart1grp {
5219079aca4SLucas Stach		fsl,pins = <
5229079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX		0x49
5239079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX		0x49
5249079aca4SLucas Stach		>;
5259079aca4SLucas Stach	};
5269079aca4SLucas Stach
5279079aca4SLucas Stach	pinctrl_usdhc1: usdhc1grp {
5289079aca4SLucas Stach		fsl,pins = <
5299079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
5309079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xc3
5319079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xc3
5329079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xc3
5339079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xc3
5349079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xc3
5359079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xc3
5369079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xc3
5379079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xc3
5389079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xc3
5399079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x83
5409079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5419079aca4SLucas Stach		>;
5429079aca4SLucas Stach	};
5439079aca4SLucas Stach
5449079aca4SLucas Stach	pinctrl_usdhc1_100mhz: usdhc1-100grp {
5459079aca4SLucas Stach		fsl,pins = <
546f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x8d
547f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xcd
548f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xcd
549f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xcd
550f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xcd
551f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xcd
552f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xcd
553f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xcd
554f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xcd
555f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xcd
556f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x8d
5579079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5589079aca4SLucas Stach		>;
5599079aca4SLucas Stach	};
5609079aca4SLucas Stach
5619079aca4SLucas Stach	pinctrl_usdhc1_200mhz: usdhc1-200grp {
5629079aca4SLucas Stach		fsl,pins = <
563f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x9f
564f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xdf
565f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xdf
566f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xdf
567f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xdf
568f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xdf
569f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xdf
570f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xdf
571f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xdf
572f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xdf
573f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x9f
5749079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5759079aca4SLucas Stach		>;
5769079aca4SLucas Stach	};
5779079aca4SLucas Stach
5787e5f3146SKwon Tae-young	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
5797e5f3146SKwon Tae-young		fsl,pins = <
5807e5f3146SKwon Tae-young			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12		0x41
5817e5f3146SKwon Tae-young		>;
5827e5f3146SKwon Tae-young	};
5837e5f3146SKwon Tae-young
5849079aca4SLucas Stach	pinctrl_usdhc2: usdhc2grp {
5859079aca4SLucas Stach		fsl,pins = <
5869079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x83
5879079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc3
5889079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc3
5899079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc3
5909079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc3
5919079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc3
5929079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
5939079aca4SLucas Stach		>;
5949079aca4SLucas Stach	};
5959079aca4SLucas Stach
5969079aca4SLucas Stach	pinctrl_usdhc2_100mhz: usdhc2-100grp {
5979079aca4SLucas Stach		fsl,pins = <
5989079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x85
5999079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc5
6009079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc5
6019079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc5
6029079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc5
6039079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc5
6049079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6059079aca4SLucas Stach		>;
6069079aca4SLucas Stach	};
6079079aca4SLucas Stach
6089079aca4SLucas Stach	pinctrl_usdhc2_200mhz: usdhc2-200grp {
6099079aca4SLucas Stach		fsl,pins = <
6109079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x87
6119079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc7
6129079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc7
6139079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc7
6149079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc7
6159079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc7
6169079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6179079aca4SLucas Stach		>;
6189079aca4SLucas Stach	};
6193bbc9abbSBaruch Siach
6203bbc9abbSBaruch Siach	pinctrl_wdog: wdog1grp {
6213bbc9abbSBaruch Siach		fsl,pins = <
6223bbc9abbSBaruch Siach			MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
6233bbc9abbSBaruch Siach		>;
6243bbc9abbSBaruch Siach	};
625cdfdea07SAndrey Smirnov
626cdfdea07SAndrey Smirnov	pinctrl_wifi_reset: wifiresetgrp {
627cdfdea07SAndrey Smirnov		fsl,pins = <
628cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_TXD_GPIO5_IO29		0x16
629cdfdea07SAndrey Smirnov		>;
630cdfdea07SAndrey Smirnov	};
6319079aca4SLucas Stach};
632