xref: /linux/arch/arm64/boot/dts/freescale/imx8mp-evk.dts (revision a6021aa24f6417416d93318bbfa022ab229c33c8)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2019 NXP
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/phy/phy-imx8-pcie.h>
9#include "imx8mp.dtsi"
10
11/ {
12	model = "NXP i.MX8MPlus EVK board";
13	compatible = "fsl,imx8mp-evk", "fsl,imx8mp";
14
15	chosen {
16		stdout-path = &uart2;
17	};
18
19	backlight_lvds: backlight-lvds {
20		compatible = "pwm-backlight";
21		pwms = <&pwm2 0 100000 0>;
22		brightness-levels = <0 100>;
23		num-interpolated-steps = <100>;
24		default-brightness-level = <100>;
25		power-supply = <&reg_per_12v>;
26		status = "disabled";
27	};
28
29	hdmi-connector {
30		compatible = "hdmi-connector";
31		label = "hdmi";
32		type = "a";
33
34		port {
35			hdmi_connector_in: endpoint {
36				remote-endpoint = <&adv7535_out>;
37			};
38		};
39	};
40
41	gpio-leds {
42		compatible = "gpio-leds";
43		pinctrl-names = "default";
44		pinctrl-0 = <&pinctrl_gpio_led>;
45
46		status {
47			label = "yellow:status";
48			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
49			default-state = "on";
50		};
51	};
52
53	memory@40000000 {
54		device_type = "memory";
55		reg = <0x0 0x40000000 0 0xc0000000>,
56		      <0x1 0x00000000 0 0xc0000000>;
57	};
58
59	native-hdmi-connector {
60		compatible = "hdmi-connector";
61		label = "HDMI OUT";
62		type = "a";
63
64		port {
65			hdmi_in: endpoint {
66				remote-endpoint = <&hdmi_tx_out>;
67			};
68		};
69	};
70
71	pcie0_refclk: pcie0-refclk {
72		compatible = "fixed-clock";
73		#clock-cells = <0>;
74		clock-frequency = <100000000>;
75	};
76
77	reg_audio_pwr: regulator-audio-pwr {
78		compatible = "regulator-fixed";
79		pinctrl-names = "default";
80		pinctrl-0 = <&pinctrl_audio_pwr_reg>;
81		regulator-name = "audio-pwr";
82		regulator-min-microvolt = <3300000>;
83		regulator-max-microvolt = <3300000>;
84		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
85		enable-active-high;
86	};
87
88	reg_can1_stby: regulator-can1-stby {
89		compatible = "regulator-fixed";
90		regulator-name = "can1-stby";
91		pinctrl-names = "default";
92		pinctrl-0 = <&pinctrl_flexcan1_reg>;
93		regulator-min-microvolt = <3300000>;
94		regulator-max-microvolt = <3300000>;
95		gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>;
96		enable-active-high;
97	};
98
99	reg_can2_stby: regulator-can2-stby {
100		compatible = "regulator-fixed";
101		regulator-name = "can2-stby";
102		pinctrl-names = "default";
103		pinctrl-0 = <&pinctrl_flexcan2_reg>;
104		regulator-min-microvolt = <3300000>;
105		regulator-max-microvolt = <3300000>;
106		gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
107		enable-active-high;
108	};
109
110	reg_pcie0: regulator-pcie {
111		compatible = "regulator-fixed";
112		pinctrl-names = "default";
113		pinctrl-0 = <&pinctrl_pcie0_reg>;
114		regulator-name = "MPCIE_3V3";
115		regulator-min-microvolt = <3300000>;
116		regulator-max-microvolt = <3300000>;
117		gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
118		enable-active-high;
119	};
120
121	reg_per_12v: regulator-per-12v {
122		compatible = "regulator-fixed";
123		regulator-name = "PER_12V";
124		regulator-min-microvolt = <12000000>;
125		regulator-max-microvolt = <12000000>;
126		gpio = <&pca6416 1 GPIO_ACTIVE_HIGH>;
127		enable-active-high;
128	};
129
130	reg_usdhc2_vmmc: regulator-usdhc2 {
131		compatible = "regulator-fixed";
132		pinctrl-names = "default";
133		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
134		regulator-name = "VSD_3V3";
135		regulator-min-microvolt = <3300000>;
136		regulator-max-microvolt = <3300000>;
137		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
138		enable-active-high;
139	};
140
141	reg_vext_3v3: regulator-vext-3v3 {
142		compatible = "regulator-fixed";
143		regulator-name = "VEXT_3V3";
144		regulator-min-microvolt = <3300000>;
145		regulator-max-microvolt = <3300000>;
146	};
147
148	audio_codec_bt_sco: audio-codec-bt-sco {
149		compatible = "linux,bt-sco";
150		#sound-dai-cells = <1>;
151	};
152
153	sound {
154		compatible = "simple-audio-card";
155		simple-audio-card,name = "wm8960-audio";
156		simple-audio-card,format = "i2s";
157		simple-audio-card,frame-master = <&cpudai>;
158		simple-audio-card,bitclock-master = <&cpudai>;
159		simple-audio-card,widgets =
160			"Headphone", "Headphone Jack",
161			"Speaker", "External Speaker",
162			"Microphone", "Mic Jack";
163		simple-audio-card,routing =
164			"Headphone Jack", "HP_L",
165			"Headphone Jack", "HP_R",
166			"External Speaker", "SPK_LP",
167			"External Speaker", "SPK_LN",
168			"External Speaker", "SPK_RP",
169			"External Speaker", "SPK_RN",
170			"LINPUT1", "Mic Jack",
171			"LINPUT3", "Mic Jack",
172			"Mic Jack", "MICB";
173
174		cpudai: simple-audio-card,cpu {
175			sound-dai = <&sai3>;
176		};
177
178		simple-audio-card,codec {
179			sound-dai = <&wm8960>;
180		};
181
182	};
183
184	sound-bt-sco {
185		compatible = "simple-audio-card";
186		simple-audio-card,name = "bt-sco-audio";
187		simple-audio-card,format = "dsp_a";
188		simple-audio-card,bitclock-inversion;
189		simple-audio-card,frame-master = <&btcpu>;
190		simple-audio-card,bitclock-master = <&btcpu>;
191
192		btcpu: simple-audio-card,cpu {
193			sound-dai = <&sai2>;
194			dai-tdm-slot-num = <2>;
195			dai-tdm-slot-width = <16>;
196		};
197
198		simple-audio-card,codec {
199			sound-dai = <&audio_codec_bt_sco 1>;
200		};
201	};
202
203	sound-hdmi {
204		compatible = "fsl,imx-audio-hdmi";
205		model = "audio-hdmi";
206		audio-cpu = <&aud2htx>;
207		hdmi-out;
208	};
209
210	sound-micfil {
211		compatible = "fsl,imx-audio-card";
212		model = "micfil-audio";
213
214		pri-dai-link {
215			link-name = "micfil hifi";
216			format = "i2s";
217
218			cpu {
219				sound-dai = <&micfil>;
220			};
221		};
222	};
223
224	sound-xcvr {
225		compatible = "fsl,imx-audio-card";
226		model = "imx-audio-xcvr";
227
228		pri-dai-link {
229			link-name = "XCVR PCM";
230
231			cpu {
232				sound-dai = <&xcvr>;
233			};
234		};
235	};
236
237	reserved-memory {
238		#address-cells = <2>;
239		#size-cells = <2>;
240		ranges;
241
242		dsp_vdev0vring0: vdev0vring0@942f0000 {
243			reg = <0 0x942f0000 0 0x8000>;
244			no-map;
245		};
246
247		dsp_vdev0vring1: vdev0vring1@942f8000 {
248			reg = <0 0x942f8000 0 0x8000>;
249			no-map;
250		};
251
252		dsp_vdev0buffer: vdev0buffer@94300000 {
253			compatible = "shared-dma-pool";
254			reg = <0 0x94300000 0 0x100000>;
255			no-map;
256		};
257	};
258};
259
260&flexspi {
261	pinctrl-names = "default";
262	pinctrl-0 = <&pinctrl_flexspi0>;
263	status = "okay";
264
265	flash@0 {
266		compatible = "jedec,spi-nor";
267		reg = <0>;
268		spi-max-frequency = <80000000>;
269		spi-tx-bus-width = <1>;
270		spi-rx-bus-width = <4>;
271	};
272};
273
274&A53_0 {
275	cpu-supply = <&reg_arm>;
276};
277
278&A53_1 {
279	cpu-supply = <&reg_arm>;
280};
281
282&A53_2 {
283	cpu-supply = <&reg_arm>;
284};
285
286&A53_3 {
287	cpu-supply = <&reg_arm>;
288};
289
290&aud2htx {
291	status = "okay";
292};
293
294&eqos {
295	pinctrl-names = "default";
296	pinctrl-0 = <&pinctrl_eqos>;
297	phy-mode = "rgmii-id";
298	phy-handle = <&ethphy0>;
299	snps,force_thresh_dma_mode;
300	snps,mtl-tx-config = <&mtl_tx_setup>;
301	snps,mtl-rx-config = <&mtl_rx_setup>;
302	status = "okay";
303
304	mdio {
305		compatible = "snps,dwmac-mdio";
306		#address-cells = <1>;
307		#size-cells = <0>;
308
309		ethphy0: ethernet-phy@1 {
310			compatible = "ethernet-phy-ieee802.3-c22";
311			reg = <1>;
312			eee-broken-1000t;
313			reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
314			reset-assert-us = <10000>;
315			reset-deassert-us = <80000>;
316			realtek,clkout-disable;
317		};
318	};
319
320	mtl_tx_setup: tx-queues-config {
321		snps,tx-queues-to-use = <5>;
322
323		queue0 {
324			snps,dcb-algorithm;
325			snps,priority = <0x1>;
326		};
327
328		queue1 {
329			snps,dcb-algorithm;
330			snps,priority = <0x2>;
331		};
332
333		queue2 {
334			snps,dcb-algorithm;
335			snps,priority = <0x4>;
336		};
337
338		queue3 {
339			snps,dcb-algorithm;
340			snps,priority = <0x8>;
341		};
342
343		queue4 {
344			snps,dcb-algorithm;
345			snps,priority = <0xf0>;
346		};
347	};
348
349	mtl_rx_setup: rx-queues-config {
350		snps,rx-queues-to-use = <5>;
351		snps,rx-sched-sp;
352
353		queue0 {
354			snps,dcb-algorithm;
355			snps,priority = <0x1>;
356			snps,map-to-dma-channel = <0>;
357		};
358
359		queue1 {
360			snps,dcb-algorithm;
361			snps,priority = <0x2>;
362			snps,map-to-dma-channel = <1>;
363		};
364
365		queue2 {
366			snps,dcb-algorithm;
367			snps,priority = <0x4>;
368			snps,map-to-dma-channel = <2>;
369		};
370
371		queue3 {
372			snps,dcb-algorithm;
373			snps,priority = <0x8>;
374			snps,map-to-dma-channel = <3>;
375		};
376
377		queue4 {
378			snps,dcb-algorithm;
379			snps,priority = <0xf0>;
380			snps,map-to-dma-channel = <4>;
381		};
382	};
383};
384
385&fec {
386	pinctrl-names = "default";
387	pinctrl-0 = <&pinctrl_fec>;
388	phy-mode = "rgmii-id";
389	phy-handle = <&ethphy1>;
390	fsl,magic-packet;
391	status = "okay";
392
393	mdio {
394		#address-cells = <1>;
395		#size-cells = <0>;
396
397		ethphy1: ethernet-phy@1 {
398			compatible = "ethernet-phy-ieee802.3-c22";
399			reg = <1>;
400			eee-broken-1000t;
401			reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
402			reset-assert-us = <10000>;
403			reset-deassert-us = <80000>;
404			realtek,clkout-disable;
405		};
406	};
407};
408
409&flexcan1 {
410	pinctrl-names = "default";
411	pinctrl-0 = <&pinctrl_flexcan1>;
412	xceiver-supply = <&reg_can1_stby>;
413	status = "okay";
414};
415
416&flexcan2 {
417	pinctrl-names = "default";
418	pinctrl-0 = <&pinctrl_flexcan2>;
419	xceiver-supply = <&reg_can2_stby>;
420	status = "disabled";/* can2 pin conflict with pdm */
421};
422
423&hdmi_pvi {
424	status = "okay";
425};
426
427&hdmi_tx {
428	pinctrl-names = "default";
429	pinctrl-0 = <&pinctrl_hdmi>;
430	status = "okay";
431
432	ports {
433		port@1 {
434			hdmi_tx_out: endpoint {
435				remote-endpoint = <&hdmi_in>;
436			};
437		};
438	};
439};
440
441&hdmi_tx_phy {
442	status = "okay";
443};
444
445&i2c1 {
446	clock-frequency = <400000>;
447	pinctrl-names = "default";
448	pinctrl-0 = <&pinctrl_i2c1>;
449	status = "okay";
450
451	pmic@25 {
452		compatible = "nxp,pca9450c";
453		reg = <0x25>;
454		pinctrl-names = "default";
455		pinctrl-0 = <&pinctrl_pmic>;
456		interrupt-parent = <&gpio1>;
457		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
458
459		regulators {
460			BUCK1 {
461				regulator-name = "BUCK1";
462				regulator-min-microvolt = <720000>;
463				regulator-max-microvolt = <1000000>;
464				regulator-boot-on;
465				regulator-always-on;
466				regulator-ramp-delay = <3125>;
467			};
468
469			reg_arm: BUCK2 {
470				regulator-name = "BUCK2";
471				regulator-min-microvolt = <720000>;
472				regulator-max-microvolt = <1025000>;
473				regulator-boot-on;
474				regulator-always-on;
475				regulator-ramp-delay = <3125>;
476				nxp,dvs-run-voltage = <950000>;
477				nxp,dvs-standby-voltage = <850000>;
478			};
479
480			BUCK4 {
481				regulator-name = "BUCK4";
482				regulator-min-microvolt = <3000000>;
483				regulator-max-microvolt = <3600000>;
484				regulator-boot-on;
485				regulator-always-on;
486			};
487
488			reg_buck5: BUCK5 {
489				regulator-name = "BUCK5";
490				regulator-min-microvolt = <1650000>;
491				regulator-max-microvolt = <1950000>;
492				regulator-boot-on;
493				regulator-always-on;
494			};
495
496			BUCK6 {
497				regulator-name = "BUCK6";
498				regulator-min-microvolt = <1045000>;
499				regulator-max-microvolt = <1155000>;
500				regulator-boot-on;
501				regulator-always-on;
502			};
503
504			LDO1 {
505				regulator-name = "LDO1";
506				regulator-min-microvolt = <1650000>;
507				regulator-max-microvolt = <1950000>;
508				regulator-boot-on;
509				regulator-always-on;
510			};
511
512			LDO3 {
513				regulator-name = "LDO3";
514				regulator-min-microvolt = <1710000>;
515				regulator-max-microvolt = <1890000>;
516				regulator-boot-on;
517				regulator-always-on;
518			};
519
520			LDO5 {
521				regulator-name = "LDO5";
522				regulator-min-microvolt = <1800000>;
523				regulator-max-microvolt = <3300000>;
524				regulator-boot-on;
525				regulator-always-on;
526			};
527		};
528	};
529};
530
531&i2c2 {
532	clock-frequency = <400000>;
533	pinctrl-names = "default";
534	pinctrl-0 = <&pinctrl_i2c2>;
535	status = "okay";
536
537	hdmi@3d {
538		compatible = "adi,adv7535";
539		reg = <0x3d>;
540		interrupt-parent = <&gpio1>;
541		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
542		adi,dsi-lanes = <4>;
543		avdd-supply = <&reg_buck5>;
544		dvdd-supply = <&reg_buck5>;
545		pvdd-supply = <&reg_buck5>;
546		a2vdd-supply = <&reg_buck5>;
547		v3p3-supply = <&reg_vext_3v3>;
548		v1p2-supply = <&reg_buck5>;
549
550		ports {
551			#address-cells = <1>;
552			#size-cells = <0>;
553
554			port@0 {
555				reg = <0>;
556
557				adv7535_in: endpoint {
558					remote-endpoint = <&dsi_out>;
559				};
560			};
561
562			port@1 {
563				reg = <1>;
564
565				adv7535_out: endpoint {
566					remote-endpoint = <&hdmi_connector_in>;
567				};
568			};
569
570		};
571	};
572};
573
574&i2c3 {
575	clock-frequency = <400000>;
576	pinctrl-names = "default";
577	pinctrl-0 = <&pinctrl_i2c3>;
578	status = "okay";
579
580	wm8960: codec@1a {
581		compatible = "wlf,wm8960";
582		reg = <0x1a>;
583		#sound-dai-cells = <0>;
584		clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
585		clock-names = "mclk";
586		wlf,shared-lrclk;
587		wlf,hp-cfg = <3 2 3>;
588		wlf,gpio-cfg = <1 3>;
589		SPKVDD1-supply = <&reg_audio_pwr>;
590	};
591
592	pca6416: gpio@20 {
593		compatible = "ti,tca6416";
594		reg = <0x20>;
595		gpio-controller;
596		#gpio-cells = <2>;
597		interrupt-controller;
598		#interrupt-cells = <2>;
599		pinctrl-names = "default";
600		pinctrl-0 = <&pinctrl_pca6416_int>;
601		interrupt-parent = <&gpio1>;
602		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
603		gpio-line-names = "EXT_PWREN1",
604			"EXT_PWREN2",
605			"CAN1/I2C5_SEL",
606			"PDM/CAN2_SEL",
607			"FAN_EN",
608			"PWR_MEAS_IO1",
609			"PWR_MEAS_IO2",
610			"EXP_P0_7",
611			"EXP_P1_0",
612			"EXP_P1_1",
613			"EXP_P1_2",
614			"EXP_P1_3",
615			"EXP_P1_4",
616			"EXP_P1_5",
617			"EXP_P1_6",
618			"EXP_P1_7";
619	};
620};
621
622/* I2C on expansion connector J22. */
623&i2c5 {
624	clock-frequency = <100000>; /* Lower clock speed for external bus. */
625	pinctrl-names = "default";
626	pinctrl-0 = <&pinctrl_i2c5>;
627	status = "disabled"; /* can1 pins conflict with i2c5 */
628
629	/* GPIO 2 of PCA6416 is used to switch between CAN1 and I2C5 functions:
630	 *     LOW:  CAN1 (default, pull-down)
631	 *     HIGH: I2C5
632	 * You need to set it to high to enable I2C5 (for example, add gpio-hog
633	 * in pca6416 node).
634	 */
635};
636
637&lcdif1 {
638	status = "okay";
639};
640
641&lcdif3 {
642	status = "okay";
643};
644
645&micfil {
646	#sound-dai-cells = <0>;
647	pinctrl-names = "default";
648	pinctrl-0 = <&pinctrl_pdm>;
649	assigned-clocks = <&clk IMX8MP_CLK_PDM>;
650	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
651	assigned-clock-rates = <196608000>;
652	status = "okay";
653};
654
655&mipi_dsi {
656	samsung,esc-clock-frequency = <10000000>;
657	status = "okay";
658
659	ports {
660		port@1 {
661			reg = <1>;
662
663			dsi_out: endpoint {
664				remote-endpoint = <&adv7535_in>;
665				data-lanes = <1 2 3 4>;
666			};
667		};
668	};
669};
670
671&pcie_phy {
672	fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
673	clocks = <&pcie0_refclk>;
674	clock-names = "ref";
675	status = "okay";
676};
677
678&pcie {
679	pinctrl-names = "default";
680	pinctrl-0 = <&pinctrl_pcie0>;
681	reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
682	vpcie-supply = <&reg_pcie0>;
683	status = "okay";
684};
685
686&pwm1 {
687	pinctrl-names = "default";
688	pinctrl-0 = <&pinctrl_pwm1>;
689	status = "okay";
690};
691
692&pwm2 {
693	pinctrl-names = "default";
694	pinctrl-0 = <&pinctrl_pwm2>;
695	status = "okay";
696};
697
698&pwm4 {
699	pinctrl-names = "default";
700	pinctrl-0 = <&pinctrl_pwm4>;
701	status = "okay";
702};
703
704&sai2 {
705	#sound-dai-cells = <0>;
706	pinctrl-names = "default";
707	pinctrl-0 = <&pinctrl_sai2>;
708	assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
709	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
710	assigned-clock-rates = <12288000>;
711	fsl,sai-mclk-direction-output;
712	status = "okay";
713};
714
715&sai3 {
716	pinctrl-names = "default";
717	pinctrl-0 = <&pinctrl_sai3>;
718	assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
719	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
720	assigned-clock-rates = <12288000>;
721	fsl,sai-mclk-direction-output;
722	status = "okay";
723};
724
725&snvs_pwrkey {
726	status = "okay";
727};
728
729&uart1 { /* BT */
730	pinctrl-names = "default";
731	pinctrl-0 = <&pinctrl_uart1>;
732	assigned-clocks = <&clk IMX8MP_CLK_UART1>;
733	assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
734	uart-has-rtscts;
735	status = "okay";
736};
737
738&uart2 {
739	/* console */
740	pinctrl-names = "default";
741	pinctrl-0 = <&pinctrl_uart2>;
742	status = "okay";
743};
744
745&usb3_phy1 {
746	status = "okay";
747};
748
749&usb3_1 {
750	status = "okay";
751};
752
753&usb_dwc3_1 {
754	pinctrl-names = "default";
755	pinctrl-0 = <&pinctrl_usb1_vbus>;
756	dr_mode = "host";
757	status = "okay";
758};
759
760&uart3 {
761	pinctrl-names = "default";
762	pinctrl-0 = <&pinctrl_uart3>;
763	assigned-clocks = <&clk IMX8MP_CLK_UART3>;
764	assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
765	uart-has-rtscts;
766	status = "okay";
767};
768
769&usdhc2 {
770	assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
771	assigned-clock-rates = <400000000>;
772	pinctrl-names = "default", "state_100mhz", "state_200mhz";
773	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
774	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
775	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
776	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
777	vmmc-supply = <&reg_usdhc2_vmmc>;
778	bus-width = <4>;
779	status = "okay";
780};
781
782&usdhc3 {
783	assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
784	assigned-clock-rates = <400000000>;
785	pinctrl-names = "default", "state_100mhz", "state_200mhz";
786	pinctrl-0 = <&pinctrl_usdhc3>;
787	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
788	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
789	bus-width = <8>;
790	non-removable;
791	status = "okay";
792};
793
794&wdog1 {
795	pinctrl-names = "default";
796	pinctrl-0 = <&pinctrl_wdog>;
797	fsl,ext-reset-output;
798	status = "okay";
799};
800
801&xcvr {
802	#sound-dai-cells = <0>;
803	status = "okay";
804};
805
806&iomuxc {
807	pinctrl-names = "default";
808	pinctrl-0 = <&pinctrl_hog>;
809
810	pinctrl_audio_pwr_reg: audiopwrreggrp {
811		fsl,pins = <
812			MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29		0xd6
813		>;
814	};
815
816	pinctrl_eqos: eqosgrp {
817		fsl,pins = <
818			MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC				0x2
819			MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO				0x2
820			MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0			0x90
821			MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1			0x90
822			MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2			0x90
823			MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3			0x90
824			MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x90
825			MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL			0x90
826			MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0			0x16
827			MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1			0x16
828			MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2			0x16
829			MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3			0x16
830			MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL			0x16
831			MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x16
832			MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22				0x10
833		>;
834	};
835
836	pinctrl_fec: fecgrp {
837		fsl,pins = <
838			MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x2
839			MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x2
840			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0		0x90
841			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1		0x90
842			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2		0x90
843			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3		0x90
844			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x90
845			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x90
846			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0		0x16
847			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1		0x16
848			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2		0x16
849			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3		0x16
850			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x16
851			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC		0x16
852			MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02		0x10
853		>;
854	};
855
856	pinctrl_flexcan1: flexcan1grp {
857		fsl,pins = <
858			MX8MP_IOMUXC_SPDIF_RX__CAN1_RX          0x154
859			MX8MP_IOMUXC_SPDIF_TX__CAN1_TX          0x154
860		>;
861	};
862
863	pinctrl_flexcan2: flexcan2grp {
864		fsl,pins = <
865			MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX         0x154
866			MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX         0x154
867		>;
868	};
869
870	pinctrl_flexcan1_reg: flexcan1reggrp {
871		fsl,pins = <
872			MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05  0x154   /* CAN1_STBY */
873		>;
874	};
875
876	pinctrl_flexcan2_reg: flexcan2reggrp {
877		fsl,pins = <
878			MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27      0x154   /* CAN2_STBY */
879		>;
880	};
881
882	pinctrl_flexspi0: flexspi0grp {
883		fsl,pins = <
884			MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK           0x1c2
885			MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B        0x82
886			MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00      0x82
887			MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01      0x82
888			MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02      0x82
889			MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03      0x82
890		>;
891	};
892
893	pinctrl_gpio_led: gpioledgrp {
894		fsl,pins = <
895			MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16	0x140
896		>;
897	};
898
899	pinctrl_hdmi: hdmigrp {
900		fsl,pins = <
901			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL	0x1c2
902			MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA	0x1c2
903			MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC		0x10
904		>;
905	};
906
907	pinctrl_hog: hoggrp {
908		fsl,pins = <
909			MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD		0x40000010
910		>;
911	};
912
913	pinctrl_i2c1: i2c1grp {
914		fsl,pins = <
915			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL		0x400001c2
916			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA		0x400001c2
917		>;
918	};
919
920	pinctrl_i2c2: i2c2grp {
921		fsl,pins = <
922			MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL		0x400001c2
923			MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA		0x400001c2
924		>;
925	};
926
927	pinctrl_i2c3: i2c3grp {
928		fsl,pins = <
929			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL		0x400001c2
930			MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA		0x400001c2
931		>;
932	};
933
934	pinctrl_i2c5: i2c5grp {
935		fsl,pins = <
936			MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA         0x400001c2
937			MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL         0x400001c2
938		>;
939	};
940
941	pinctrl_pcie0: pcie0grp {
942		fsl,pins = <
943			MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B	0x60 /* open drain, pull up */
944			MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07	0x40
945		>;
946	};
947
948	pinctrl_pcie0_reg: pcie0reggrp {
949		fsl,pins = <
950			MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06	0x40
951		>;
952	};
953
954	pinctrl_pdm: pdmgrp {
955		fsl,pins = <
956			MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_PDM_CLK		0xd6
957			MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_PDM_BIT_STREAM00	0xd6
958			MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_PDM_BIT_STREAM01	0xd6
959			MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_PDM_BIT_STREAM02	0xd6
960			MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_PDM_BIT_STREAM03	0xd6
961		>;
962	};
963
964	pinctrl_pmic: pmicgrp {
965		fsl,pins = <
966			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03	0x000001c0
967		>;
968	};
969
970	pinctrl_pca6416_int: pca6416_int_grp {
971		fsl,pins = <
972			MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12	0x146 /* Input pull-up. */
973		>;
974	};
975
976	pinctrl_pwm1: pwm1grp {
977		fsl,pins = <
978			MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT	0x116
979		>;
980	};
981
982	pinctrl_pwm2: pwm2grp {
983		fsl,pins = <
984			MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT	0x116
985		>;
986	};
987
988	pinctrl_pwm4: pwm4grp {
989		fsl,pins = <
990			MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT	0x116
991		>;
992	};
993
994	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
995		fsl,pins = <
996			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19	0x40
997		>;
998	};
999
1000	pinctrl_uart1: uart1grp {
1001		fsl,pins = <
1002			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX	0x140
1003			MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX	0x140
1004			MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS	0x140
1005			MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS	0x140
1006		>;
1007	};
1008
1009	pinctrl_sai2: sai2grp {
1010		fsl,pins = <
1011			MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK	0xd6
1012			MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC	0xd6
1013			MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00	0xd6
1014			MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00	0xd6
1015		>;
1016	};
1017
1018	pinctrl_sai3: sai3grp {
1019		fsl,pins = <
1020			MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC	0xd6
1021			MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK	0xd6
1022			MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00	0xd6
1023			MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00	0xd6
1024			MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK	0xd6
1025		>;
1026	};
1027
1028	pinctrl_uart2: uart2grp {
1029		fsl,pins = <
1030			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX	0x140
1031			MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX	0x140
1032		>;
1033	};
1034
1035	pinctrl_usb1_vbus: usb1grp {
1036		fsl,pins = <
1037			MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR	0x10
1038		>;
1039	};
1040
1041	pinctrl_uart3: uart3grp {
1042		fsl,pins = <
1043			MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX		0x140
1044			MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX		0x140
1045			MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS		0x140
1046			MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS		0x140
1047		>;
1048	};
1049
1050	pinctrl_usdhc2: usdhc2grp {
1051		fsl,pins = <
1052			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x190
1053			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d0
1054			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d0
1055			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d0
1056			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d0
1057			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d0
1058			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0xc0
1059		>;
1060	};
1061
1062	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
1063		fsl,pins = <
1064			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x194
1065			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d4
1066			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d4
1067			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d4
1068			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d4
1069			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d4
1070			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
1071		>;
1072	};
1073
1074	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
1075		fsl,pins = <
1076			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x196
1077			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d6
1078			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d6
1079			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d6
1080			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d6
1081			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d6
1082			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
1083		>;
1084	};
1085
1086	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
1087		fsl,pins = <
1088			MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12	0x1c4
1089		>;
1090	};
1091
1092	pinctrl_usdhc3: usdhc3grp {
1093		fsl,pins = <
1094			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x190
1095			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d0
1096			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d0
1097			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d0
1098			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d0
1099			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d0
1100			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d0
1101			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d0
1102			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d0
1103			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d0
1104			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x190
1105		>;
1106	};
1107
1108	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1109		fsl,pins = <
1110			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x194
1111			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d4
1112			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4
1113			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4
1114			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4
1115			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4
1116			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4
1117			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4
1118			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4
1119			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d4
1120			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x194
1121		>;
1122	};
1123
1124	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1125		fsl,pins = <
1126			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x196
1127			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d6
1128			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d6
1129			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d6
1130			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d6
1131			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d6
1132			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d6
1133			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d6
1134			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d6
1135			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d6
1136			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x196
1137		>;
1138	};
1139
1140	pinctrl_wdog: wdoggrp {
1141		fsl,pins = <
1142			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B	0x166
1143		>;
1144	};
1145};
1146