xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mq-evk.dts (revision 04aa946d57b20c40e541fb4ba2bcb390a22f404c)
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>;
1260376f6ecSLeonard Crestez
1270376f6ecSLeonard Crestez	ddrc_opp_table: opp-table {
1280376f6ecSLeonard Crestez		compatible = "operating-points-v2";
1290376f6ecSLeonard Crestez
1300376f6ecSLeonard Crestez		opp-25M {
1310376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <25000000>;
1320376f6ecSLeonard Crestez		};
1330376f6ecSLeonard Crestez
1340376f6ecSLeonard Crestez		opp-100M {
1350376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <100000000>;
1360376f6ecSLeonard Crestez		};
1370376f6ecSLeonard Crestez
1380376f6ecSLeonard Crestez		/*
1390376f6ecSLeonard Crestez		 * On imx8mq B0 PLL can't be bypassed so low bus is 166M
1400376f6ecSLeonard Crestez		 */
1410376f6ecSLeonard Crestez		opp-166M {
1420376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <166935483>;
1430376f6ecSLeonard Crestez		};
1440376f6ecSLeonard Crestez
1450376f6ecSLeonard Crestez		opp-800M {
1460376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <800000000>;
1470376f6ecSLeonard Crestez		};
1480376f6ecSLeonard Crestez	};
1490376f6ecSLeonard Crestez};
1500376f6ecSLeonard Crestez
151d367e7d3SFabio Estevam&dphy {
152d367e7d3SFabio Estevam	status = "okay";
153d367e7d3SFabio Estevam};
154d367e7d3SFabio Estevam
1559079aca4SLucas Stach&fec1 {
1569079aca4SLucas Stach	pinctrl-names = "default";
1579079aca4SLucas Stach	pinctrl-0 = <&pinctrl_fec1>;
1589079aca4SLucas Stach	phy-mode = "rgmii-id";
15955b0b15aSCarlo Caione	phy-handle = <&ethphy0>;
160f196ef19SCarlo Caione	fsl,magic-packet;
1619079aca4SLucas Stach	status = "okay";
16255b0b15aSCarlo Caione
16355b0b15aSCarlo Caione	mdio {
16455b0b15aSCarlo Caione		#address-cells = <1>;
16555b0b15aSCarlo Caione		#size-cells = <0>;
16655b0b15aSCarlo Caione
16755b0b15aSCarlo Caione		ethphy0: ethernet-phy@0 {
16855b0b15aSCarlo Caione			compatible = "ethernet-phy-ieee802.3-c22";
16955b0b15aSCarlo Caione			reg = <0>;
170b73af7fcSKrzysztof Kozlowski			reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
171b73af7fcSKrzysztof Kozlowski			reset-assert-us = <10000>;
17255b0b15aSCarlo Caione		};
17355b0b15aSCarlo Caione	};
1749079aca4SLucas Stach};
1759079aca4SLucas Stach
176cdfdea07SAndrey Smirnov&gpio5 {
177cdfdea07SAndrey Smirnov	pinctrl-names = "default";
178cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_wifi_reset>;
179cdfdea07SAndrey Smirnov
180878cc5a2SKrzysztof Kozlowski	wl-reg-on-hog {
181cdfdea07SAndrey Smirnov		gpio-hog;
182cdfdea07SAndrey Smirnov		gpios = <29 GPIO_ACTIVE_HIGH>;
183cdfdea07SAndrey Smirnov		output-high;
184cdfdea07SAndrey Smirnov	};
185cdfdea07SAndrey Smirnov};
186cdfdea07SAndrey Smirnov
1879079aca4SLucas Stach&i2c1 {
1889079aca4SLucas Stach	clock-frequency = <100000>;
1899079aca4SLucas Stach	pinctrl-names = "default";
1909079aca4SLucas Stach	pinctrl-0 = <&pinctrl_i2c1>;
1919079aca4SLucas Stach	status = "okay";
1929079aca4SLucas Stach
1939079aca4SLucas Stach	pmic@8 {
1949079aca4SLucas Stach		compatible = "fsl,pfuze100";
1959079aca4SLucas Stach		reg = <0x8>;
1969079aca4SLucas Stach
1979079aca4SLucas Stach		regulators {
1989079aca4SLucas Stach			sw1a_reg: sw1ab {
1999079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2009079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2019079aca4SLucas Stach			};
2029079aca4SLucas Stach
2039079aca4SLucas Stach			sw1c_reg: sw1c {
2049079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2059079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2069079aca4SLucas Stach			};
2079079aca4SLucas Stach
2089079aca4SLucas Stach			sw2_reg: sw2 {
2099079aca4SLucas Stach				regulator-min-microvolt = <1100000>;
2109079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2119079aca4SLucas Stach				regulator-always-on;
2129079aca4SLucas Stach			};
2139079aca4SLucas Stach
2149079aca4SLucas Stach			sw3a_reg: sw3ab {
2159079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2169079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2179079aca4SLucas Stach				regulator-always-on;
2189079aca4SLucas Stach			};
2199079aca4SLucas Stach
2209079aca4SLucas Stach			sw4_reg: sw4 {
2219079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2229079aca4SLucas Stach				regulator-max-microvolt = <1800000>;
2239079aca4SLucas Stach				regulator-always-on;
2249079aca4SLucas Stach			};
2259079aca4SLucas Stach
2269079aca4SLucas Stach			swbst_reg: swbst {
2279079aca4SLucas Stach				regulator-min-microvolt = <5000000>;
2289079aca4SLucas Stach				regulator-max-microvolt = <5150000>;
2299079aca4SLucas Stach			};
2309079aca4SLucas Stach
2319079aca4SLucas Stach			snvs_reg: vsnvs {
2329079aca4SLucas Stach				regulator-min-microvolt = <1000000>;
2339079aca4SLucas Stach				regulator-max-microvolt = <3000000>;
2349079aca4SLucas Stach				regulator-always-on;
2359079aca4SLucas Stach			};
2369079aca4SLucas Stach
2379079aca4SLucas Stach			vref_reg: vrefddr {
2389079aca4SLucas Stach				regulator-always-on;
2399079aca4SLucas Stach			};
2409079aca4SLucas Stach
2419079aca4SLucas Stach			vgen1_reg: vgen1 {
2429079aca4SLucas Stach				regulator-min-microvolt = <800000>;
2439079aca4SLucas Stach				regulator-max-microvolt = <1550000>;
2449079aca4SLucas Stach			};
2459079aca4SLucas Stach
2469079aca4SLucas Stach			vgen2_reg: vgen2 {
2479079aca4SLucas Stach				regulator-min-microvolt = <850000>;
2489079aca4SLucas Stach				regulator-max-microvolt = <975000>;
2499079aca4SLucas Stach				regulator-always-on;
2509079aca4SLucas Stach			};
2519079aca4SLucas Stach
2529079aca4SLucas Stach			vgen3_reg: vgen3 {
2539079aca4SLucas Stach				regulator-min-microvolt = <1675000>;
2549079aca4SLucas Stach				regulator-max-microvolt = <1975000>;
2559079aca4SLucas Stach				regulator-always-on;
2569079aca4SLucas Stach			};
2579079aca4SLucas Stach
2589079aca4SLucas Stach			vgen4_reg: vgen4 {
2599079aca4SLucas Stach				regulator-min-microvolt = <1625000>;
2609079aca4SLucas Stach				regulator-max-microvolt = <1875000>;
2619079aca4SLucas Stach				regulator-always-on;
2629079aca4SLucas Stach			};
2639079aca4SLucas Stach
2649079aca4SLucas Stach			vgen5_reg: vgen5 {
2659079aca4SLucas Stach				regulator-min-microvolt = <3075000>;
2669079aca4SLucas Stach				regulator-max-microvolt = <3625000>;
2679079aca4SLucas Stach				regulator-always-on;
2689079aca4SLucas Stach			};
2699079aca4SLucas Stach
2709079aca4SLucas Stach			vgen6_reg: vgen6 {
2719079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2729079aca4SLucas Stach				regulator-max-microvolt = <3300000>;
2739079aca4SLucas Stach			};
2749079aca4SLucas Stach		};
2759079aca4SLucas Stach	};
2769079aca4SLucas Stach};
2779079aca4SLucas Stach
278d367e7d3SFabio Estevam&lcdif {
279d367e7d3SFabio Estevam	status = "okay";
280d367e7d3SFabio Estevam};
281d367e7d3SFabio Estevam
282d367e7d3SFabio Estevam&mipi_dsi {
283d367e7d3SFabio Estevam	#address-cells = <1>;
284d367e7d3SFabio Estevam	#size-cells = <0>;
285d367e7d3SFabio Estevam	status = "okay";
286d367e7d3SFabio Estevam
287d367e7d3SFabio Estevam	panel@0 {
288d367e7d3SFabio Estevam		pinctrl-0 = <&pinctrl_mipi_dsi>;
289d367e7d3SFabio Estevam		pinctrl-names = "default";
290d367e7d3SFabio Estevam		compatible = "raydium,rm67191";
291d367e7d3SFabio Estevam		reg = <0>;
292d367e7d3SFabio Estevam		reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
293d367e7d3SFabio Estevam		dsi-lanes = <4>;
294d367e7d3SFabio Estevam
295d367e7d3SFabio Estevam		port {
296d367e7d3SFabio Estevam			panel_in: endpoint {
297d367e7d3SFabio Estevam				remote-endpoint = <&mipi_dsi_out>;
298d367e7d3SFabio Estevam			};
299d367e7d3SFabio Estevam		};
300d367e7d3SFabio Estevam	};
301d367e7d3SFabio Estevam
302d367e7d3SFabio Estevam	ports {
303d367e7d3SFabio Estevam		port@1 {
304d367e7d3SFabio Estevam			reg = <1>;
305d367e7d3SFabio Estevam			mipi_dsi_out: endpoint {
306d367e7d3SFabio Estevam				remote-endpoint = <&panel_in>;
307d367e7d3SFabio Estevam			};
308d367e7d3SFabio Estevam		};
309d367e7d3SFabio Estevam	};
310d367e7d3SFabio Estevam};
311d367e7d3SFabio Estevam
312cdfdea07SAndrey Smirnov&pcie0 {
313cdfdea07SAndrey Smirnov	pinctrl-names = "default";
314cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_pcie0>;
315cdfdea07SAndrey Smirnov	reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>;
316cdfdea07SAndrey Smirnov	clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
317cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_AUX>,
318cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_PHY>,
319cdfdea07SAndrey Smirnov		 <&pcie0_refclk>;
320cdfdea07SAndrey Smirnov	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
3219b95c44bSRichard Zhu	vph-supply = <&vgen5_reg>;
322cdfdea07SAndrey Smirnov	status = "okay";
323cdfdea07SAndrey Smirnov};
324cdfdea07SAndrey Smirnov
325eda73fc8SLucas Stach&pgc_gpu {
326eda73fc8SLucas Stach	power-supply = <&sw1a_reg>;
327eda73fc8SLucas Stach};
328eda73fc8SLucas Stach
3290169002fSAnson Huang&qspi0 {
3300169002fSAnson Huang	pinctrl-names = "default";
3310169002fSAnson Huang	pinctrl-0 = <&pinctrl_qspi>;
3320169002fSAnson Huang	status = "okay";
3330169002fSAnson Huang
3340169002fSAnson Huang	n25q256a: flash@0 {
3350169002fSAnson Huang		reg = <0>;
3360169002fSAnson Huang		#address-cells = <1>;
3370169002fSAnson Huang		#size-cells = <1>;
3380169002fSAnson Huang		compatible = "micron,n25q256a", "jedec,spi-nor";
3390169002fSAnson Huang		spi-max-frequency = <29000000>;
340*04aa946dSHaibo Chen		spi-tx-bus-width = <1>;
341*04aa946dSHaibo Chen		spi-rx-bus-width = <4>;
3420169002fSAnson Huang	};
3430169002fSAnson Huang};
3440169002fSAnson Huang
3450169002fSAnson Huang&sai2 {
3460169002fSAnson Huang	pinctrl-names = "default";
3470169002fSAnson Huang	pinctrl-0 = <&pinctrl_sai2>;
3480169002fSAnson Huang	assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI2>;
3490169002fSAnson Huang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>;
3500169002fSAnson Huang	assigned-clock-rates = <0>, <24576000>;
3510169002fSAnson Huang	status = "okay";
3520169002fSAnson Huang};
3530169002fSAnson Huang
3543c3a8e50SAnson Huang&snvs_pwrkey {
3553c3a8e50SAnson Huang	status = "okay";
3563c3a8e50SAnson Huang};
3573c3a8e50SAnson Huang
35808a1a2e2SShengjiu Wang&spdif1 {
35908a1a2e2SShengjiu Wang	pinctrl-names = "default";
36008a1a2e2SShengjiu Wang	pinctrl-0 = <&pinctrl_spdif1>;
36108a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF1>;
36208a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
36308a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
36408a1a2e2SShengjiu Wang	status = "okay";
36508a1a2e2SShengjiu Wang};
36608a1a2e2SShengjiu Wang
36708a1a2e2SShengjiu Wang&spdif2 {
36808a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
36908a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
37008a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
37108a1a2e2SShengjiu Wang	status = "okay";
37208a1a2e2SShengjiu Wang};
37308a1a2e2SShengjiu Wang
3749079aca4SLucas Stach&uart1 {
3759079aca4SLucas Stach	pinctrl-names = "default";
3769079aca4SLucas Stach	pinctrl-0 = <&pinctrl_uart1>;
3779079aca4SLucas Stach	status = "okay";
3789079aca4SLucas Stach};
3799079aca4SLucas Stach
38049e6d2b2SLucas Stach&usb3_phy1 {
38149e6d2b2SLucas Stach	status = "okay";
38249e6d2b2SLucas Stach};
38349e6d2b2SLucas Stach
38449e6d2b2SLucas Stach&usb_dwc3_1 {
38549e6d2b2SLucas Stach	dr_mode = "host";
38649e6d2b2SLucas Stach	status = "okay";
38749e6d2b2SLucas Stach};
38849e6d2b2SLucas Stach
3899079aca4SLucas Stach&usdhc1 {
390e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
391e045f044SAnson Huang	assigned-clock-rates = <400000000>;
3929079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
3939079aca4SLucas Stach	pinctrl-0 = <&pinctrl_usdhc1>;
3949079aca4SLucas Stach	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
3959079aca4SLucas Stach	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
3969079aca4SLucas Stach	vqmmc-supply = <&sw4_reg>;
3979079aca4SLucas Stach	bus-width = <8>;
3989079aca4SLucas Stach	non-removable;
3999079aca4SLucas Stach	no-sd;
4009079aca4SLucas Stach	no-sdio;
4019079aca4SLucas Stach	status = "okay";
4029079aca4SLucas Stach};
4039079aca4SLucas Stach
4049079aca4SLucas Stach&usdhc2 {
405e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
406e045f044SAnson Huang	assigned-clock-rates = <200000000>;
4079079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
4087e5f3146SKwon Tae-young	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
4097e5f3146SKwon Tae-young	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
4107e5f3146SKwon Tae-young	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
4119079aca4SLucas Stach	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
4129079aca4SLucas Stach	vmmc-supply = <&reg_usdhc2_vmmc>;
4139079aca4SLucas Stach	status = "okay";
4149079aca4SLucas Stach};
4159079aca4SLucas Stach
4163bbc9abbSBaruch Siach&wdog1 {
4173bbc9abbSBaruch Siach	pinctrl-names = "default";
4183bbc9abbSBaruch Siach	pinctrl-0 = <&pinctrl_wdog>;
4193bbc9abbSBaruch Siach	fsl,ext-reset-output;
4203bbc9abbSBaruch Siach	status = "okay";
4213bbc9abbSBaruch Siach};
4223bbc9abbSBaruch Siach
4239079aca4SLucas Stach&iomuxc {
4249b87ebb1SAbel Vesa	pinctrl_buck2: vddarmgrp {
4259b87ebb1SAbel Vesa		fsl,pins = <
4269b87ebb1SAbel Vesa			MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13		0x19
4279b87ebb1SAbel Vesa		>;
4289b87ebb1SAbel Vesa	};
4299b87ebb1SAbel Vesa
4309079aca4SLucas Stach	pinctrl_fec1: fec1grp {
4319079aca4SLucas Stach		fsl,pins = <
4329079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x3
4339079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO		0x23
4349079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
4359079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
4369079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
4379079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
4389079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
4399079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
4409079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
4419079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
4429079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
4439079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
4449079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
4459079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
4469079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
4479079aca4SLucas Stach		>;
4489079aca4SLucas Stach	};
4499079aca4SLucas Stach
4509079aca4SLucas Stach	pinctrl_i2c1: i2c1grp {
4519079aca4SLucas Stach		fsl,pins = <
4529079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
4539079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA			0x4000007f
4549079aca4SLucas Stach		>;
4559079aca4SLucas Stach	};
4569079aca4SLucas Stach
457431e4628SRogerio Pimentel da Silva	pinctrl_ir: irgrp {
458431e4628SRogerio Pimentel da Silva		fsl,pins = <
459431e4628SRogerio Pimentel da Silva			MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12		0x4f
460431e4628SRogerio Pimentel da Silva		>;
461431e4628SRogerio Pimentel da Silva	};
462431e4628SRogerio Pimentel da Silva
463d367e7d3SFabio Estevam	pinctrl_mipi_dsi: mipidsigrp {
464d367e7d3SFabio Estevam		fsl,pins = <
465d367e7d3SFabio Estevam			MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6		0x16
466d367e7d3SFabio Estevam		>;
467d367e7d3SFabio Estevam	};
468d367e7d3SFabio Estevam
469cdfdea07SAndrey Smirnov	pinctrl_pcie0: pcie0grp {
470cdfdea07SAndrey Smirnov		fsl,pins = <
471cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B		0x76
472cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_RXD_GPIO5_IO28		0x16
473cdfdea07SAndrey Smirnov		>;
474cdfdea07SAndrey Smirnov	};
475cdfdea07SAndrey Smirnov
476f9f818cfSCarlo Caione	pinctrl_qspi: qspigrp {
477f9f818cfSCarlo Caione		fsl,pins = <
478f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK	0x82
479f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B	0x82
480f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0	0x82
481f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1	0x82
482f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2	0x82
483f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3	0x82
484f9f818cfSCarlo Caione		>;
485f9f818cfSCarlo Caione	};
486f9f818cfSCarlo Caione
487ad5260e0SKrzysztof Kozlowski	pinctrl_reg_usdhc2: regusdhc2gpiogrp {
4889079aca4SLucas Stach		fsl,pins = <
4899079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19		0x41
4909079aca4SLucas Stach		>;
4919079aca4SLucas Stach	};
4929079aca4SLucas Stach
493c6578d98SDaniel Baluta	pinctrl_sai2: sai2grp {
494c6578d98SDaniel Baluta		fsl,pins = <
495c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC     0xd6
496c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK      0xd6
497c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK        0xd6
498c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0    0xd6
499c6578d98SDaniel Baluta			MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8       0xd6
500c6578d98SDaniel Baluta		>;
501c6578d98SDaniel Baluta	};
502c6578d98SDaniel Baluta
50308a1a2e2SShengjiu Wang	pinctrl_spdif1: spdif1grp {
50408a1a2e2SShengjiu Wang		fsl,pins = <
50508a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_TX_SPDIF1_OUT	0xd6
50608a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_RX_SPDIF1_IN		0xd6
50708a1a2e2SShengjiu Wang		>;
50808a1a2e2SShengjiu Wang	};
50908a1a2e2SShengjiu Wang
5109079aca4SLucas Stach	pinctrl_uart1: uart1grp {
5119079aca4SLucas Stach		fsl,pins = <
5129079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX		0x49
5139079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX		0x49
5149079aca4SLucas Stach		>;
5159079aca4SLucas Stach	};
5169079aca4SLucas Stach
5179079aca4SLucas Stach	pinctrl_usdhc1: usdhc1grp {
5189079aca4SLucas Stach		fsl,pins = <
5199079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
5209079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xc3
5219079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xc3
5229079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xc3
5239079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xc3
5249079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xc3
5259079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xc3
5269079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xc3
5279079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xc3
5289079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xc3
5299079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x83
5309079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5319079aca4SLucas Stach		>;
5329079aca4SLucas Stach	};
5339079aca4SLucas Stach
5349079aca4SLucas Stach	pinctrl_usdhc1_100mhz: usdhc1-100grp {
5359079aca4SLucas Stach		fsl,pins = <
536f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x8d
537f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xcd
538f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xcd
539f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xcd
540f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xcd
541f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xcd
542f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xcd
543f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xcd
544f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xcd
545f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xcd
546f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x8d
5479079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5489079aca4SLucas Stach		>;
5499079aca4SLucas Stach	};
5509079aca4SLucas Stach
5519079aca4SLucas Stach	pinctrl_usdhc1_200mhz: usdhc1-200grp {
5529079aca4SLucas Stach		fsl,pins = <
553f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x9f
554f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xdf
555f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xdf
556f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xdf
557f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xdf
558f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xdf
559f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xdf
560f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xdf
561f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xdf
562f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xdf
563f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x9f
5649079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5659079aca4SLucas Stach		>;
5669079aca4SLucas Stach	};
5679079aca4SLucas Stach
5687e5f3146SKwon Tae-young	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
5697e5f3146SKwon Tae-young		fsl,pins = <
5707e5f3146SKwon Tae-young			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12		0x41
5717e5f3146SKwon Tae-young		>;
5727e5f3146SKwon Tae-young	};
5737e5f3146SKwon Tae-young
5749079aca4SLucas Stach	pinctrl_usdhc2: usdhc2grp {
5759079aca4SLucas Stach		fsl,pins = <
5769079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x83
5779079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc3
5789079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc3
5799079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc3
5809079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc3
5819079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc3
5829079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
5839079aca4SLucas Stach		>;
5849079aca4SLucas Stach	};
5859079aca4SLucas Stach
5869079aca4SLucas Stach	pinctrl_usdhc2_100mhz: usdhc2-100grp {
5879079aca4SLucas Stach		fsl,pins = <
5889079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x85
5899079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc5
5909079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc5
5919079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc5
5929079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc5
5939079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc5
5949079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
5959079aca4SLucas Stach		>;
5969079aca4SLucas Stach	};
5979079aca4SLucas Stach
5989079aca4SLucas Stach	pinctrl_usdhc2_200mhz: usdhc2-200grp {
5999079aca4SLucas Stach		fsl,pins = <
6009079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x87
6019079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc7
6029079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc7
6039079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc7
6049079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc7
6059079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc7
6069079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6079079aca4SLucas Stach		>;
6089079aca4SLucas Stach	};
6093bbc9abbSBaruch Siach
6103bbc9abbSBaruch Siach	pinctrl_wdog: wdog1grp {
6113bbc9abbSBaruch Siach		fsl,pins = <
6123bbc9abbSBaruch Siach			MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
6133bbc9abbSBaruch Siach		>;
6143bbc9abbSBaruch Siach	};
615cdfdea07SAndrey Smirnov
616cdfdea07SAndrey Smirnov	pinctrl_wifi_reset: wifiresetgrp {
617cdfdea07SAndrey Smirnov		fsl,pins = <
618cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_TXD_GPIO5_IO29		0x16
619cdfdea07SAndrey Smirnov		>;
620cdfdea07SAndrey Smirnov	};
6219079aca4SLucas Stach};
622