xref: /linux/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi (revision 0a670e151a71434765de69590944e18c08ee08cf)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2022 Toradex
4 */
5
6#include <dt-bindings/phy/phy-imx8-pcie.h>
7#include <dt-bindings/pwm/pwm.h>
8#include "imx8mp.dtsi"
9
10/ {
11	chosen {
12		stdout-path = &uart3;
13	};
14
15	aliases {
16		/* Ethernet aliases to ensure correct MAC addresses */
17		ethernet0 = &eqos;
18		ethernet1 = &fec;
19		rtc0 = &rtc_i2c;
20		rtc1 = &snvs_rtc;
21	};
22
23	backlight: backlight {
24		compatible = "pwm-backlight";
25		brightness-levels = <0 45 63 88 119 158 203 255>;
26		default-brightness-level = <4>;
27		/* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
28		enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
29		pinctrl-names = "default";
30		pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
31		power-supply = <&reg_3p3v>;
32		/* Verdin PWM_3_DSI/PWM_3_DSI_LVDS (SODIMM 19) */
33		pwms = <&pwm3 0 6666667 PWM_POLARITY_INVERTED>;
34		status = "disabled";
35	};
36
37	backlight_mezzanine: backlight-mezzanine {
38		compatible = "pwm-backlight";
39		brightness-levels = <0 45 63 88 119 158 203 255>;
40		default-brightness-level = <4>;
41		/* Verdin GPIO 4 (SODIMM 212) */
42		enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
43		/* Verdin PWM_2 (SODIMM 16) */
44		pwms = <&pwm2 0 6666667 PWM_POLARITY_INVERTED>;
45		status = "disabled";
46	};
47
48	connector {
49		compatible = "gpio-usb-b-connector", "usb-b-connector";
50		id-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
51		label = "Type-C";
52		pinctrl-names = "default";
53		pinctrl-0 = <&pinctrl_usb_1_id>;
54		self-powered;
55		type = "micro";
56		vbus-supply = <&reg_usb1_vbus>;
57
58		port {
59			usb_dr_connector: endpoint {
60				remote-endpoint = <&usb3_dwc>;
61			};
62		};
63	};
64
65	gpio-keys {
66		compatible = "gpio-keys";
67		pinctrl-names = "default";
68		pinctrl-0 = <&pinctrl_gpio_keys>;
69
70		key-wakeup {
71			debounce-interval = <10>;
72			/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
73			gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
74			label = "Wake-Up";
75			linux,code = <KEY_WAKEUP>;
76			wakeup-source;
77		};
78	};
79
80	sound_hdmi: sound-hdmi {
81		compatible = "fsl,imx-audio-hdmi";
82		model = "audio-hdmi";
83		audio-cpu = <&aud2htx>;
84		hdmi-out;
85		status = "disabled";
86	};
87
88	/* Carrier Board Supplies */
89	reg_1p8v: regulator-1p8v {
90		compatible = "regulator-fixed";
91		regulator-max-microvolt = <1800000>;
92		regulator-min-microvolt = <1800000>;
93		regulator-name = "+V1.8_SW";
94	};
95
96	reg_3p3v: regulator-3p3v {
97		compatible = "regulator-fixed";
98		regulator-max-microvolt = <3300000>;
99		regulator-min-microvolt = <3300000>;
100		regulator-name = "+V3.3_SW";
101	};
102
103	reg_5p0v: regulator-5p0v {
104		compatible = "regulator-fixed";
105		regulator-max-microvolt = <5000000>;
106		regulator-min-microvolt = <5000000>;
107		regulator-name = "+V5_SW";
108	};
109
110	/* Non PMIC On-module Supplies */
111	reg_module_eth1phy: regulator-module-eth1phy {
112		compatible = "regulator-fixed";
113		enable-active-high;
114		gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */
115		off-on-delay-us = <500000>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&pinctrl_reg_eth>;
118		regulator-always-on;
119		regulator-boot-on;
120		regulator-max-microvolt = <3300000>;
121		regulator-min-microvolt = <3300000>;
122		regulator-name = "On-module +V3.3_ETH";
123		startup-delay-us = <200000>;
124		vin-supply = <&reg_vdd_3v3>;
125	};
126
127	/*
128	 * By default we enable CTRL_SLEEP_MOCI#, this is required to have
129	 * peripherals on the carrier board powered.
130	 * If more granularity or power saving is required this can be disabled
131	 * in the carrier board device tree files.
132	 */
133	reg_force_sleep_moci: regulator-force-sleep-moci {
134		compatible = "regulator-fixed";
135		enable-active-high;
136		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
137		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
138		regulator-always-on;
139		regulator-boot-on;
140		regulator-name = "CTRL_SLEEP_MOCI#";
141	};
142
143	reg_usb1_vbus: regulator-usb1-vbus {
144		compatible = "regulator-fixed";
145		enable-active-high;
146		/* Verdin USB_1_EN (SODIMM 155) */
147		gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
148		pinctrl-names = "default";
149		pinctrl-0 = <&pinctrl_usb1_vbus>;
150		regulator-max-microvolt = <5000000>;
151		regulator-min-microvolt = <5000000>;
152		regulator-name = "USB_1_EN";
153	};
154
155	reg_usb2_vbus: regulator-usb2-vbus {
156		compatible = "regulator-fixed";
157		enable-active-high;
158		/* Verdin USB_2_EN (SODIMM 185) */
159		gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
160		pinctrl-names = "default";
161		pinctrl-0 = <&pinctrl_usb2_vbus>;
162		regulator-max-microvolt = <5000000>;
163		regulator-min-microvolt = <5000000>;
164		regulator-name = "USB_2_EN";
165	};
166
167	reg_usdhc2_vmmc: regulator-usdhc2 {
168		compatible = "regulator-fixed";
169		enable-active-high;
170		/* Verdin SD_1_PWR_EN (SODIMM 76) */
171		gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>;
172		off-on-delay-us = <100000>;
173		pinctrl-names = "default";
174		pinctrl-0 = <&pinctrl_usdhc2_pwr_en>;
175		regulator-max-microvolt = <3300000>;
176		regulator-min-microvolt = <3300000>;
177		regulator-name = "+V3.3_SD";
178		startup-delay-us = <20000>;
179	};
180
181	reserved-memory {
182		#address-cells = <2>;
183		#size-cells = <2>;
184		ranges;
185
186		/* Use the kernel configuration settings instead */
187		/delete-node/ linux,cma;
188	};
189};
190
191&A53_0 {
192	cpu-supply = <&reg_vdd_arm>;
193};
194
195&A53_1 {
196	cpu-supply = <&reg_vdd_arm>;
197};
198
199&A53_2 {
200	cpu-supply = <&reg_vdd_arm>;
201};
202
203&A53_3 {
204	cpu-supply = <&reg_vdd_arm>;
205};
206
207&cpu_alert0 {
208	temperature = <95000>;
209};
210
211&cpu_crit0 {
212	temperature = <105000>;
213};
214
215/* Verdin SPI_1 */
216&ecspi1 {
217	#address-cells = <1>;
218	#size-cells = <0>;
219	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
220	pinctrl-names = "default";
221	pinctrl-0 = <&pinctrl_ecspi1>;
222};
223
224/* Verdin ETH_1 (On-module PHY) */
225&eqos {
226	phy-handle = <&ethphy0>;
227	phy-mode = "rgmii-id";
228	pinctrl-names = "default";
229	pinctrl-0 = <&pinctrl_eqos>;
230	snps,force_thresh_dma_mode;
231	snps,mtl-rx-config = <&mtl_rx_setup>;
232	snps,mtl-tx-config = <&mtl_tx_setup>;
233
234	mdio {
235		compatible = "snps,dwmac-mdio";
236		#address-cells = <1>;
237		#size-cells = <0>;
238
239		ethphy0: ethernet-phy@7 {
240			compatible = "ethernet-phy-ieee802.3-c22";
241			eee-broken-100tx;
242			eee-broken-1000t;
243			interrupt-parent = <&gpio1>;
244			interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
245			micrel,led-mode = <0>;
246			reg = <7>;
247		};
248	};
249
250	mtl_rx_setup: rx-queues-config {
251		snps,rx-queues-to-use = <5>;
252
253		queue0 {
254			snps,dcb-algorithm;
255			snps,priority = <0x1>;
256			snps,map-to-dma-channel = <0>;
257		};
258
259		queue1 {
260			snps,dcb-algorithm;
261			snps,priority = <0x2>;
262			snps,map-to-dma-channel = <1>;
263		};
264
265		queue2 {
266			snps,dcb-algorithm;
267			snps,priority = <0x4>;
268			snps,map-to-dma-channel = <2>;
269		};
270
271		queue3 {
272			snps,dcb-algorithm;
273			snps,priority = <0x8>;
274			snps,map-to-dma-channel = <3>;
275		};
276
277		queue4 {
278			snps,dcb-algorithm;
279			snps,priority = <0xf0>;
280			snps,map-to-dma-channel = <4>;
281		};
282	};
283
284	mtl_tx_setup: tx-queues-config {
285		snps,tx-queues-to-use = <5>;
286
287		queue0 {
288			snps,dcb-algorithm;
289			snps,priority = <0x1>;
290		};
291
292		queue1 {
293			snps,dcb-algorithm;
294			snps,priority = <0x2>;
295		};
296
297		queue2 {
298			snps,dcb-algorithm;
299			snps,priority = <0x4>;
300		};
301
302		queue3 {
303			snps,dcb-algorithm;
304			snps,priority = <0x8>;
305		};
306
307		queue4 {
308			snps,dcb-algorithm;
309			snps,priority = <0xf0>;
310		};
311	};
312};
313
314/* Verdin ETH_2_RGMII */
315&fec {
316	fsl,magic-packet;
317	phy-handle = <&ethphy1>;
318	phy-mode = "rgmii-id";
319	pinctrl-names = "default", "sleep";
320	pinctrl-0 = <&pinctrl_fec>;
321	pinctrl-1 = <&pinctrl_fec_sleep>;
322
323	verdin_eth2_mdio: mdio {
324		#address-cells = <1>;
325		#size-cells = <0>;
326
327		ethphy1: ethernet-phy@7 {
328			compatible = "ethernet-phy-ieee802.3-c22";
329			interrupt-parent = <&gpio4>;
330			interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
331			micrel,led-mode = <0>;
332			reg = <7>;
333		};
334	};
335};
336
337/* Verdin CAN_1 */
338&flexcan1 {
339	pinctrl-names = "default";
340	pinctrl-0 = <&pinctrl_flexcan1>;
341	status = "disabled";
342};
343
344/* Verdin CAN_2 */
345&flexcan2 {
346	pinctrl-names = "default";
347	pinctrl-0 = <&pinctrl_flexcan2>;
348	status = "disabled";
349};
350
351/* Verdin QSPI_1 */
352&flexspi {
353	pinctrl-names = "default";
354	pinctrl-0 = <&pinctrl_flexspi0>;
355};
356
357&gpio1 {
358	gpio-line-names = "SODIMM_206",
359			  "SODIMM_208",
360			  "",
361			  "",
362			  "",
363			  "SODIMM_210",
364			  "SODIMM_212",
365			  "SODIMM_216",
366			  "SODIMM_218",
367			  "",
368			  "",
369			  "SODIMM_16",
370			  "SODIMM_155",
371			  "SODIMM_157",
372			  "SODIMM_185",
373			  "SODIMM_91";
374};
375
376&gpio2 {
377	gpio-line-names = "",
378			  "",
379			  "",
380			  "",
381			  "",
382			  "",
383			  "SODIMM_143",
384			  "SODIMM_141",
385			  "",
386			  "",
387			  "SODIMM_161",
388			  "",
389			  "SODIMM_84",
390			  "SODIMM_78",
391			  "SODIMM_74",
392			  "SODIMM_80",
393			  "SODIMM_82",
394			  "SODIMM_70",
395			  "SODIMM_72";
396};
397
398&gpio3 {
399	gpio-line-names = "SODIMM_52",
400			  "SODIMM_54",
401			  "",
402			  "",
403			  "",
404			  "",
405			  "SODIMM_56",
406			  "SODIMM_58",
407			  "SODIMM_60",
408			  "SODIMM_62",
409			  "",
410			  "",
411			  "",
412			  "",
413			  "SODIMM_66",
414			  "",
415			  "SODIMM_64",
416			  "",
417			  "",
418			  "SODIMM_34",
419			  "SODIMM_19",
420			  "",
421			  "SODIMM_32",
422			  "",
423			  "",
424			  "SODIMM_30",
425			  "SODIMM_59",
426			  "SODIMM_57",
427			  "SODIMM_63",
428			  "SODIMM_61";
429};
430
431&gpio4 {
432	gpio-line-names = "SODIMM_252",
433			  "SODIMM_222",
434			  "SODIMM_36",
435			  "SODIMM_220",
436			  "SODIMM_193",
437			  "SODIMM_191",
438			  "SODIMM_201",
439			  "SODIMM_203",
440			  "SODIMM_205",
441			  "SODIMM_207",
442			  "SODIMM_199",
443			  "SODIMM_197",
444			  "SODIMM_221",
445			  "SODIMM_219",
446			  "SODIMM_217",
447			  "SODIMM_215",
448			  "SODIMM_211",
449			  "SODIMM_213",
450			  "SODIMM_189",
451			  "SODIMM_244",
452			  "SODIMM_38",
453			  "",
454			  "SODIMM_76",
455			  "SODIMM_135",
456			  "SODIMM_133",
457			  "SODIMM_17",
458			  "SODIMM_24",
459			  "SODIMM_26",
460			  "SODIMM_21",
461			  "SODIMM_256",
462			  "SODIMM_48",
463			  "SODIMM_44";
464};
465
466/* Verdin HDMI_1 */
467&hdmi_tx {
468	ddc-i2c-bus = <&i2c5>;
469	pinctrl-names = "default";
470	pinctrl-0 = <&pinctrl_hdmi>;
471};
472
473/* On-module I2C */
474&i2c1 {
475	clock-frequency = <400000>;
476	pinctrl-names = "default", "gpio";
477	pinctrl-0 = <&pinctrl_i2c1>;
478	pinctrl-1 = <&pinctrl_i2c1_gpio>;
479	scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
480	sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
481	single-master;
482	status = "okay";
483
484	pca9450: pmic@25 {
485		compatible = "nxp,pca9450c";
486		interrupt-parent = <&gpio1>;
487		/* PMIC PCA9450 PMIC_nINT GPIO1_IO3 */
488		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
489		pinctrl-names = "default";
490		pinctrl-0 = <&pinctrl_pmic>;
491		reg = <0x25>;
492
493		/*
494		 * The bootloader is expected to switch on LDO4 for the on-module +V3.3_ADC and the
495		 * I2C level shifter for the TLA2024 ADC behind this PMIC.
496		 */
497
498		regulators {
499			BUCK1 {
500				regulator-always-on;
501				regulator-boot-on;
502				regulator-max-microvolt = <1000000>;
503				regulator-min-microvolt = <720000>;
504				regulator-name = "On-module +VDD_SOC (BUCK1)";
505				regulator-ramp-delay = <3125>;
506			};
507
508			reg_vdd_arm: BUCK2 {
509				nxp,dvs-run-voltage = <950000>;
510				nxp,dvs-standby-voltage = <850000>;
511				regulator-always-on;
512				regulator-boot-on;
513				regulator-max-microvolt = <1025000>;
514				regulator-min-microvolt = <720000>;
515				regulator-name = "On-module +VDD_ARM (BUCK2)";
516				regulator-ramp-delay = <3125>;
517			};
518
519			reg_vdd_3v3: BUCK4 {
520				regulator-always-on;
521				regulator-boot-on;
522				regulator-max-microvolt = <3300000>;
523				regulator-min-microvolt = <3300000>;
524				regulator-name = "On-module +V3.3 (BUCK4)";
525			};
526
527			reg_vdd_1v8: BUCK5 {
528				regulator-always-on;
529				regulator-boot-on;
530				regulator-max-microvolt = <1800000>;
531				regulator-min-microvolt = <1800000>;
532				regulator-name = "PWR_1V8_MOCI (BUCK5)";
533			};
534
535			BUCK6 {
536				regulator-always-on;
537				regulator-boot-on;
538				regulator-max-microvolt = <1155000>;
539				regulator-min-microvolt = <1045000>;
540				regulator-name = "On-module +VDD_DDR (BUCK6)";
541			};
542
543			LDO1 {
544				regulator-always-on;
545				regulator-boot-on;
546				regulator-max-microvolt = <1950000>;
547				regulator-min-microvolt = <1650000>;
548				regulator-name = "On-module +V1.8_SNVS (LDO1)";
549			};
550
551			LDO2 {
552				regulator-always-on;
553				regulator-boot-on;
554				regulator-max-microvolt = <1150000>;
555				regulator-min-microvolt = <800000>;
556				regulator-name = "On-module +V0.8_SNVS (LDO2)";
557			};
558
559			LDO3 {
560				regulator-always-on;
561				regulator-boot-on;
562				regulator-max-microvolt = <1800000>;
563				regulator-min-microvolt = <1800000>;
564				regulator-name = "On-module +V1.8A (LDO3)";
565			};
566
567			LDO4 {
568				regulator-always-on;
569				regulator-boot-on;
570				regulator-max-microvolt = <3300000>;
571				regulator-min-microvolt = <3300000>;
572				regulator-name = "On-module +V3.3_ADC (LDO4)";
573			};
574
575			reg_vdd_sdio: LDO5 {
576				regulator-max-microvolt = <3300000>;
577				regulator-min-microvolt = <1800000>;
578				regulator-name = "On-module +V3.3_1.8_SD (LDO5)";
579			};
580		};
581	};
582
583	rtc_i2c: rtc@32 {
584		compatible = "epson,rx8130";
585		reg = <0x32>;
586	};
587
588	/* On-module temperature sensor */
589	hwmon_temp_module: sensor@48 {
590		compatible = "ti,tmp1075";
591		reg = <0x48>;
592		vs-supply = <&reg_vdd_1v8>;
593	};
594
595	verdin_som_adc: adc@49 {
596		compatible = "ti,ads1015";
597		reg = <0x49>;
598		#address-cells = <1>;
599		#size-cells = <0>;
600		#io-channel-cells = <1>;
601
602		/* Verdin I2C_1 (ADC_4 - ADC_3) */
603		channel@0 {
604			reg = <0>;
605			ti,datarate = <4>;
606			ti,gain = <2>;
607		};
608
609		/* Verdin I2C_1 (ADC_4 - ADC_1) */
610		channel@1 {
611			reg = <1>;
612			ti,datarate = <4>;
613			ti,gain = <2>;
614		};
615
616		/* Verdin I2C_1 (ADC_3 - ADC_1) */
617		channel@2 {
618			reg = <2>;
619			ti,datarate = <4>;
620			ti,gain = <2>;
621		};
622
623		/* Verdin I2C_1 (ADC_2 - ADC_1) */
624		channel@3 {
625			reg = <3>;
626			ti,datarate = <4>;
627			ti,gain = <2>;
628		};
629
630		/* Verdin I2C_1 ADC_4 */
631		channel@4 {
632			reg = <4>;
633			ti,datarate = <4>;
634			ti,gain = <2>;
635		};
636
637		/* Verdin I2C_1 ADC_3 */
638		channel@5 {
639			reg = <5>;
640			ti,datarate = <4>;
641			ti,gain = <2>;
642		};
643
644		/* Verdin I2C_1 ADC_2 */
645		channel@6 {
646			reg = <6>;
647			ti,datarate = <4>;
648			ti,gain = <2>;
649		};
650
651		/* Verdin I2C_1 ADC_1 */
652		channel@7 {
653			reg = <7>;
654			ti,datarate = <4>;
655			ti,gain = <2>;
656		};
657	};
658
659	eeprom@50 {
660		compatible = "st,24c02";
661		pagesize = <16>;
662		reg = <0x50>;
663	};
664};
665
666/* Verdin I2C_2_DSI */
667&i2c2 {
668	clock-frequency = <400000>;
669	pinctrl-names = "default", "gpio";
670	pinctrl-0 = <&pinctrl_i2c2>;
671	pinctrl-1 = <&pinctrl_i2c2_gpio>;
672	scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
673	sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
674	single-master;
675
676	atmel_mxt_ts_mezzanine: touch-mezzanine@4a {
677		compatible = "atmel,maxtouch";
678		/* Verdin GPIO_3 (SODIMM 210) */
679		interrupt-parent = <&gpio1>;
680		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
681		reg = <0x4a>;
682		/* Verdin GPIO_2 (SODIMM 208) */
683		reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
684		status = "disabled";
685	};
686};
687
688/* Verdin I2C_4_CSI */
689&i2c3 {
690	clock-frequency = <400000>;
691	pinctrl-names = "default", "gpio";
692	pinctrl-0 = <&pinctrl_i2c3>;
693	pinctrl-1 = <&pinctrl_i2c3_gpio>;
694	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
695	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
696	single-master;
697};
698
699/* Verdin I2C_1 */
700&i2c4 {
701	clock-frequency = <400000>;
702	pinctrl-names = "default", "gpio";
703	pinctrl-0 = <&pinctrl_i2c4>;
704	pinctrl-1 = <&pinctrl_i2c4_gpio>;
705	scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
706	sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
707	single-master;
708
709	gpio_expander_21: gpio-expander@21 {
710		compatible = "nxp,pcal6416";
711		#gpio-cells = <2>;
712		gpio-controller;
713		reg = <0x21>;
714		vcc-supply = <&reg_3p3v>;
715		status = "disabled";
716	};
717
718	lvds_ti_sn65dsi84: bridge@2c {
719		compatible = "ti,sn65dsi84";
720		/* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
721		/* Verdin GPIO_10_DSI (SODIMM 21) */
722		enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
723		pinctrl-names = "default";
724		pinctrl-0 = <&pinctrl_gpio_10_dsi>;
725		reg = <0x2c>;
726		status = "disabled";
727	};
728
729	/* Current measurement into module VCC */
730	hwmon: hwmon@40 {
731		compatible = "ti,ina219";
732		reg = <0x40>;
733		shunt-resistor = <10000>;
734		status = "disabled";
735	};
736
737	hdmi_lontium_lt8912: hdmi@48 {
738		compatible = "lontium,lt8912b";
739		pinctrl-names = "default";
740		pinctrl-0 = <&pinctrl_gpio_10_dsi>, <&pinctrl_pwm_3_dsi_hpd_gpio>;
741		reg = <0x48>;
742		/* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */
743		/* Verdin GPIO_10_DSI (SODIMM 21) */
744		reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
745		status = "disabled";
746	};
747
748	atmel_mxt_ts: touch@4a {
749		compatible = "atmel,maxtouch";
750		/*
751		 * Verdin GPIO_9_DSI
752		 * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI84 IRQ albeit currently unused)
753		 */
754		interrupt-parent = <&gpio4>;
755		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
756		pinctrl-names = "default";
757		pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
758		reg = <0x4a>;
759		/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
760		reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
761		status = "disabled";
762	};
763
764	/* Temperature sensor on carrier board */
765	hwmon_temp: sensor@4f {
766		compatible = "ti,tmp75c";
767		reg = <0x4f>;
768		status = "disabled";
769	};
770
771	/* EEPROM on display adapter (MIPI DSI Display Adapter) */
772	eeprom_display_adapter: eeprom@50 {
773		compatible = "st,24c02";
774		pagesize = <16>;
775		reg = <0x50>;
776		status = "disabled";
777	};
778
779	/* EEPROM on carrier board */
780	eeprom_carrier_board: eeprom@57 {
781		compatible = "st,24c02";
782		pagesize = <16>;
783		reg = <0x57>;
784		status = "disabled";
785	};
786};
787
788/* Verdin I2C_3_HDMI */
789&i2c5 {
790	clock-frequency = <100000>;
791	pinctrl-names = "default", "gpio";
792	pinctrl-0 = <&pinctrl_i2c5>;
793	pinctrl-1 = <&pinctrl_i2c5_gpio>;
794	scl-gpios = <&gpio3 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
795	sda-gpios = <&gpio3 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
796	single-master;
797};
798
799/* Verdin PCIE_1 */
800&pcie {
801	pinctrl-names = "default";
802	pinctrl-0 = <&pinctrl_pcie>;
803	/* PCIE_1_RESET# (SODIMM 244) */
804	reset-gpio = <&gpio4 19 GPIO_ACTIVE_LOW>;
805};
806
807&pcie_phy {
808	clocks = <&hsio_blk_ctrl>;
809	clock-names = "ref";
810	fsl,clkreq-unsupported;
811	fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;
812};
813
814/* Verdin PWM_1 */
815&pwm1 {
816	pinctrl-names = "default";
817	pinctrl-0 = <&pinctrl_pwm_1>;
818	#pwm-cells = <3>;
819};
820
821/* Verdin PWM_2 */
822&pwm2 {
823	pinctrl-names = "default";
824	pinctrl-0 = <&pinctrl_pwm_2>;
825	#pwm-cells = <3>;
826};
827
828/* Verdin PWM_3_DSI */
829&pwm3 {
830	pinctrl-names = "default";
831	pinctrl-0 = <&pinctrl_pwm_3>;
832	#pwm-cells = <3>;
833};
834
835/* TODO: Verdin I2S_1 */
836
837/* TODO: Verdin I2S_2 */
838
839&snvs_pwrkey {
840	status = "okay";
841};
842
843/* Verdin UART_1 */
844&uart1 {
845	pinctrl-names = "default";
846	pinctrl-0 = <&pinctrl_uart1>;
847	uart-has-rtscts;
848};
849
850/* Verdin UART_2 */
851&uart2 {
852	pinctrl-names = "default";
853	pinctrl-0 = <&pinctrl_uart2>;
854	uart-has-rtscts;
855};
856
857/* Verdin UART_3, used as the Linux Console */
858&uart3 {
859	pinctrl-names = "default";
860	pinctrl-0 = <&pinctrl_uart3>;
861};
862
863/* Verdin UART_4, used for Bluetooth on Wi-Fi/Bluetooth SKUs */
864&uart4 {
865	pinctrl-names = "default";
866	pinctrl-0 = <&pinctrl_uart4>;
867};
868
869/* Verdin USB_1 */
870&usb3_0 {
871	fsl,disable-port-power-control;
872	fsl,over-current-active-low;
873	pinctrl-names = "default";
874	pinctrl-0 = <&pinctrl_usb_1_oc_n>;
875};
876
877&usb_dwc3_0 {
878	/* dual role only, not full featured OTG */
879	adp-disable;
880	dr_mode = "otg";
881	hnp-disable;
882	maximum-speed = "high-speed";
883	role-switch-default-mode = "peripheral";
884	srp-disable;
885	usb-role-switch;
886
887	port {
888		usb3_dwc: endpoint {
889			remote-endpoint = <&usb_dr_connector>;
890		};
891	};
892};
893
894/* Verdin USB_2 */
895&usb3_1 {
896	fsl,disable-port-power-control;
897};
898
899&usb3_phy1 {
900	vbus-supply = <&reg_usb2_vbus>;
901};
902
903&usb_dwc3_1 {
904	dr_mode = "host";
905};
906
907/* Verdin SD_1 */
908&usdhc2 {
909	assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
910	assigned-clock-rates = <400000000>;
911	bus-width = <4>;
912	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
913	disable-wp;
914	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
915	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_cd>;
916	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_cd>;
917	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_cd>;
918	pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_cd_sleep>;
919	vmmc-supply = <&reg_usdhc2_vmmc>;
920	vqmmc-supply = <&reg_vdd_sdio>;
921};
922
923/* On-module eMMC */
924&usdhc3 {
925	assigned-clocks = <&clk IMX8MP_CLK_USDHC3_ROOT>;
926	assigned-clock-rates = <400000000>;
927	bus-width = <8>;
928	non-removable;
929	pinctrl-names = "default", "state_100mhz", "state_200mhz";
930	pinctrl-0 = <&pinctrl_usdhc3>;
931	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
932	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
933	status = "okay";
934};
935
936&wdog1 {
937	fsl,ext-reset-output;
938	pinctrl-names = "default";
939	pinctrl-0 = <&pinctrl_wdog>;
940	status = "okay";
941};
942
943&iomuxc {
944	pinctrl_bt_uart: btuartgrp {
945		fsl,pins =
946			<MX8MP_IOMUXC_ECSPI2_MISO__UART4_DCE_CTS	0x1c4>,
947			<MX8MP_IOMUXC_ECSPI2_MOSI__UART4_DCE_TX		0x1c4>,
948			<MX8MP_IOMUXC_ECSPI2_SCLK__UART4_DCE_RX		0x1c4>,
949			<MX8MP_IOMUXC_ECSPI2_SS0__UART4_DCE_RTS		0x1c4>;
950	};
951
952	pinctrl_ctrl_sleep_moci: ctrlsleepmocigrp {
953		fsl,pins =
954			<MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29		0x1c4>;	/* SODIMM 256 */
955	};
956
957	pinctrl_ecspi1: ecspi1grp {
958		fsl,pins =
959			<MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO		0x1c4>,	/* SODIMM 198 */
960			<MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI		0x4>,	/* SODIMM 200 */
961			<MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK		0x4>,	/* SODIMM 196 */
962			<MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09		0x1c4>;	/* SODIMM 202 */
963	};
964
965	/* Connection On Board PHY */
966	pinctrl_eqos: eqosgrp {
967		fsl,pins =
968			<MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC				0x3>,
969			<MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO				0x3>,
970			<MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0			0x91>,
971			<MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1			0x91>,
972			<MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2			0x91>,
973			<MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3			0x91>,
974			<MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x91>,
975			<MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL		0x91>,
976			<MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0			0x1f>,
977			<MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1			0x1f>,
978			<MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2			0x1f>,
979			<MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3			0x1f>,
980			<MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL		0x1f>,
981			<MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x1f>;
982	};
983
984	/* ETH_INT# shared with TPM_INT# (usually N/A) */
985	pinctrl_eth_tpm_int: ethtpmintgrp {
986		fsl,pins =
987			<MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10		0x1c4>;
988	};
989
990	/* Connection Carrier Board PHY ETH_2 */
991	pinctrl_fec: fecgrp {
992		fsl,pins =
993			<MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x3>,	/* SODIMM 193 */
994			<MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x3>,	/* SODIMM 191 */
995			<MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0	0x91>,	/* SODIMM 201 */
996			<MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1	0x91>,	/* SODIMM 203 */
997			<MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2	0x91>,	/* SODIMM 205 */
998			<MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3	0x91>,	/* SODIMM 207 */
999			<MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x91>,	/* SODIMM 197 */
1000			<MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x91>,	/* SODIMM 199 */
1001			<MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0	0x1f>,	/* SODIMM 221 */
1002			<MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1	0x1f>,	/* SODIMM 219 */
1003			<MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2	0x1f>,	/* SODIMM 217 */
1004			<MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3	0x1f>,	/* SODIMM 215 */
1005			<MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x1f>,	/* SODIMM 211 */
1006			<MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC	0x1f>,	/* SODIMM 213 */
1007			<MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18		0x1c4>;	/* SODIMM 189 */
1008	};
1009
1010	pinctrl_fec_sleep: fecsleepgrp {
1011		fsl,pins =
1012			<MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x3>,	/* SODIMM 193 */
1013			<MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x3>,	/* SODIMM 191 */
1014			<MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0	0x91>,	/* SODIMM 201 */
1015			<MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1	0x91>,	/* SODIMM 203 */
1016			<MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2	0x91>,	/* SODIMM 205 */
1017			<MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3	0x91>,	/* SODIMM 207 */
1018			<MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x91>,	/* SODIMM 197 */
1019			<MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x91>,	/* SODIMM 199 */
1020			<MX8MP_IOMUXC_SAI1_TXD0__GPIO4_IO12		0x1f>,	/* SODIMM 221 */
1021			<MX8MP_IOMUXC_SAI1_TXD1__GPIO4_IO13		0x1f>,	/* SODIMM 219 */
1022			<MX8MP_IOMUXC_SAI1_TXD2__GPIO4_IO14		0x1f>,	/* SODIMM 217 */
1023			<MX8MP_IOMUXC_SAI1_TXD3__GPIO4_IO15		0x1f>,	/* SODIMM 215 */
1024			<MX8MP_IOMUXC_SAI1_TXD4__GPIO4_IO16		0x1f>,	/* SODIMM 211 */
1025			<MX8MP_IOMUXC_SAI1_TXD5__GPIO4_IO17		0x1f>,	/* SODIMM 213 */
1026			<MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18		0x184>;	/* SODIMM 189 */
1027	};
1028
1029	pinctrl_flexcan1: flexcan1grp {
1030		fsl,pins =
1031			<MX8MP_IOMUXC_SPDIF_RX__CAN1_RX			0x154>,	/* SODIMM 22 */
1032			<MX8MP_IOMUXC_SPDIF_TX__CAN1_TX			0x154>;	/* SODIMM 20 */
1033	};
1034
1035	pinctrl_flexcan2: flexcan2grp {
1036		fsl,pins =
1037			<MX8MP_IOMUXC_SAI2_MCLK__CAN2_RX		0x154>,	/* SODIMM 26 */
1038			<MX8MP_IOMUXC_SAI2_TXD0__CAN2_TX		0x154>;	/* SODIMM 24 */
1039	};
1040
1041	pinctrl_flexspi0: flexspi0grp {
1042		fsl,pins =
1043			<MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK		0x1c2>,	/* SODIMM 52 */
1044			<MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B	0x82>,	/* SODIMM 54 */
1045			<MX8MP_IOMUXC_NAND_DQS__FLEXSPI_A_DQS		0x82>,	/* SODIMM 66 */
1046			<MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00	0x82>,	/* SODIMM 56 */
1047			<MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01	0x82>,	/* SODIMM 58 */
1048			<MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02	0x82>,	/* SODIMM 60 */
1049			<MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03	0x82>,	/* SODIMM 62 */
1050			<MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16		0x82>;	/* SODIMM 64 */
1051	};
1052
1053	pinctrl_gpio1: gpio1grp {
1054		fsl,pins =
1055			<MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00		0x184>;	/* SODIMM 206 */
1056	};
1057
1058	pinctrl_gpio2: gpio2grp {
1059		fsl,pins =
1060			<MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01		0x1c4>;	/* SODIMM 208 */
1061	};
1062
1063	pinctrl_gpio3: gpio3grp {
1064		fsl,pins =
1065			<MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05		0x184>;	/* SODIMM 210 */
1066	};
1067
1068	pinctrl_gpio4: gpio4grp {
1069		fsl,pins =
1070			<MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06		0x184>;	/* SODIMM 212 */
1071	};
1072
1073	pinctrl_gpio5: gpio5grp {
1074		fsl,pins =
1075			<MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07		0x184>;	/* SODIMM 216 */
1076	};
1077
1078	pinctrl_gpio6: gpio6grp {
1079		fsl,pins =
1080			<MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08		0x184>;	/* SODIMM 218 */
1081	};
1082
1083	pinctrl_gpio7: gpio7grp {
1084		fsl,pins =
1085			<MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03		0x184>;	/* SODIMM 220 */
1086	};
1087
1088	pinctrl_gpio8: gpio8grp {
1089		fsl,pins =
1090			<MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01		0x184>;	/* SODIMM 222 */
1091	};
1092
1093	/* Verdin GPIO_9_DSI (pulled-up as active-low) */
1094	pinctrl_gpio_9_dsi: gpio9dsigrp {
1095		fsl,pins =
1096			<MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25		0x1c4>;	/* SODIMM 17 */
1097	};
1098
1099	/* Verdin GPIO_10_DSI */
1100	pinctrl_gpio_10_dsi: gpio10dsigrp {
1101		fsl,pins =
1102			<MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28		0x1c4>;	/* SODIMM 21 */
1103	};
1104
1105	/* Non-wifi MSP usage only */
1106	pinctrl_gpio_hog1: gpiohog1grp {
1107		fsl,pins =
1108			<MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12		0x1c4>,	/* SODIMM 116 */
1109			<MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11		0x1c4>,	/* SODIMM 152 */
1110			<MX8MP_IOMUXC_ECSPI2_SCLK__GPIO5_IO10		0x1c4>,	/* SODIMM 164 */
1111			<MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13		0x1c4>;	/* SODIMM 128 */
1112	};
1113
1114	/* USB_2_OC# */
1115	pinctrl_gpio_hog2: gpiohog2grp {
1116		fsl,pins =
1117			<MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02		0x1c4>;	/* SODIMM 187 */
1118	};
1119
1120	pinctrl_gpio_hog3: gpiohog3grp {
1121		fsl,pins =
1122			/* CSI_1_MCLK */
1123			<MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15		0x1c4>;	/* SODIMM 91 */
1124	};
1125
1126	/* Wifi usage only */
1127	pinctrl_gpio_hog4: gpiohog4grp {
1128		fsl,pins =
1129			<MX8MP_IOMUXC_UART4_RXD__GPIO5_IO28		0x1c4>,	/* SODIMM 151 */
1130			<MX8MP_IOMUXC_UART4_TXD__GPIO5_IO29		0x1c4>;	/* SODIMM 153 */
1131	};
1132
1133	pinctrl_gpio_keys: gpiokeysgrp {
1134		fsl,pins =
1135			<MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00		0x1c4>;	/* SODIMM 252 */
1136	};
1137
1138	pinctrl_hdmi: hdmigrp {
1139		fsl,pins =
1140			<MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC	0x140>,	/* SODIMM 63 */
1141			<MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD	0x180>;	/* SODIMM 61 */
1142	};
1143
1144	/* On-module I2C */
1145	pinctrl_i2c1: i2c1grp {
1146		fsl,pins =
1147			<MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL		0x400001c6>,	/* PMIC_I2C_SCL */
1148			<MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA		0x400001c6>;	/* PMIC_I2C_SDA */
1149	};
1150
1151	pinctrl_i2c1_gpio: i2c1gpiogrp {
1152		fsl,pins =
1153			<MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14		0x400001c6>,	/* PMIC_I2C_SCL */
1154			<MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15		0x400001c6>;	/* PMIC_I2C_SDA */
1155	};
1156
1157	/* Verdin I2C_2_DSI */
1158	pinctrl_i2c2: i2c2grp {
1159		fsl,pins =
1160			<MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL		0x400001c6>,	/* SODIMM 55 */
1161			<MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA		0x400001c6>;	/* SODIMM 53 */
1162	};
1163
1164	pinctrl_i2c2_gpio: i2c2gpiogrp {
1165		fsl,pins =
1166			<MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16		0x400001c6>,	/* SODIMM 55 */
1167			<MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17		0x400001c6>;	/* SODIMM 53 */
1168	};
1169
1170	/* Verdin I2C_4_CSI */
1171	pinctrl_i2c3: i2c3grp {
1172		fsl,pins =
1173			<MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL		0x400001c6>,	/* SODIMM 95 */
1174			<MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA		0x400001c6>;	/* SODIMM 93 */
1175	};
1176
1177	pinctrl_i2c3_gpio: i2c3gpiogrp {
1178		fsl,pins =
1179			<MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18		0x400001c6>,	/* SODIMM 95 */
1180			<MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19		0x400001c6>;	/* SODIMM 93 */
1181	};
1182
1183	/* Verdin I2C_1 */
1184	pinctrl_i2c4: i2c4grp {
1185		fsl,pins =
1186			<MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL		0x400001c6>,	/* SODIMM 14 */
1187			<MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA		0x400001c6>;	/* SODIMM 12 */
1188	};
1189
1190	pinctrl_i2c4_gpio: i2c4gpiogrp {
1191		fsl,pins =
1192			<MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20		0x400001c6>,	/* SODIMM 14 */
1193			<MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21		0x400001c6>;	/* SODIMM 12 */
1194	};
1195
1196	/* Verdin I2C_3_HDMI */
1197	pinctrl_i2c5: i2c5grp {
1198		fsl,pins =
1199			<MX8MP_IOMUXC_HDMI_DDC_SCL__I2C5_SCL		0x400001c6>,	/* SODIMM 59 */
1200			<MX8MP_IOMUXC_HDMI_DDC_SDA__I2C5_SDA		0x400001c6>;	/* SODIMM 57 */
1201	};
1202
1203	pinctrl_i2c5_gpio: i2c5gpiogrp {
1204		fsl,pins =
1205			<MX8MP_IOMUXC_HDMI_DDC_SCL__GPIO3_IO26		0x400001c6>,	/* SODIMM 59 */
1206			<MX8MP_IOMUXC_HDMI_DDC_SDA__GPIO3_IO27		0x400001c6>;	/* SODIMM 57 */
1207	};
1208
1209	/* Verdin I2S_2_BCLK (TOUCH_RESET#) */
1210	pinctrl_i2s_2_bclk_touch_reset: i2s2bclktouchresetgrp {
1211		fsl,pins =
1212			<MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00		0x184>;	/* SODIMM 42 */
1213	};
1214
1215	/* Verdin I2S_2_D_OUT shared with SAI3 */
1216	pinctrl_i2s_2_d_out_dsi_1_bkl_en: i2s2doutdsi1bklengrp {
1217		fsl,pins =
1218			<MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01		0x184>;	/* SODIMM 46 */
1219	};
1220
1221	pinctrl_pcie: pciegrp {
1222		fsl,pins =
1223			<MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19		0x4>,	/* SODIMM 244 */
1224			<MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19		0x1c4>;	/* PMIC_EN_PCIe_CLK, unused */
1225	};
1226
1227	pinctrl_pmic: pmicirqgrp {
1228		fsl,pins =
1229			<MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x1c4>;	/* PMIC_INT# */
1230	};
1231
1232	pinctrl_pwm_1: pwm1grp {
1233		fsl,pins =
1234			<MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT		0x6>;	/* SODIMM 15 */
1235	};
1236
1237	pinctrl_pwm_2: pwm2grp {
1238		fsl,pins =
1239			<MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT		0x6>;	/* SODIMM 16 */
1240	};
1241
1242	/* Verdin PWM_3_DSI shared with GPIO3_IO20 */
1243	pinctrl_pwm_3: pwm3grp {
1244		fsl,pins =
1245			<MX8MP_IOMUXC_SAI5_RXC__PWM3_OUT		0x6>;	/* SODIMM 19 */
1246	};
1247
1248	/* Verdin PWM_3_DSI (pulled-down as active-high) shared with PWM3_OUT */
1249	pinctrl_pwm_3_dsi_hpd_gpio: pwm3dsi1hpdgpiogrp {
1250		fsl,pins =
1251			<MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20		0x184>;	/* SODIMM 19 */
1252	};
1253
1254	pinctrl_reg_eth: regethgrp {
1255		fsl,pins =
1256			<MX8MP_IOMUXC_SD2_WP__GPIO2_IO20		0x184>;	/* PMIC_EN_ETH */
1257	};
1258
1259	pinctrl_sai1: sai1grp {
1260		fsl,pins =
1261			<MX8MP_IOMUXC_SAI1_MCLK__AUDIOMIX_SAI1_MCLK		0x96>,	/* SODIMM 38 */
1262			<MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI1_RX_DATA00	0x1d6>,	/* SODIMM 36 */
1263			<MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI1_TX_BCLK		0x1d6>,	/* SODIMM 30 */
1264			<MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI1_TX_SYNC		0x1d6>,	/* SODIMM 32 */
1265			<MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI1_TX_DATA00	0x96>;	/* SODIMM 34 */
1266	};
1267
1268	pinctrl_sai3: sai3grp {
1269		fsl,pins =
1270			<MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00	0x1d6>,	/* SODIMM 48 */
1271			<MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK	0x1d6>,	/* SODIMM 42 */
1272			<MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00	0x96>,	/* SODIMM 46 */
1273			<MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC	0x1d6>;	/* SODIMM 44 */
1274	};
1275
1276	pinctrl_uart1: uart1grp {
1277		fsl,pins =
1278			<MX8MP_IOMUXC_SAI2_RXD0__UART1_DCE_RTS		0x1c4>,	/* SODIMM 135 */
1279			<MX8MP_IOMUXC_SAI2_TXFS__UART1_DCE_CTS		0x1c4>,	/* SODIMM 133 */
1280			<MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX		0x1c4>,	/* SODIMM 129 */
1281			<MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX		0x1c4>;	/* SODIMM 131 */
1282	};
1283
1284	pinctrl_uart2: uart2grp {
1285		fsl,pins =
1286			<MX8MP_IOMUXC_SD1_DATA4__UART2_DCE_RTS		0x1c4>,	/* SODIMM 143 */
1287			<MX8MP_IOMUXC_SD1_DATA5__UART2_DCE_CTS		0x1c4>,	/* SODIMM 141 */
1288			<MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX		0x1c4>,	/* SODIMM 137 */
1289			<MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX		0x1c4>; /* SODIMM 139 */
1290	};
1291
1292	pinctrl_uart3: uart3grp {
1293		fsl,pins =
1294			<MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX		0x1c4>,	/* SODIMM 147 */
1295			<MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX		0x1c4>;	/* SODIMM 149 */
1296	};
1297
1298	/* Non-wifi usage only */
1299	pinctrl_uart4: uart4grp {
1300		fsl,pins =
1301			<MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX		0x1c4>,	/* SODIMM 151 */
1302			<MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX		0x1c4>;	/* SODIMM 153 */
1303	};
1304
1305	pinctrl_usb1_vbus: usb1vbusgrp {
1306		fsl,pins =
1307			<MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12		0x106>;	/* SODIMM 155 */
1308	};
1309
1310	/* USB_1_ID */
1311	pinctrl_usb_1_id: usb1idgrp {
1312		fsl,pins =
1313			<MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10		0x1c4>;	/* SODIMM 161 */
1314	};
1315
1316	/* USB_1_OC# */
1317	pinctrl_usb_1_oc_n: usb1ocngrp {
1318		fsl,pins =
1319			<MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC		0x1c4>;	/* SODIMM 157 */
1320	};
1321
1322	pinctrl_usb2_vbus: usb2vbusgrp {
1323		fsl,pins =
1324			<MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14		0x106>;	/* SODIMM 185 */
1325	};
1326
1327	/* On-module Wi-Fi */
1328	pinctrl_usdhc1: usdhc1grp {
1329		fsl,pins =
1330			<MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x190>,
1331			<MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d0>,
1332			<MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d0>,
1333			<MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d0>,
1334			<MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d0>,
1335			<MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d0>;
1336	};
1337
1338	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
1339		fsl,pins =
1340			<MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x194>,
1341			<MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d4>,
1342			<MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d4>,
1343			<MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d4>,
1344			<MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d4>,
1345			<MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d4>;
1346	};
1347
1348	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
1349		fsl,pins =
1350			<MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x196>,
1351			<MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d6>,
1352			<MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d6>,
1353			<MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d6>,
1354			<MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d6>,
1355			<MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d6>;
1356	};
1357
1358	pinctrl_usdhc2_cd: usdhc2cdgrp {
1359		fsl,pins =
1360			<MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12		0x1c4>;	/* SODIMM 84 */
1361	};
1362
1363	pinctrl_usdhc2_cd_sleep: usdhc2cdslpgrp {
1364		fsl,pins =
1365			<MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12		0x0>;	/* SODIMM 84 */
1366	};
1367
1368	pinctrl_usdhc2_pwr_en: usdhc2pwrengrp {
1369		fsl,pins =
1370			<MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22		0x4>;	/* SODIMM 76 */
1371	};
1372
1373	pinctrl_usdhc2: usdhc2grp {
1374		fsl,pins =
1375			<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0x4>,	/* PMIC_USDHC_VSELECT */
1376			<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x190>,	/* SODIMM 78 */
1377			<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d0>,	/* SODIMM 74 */
1378			<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d0>,	/* SODIMM 80 */
1379			<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d0>,	/* SODIMM 82 */
1380			<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d0>,	/* SODIMM 70 */
1381			<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d0>;	/* SODIMM 72 */
1382	};
1383
1384	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
1385		fsl,pins =
1386			<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0x4>,
1387			<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x194>,
1388			<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d4>,
1389			<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d4>,
1390			<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d4>,
1391			<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d4>,
1392			<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d4>;
1393	};
1394
1395	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
1396		fsl,pins =
1397			<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0x4>,
1398			<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x196>,
1399			<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d6>,
1400			<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d6>,
1401			<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d6>,
1402			<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d6>,
1403			<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d6>;
1404	};
1405
1406	/* Avoid backfeeding with removed card power */
1407	pinctrl_usdhc2_sleep: usdhc2slpgrp {
1408		fsl,pins =
1409			<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0x0>,
1410			<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x100>,
1411			<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x100>,
1412			<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x100>,
1413			<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x100>,
1414			<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x100>,
1415			<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x100>;
1416	};
1417
1418	pinctrl_usdhc3: usdhc3grp {
1419		fsl,pins =
1420			<MX8MP_IOMUXC_GPIO1_IO09__USDHC3_RESET_B	0x1d1>,
1421			<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x190>,
1422			<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d0>,
1423			<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d0>,
1424			<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d0>,
1425			<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d0>,
1426			<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d0>,
1427			<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d0>,
1428			<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d0>,
1429			<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d0>,
1430			<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x190>,
1431			<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d0>;
1432	};
1433
1434	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1435		fsl,pins =
1436			<MX8MP_IOMUXC_GPIO1_IO09__USDHC3_RESET_B	0x1d1>,
1437			<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x194>,
1438			<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d4>,
1439			<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d4>,
1440			<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4>,
1441			<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d4>,
1442			<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d4>,
1443			<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d4>,
1444			<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d4>,
1445			<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d4>,
1446			<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194>,
1447			<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4>;
1448	};
1449
1450	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1451		fsl,pins =
1452			<MX8MP_IOMUXC_GPIO1_IO09__USDHC3_RESET_B	0x1d1>,
1453			<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x196>,
1454			<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d2>,
1455			<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d2>,
1456			<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d2>,
1457			<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d2>,
1458			<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d2>,
1459			<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d2>,
1460			<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d2>,
1461			<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d2>,
1462			<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x196>,
1463			<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d6>;
1464	};
1465
1466	pinctrl_wdog: wdoggrp {
1467		fsl,pins =
1468			<MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B		0xc6>;	/* PMIC_WDI */
1469	};
1470
1471	pinctrl_bluetooth_ctrl: bluetoothctrlgrp {
1472		fsl,pins =
1473			<MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08		0x1c4>;	/* WIFI_WKUP_BT */
1474	};
1475
1476	pinctrl_wifi_ctrl: wifictrlgrp {
1477		fsl,pins =
1478			<MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09		0x1c4>;	/* WIFI_WKUP_WLAN */
1479	};
1480
1481	pinctrl_wifi_i2s: wifii2sgrp {
1482		fsl,pins =
1483			<MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21		0x1d6>,	/* WIFI_TX_SYNC */
1484			<MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21		0x96>,	/* WIFI_RX_DATA0 */
1485			<MX8MP_IOMUXC_SAI5_RXD2__GPIO3_IO23		0x1d6>,	/* WIFI_TX_BCLK */
1486			<MX8MP_IOMUXC_SAI5_RXD3__GPIO3_IO24		0x1d6>;	/* WIFI_TX_DATA0 */
1487	};
1488
1489	pinctrl_wifi_pwr_en: wifipwrengrp {
1490		fsl,pins =
1491			<MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11		0x184>;	/* PMIC_EN_WIFI */
1492	};
1493};
1494