xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mq-evk.dts (revision 5edaa224645b17266a8b8037e97fcad1275c49cf)
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
30*5edaa224SRichard Zhu	reg_pcie1: regulator-pcie {
31*5edaa224SRichard Zhu		compatible = "regulator-fixed";
32*5edaa224SRichard Zhu		pinctrl-names = "default";
33*5edaa224SRichard Zhu		pinctrl-0 = <&pinctrl_pcie1_reg>;
34*5edaa224SRichard Zhu		regulator-name = "MPCIE_3V3";
35*5edaa224SRichard Zhu		regulator-min-microvolt = <3300000>;
36*5edaa224SRichard Zhu		regulator-max-microvolt = <3300000>;
37*5edaa224SRichard Zhu		gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;
38*5edaa224SRichard Zhu		enable-active-high;
39*5edaa224SRichard Zhu	};
40*5edaa224SRichard Zhu
419079aca4SLucas Stach	reg_usdhc2_vmmc: regulator-vsd-3v3 {
429079aca4SLucas Stach		pinctrl-names = "default";
439079aca4SLucas Stach		pinctrl-0 = <&pinctrl_reg_usdhc2>;
449079aca4SLucas Stach		compatible = "regulator-fixed";
459079aca4SLucas Stach		regulator-name = "VSD_3V3";
469079aca4SLucas Stach		regulator-min-microvolt = <3300000>;
479079aca4SLucas Stach		regulator-max-microvolt = <3300000>;
489079aca4SLucas Stach		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
499079aca4SLucas Stach		enable-active-high;
509079aca4SLucas Stach	};
519b87ebb1SAbel Vesa
529b87ebb1SAbel Vesa	buck2_reg: regulator-buck2 {
539b87ebb1SAbel Vesa		pinctrl-names = "default";
549b87ebb1SAbel Vesa		pinctrl-0 = <&pinctrl_buck2>;
559b87ebb1SAbel Vesa		compatible = "regulator-gpio";
569b87ebb1SAbel Vesa		regulator-name = "vdd_arm";
579b87ebb1SAbel Vesa		regulator-min-microvolt = <900000>;
589b87ebb1SAbel Vesa		regulator-max-microvolt = <1000000>;
599b87ebb1SAbel Vesa		gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
609b87ebb1SAbel Vesa		states = <1000000 0x0
619b87ebb1SAbel Vesa			  900000 0x1>;
6213645b1aSAnson Huang		regulator-boot-on;
6313645b1aSAnson Huang		regulator-always-on;
649b87ebb1SAbel Vesa	};
65c6578d98SDaniel Baluta
66431e4628SRogerio Pimentel da Silva	ir-receiver {
67431e4628SRogerio Pimentel da Silva		compatible = "gpio-ir-receiver";
68431e4628SRogerio Pimentel da Silva		gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
69431e4628SRogerio Pimentel da Silva		pinctrl-names = "default";
70431e4628SRogerio Pimentel da Silva		pinctrl-0 = <&pinctrl_ir>;
714d583263SJoakim Zhang		linux,autosuspend-period = <125>;
72431e4628SRogerio Pimentel da Silva	};
73431e4628SRogerio Pimentel da Silva
74c6578d98SDaniel Baluta	wm8524: audio-codec {
75c6578d98SDaniel Baluta		#sound-dai-cells = <0>;
76c6578d98SDaniel Baluta		compatible = "wlf,wm8524";
77c6578d98SDaniel Baluta		wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
78c6578d98SDaniel Baluta	};
79c6578d98SDaniel Baluta
80c6578d98SDaniel Baluta	sound-wm8524 {
81c6578d98SDaniel Baluta		compatible = "simple-audio-card";
82c6578d98SDaniel Baluta		simple-audio-card,name = "wm8524-audio";
83c6578d98SDaniel Baluta		simple-audio-card,format = "i2s";
84c6578d98SDaniel Baluta		simple-audio-card,frame-master = <&cpudai>;
85c6578d98SDaniel Baluta		simple-audio-card,bitclock-master = <&cpudai>;
86c6578d98SDaniel Baluta		simple-audio-card,widgets =
87c6578d98SDaniel Baluta			"Line", "Left Line Out Jack",
88c6578d98SDaniel Baluta			"Line", "Right Line Out Jack";
89c6578d98SDaniel Baluta		simple-audio-card,routing =
90c6578d98SDaniel Baluta			"Left Line Out Jack", "LINEVOUTL",
91c6578d98SDaniel Baluta			"Right Line Out Jack", "LINEVOUTR";
92c6578d98SDaniel Baluta
93c6578d98SDaniel Baluta		cpudai: simple-audio-card,cpu {
94c6578d98SDaniel Baluta			sound-dai = <&sai2>;
95c6578d98SDaniel Baluta		};
96c6578d98SDaniel Baluta
97c6578d98SDaniel Baluta		link_codec: simple-audio-card,codec {
98c6578d98SDaniel Baluta			sound-dai = <&wm8524>;
99c6578d98SDaniel Baluta			clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
100c6578d98SDaniel Baluta		};
101c6578d98SDaniel Baluta	};
10208a1a2e2SShengjiu Wang
10308a1a2e2SShengjiu Wang	sound-spdif {
10408a1a2e2SShengjiu Wang		compatible = "fsl,imx-audio-spdif";
10508a1a2e2SShengjiu Wang		model = "imx-spdif";
10608a1a2e2SShengjiu Wang		spdif-controller = <&spdif1>;
10708a1a2e2SShengjiu Wang		spdif-out;
10808a1a2e2SShengjiu Wang		spdif-in;
10908a1a2e2SShengjiu Wang	};
11008a1a2e2SShengjiu Wang
11108a1a2e2SShengjiu Wang	sound-hdmi-arc {
11208a1a2e2SShengjiu Wang		compatible = "fsl,imx-audio-spdif";
11308a1a2e2SShengjiu Wang		model = "imx-hdmi-arc";
11408a1a2e2SShengjiu Wang		spdif-controller = <&spdif2>;
11508a1a2e2SShengjiu Wang		spdif-in;
11608a1a2e2SShengjiu Wang	};
1179b87ebb1SAbel Vesa};
1189b87ebb1SAbel Vesa
1199b87ebb1SAbel Vesa&A53_0 {
1209b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1219b87ebb1SAbel Vesa};
1229b87ebb1SAbel Vesa
1239b87ebb1SAbel Vesa&A53_1 {
1249b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1259b87ebb1SAbel Vesa};
1269b87ebb1SAbel Vesa
1279b87ebb1SAbel Vesa&A53_2 {
1289b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1299b87ebb1SAbel Vesa};
1309b87ebb1SAbel Vesa
1319b87ebb1SAbel Vesa&A53_3 {
1329b87ebb1SAbel Vesa	cpu-supply = <&buck2_reg>;
1339079aca4SLucas Stach};
1349079aca4SLucas Stach
1350376f6ecSLeonard Crestez&ddrc {
1360376f6ecSLeonard Crestez	operating-points-v2 = <&ddrc_opp_table>;
1370bcc4bf0SLucas Stach	status = "okay";
1380376f6ecSLeonard Crestez
1390376f6ecSLeonard Crestez	ddrc_opp_table: opp-table {
1400376f6ecSLeonard Crestez		compatible = "operating-points-v2";
1410376f6ecSLeonard Crestez
1420376f6ecSLeonard Crestez		opp-25M {
1430376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <25000000>;
1440376f6ecSLeonard Crestez		};
1450376f6ecSLeonard Crestez
1460376f6ecSLeonard Crestez		opp-100M {
1470376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <100000000>;
1480376f6ecSLeonard Crestez		};
1490376f6ecSLeonard Crestez
1500376f6ecSLeonard Crestez		/*
1510376f6ecSLeonard Crestez		 * On imx8mq B0 PLL can't be bypassed so low bus is 166M
1520376f6ecSLeonard Crestez		 */
1530376f6ecSLeonard Crestez		opp-166M {
1540376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <166935483>;
1550376f6ecSLeonard Crestez		};
1560376f6ecSLeonard Crestez
1570376f6ecSLeonard Crestez		opp-800M {
1580376f6ecSLeonard Crestez			opp-hz = /bits/ 64 <800000000>;
1590376f6ecSLeonard Crestez		};
1600376f6ecSLeonard Crestez	};
1610376f6ecSLeonard Crestez};
1620376f6ecSLeonard Crestez
163d367e7d3SFabio Estevam&dphy {
164d367e7d3SFabio Estevam	status = "okay";
165d367e7d3SFabio Estevam};
166d367e7d3SFabio Estevam
1679079aca4SLucas Stach&fec1 {
1689079aca4SLucas Stach	pinctrl-names = "default";
1699079aca4SLucas Stach	pinctrl-0 = <&pinctrl_fec1>;
1709079aca4SLucas Stach	phy-mode = "rgmii-id";
17155b0b15aSCarlo Caione	phy-handle = <&ethphy0>;
172f196ef19SCarlo Caione	fsl,magic-packet;
1739079aca4SLucas Stach	status = "okay";
17455b0b15aSCarlo Caione
17555b0b15aSCarlo Caione	mdio {
17655b0b15aSCarlo Caione		#address-cells = <1>;
17755b0b15aSCarlo Caione		#size-cells = <0>;
17855b0b15aSCarlo Caione
17955b0b15aSCarlo Caione		ethphy0: ethernet-phy@0 {
18055b0b15aSCarlo Caione			compatible = "ethernet-phy-ieee802.3-c22";
18155b0b15aSCarlo Caione			reg = <0>;
182b73af7fcSKrzysztof Kozlowski			reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
183b73af7fcSKrzysztof Kozlowski			reset-assert-us = <10000>;
18420b6559eSJoakim Zhang			qca,disable-smarteee;
18509e5ccddSJoakim Zhang			vddio-supply = <&vddh>;
18609e5ccddSJoakim Zhang
18709e5ccddSJoakim Zhang			vddh: vddh-regulator {
18809e5ccddSJoakim Zhang			};
18955b0b15aSCarlo Caione		};
19055b0b15aSCarlo Caione	};
1919079aca4SLucas Stach};
1929079aca4SLucas Stach
193cdfdea07SAndrey Smirnov&gpio5 {
194cdfdea07SAndrey Smirnov	pinctrl-names = "default";
195cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_wifi_reset>;
196cdfdea07SAndrey Smirnov
197878cc5a2SKrzysztof Kozlowski	wl-reg-on-hog {
198cdfdea07SAndrey Smirnov		gpio-hog;
199cdfdea07SAndrey Smirnov		gpios = <29 GPIO_ACTIVE_HIGH>;
200cdfdea07SAndrey Smirnov		output-high;
201cdfdea07SAndrey Smirnov	};
202cdfdea07SAndrey Smirnov};
203cdfdea07SAndrey Smirnov
2049079aca4SLucas Stach&i2c1 {
2059079aca4SLucas Stach	clock-frequency = <100000>;
2069079aca4SLucas Stach	pinctrl-names = "default";
2079079aca4SLucas Stach	pinctrl-0 = <&pinctrl_i2c1>;
2089079aca4SLucas Stach	status = "okay";
2099079aca4SLucas Stach
2109079aca4SLucas Stach	pmic@8 {
2119079aca4SLucas Stach		compatible = "fsl,pfuze100";
2129079aca4SLucas Stach		reg = <0x8>;
2139079aca4SLucas Stach
2149079aca4SLucas Stach		regulators {
2159079aca4SLucas Stach			sw1a_reg: sw1ab {
2169079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2179079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2189079aca4SLucas Stach			};
2199079aca4SLucas Stach
2209079aca4SLucas Stach			sw1c_reg: sw1c {
2219079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2229079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2239079aca4SLucas Stach			};
2249079aca4SLucas Stach
2259079aca4SLucas Stach			sw2_reg: sw2 {
2269079aca4SLucas Stach				regulator-min-microvolt = <1100000>;
2279079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2289079aca4SLucas Stach				regulator-always-on;
2299079aca4SLucas Stach			};
2309079aca4SLucas Stach
2319079aca4SLucas Stach			sw3a_reg: sw3ab {
2329079aca4SLucas Stach				regulator-min-microvolt = <825000>;
2339079aca4SLucas Stach				regulator-max-microvolt = <1100000>;
2349079aca4SLucas Stach				regulator-always-on;
2359079aca4SLucas Stach			};
2369079aca4SLucas Stach
2379079aca4SLucas Stach			sw4_reg: sw4 {
2389079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2399079aca4SLucas Stach				regulator-max-microvolt = <1800000>;
2409079aca4SLucas Stach				regulator-always-on;
2419079aca4SLucas Stach			};
2429079aca4SLucas Stach
2439079aca4SLucas Stach			swbst_reg: swbst {
2449079aca4SLucas Stach				regulator-min-microvolt = <5000000>;
2459079aca4SLucas Stach				regulator-max-microvolt = <5150000>;
2469079aca4SLucas Stach			};
2479079aca4SLucas Stach
2489079aca4SLucas Stach			snvs_reg: vsnvs {
2499079aca4SLucas Stach				regulator-min-microvolt = <1000000>;
2509079aca4SLucas Stach				regulator-max-microvolt = <3000000>;
2519079aca4SLucas Stach				regulator-always-on;
2529079aca4SLucas Stach			};
2539079aca4SLucas Stach
2549079aca4SLucas Stach			vref_reg: vrefddr {
2559079aca4SLucas Stach				regulator-always-on;
2569079aca4SLucas Stach			};
2579079aca4SLucas Stach
2589079aca4SLucas Stach			vgen1_reg: vgen1 {
2599079aca4SLucas Stach				regulator-min-microvolt = <800000>;
2609079aca4SLucas Stach				regulator-max-microvolt = <1550000>;
2619079aca4SLucas Stach			};
2629079aca4SLucas Stach
2639079aca4SLucas Stach			vgen2_reg: vgen2 {
2649079aca4SLucas Stach				regulator-min-microvolt = <850000>;
2659079aca4SLucas Stach				regulator-max-microvolt = <975000>;
2669079aca4SLucas Stach				regulator-always-on;
2679079aca4SLucas Stach			};
2689079aca4SLucas Stach
2699079aca4SLucas Stach			vgen3_reg: vgen3 {
2709079aca4SLucas Stach				regulator-min-microvolt = <1675000>;
2719079aca4SLucas Stach				regulator-max-microvolt = <1975000>;
2729079aca4SLucas Stach				regulator-always-on;
2739079aca4SLucas Stach			};
2749079aca4SLucas Stach
2759079aca4SLucas Stach			vgen4_reg: vgen4 {
2769079aca4SLucas Stach				regulator-min-microvolt = <1625000>;
2779079aca4SLucas Stach				regulator-max-microvolt = <1875000>;
2789079aca4SLucas Stach				regulator-always-on;
2799079aca4SLucas Stach			};
2809079aca4SLucas Stach
2819079aca4SLucas Stach			vgen5_reg: vgen5 {
2829079aca4SLucas Stach				regulator-min-microvolt = <3075000>;
2839079aca4SLucas Stach				regulator-max-microvolt = <3625000>;
2849079aca4SLucas Stach				regulator-always-on;
2859079aca4SLucas Stach			};
2869079aca4SLucas Stach
2879079aca4SLucas Stach			vgen6_reg: vgen6 {
2889079aca4SLucas Stach				regulator-min-microvolt = <1800000>;
2899079aca4SLucas Stach				regulator-max-microvolt = <3300000>;
2909079aca4SLucas Stach			};
2919079aca4SLucas Stach		};
2929079aca4SLucas Stach	};
2939079aca4SLucas Stach};
2949079aca4SLucas Stach
295d367e7d3SFabio Estevam&lcdif {
296d367e7d3SFabio Estevam	status = "okay";
297d367e7d3SFabio Estevam};
298d367e7d3SFabio Estevam
299d367e7d3SFabio Estevam&mipi_dsi {
300d367e7d3SFabio Estevam	#address-cells = <1>;
301d367e7d3SFabio Estevam	#size-cells = <0>;
302d367e7d3SFabio Estevam	status = "okay";
303d367e7d3SFabio Estevam
304d367e7d3SFabio Estevam	panel@0 {
305d367e7d3SFabio Estevam		pinctrl-0 = <&pinctrl_mipi_dsi>;
306d367e7d3SFabio Estevam		pinctrl-names = "default";
307d367e7d3SFabio Estevam		compatible = "raydium,rm67191";
308d367e7d3SFabio Estevam		reg = <0>;
309d367e7d3SFabio Estevam		reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
310d367e7d3SFabio Estevam		dsi-lanes = <4>;
311d367e7d3SFabio Estevam
312d367e7d3SFabio Estevam		port {
313d367e7d3SFabio Estevam			panel_in: endpoint {
314d367e7d3SFabio Estevam				remote-endpoint = <&mipi_dsi_out>;
315d367e7d3SFabio Estevam			};
316d367e7d3SFabio Estevam		};
317d367e7d3SFabio Estevam	};
318d367e7d3SFabio Estevam
319d367e7d3SFabio Estevam	ports {
320d367e7d3SFabio Estevam		port@1 {
321d367e7d3SFabio Estevam			reg = <1>;
322d367e7d3SFabio Estevam			mipi_dsi_out: endpoint {
323d367e7d3SFabio Estevam				remote-endpoint = <&panel_in>;
324d367e7d3SFabio Estevam			};
325d367e7d3SFabio Estevam		};
326d367e7d3SFabio Estevam	};
327d367e7d3SFabio Estevam};
328d367e7d3SFabio Estevam
329cdfdea07SAndrey Smirnov&pcie0 {
330cdfdea07SAndrey Smirnov	pinctrl-names = "default";
331cdfdea07SAndrey Smirnov	pinctrl-0 = <&pinctrl_pcie0>;
332cdfdea07SAndrey Smirnov	reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>;
333cdfdea07SAndrey Smirnov	clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
334cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_AUX>,
335cdfdea07SAndrey Smirnov		 <&clk IMX8MQ_CLK_PCIE1_PHY>,
336cdfdea07SAndrey Smirnov		 <&pcie0_refclk>;
337cdfdea07SAndrey Smirnov	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
3389b95c44bSRichard Zhu	vph-supply = <&vgen5_reg>;
339cdfdea07SAndrey Smirnov	status = "okay";
340cdfdea07SAndrey Smirnov};
341cdfdea07SAndrey Smirnov
342*5edaa224SRichard Zhu&pcie1 {
343*5edaa224SRichard Zhu	pinctrl-names = "default";
344*5edaa224SRichard Zhu	pinctrl-0 = <&pinctrl_pcie1>;
345*5edaa224SRichard Zhu	reset-gpio = <&gpio5 12 GPIO_ACTIVE_LOW>;
346*5edaa224SRichard Zhu	clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
347*5edaa224SRichard Zhu		 <&clk IMX8MQ_CLK_PCIE2_AUX>,
348*5edaa224SRichard Zhu		 <&clk IMX8MQ_CLK_PCIE2_PHY>,
349*5edaa224SRichard Zhu		 <&pcie0_refclk>;
350*5edaa224SRichard Zhu	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
351*5edaa224SRichard Zhu	vpcie-supply = <&reg_pcie1>;
352*5edaa224SRichard Zhu	vph-supply = <&vgen5_reg>;
353*5edaa224SRichard Zhu	status = "okay";
354*5edaa224SRichard Zhu};
355*5edaa224SRichard Zhu
356eda73fc8SLucas Stach&pgc_gpu {
357eda73fc8SLucas Stach	power-supply = <&sw1a_reg>;
358eda73fc8SLucas Stach};
359eda73fc8SLucas Stach
3601a42daaaSAdam Ford&pgc_vpu {
3611a42daaaSAdam Ford	power-supply = <&sw1c_reg>;
3621a42daaaSAdam Ford};
3631a42daaaSAdam Ford
3640169002fSAnson Huang&qspi0 {
3650169002fSAnson Huang	pinctrl-names = "default";
3660169002fSAnson Huang	pinctrl-0 = <&pinctrl_qspi>;
3670169002fSAnson Huang	status = "okay";
3680169002fSAnson Huang
3690169002fSAnson Huang	n25q256a: flash@0 {
3700169002fSAnson Huang		reg = <0>;
3710169002fSAnson Huang		#address-cells = <1>;
3720169002fSAnson Huang		#size-cells = <1>;
3730169002fSAnson Huang		compatible = "micron,n25q256a", "jedec,spi-nor";
3740169002fSAnson Huang		spi-max-frequency = <29000000>;
37504aa946dSHaibo Chen		spi-tx-bus-width = <1>;
37604aa946dSHaibo Chen		spi-rx-bus-width = <4>;
3770169002fSAnson Huang	};
3780169002fSAnson Huang};
3790169002fSAnson Huang
3800169002fSAnson Huang&sai2 {
3810169002fSAnson Huang	pinctrl-names = "default";
3820169002fSAnson Huang	pinctrl-0 = <&pinctrl_sai2>;
3830169002fSAnson Huang	assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI2>;
3840169002fSAnson Huang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>;
3850169002fSAnson Huang	assigned-clock-rates = <0>, <24576000>;
3860169002fSAnson Huang	status = "okay";
3870169002fSAnson Huang};
3880169002fSAnson Huang
3893c3a8e50SAnson Huang&snvs_pwrkey {
3903c3a8e50SAnson Huang	status = "okay";
3913c3a8e50SAnson Huang};
3923c3a8e50SAnson Huang
39308a1a2e2SShengjiu Wang&spdif1 {
39408a1a2e2SShengjiu Wang	pinctrl-names = "default";
39508a1a2e2SShengjiu Wang	pinctrl-0 = <&pinctrl_spdif1>;
39608a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF1>;
39708a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
39808a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
39908a1a2e2SShengjiu Wang	status = "okay";
40008a1a2e2SShengjiu Wang};
40108a1a2e2SShengjiu Wang
40208a1a2e2SShengjiu Wang&spdif2 {
40308a1a2e2SShengjiu Wang	assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
40408a1a2e2SShengjiu Wang	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
40508a1a2e2SShengjiu Wang	assigned-clock-rates = <24576000>;
40608a1a2e2SShengjiu Wang	status = "okay";
40708a1a2e2SShengjiu Wang};
40808a1a2e2SShengjiu Wang
4099079aca4SLucas Stach&uart1 {
4109079aca4SLucas Stach	pinctrl-names = "default";
4119079aca4SLucas Stach	pinctrl-0 = <&pinctrl_uart1>;
4129079aca4SLucas Stach	status = "okay";
4139079aca4SLucas Stach};
4149079aca4SLucas Stach
41549e6d2b2SLucas Stach&usb3_phy1 {
41649e6d2b2SLucas Stach	status = "okay";
41749e6d2b2SLucas Stach};
41849e6d2b2SLucas Stach
41949e6d2b2SLucas Stach&usb_dwc3_1 {
42049e6d2b2SLucas Stach	dr_mode = "host";
42149e6d2b2SLucas Stach	status = "okay";
42249e6d2b2SLucas Stach};
42349e6d2b2SLucas Stach
4249079aca4SLucas Stach&usdhc1 {
425e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
426e045f044SAnson Huang	assigned-clock-rates = <400000000>;
4279079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
4289079aca4SLucas Stach	pinctrl-0 = <&pinctrl_usdhc1>;
4299079aca4SLucas Stach	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
4309079aca4SLucas Stach	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
4319079aca4SLucas Stach	vqmmc-supply = <&sw4_reg>;
4329079aca4SLucas Stach	bus-width = <8>;
4339079aca4SLucas Stach	non-removable;
4349079aca4SLucas Stach	no-sd;
4359079aca4SLucas Stach	no-sdio;
4369079aca4SLucas Stach	status = "okay";
4379079aca4SLucas Stach};
4389079aca4SLucas Stach
4399079aca4SLucas Stach&usdhc2 {
440e045f044SAnson Huang	assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
441e045f044SAnson Huang	assigned-clock-rates = <200000000>;
4429079aca4SLucas Stach	pinctrl-names = "default", "state_100mhz", "state_200mhz";
4437e5f3146SKwon Tae-young	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
4447e5f3146SKwon Tae-young	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
4457e5f3146SKwon Tae-young	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
4469079aca4SLucas Stach	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
4479079aca4SLucas Stach	vmmc-supply = <&reg_usdhc2_vmmc>;
4489079aca4SLucas Stach	status = "okay";
4499079aca4SLucas Stach};
4509079aca4SLucas Stach
4513bbc9abbSBaruch Siach&wdog1 {
4523bbc9abbSBaruch Siach	pinctrl-names = "default";
4533bbc9abbSBaruch Siach	pinctrl-0 = <&pinctrl_wdog>;
4543bbc9abbSBaruch Siach	fsl,ext-reset-output;
4553bbc9abbSBaruch Siach	status = "okay";
4563bbc9abbSBaruch Siach};
4573bbc9abbSBaruch Siach
4589079aca4SLucas Stach&iomuxc {
4599b87ebb1SAbel Vesa	pinctrl_buck2: vddarmgrp {
4609b87ebb1SAbel Vesa		fsl,pins = <
4619b87ebb1SAbel Vesa			MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13		0x19
4629b87ebb1SAbel Vesa		>;
4639b87ebb1SAbel Vesa	};
4649b87ebb1SAbel Vesa
4659079aca4SLucas Stach	pinctrl_fec1: fec1grp {
4669079aca4SLucas Stach		fsl,pins = <
4679079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x3
4689079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO		0x23
4699079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
4709079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
4719079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
4729079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
4739079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
4749079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
4759079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
4769079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
4779079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
4789079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
4799079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
4809079aca4SLucas Stach			MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
4819079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
4829079aca4SLucas Stach		>;
4839079aca4SLucas Stach	};
4849079aca4SLucas Stach
4859079aca4SLucas Stach	pinctrl_i2c1: i2c1grp {
4869079aca4SLucas Stach		fsl,pins = <
4879079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
4889079aca4SLucas Stach			MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA			0x4000007f
4899079aca4SLucas Stach		>;
4909079aca4SLucas Stach	};
4919079aca4SLucas Stach
492431e4628SRogerio Pimentel da Silva	pinctrl_ir: irgrp {
493431e4628SRogerio Pimentel da Silva		fsl,pins = <
494431e4628SRogerio Pimentel da Silva			MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12		0x4f
495431e4628SRogerio Pimentel da Silva		>;
496431e4628SRogerio Pimentel da Silva	};
497431e4628SRogerio Pimentel da Silva
498d367e7d3SFabio Estevam	pinctrl_mipi_dsi: mipidsigrp {
499d367e7d3SFabio Estevam		fsl,pins = <
500d367e7d3SFabio Estevam			MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6		0x16
501d367e7d3SFabio Estevam		>;
502d367e7d3SFabio Estevam	};
503d367e7d3SFabio Estevam
504cdfdea07SAndrey Smirnov	pinctrl_pcie0: pcie0grp {
505cdfdea07SAndrey Smirnov		fsl,pins = <
506cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B		0x76
507cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_RXD_GPIO5_IO28		0x16
508cdfdea07SAndrey Smirnov		>;
509cdfdea07SAndrey Smirnov	};
510cdfdea07SAndrey Smirnov
511*5edaa224SRichard Zhu	pinctrl_pcie1: pcie1grp {
512*5edaa224SRichard Zhu		fsl,pins = <
513*5edaa224SRichard Zhu			MX8MQ_IOMUXC_I2C4_SDA_PCIE2_CLKREQ_B		0x76
514*5edaa224SRichard Zhu			MX8MQ_IOMUXC_ECSPI2_MISO_GPIO5_IO12		0x16
515*5edaa224SRichard Zhu		>;
516*5edaa224SRichard Zhu	};
517*5edaa224SRichard Zhu
518*5edaa224SRichard Zhu	pinctrl_pcie1_reg: pcie1reggrp {
519*5edaa224SRichard Zhu		fsl,pins = <
520*5edaa224SRichard Zhu			MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10		0x16
521*5edaa224SRichard Zhu		>;
522*5edaa224SRichard Zhu	};
523*5edaa224SRichard Zhu
524f9f818cfSCarlo Caione	pinctrl_qspi: qspigrp {
525f9f818cfSCarlo Caione		fsl,pins = <
526f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK	0x82
527f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B	0x82
528f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0	0x82
529f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1	0x82
530f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2	0x82
531f9f818cfSCarlo Caione			MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3	0x82
532f9f818cfSCarlo Caione		>;
533f9f818cfSCarlo Caione	};
534f9f818cfSCarlo Caione
535ad5260e0SKrzysztof Kozlowski	pinctrl_reg_usdhc2: regusdhc2gpiogrp {
5369079aca4SLucas Stach		fsl,pins = <
5379079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19		0x41
5389079aca4SLucas Stach		>;
5399079aca4SLucas Stach	};
5409079aca4SLucas Stach
541c6578d98SDaniel Baluta	pinctrl_sai2: sai2grp {
542c6578d98SDaniel Baluta		fsl,pins = <
543c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC     0xd6
544c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK      0xd6
545c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK        0xd6
546c6578d98SDaniel Baluta			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0    0xd6
547c6578d98SDaniel Baluta			MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8       0xd6
548c6578d98SDaniel Baluta		>;
549c6578d98SDaniel Baluta	};
550c6578d98SDaniel Baluta
55108a1a2e2SShengjiu Wang	pinctrl_spdif1: spdif1grp {
55208a1a2e2SShengjiu Wang		fsl,pins = <
55308a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_TX_SPDIF1_OUT	0xd6
55408a1a2e2SShengjiu Wang			MX8MQ_IOMUXC_SPDIF_RX_SPDIF1_IN		0xd6
55508a1a2e2SShengjiu Wang		>;
55608a1a2e2SShengjiu Wang	};
55708a1a2e2SShengjiu Wang
5589079aca4SLucas Stach	pinctrl_uart1: uart1grp {
5599079aca4SLucas Stach		fsl,pins = <
5609079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX		0x49
5619079aca4SLucas Stach			MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX		0x49
5629079aca4SLucas Stach		>;
5639079aca4SLucas Stach	};
5649079aca4SLucas Stach
5659079aca4SLucas Stach	pinctrl_usdhc1: usdhc1grp {
5669079aca4SLucas Stach		fsl,pins = <
5679079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
5689079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xc3
5699079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xc3
5709079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xc3
5719079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xc3
5729079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xc3
5739079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xc3
5749079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xc3
5759079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xc3
5769079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xc3
5779079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x83
5789079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5799079aca4SLucas Stach		>;
5809079aca4SLucas Stach	};
5819079aca4SLucas Stach
5829079aca4SLucas Stach	pinctrl_usdhc1_100mhz: usdhc1-100grp {
5839079aca4SLucas Stach		fsl,pins = <
584f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x8d
585f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xcd
586f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xcd
587f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xcd
588f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xcd
589f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xcd
590f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xcd
591f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xcd
592f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xcd
593f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xcd
594f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x8d
5959079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
5969079aca4SLucas Stach		>;
5979079aca4SLucas Stach	};
5989079aca4SLucas Stach
5999079aca4SLucas Stach	pinctrl_usdhc1_200mhz: usdhc1-200grp {
6009079aca4SLucas Stach		fsl,pins = <
601f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x9f
602f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD			0xdf
603f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0		0xdf
604f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1		0xdf
605f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2		0xdf
606f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3		0xdf
607f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4		0xdf
608f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5		0xdf
609f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6		0xdf
610f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7		0xdf
611f2ce6ed3SCarlo Caione			MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x9f
6129079aca4SLucas Stach			MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B		0xc1
6139079aca4SLucas Stach		>;
6149079aca4SLucas Stach	};
6159079aca4SLucas Stach
6167e5f3146SKwon Tae-young	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
6177e5f3146SKwon Tae-young		fsl,pins = <
6187e5f3146SKwon Tae-young			MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12		0x41
6197e5f3146SKwon Tae-young		>;
6207e5f3146SKwon Tae-young	};
6217e5f3146SKwon Tae-young
6229079aca4SLucas Stach	pinctrl_usdhc2: usdhc2grp {
6239079aca4SLucas Stach		fsl,pins = <
6249079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x83
6259079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc3
6269079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc3
6279079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc3
6289079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc3
6299079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc3
6309079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6319079aca4SLucas Stach		>;
6329079aca4SLucas Stach	};
6339079aca4SLucas Stach
6349079aca4SLucas Stach	pinctrl_usdhc2_100mhz: usdhc2-100grp {
6359079aca4SLucas Stach		fsl,pins = <
6369079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x85
6379079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc5
6389079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc5
6399079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc5
6409079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc5
6419079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc5
6429079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6439079aca4SLucas Stach		>;
6449079aca4SLucas Stach	};
6459079aca4SLucas Stach
6469079aca4SLucas Stach	pinctrl_usdhc2_200mhz: usdhc2-200grp {
6479079aca4SLucas Stach		fsl,pins = <
6489079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK			0x87
6499079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD			0xc7
6509079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0		0xc7
6519079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1		0xc7
6529079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2		0xc7
6539079aca4SLucas Stach			MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3		0xc7
6549079aca4SLucas Stach			MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT		0xc1
6559079aca4SLucas Stach		>;
6569079aca4SLucas Stach	};
6573bbc9abbSBaruch Siach
6583bbc9abbSBaruch Siach	pinctrl_wdog: wdog1grp {
6593bbc9abbSBaruch Siach		fsl,pins = <
6603bbc9abbSBaruch Siach			MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
6613bbc9abbSBaruch Siach		>;
6623bbc9abbSBaruch Siach	};
663cdfdea07SAndrey Smirnov
664cdfdea07SAndrey Smirnov	pinctrl_wifi_reset: wifiresetgrp {
665cdfdea07SAndrey Smirnov		fsl,pins = <
666cdfdea07SAndrey Smirnov			MX8MQ_IOMUXC_UART4_TXD_GPIO5_IO29		0x16
667cdfdea07SAndrey Smirnov		>;
668cdfdea07SAndrey Smirnov	};
6699079aca4SLucas Stach};
670