xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mp-venice-gw74xx.dts (revision 5b56413d04e608379c9a306373554a8e4d321bc0)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2021 Gateworks Corporation
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/input/linux-event-codes.h>
10#include <dt-bindings/leds/common.h>
11#include <dt-bindings/phy/phy-imx8-pcie.h>
12
13#include "imx8mp.dtsi"
14
15/ {
16	model = "Gateworks Venice GW74xx i.MX8MP board";
17	compatible = "gateworks,imx8mp-gw74xx", "fsl,imx8mp";
18
19	aliases {
20		ethernet0 = &eqos;
21		ethernet1 = &fec;
22		ethernet2 = &lan1;
23		ethernet3 = &lan2;
24		ethernet4 = &lan3;
25		ethernet5 = &lan4;
26		ethernet6 = &lan5;
27	};
28
29	chosen {
30		stdout-path = &uart2;
31	};
32
33	memory@40000000 {
34		device_type = "memory";
35		reg = <0x0 0x40000000 0 0x80000000>;
36	};
37
38	connector {
39		pinctrl-names = "default";
40		pinctrl-0 = <&pinctrl_usbcon1>;
41		compatible = "gpio-usb-b-connector", "usb-b-connector";
42		type = "micro";
43		label = "Type-C";
44		id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
45
46		port {
47			usb_dr_connector: endpoint {
48				remote-endpoint = <&usb3_dwc>;
49			};
50		};
51	};
52
53	gpio-keys {
54		compatible = "gpio-keys";
55
56		key-0 {
57			label = "user_pb";
58			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
59			linux,code = <BTN_0>;
60		};
61
62		key-1 {
63			label = "user_pb1x";
64			linux,code = <BTN_1>;
65			interrupt-parent = <&gsc>;
66			interrupts = <0>;
67		};
68
69		key-2 {
70			label = "key_erased";
71			linux,code = <BTN_2>;
72			interrupt-parent = <&gsc>;
73			interrupts = <1>;
74		};
75
76		key-3 {
77			label = "eeprom_wp";
78			linux,code = <BTN_3>;
79			interrupt-parent = <&gsc>;
80			interrupts = <2>;
81		};
82
83		key-4 {
84			label = "tamper";
85			linux,code = <BTN_4>;
86			interrupt-parent = <&gsc>;
87			interrupts = <5>;
88		};
89
90		key-5 {
91			label = "switch_hold";
92			linux,code = <BTN_5>;
93			interrupt-parent = <&gsc>;
94			interrupts = <7>;
95		};
96	};
97
98	led-controller {
99		compatible = "gpio-leds";
100		pinctrl-names = "default";
101		pinctrl-0 = <&pinctrl_gpio_leds>;
102
103		led-0 {
104			function = LED_FUNCTION_HEARTBEAT;
105			color = <LED_COLOR_ID_GREEN>;
106			gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
107			default-state = "on";
108			linux,default-trigger = "heartbeat";
109		};
110
111		led-1 {
112			function = LED_FUNCTION_STATUS;
113			color = <LED_COLOR_ID_RED>;
114			gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
115			default-state = "off";
116		};
117	};
118
119	pcie0_refclk: pcie0-refclk {
120		compatible = "fixed-clock";
121		#clock-cells = <0>;
122		clock-frequency = <100000000>;
123	};
124
125	pps {
126		compatible = "pps-gpio";
127		pinctrl-names = "default";
128		pinctrl-0 = <&pinctrl_pps>;
129		gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
130	};
131
132	reg_usb2_vbus: regulator-usb2 {
133		pinctrl-names = "default";
134		pinctrl-0 = <&pinctrl_reg_usb2>;
135		compatible = "regulator-fixed";
136		regulator-name = "usb_usb2_vbus";
137		gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
138		enable-active-high;
139		regulator-min-microvolt = <5000000>;
140		regulator-max-microvolt = <5000000>;
141	};
142
143	reg_can1_stby: regulator-can1-stby {
144		compatible = "regulator-fixed";
145		pinctrl-names = "default";
146		pinctrl-0 = <&pinctrl_reg_can1>;
147		regulator-name = "can1_stby";
148		gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
149		regulator-min-microvolt = <3300000>;
150		regulator-max-microvolt = <3300000>;
151	};
152
153	reg_can2_stby: regulator-can2-stby {
154		compatible = "regulator-fixed";
155		pinctrl-names = "default";
156		pinctrl-0 = <&pinctrl_reg_can2>;
157		regulator-name = "can2_stby";
158		gpio = <&gpio5 5 GPIO_ACTIVE_LOW>;
159		regulator-min-microvolt = <3300000>;
160		regulator-max-microvolt = <3300000>;
161	};
162
163	reg_wifi_en: regulator-wifi-en {
164		pinctrl-names = "default";
165		pinctrl-0 = <&pinctrl_reg_wifi>;
166		compatible = "regulator-fixed";
167		regulator-name = "wl";
168		gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
169		startup-delay-us = <70000>;
170		enable-active-high;
171		regulator-min-microvolt = <3300000>;
172		regulator-max-microvolt = <3300000>;
173	};
174};
175
176&A53_0 {
177	cpu-supply = <&reg_arm>;
178};
179
180&A53_1 {
181	cpu-supply = <&reg_arm>;
182};
183
184&A53_2 {
185	cpu-supply = <&reg_arm>;
186};
187
188&A53_3 {
189	cpu-supply = <&reg_arm>;
190};
191
192&ecspi1 {
193	pinctrl-names = "default";
194	pinctrl-0 = <&pinctrl_spi1>;
195	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
196	status = "okay";
197
198	tpm@0 {
199		compatible = "atmel,attpm20p", "tcg,tpm_tis-spi";
200		reg = <0x0>;
201		spi-max-frequency = <36000000>;
202	};
203};
204
205/* off-board header */
206&ecspi2 {
207	pinctrl-names = "default";
208	pinctrl-0 = <&pinctrl_spi2>;
209	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
210	status = "okay";
211};
212
213&eqos {
214	pinctrl-names = "default";
215	pinctrl-0 = <&pinctrl_eqos>;
216	phy-mode = "rgmii-id";
217	phy-handle = <&ethphy0>;
218	status = "okay";
219
220	mdio {
221		compatible = "snps,dwmac-mdio";
222		#address-cells = <1>;
223		#size-cells = <0>;
224
225		ethphy0: ethernet-phy@0 {
226			compatible = "ethernet-phy-ieee802.3-c22";
227			reg = <0x0>;
228		};
229	};
230};
231
232&fec {
233	pinctrl-names = "default";
234	pinctrl-0 = <&pinctrl_fec>;
235	phy-mode = "rgmii-id";
236	local-mac-address = [00 00 00 00 00 00];
237	status = "okay";
238
239	fixed-link {
240		speed = <1000>;
241		full-duplex;
242	};
243};
244
245&flexcan1 {
246	pinctrl-names = "default";
247	pinctrl-0 = <&pinctrl_flexcan1>;
248	xceiver-supply = <&reg_can1_stby>;
249	status = "okay";
250};
251
252&flexcan2 {
253	pinctrl-names = "default";
254	pinctrl-0 = <&pinctrl_flexcan2>;
255	xceiver-supply = <&reg_can2_stby>;
256	status = "okay";
257};
258
259&gpio1 {
260	gpio-line-names =
261		"", "", "", "", "", "", "", "",
262		"", "dio0", "", "dio1", "", "", "", "",
263		"", "", "", "", "", "", "", "",
264		"", "", "", "", "", "", "", "";
265};
266
267&gpio2 {
268	gpio-line-names =
269		"", "", "", "", "", "", "m2_pin20", "",
270		"", "", "", "", "", "pcie1_wdis#", "pcie3_wdis#", "",
271		"", "", "pcie2_wdis#", "", "", "", "", "",
272		"", "", "", "", "", "", "", "";
273};
274
275&gpio3 {
276	gpio-line-names =
277		"", "", "", "", "", "", "m2_rst", "",
278		"", "", "", "", "", "", "", "",
279		"", "", "", "", "", "", "", "",
280		"", "", "", "", "", "", "", "";
281};
282
283&gpio4 {
284	gpio-line-names =
285		"", "", "m2_off#", "", "", "", "", "",
286		"", "", "", "", "", "", "", "",
287		"", "", "m2_wdis#", "", "", "", "", "",
288		"", "", "", "", "", "", "", "rs485_en";
289};
290
291&gpio5 {
292	gpio-line-names =
293		"rs485_hd", "rs485_term", "", "", "", "", "", "",
294		"", "", "", "", "", "", "", "",
295		"", "", "", "", "", "", "", "",
296		"", "", "", "", "", "", "", "";
297};
298
299&i2c1 {
300	clock-frequency = <100000>;
301	pinctrl-names = "default", "gpio";
302	pinctrl-0 = <&pinctrl_i2c1>;
303	pinctrl-1 = <&pinctrl_i2c1_gpio>;
304	scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
305	sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
306	status = "okay";
307
308	gsc: gsc@20 {
309		compatible = "gw,gsc";
310		reg = <0x20>;
311		pinctrl-0 = <&pinctrl_gsc>;
312		interrupt-parent = <&gpio4>;
313		interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
314		interrupt-controller;
315		#interrupt-cells = <1>;
316		#address-cells = <1>;
317		#size-cells = <0>;
318
319		adc {
320			compatible = "gw,gsc-adc";
321			#address-cells = <1>;
322			#size-cells = <0>;
323
324			channel@6 {
325				gw,mode = <0>;
326				reg = <0x06>;
327				label = "temp";
328			};
329
330			channel@8 {
331				gw,mode = <3>;
332				reg = <0x08>;
333				label = "vdd_bat";
334			};
335
336			channel@16 {
337				gw,mode = <4>;
338				reg = <0x16>;
339				label = "fan_tach";
340			};
341
342			channel@82 {
343				gw,mode = <2>;
344				reg = <0x82>;
345				label = "vdd_adc1";
346				gw,voltage-divider-ohms = <10000 10000>;
347			};
348
349			channel@84 {
350				gw,mode = <2>;
351				reg = <0x84>;
352				label = "vdd_adc2";
353				gw,voltage-divider-ohms = <10000 10000>;
354			};
355
356			channel@86 {
357				gw,mode = <2>;
358				reg = <0x86>;
359				label = "vdd_vin";
360				gw,voltage-divider-ohms = <22100 1000>;
361			};
362
363			channel@88 {
364				gw,mode = <2>;
365				reg = <0x88>;
366				label = "vdd_3p3";
367				gw,voltage-divider-ohms = <10000 10000>;
368			};
369
370			channel@8c {
371				gw,mode = <2>;
372				reg = <0x8c>;
373				label = "vdd_2p5";
374				gw,voltage-divider-ohms = <10000 10000>;
375			};
376
377			channel@90 {
378				gw,mode = <2>;
379				reg = <0x90>;
380				label = "vdd_soc";
381			};
382
383			channel@92 {
384				gw,mode = <2>;
385				reg = <0x92>;
386				label = "vdd_arm";
387			};
388
389			channel@98 {
390				gw,mode = <2>;
391				reg = <0x98>;
392				label = "vdd_1p8";
393			};
394
395			channel@9a {
396				gw,mode = <2>;
397				reg = <0x9a>;
398				label = "vdd_1p2";
399			};
400
401			channel@9c {
402				gw,mode = <2>;
403				reg = <0x9c>;
404				label = "vdd_dram";
405			};
406
407			channel@a2 {
408				gw,mode = <2>;
409				reg = <0xa2>;
410				label = "vdd_gsc";
411				gw,voltage-divider-ohms = <10000 10000>;
412			};
413		};
414
415		fan-controller@a {
416			compatible = "gw,gsc-fan";
417			reg = <0x0a>;
418		};
419	};
420
421	gpio: gpio@23 {
422		compatible = "nxp,pca9555";
423		reg = <0x23>;
424		gpio-controller;
425		#gpio-cells = <2>;
426		interrupt-parent = <&gsc>;
427		interrupts = <4>;
428	};
429
430	eeprom@50 {
431		compatible = "atmel,24c02";
432		reg = <0x50>;
433		pagesize = <16>;
434	};
435
436	eeprom@51 {
437		compatible = "atmel,24c02";
438		reg = <0x51>;
439		pagesize = <16>;
440	};
441
442	eeprom@52 {
443		compatible = "atmel,24c02";
444		reg = <0x52>;
445		pagesize = <16>;
446	};
447
448	eeprom@53 {
449		compatible = "atmel,24c02";
450		reg = <0x53>;
451		pagesize = <16>;
452	};
453
454	rtc@68 {
455		compatible = "dallas,ds1672";
456		reg = <0x68>;
457	};
458};
459
460&i2c2 {
461	clock-frequency = <400000>;
462	pinctrl-names = "default", "gpio";
463	pinctrl-0 = <&pinctrl_i2c2>;
464	pinctrl-1 = <&pinctrl_i2c2_gpio>;
465	scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466	sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
467	status = "okay";
468
469	accelerometer@19 {
470		compatible = "st,lis2de12";
471		pinctrl-names = "default";
472		pinctrl-0 = <&pinctrl_accel>;
473		reg = <0x19>;
474		st,drdy-int-pin = <1>;
475		interrupt-parent = <&gpio1>;
476		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
477	};
478
479	switch: switch@5f {
480		compatible = "microchip,ksz9897";
481		reg = <0x5f>;
482		pinctrl-0 = <&pinctrl_ksz>;
483		interrupt-parent = <&gpio4>;
484		interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
485
486		ports {
487			#address-cells = <1>;
488			#size-cells = <0>;
489
490			lan1: port@0 {
491				reg = <0>;
492				label = "lan1";
493				phy-mode = "internal";
494				local-mac-address = [00 00 00 00 00 00];
495			};
496
497			lan2: port@1 {
498				reg = <1>;
499				label = "lan2";
500				phy-mode = "internal";
501				local-mac-address = [00 00 00 00 00 00];
502			};
503
504			lan3: port@2 {
505				reg = <2>;
506				label = "lan3";
507				phy-mode = "internal";
508				local-mac-address = [00 00 00 00 00 00];
509			};
510
511			lan4: port@3 {
512				reg = <3>;
513				label = "lan4";
514				phy-mode = "internal";
515				local-mac-address = [00 00 00 00 00 00];
516			};
517
518			lan5: port@4 {
519				reg = <4>;
520				label = "lan5";
521				phy-mode = "internal";
522				local-mac-address = [00 00 00 00 00 00];
523			};
524
525			port@5 {
526				reg = <5>;
527				ethernet = <&fec>;
528				phy-mode = "rgmii-id";
529
530				fixed-link {
531					speed = <1000>;
532					full-duplex;
533				};
534			};
535		};
536	};
537};
538
539&i2c3 {
540	clock-frequency = <400000>;
541	pinctrl-names = "default", "gpio";
542	pinctrl-0 = <&pinctrl_i2c3>;
543	pinctrl-1 = <&pinctrl_i2c3_gpio>;
544	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
545	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
546	status = "okay";
547
548	pmic@25 {
549		compatible = "nxp,pca9450c";
550		reg = <0x25>;
551		pinctrl-names = "default";
552		pinctrl-0 = <&pinctrl_pmic>;
553		interrupt-parent = <&gpio3>;
554		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
555
556		regulators {
557			BUCK1 {
558				regulator-name = "BUCK1";
559				regulator-min-microvolt = <720000>;
560				regulator-max-microvolt = <1000000>;
561				regulator-boot-on;
562				regulator-always-on;
563				regulator-ramp-delay = <3125>;
564			};
565
566			reg_arm: BUCK2 {
567				regulator-name = "BUCK2";
568				regulator-min-microvolt = <720000>;
569				regulator-max-microvolt = <1025000>;
570				regulator-boot-on;
571				regulator-always-on;
572				regulator-ramp-delay = <3125>;
573				nxp,dvs-run-voltage = <950000>;
574				nxp,dvs-standby-voltage = <850000>;
575			};
576
577			BUCK4 {
578				regulator-name = "BUCK4";
579				regulator-min-microvolt = <3000000>;
580				regulator-max-microvolt = <3600000>;
581				regulator-boot-on;
582				regulator-always-on;
583			};
584
585			BUCK5 {
586				regulator-name = "BUCK5";
587				regulator-min-microvolt = <1650000>;
588				regulator-max-microvolt = <1950000>;
589				regulator-boot-on;
590				regulator-always-on;
591			};
592
593			BUCK6 {
594				regulator-name = "BUCK6";
595				regulator-min-microvolt = <1045000>;
596				regulator-max-microvolt = <1155000>;
597				regulator-boot-on;
598				regulator-always-on;
599			};
600
601			LDO1 {
602				regulator-name = "LDO1";
603				regulator-min-microvolt = <1650000>;
604				regulator-max-microvolt = <1950000>;
605				regulator-boot-on;
606				regulator-always-on;
607			};
608
609			LDO3 {
610				regulator-name = "LDO3";
611				regulator-min-microvolt = <1710000>;
612				regulator-max-microvolt = <1890000>;
613				regulator-boot-on;
614				regulator-always-on;
615			};
616
617			LDO5 {
618				regulator-name = "LDO5";
619				regulator-min-microvolt = <1800000>;
620				regulator-max-microvolt = <3300000>;
621				regulator-boot-on;
622				regulator-always-on;
623			};
624		};
625	};
626};
627
628/* off-board header */
629&i2c4 {
630	clock-frequency = <400000>;
631	pinctrl-names = "default", "gpio";
632	pinctrl-0 = <&pinctrl_i2c4>;
633	pinctrl-1 = <&pinctrl_i2c4_gpio>;
634	scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
635	sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
636	status = "okay";
637};
638
639&pcie_phy {
640	fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
641	fsl,clkreq-unsupported;
642	clocks = <&pcie0_refclk>;
643	clock-names = "ref";
644	status = "okay";
645};
646
647&pcie {
648	pinctrl-names = "default";
649	pinctrl-0 = <&pinctrl_pcie0>;
650	reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>;
651	status = "okay";
652};
653
654/* GPS / off-board header */
655&uart1 {
656	pinctrl-names = "default";
657	pinctrl-0 = <&pinctrl_uart1>;
658	status = "okay";
659};
660
661/* RS232 console */
662&uart2 {
663	pinctrl-names = "default";
664	pinctrl-0 = <&pinctrl_uart2>;
665	status = "okay";
666};
667
668/* bluetooth HCI */
669&uart3 {
670	pinctrl-names = "default";
671	pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
672	cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
673	rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
674	status = "okay";
675
676	bluetooth {
677		compatible = "brcm,bcm4330-bt";
678		shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
679	};
680};
681
682&uart4 {
683	pinctrl-names = "default";
684	pinctrl-0 = <&pinctrl_uart4>;
685	status = "okay";
686};
687
688/* USB1 - Type C front panel */
689&usb3_0 {
690	pinctrl-names = "default";
691	pinctrl-0 = <&pinctrl_usb1>;
692	fsl,over-current-active-low;
693	status = "okay";
694};
695
696&usb3_phy0 {
697	status = "okay";
698};
699
700&usb_dwc3_0 {
701	/* dual role is implemented but not a full featured OTG */
702	adp-disable;
703	hnp-disable;
704	srp-disable;
705	dr_mode = "otg";
706	usb-role-switch;
707	role-switch-default-mode = "peripheral";
708	status = "okay";
709
710	port {
711		usb3_dwc: endpoint {
712			remote-endpoint = <&usb_dr_connector>;
713		};
714	};
715};
716
717/* USB2 - USB3.0 Hub */
718&usb3_phy1 {
719	vbus-supply = <&reg_usb2_vbus>;
720	status = "okay";
721};
722
723&usb3_1 {
724	fsl,permanently-attached;
725	fsl,disable-port-power-control;
726	status = "okay";
727};
728
729&usb_dwc3_1 {
730	dr_mode = "host";
731	status = "okay";
732};
733
734/* SDIO WiFi */
735&usdhc1 {
736	pinctrl-names = "default", "state_100mhz", "state_200mhz";
737	pinctrl-0 = <&pinctrl_usdhc1>;
738	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
739	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
740	bus-width = <4>;
741	non-removable;
742	vmmc-supply = <&reg_wifi_en>;
743	#address-cells = <1>;
744	#size-cells = <0>;
745	status = "okay";
746
747	wifi@0 {
748		compatible = "cypress,cyw4373-fmac", "brcm,bcm4329-fmac";
749		reg = <0>;
750	};
751};
752
753/* eMMC */
754&usdhc3 {
755	assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
756	assigned-clock-rates = <400000000>;
757	pinctrl-names = "default", "state_100mhz", "state_200mhz";
758	pinctrl-0 = <&pinctrl_usdhc3>;
759	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
760	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
761	bus-width = <8>;
762	non-removable;
763	status = "okay";
764};
765
766&wdog1 {
767	pinctrl-names = "default";
768	pinctrl-0 = <&pinctrl_wdog>;
769	fsl,ext-reset-output;
770	status = "okay";
771};
772
773&iomuxc {
774	pinctrl-names = "default";
775	pinctrl-0 = <&pinctrl_hog>;
776
777	pinctrl_hog: hoggrp {
778		fsl,pins = <
779			MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09	0x40000040 /* DIO0 */
780			MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11	0x40000040 /* DIO1 */
781			MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02	0x40000040 /* M2SKT_OFF# */
782			MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18	0x40000150 /* M2SKT_WDIS# */
783			MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06	0x40000040 /* M2SKT_PIN20 */
784			MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11	0x40000040 /* M2SKT_PIN22 */
785			MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13	0x40000150 /* PCIE1_WDIS# */
786			MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14	0x40000150 /* PCIE3_WDIS# */
787			MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18	0x40000150 /* PCIE2_WDIS# */
788			MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06	0x40000040 /* M2SKT_RST# */
789			MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01	0x40000104 /* UART_TERM */
790			MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31	0x40000104 /* UART_RS485 */
791			MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00	0x40000104 /* UART_HALF */
792		>;
793	};
794
795	pinctrl_accel: accelgrp {
796		fsl,pins = <
797			MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07	0x150
798		>;
799	};
800
801	pinctrl_eqos: eqosgrp {
802		fsl,pins = <
803			MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC				0x2
804			MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO				0x2
805			MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0		0x90
806			MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1		0x90
807			MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2		0x90
808			MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3		0x90
809			MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x90
810			MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL		0x90
811			MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0		0x16
812			MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1		0x16
813			MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2		0x16
814			MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3		0x16
815			MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL		0x16
816			MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x16
817			MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30		0x140 /* RST# */
818			MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28		0x150 /* IRQ# */
819		>;
820	};
821
822	pinctrl_fec: fecgrp {
823		fsl,pins = <
824			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0		0x90
825			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1		0x90
826			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2		0x90
827			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3		0x90
828			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x90
829			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x90
830			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0		0x16
831			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1		0x16
832			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2		0x16
833			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3		0x16
834			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x16
835			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC		0x16
836			MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN	0x140
837			MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT	0x140
838		>;
839	};
840
841	pinctrl_flexcan1: flexcan1grp {
842		fsl,pins = <
843			MX8MP_IOMUXC_SPDIF_RX__CAN1_RX		0x154
844			MX8MP_IOMUXC_SPDIF_TX__CAN1_TX		0x154
845		>;
846	};
847
848	pinctrl_flexcan2: flexcan2grp {
849		fsl,pins = <
850			MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX		0x154
851			MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX		0x154
852		>;
853	};
854
855	pinctrl_gsc: gscgrp {
856		fsl,pins = <
857			MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20	0x150
858		>;
859	};
860
861	pinctrl_i2c1: i2c1grp {
862		fsl,pins = <
863			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL		0x400001c2
864			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA		0x400001c2
865		>;
866	};
867
868	pinctrl_i2c1_gpio: i2c1gpiogrp {
869		fsl,pins = <
870			MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14	0x400001c2
871			MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15	0x400001c2
872		>;
873	};
874
875	pinctrl_i2c2: i2c2grp {
876		fsl,pins = <
877			MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL		0x400001c2
878			MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA		0x400001c2
879		>;
880	};
881
882	pinctrl_i2c2_gpio: i2c2gpiogrp {
883		fsl,pins = <
884			MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16	0x400001c3
885			MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17	0x400001c3
886		>;
887	};
888
889	pinctrl_i2c3: i2c3grp {
890		fsl,pins = <
891			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL		0x400001c2
892			MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA		0x400001c2
893		>;
894	};
895
896	pinctrl_i2c3_gpio: i2c3gpiogrp {
897		fsl,pins = <
898			MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18	0x400001c3
899			MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19	0x400001c3
900		>;
901	};
902
903	pinctrl_i2c4: i2c4grp {
904		fsl,pins = <
905			MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL		0x400001c2
906			MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA		0x400001c2
907		>;
908	};
909
910	pinctrl_i2c4_gpio: i2c4gpiogrp {
911		fsl,pins = <
912			MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20	0x400001c3
913			MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21	0x400001c3
914		>;
915	};
916
917	pinctrl_ksz: kszgrp {
918		fsl,pins = <
919			MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29	0x150 /* IRQ# */
920			MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02	0x140 /* RST# */
921		>;
922	};
923
924	pinctrl_gpio_leds: ledgrp {
925		fsl,pins = <
926			MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15	0x10
927			MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16	0x10
928		>;
929	};
930
931	pinctrl_pcie0: pciegrp {
932		fsl,pins = <
933			MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17	0x106
934		>;
935	};
936
937	pinctrl_pmic: pmicgrp {
938		fsl,pins = <
939			MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07	0x140
940		>;
941	};
942
943	pinctrl_pps: ppsgrp {
944		fsl,pins = <
945			MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12	0x140
946		>;
947	};
948
949	pinctrl_reg_can1: regcan1grp {
950		fsl,pins = <
951			MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19	0x154
952		>;
953	};
954
955	pinctrl_reg_can2: regcan2grp {
956		fsl,pins = <
957			MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05	0x154
958		>;
959	};
960
961	pinctrl_reg_usb2: regusb2grp {
962		fsl,pins = <
963			MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06	0x140
964		>;
965	};
966
967	pinctrl_reg_wifi: regwifigrp {
968		fsl,pins = <
969			MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09	0x110
970		>;
971	};
972
973	pinctrl_spi1: spi1grp {
974		fsl,pins = <
975			MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK	0x82
976			MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI	0x82
977			MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO	0x82
978			MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09	0x140
979		>;
980	};
981
982	pinctrl_spi2: spi2grp {
983		fsl,pins = <
984			MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK	0x82
985			MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI	0x82
986			MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO	0x82
987			MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13	0x140
988		>;
989	};
990
991	pinctrl_uart1: uart1grp {
992		fsl,pins = <
993			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX	0x140
994			MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX	0x140
995		>;
996	};
997
998	pinctrl_uart2: uart2grp {
999		fsl,pins = <
1000			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX	0x140
1001			MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX	0x140
1002		>;
1003	};
1004
1005	pinctrl_uart3: uart3grp {
1006		fsl,pins = <
1007			MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX	0x140
1008			MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX	0x140
1009			MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21	0x140
1010			MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22	0x140
1011		>;
1012	};
1013
1014	pinctrl_uart3_gpio: uart3gpiogrp {
1015		fsl,pins = <
1016			MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08	0x110
1017		>;
1018	};
1019
1020	pinctrl_uart4: uart4grp {
1021		fsl,pins = <
1022			MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX	0x140
1023			MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX	0x140
1024		>;
1025	};
1026
1027	pinctrl_usb1: usb1grp {
1028		fsl,pins = <
1029			MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC	0x140
1030		>;
1031	};
1032
1033	pinctrl_usbcon1: usb1congrp {
1034		fsl,pins = <
1035			MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10	0x140
1036		>;
1037	};
1038
1039	pinctrl_usdhc1: usdhc1grp {
1040		fsl,pins = <
1041			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x190
1042			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d0
1043			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d0
1044			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d0
1045			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d0
1046			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d0
1047		>;
1048	};
1049
1050	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
1051		fsl,pins = <
1052			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x194
1053			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d4
1054			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d4
1055			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d4
1056			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d4
1057			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d4
1058		>;
1059	};
1060
1061	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
1062		fsl,pins = <
1063			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x196
1064			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d6
1065			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d6
1066			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d6
1067			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d6
1068			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d6
1069		>;
1070	};
1071
1072	pinctrl_usdhc3: usdhc3grp {
1073		fsl,pins = <
1074			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x190
1075			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d0
1076			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d0
1077			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d0
1078			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d0
1079			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d0
1080			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d0
1081			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d0
1082			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d0
1083			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d0
1084			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x190
1085		>;
1086	};
1087
1088	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1089		fsl,pins = <
1090			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x194
1091			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d4
1092			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4
1093			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4
1094			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4
1095			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4
1096			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4
1097			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4
1098			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4
1099			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d4
1100			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x194
1101		>;
1102	};
1103
1104	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1105		fsl,pins = <
1106			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x196
1107			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d6
1108			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d6
1109			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d6
1110			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d6
1111			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d6
1112			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d6
1113			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d6
1114			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d6
1115			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d6
1116			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x196
1117		>;
1118	};
1119
1120	pinctrl_wdog: wdoggrp {
1121		fsl,pins = <
1122			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B	0x166
1123		>;
1124	};
1125};
1126