// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2021-2022 Marek Vasut <marex@denx.de>
 */

#include "imx8mp.dtsi"

/ {
	model = "DH electronics i.MX8M Plus DHCOM SoM";
	compatible = "dh,imx8mp-dhcom-som", "fsl,imx8mp";

	aliases {
		ethernet0 = &eqos;
		ethernet1 = &fec;
		rtc0 = &rv3032;
		rtc1 = &snvs_rtc;
		spi0 = &flexspi;
	};

	memory@40000000 {
		device_type = "memory";
		/* Memory size 512 MiB..8 GiB will be filled by U-Boot */
		reg = <0x0 0x40000000 0 0x08000000>;
	};

	reg_eth_vio: regulator-eth-vio {
		compatible = "regulator-fixed";
		gpio = <&ioexp 2 GPIO_ACTIVE_LOW>;
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-name = "eth_vio";
		vin-supply = <&buck4>;
	};

	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio2 19 0>; /* SD2_RESET */
		off-on-delay-us = <12000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usdhc2_vmmc>;
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "VDD_3V3_SD";
		startup-delay-us = <100>;
		vin-supply = <&buck4>;
	};

	reg_vdd_3p3v_awo: regulator-vdd-3p3v-awo {	/* VDD_3V3_AWO */
		compatible = "regulator-fixed";
		regulator-always-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-name = "VDD_3P3V_AWO";
	};

	wlan_pwrseq: wifi-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&ioexp 1 GPIO_ACTIVE_LOW>;
	};
};

&A53_0 {
	cpu-supply = <&buck2>;
};

&A53_1 {
	cpu-supply = <&buck2>;
};

&A53_2 {
	cpu-supply = <&buck2>;
};

&A53_3 {
	cpu-supply = <&buck2>;
};

&ecspi1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	cs-gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
	status = "disabled";
};

&ecspi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi2>;
	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
	status = "disabled";
};

&eqos {	/* First ethernet */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_eqos_rgmii>;
	phy-handle = <&ethphy0g>;
	phy-mode = "rgmii-id";
	status = "okay";

	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;

		/* Up to one of these two PHYs may be populated. */
		ethphy0f: ethernet-phy@0 { /* SMSC LAN8740Ai */
			compatible = "ethernet-phy-id0007.c110",
				     "ethernet-phy-ieee802.3-c22";
			interrupt-parent = <&gpio3>;
			interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
			pinctrl-0 = <&pinctrl_ethphy0>;
			pinctrl-names = "default";
			reg = <0>;
			reset-assert-us = <1000>;
			reset-deassert-us = <1000>;
			reset-gpios = <&ioexp 4 GPIO_ACTIVE_LOW>;
			/* Non-default PHY population option. */
			status = "disabled";
		};

		ethphy0g: ethernet-phy@5 { /* Micrel KSZ9131RNXI */
			compatible = "ethernet-phy-id0022.1642",
				     "ethernet-phy-ieee802.3-c22";
			interrupt-parent = <&gpio3>;
			interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
			micrel,led-mode = <0>;
			pinctrl-0 = <&pinctrl_ethphy0>;
			pinctrl-names = "default";
			reg = <5>;
			reset-assert-us = <1000>;
			reset-deassert-us = <1000>;
			reset-gpios = <&ioexp 4 GPIO_ACTIVE_LOW>;
			/* Default PHY population option. */
			status = "okay";
		};
	};
};

&fec {	/* Second ethernet */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec_rmii>;
	phy-handle = <&ethphy1f>;
	phy-mode = "rmii";
	fsl,magic-packet;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		/* Up to one PHY may be populated. */
		ethphy1f: ethernet-phy@1 { /* SMSC LAN8740Ai */
			compatible = "ethernet-phy-id0007.c110",
				     "ethernet-phy-ieee802.3-c22";
			interrupt-parent = <&gpio4>;
			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
			pinctrl-0 = <&pinctrl_ethphy1>;
			pinctrl-names = "default";
			reg = <1>;
			reset-assert-us = <1000>;
			reset-deassert-us = <1000>;
			reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
			/* Non-default PHY population option. */
			status = "disabled";
		};
	};
};

&flexcan1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan1>;
	status = "disabled";
};

&flexcan2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan2>;
	status = "disabled";
};

&flexspi {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexspi>;
	status = "okay";

	flash@0 {	/* W25Q128JWPIM */
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <80000000>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
	};
};

&gpio1 {
	gpio-line-names =
		"DHCOM-G", "", "", "", "", "DHCOM-I", "DHCOM-J", "DHCOM-L",
		"DHCOM-B", "DHCOM-A", "", "DHCOM-H", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "";
};

&gpio2 {
	gpio-line-names =
		"", "", "", "", "", "", "", "",
		"", "", "", "DHCOM-K", "", "", "", "",
		"", "", "", "", "DHCOM-INT", "", "", "",
		"", "", "", "", "", "", "", "";
};

&gpio3 {
	gpio-line-names =
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "SOM-HW0", "",
		"", "", "", "", "", "", "SOM-MEM0", "SOM-MEM1",
		"SOM-MEM2", "SOM-HW2", "", "", "", "", "", "";
};

&gpio4 {
	gpio-line-names =
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "SOM-HW1", "", "", "", "",
		"", "", "", "DHCOM-D", "", "", "", "";
};

&gpio5 {
	gpio-line-names =
		"", "", "DHCOM-C", "", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "DHCOM-E", "DHCOM-F",
		"", "", "", "", "", "", "", "";
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c3>;
	pinctrl-1 = <&pinctrl_i2c3_gpio>;
	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	status = "okay";

	tc_bridge: bridge@f {
		compatible = "toshiba,tc9595", "toshiba,tc358767";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tc9595>;
		reg = <0xf>;
		clock-names = "ref";
		clocks = <&clk IMX8MP_CLK_CLKOUT2>;
		assigned-clocks = <&clk IMX8MP_CLK_CLKOUT2_SEL>,
				  <&clk IMX8MP_CLK_CLKOUT2>,
				  <&clk IMX8MP_AUDIO_PLL2_OUT>;
		assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>;
		assigned-clock-rates = <13000000>, <13000000>, <156000000>;
		reset-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				tc_bridge_in: endpoint {
					data-lanes = <1 2 3 4>;
					remote-endpoint = <&dsi_out>;
				};
			};
		};
	};

	pmic: pmic@25 {
		compatible = "nxp,pca9450c";
		reg = <0x25>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pmic>;
		interrupt-parent = <&gpio1>;
		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

		/*
		 * i.MX 8M Plus Data Sheet for Consumer Products
		 * 3.1.4 Operating ranges
		 * MIMX8ML8CVNKZAB
		 */
		regulators {
			buck1: BUCK1 {	/* VDD_SOC (dual-phase with BUCK3) */
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1000000>;
				regulator-ramp-delay = <3125>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck2: BUCK2 {	/* VDD_ARM */
				nxp,dvs-run-voltage = <950000>;
				nxp,dvs-standby-voltage = <850000>;
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1000000>;
				regulator-ramp-delay = <3125>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck4: BUCK4 {	/* VDD_3V3 */
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck5: BUCK5 {	/* VDD_1V8 */
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck6: BUCK6 {	/* NVCC_DRAM_1V1 */
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo1: LDO1 {	/* NVCC_SNVS_1V8 */
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo3: LDO3 {	/* VDDA_1V8 */
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo4: LDO4 {	/* PMIC_LDO4 */
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
			};

			ldo5: LDO5 {	/* NVCC_SD2 */
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};
		};
	};

	adc@48 {
		compatible = "ti,ads1015";
		reg = <0x48>;
		interrupts-extended = <&ioexp 7 IRQ_TYPE_EDGE_FALLING>;
		#address-cells = <1>;
		#size-cells = <0>;

		channel@0 {	/* Voltage over AIN0 and AIN1. */
			reg = <0>;
		};

		channel@1 {	/* Voltage over AIN0 and AIN3. */
			reg = <1>;
		};

		channel@2 {	/* Voltage over AIN1 and AIN3. */
			reg = <2>;
		};

		channel@3 {	/* Voltage over AIN2 and AIN3. */
			reg = <3>;
		};

		channel@4 {	/* Voltage over AIN0 and GND. */
			reg = <4>;
		};

		channel@5 {	/* Voltage over AIN1 and GND. */
			reg = <5>;
		};

		channel@6 {	/* Voltage over AIN2 and GND. */
			reg = <6>;
		};

		channel@7 {	/* Voltage over AIN3 and GND. */
			reg = <7>;
		};
	};

	touchscreen@49 {
		compatible = "ti,tsc2004";
		reg = <0x49>;
		interrupts-extended = <&gpio4 0 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touch>;
		vio-supply = <&buck4>;
	};

	eeprom0: eeprom@50 {	/* EEPROM with EQoS MAC address */
		compatible = "atmel,24c32";	/* M24C32-D */
		pagesize = <32>;
		reg = <0x50>;
	};

	rv3032: rtc@51 {
		compatible = "microcrystal,rv3032";
		reg = <0x51>;
		interrupts-extended = <&ioexp 3 IRQ_TYPE_EDGE_FALLING>;
		wakeup-source;
	};

	eeprom1: eeprom@53 {	/* EEPROM with FEC MAC address */
		compatible = "atmel,24c32";	/* M24C32-D */
		pagesize = <32>;
		reg = <0x53>;
	};

	eeprom0wl: eeprom@58 {
		compatible = "atmel,24c32d-wl";	/* M24C32-D WL page of 0x50 */
		pagesize = <32>;
		reg = <0x58>;
	};

	eeprom1wl: eeprom@5b {
		compatible = "atmel,24c32d-wl";	/* M24C32-D WL page of 0x53 */
		pagesize = <32>;
		reg = <0x5b>;
	};

	ioexp: gpio@74 {
		compatible = "nxp,pca9539";
		reg = <0x74>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
		#interrupt-cells = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ioexp>;
		wakeup-source;

		gpio-line-names =
			"BT_REG_EN", "WL_REG_EN", "VIO_SWITCHED_#EN", "RTC_#INT",
			"ENET_QOS_#RST", "RGB_OSZ_ENABLE", "USB1_ID", "ADC_ALTER_RDY",
			"DHCOM-W", "DHCOM-V", "DHCOM-U", "DHCOM-T",
			"BT_HOST_WAKE", "BT_DEV_WAKE", "", "";
	};
};

&i2c4 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c4>;
	pinctrl-1 = <&pinctrl_i2c4_gpio>;
	scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	status = "okay";
};

&i2c5 {	/* HDMI EDID bus */
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c5>;
	pinctrl-1 = <&pinctrl_i2c5_gpio>;
	scl-gpios = <&gpio3 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	sda-gpios = <&gpio3 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	status = "okay";
};

&mipi_dsi {
	samsung,burst-clock-frequency = <160000000>;
	samsung,esc-clock-frequency = <10000000>;

	ports {
		port@1 {
			reg = <1>;

			dsi_out: endpoint {
				data-lanes = <1 2 3 4>;
				remote-endpoint = <&tc_bridge_in>;
			};
		};
	};
};

&pwm1 {
	pinctrl-0 = <&pinctrl_pwm1>;
	pinctrl-names = "default";
	status = "disabled";
};

&uart1 {
	/* CA53 console */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
	wakeup-source;
};

&uart2 {
	/* Bluetooth */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	uart-has-rtscts;
	status = "okay";

	/*
	 * PLL1 at 80 MHz supplies UART2 root with 80 MHz clock,
	 * which with 16x oversampling yields 5 Mbdps baud base,
	 * which can be well divided by 5/4 to achieve 4 Mbdps,
	 * which is exactly the maximum rate supported by muRata
	 * 2AE bluetooth UART.
	 */
	assigned-clocks = <&clk IMX8MP_CLK_UART2>;
	assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
	assigned-clock-rates = <80000000>;

	bluetooth {
		compatible = "cypress,cyw4373a0-bt";
		shutdown-gpios = <&ioexp 0 GPIO_ACTIVE_HIGH>;
		max-speed = <4000000>;
	};
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	uart-has-rtscts;
	status = "okay";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart4>;
	status = "okay";
};

&usb3_phy0 {
	status = "okay";
};

&usb3_0 {
	status = "okay";
};

&usb_dwc3_0 {
	dr_mode = "otg";
	status = "okay";
};

&usb3_phy1 {
	status = "okay";
};

&usb3_1 {
	status = "okay";
};

&usb_dwc3_1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usb1_vbus>;
	dr_mode = "host";
	status = "okay";
};

/* SDIO WiFi */
&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	mmc-pwrseq = <&wlan_pwrseq>;
	vmmc-supply = <&buck4>;
	bus-width = <4>;
	non-removable;
	cap-power-off-card;
	keep-power-in-suspend;
	status = "okay";

	#address-cells = <1>;
	#size-cells = <0>;

	brcmf: bcrmf@1 {	/* muRata 2AE */
		reg = <1>;
		compatible = "cypress,cyw4373-fmac", "brcm,bcm4329-fmac";
		/*
		 * The "host-wake" interrupt output is by default not
		 * connected to the SoC, but can be connected on to
		 * SoC pin on the carrier board.
		 */
	};
};

/* SD slot */
&usdhc2 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
	vmmc-supply = <&reg_usdhc2_vmmc>;
	bus-width = <4>;
	status = "okay";
};

/* eMMC */
&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	vmmc-supply = <&buck4>;
	vqmmc-supply = <&buck5>;
	bus-width = <8>;
	non-removable;
	status = "okay";
};

&wdog1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog>;
	fsl,ext-reset-output;
	status = "okay";
};

&iomuxc {
	pinctrl-0 = <&pinctrl_hog_base
		     &pinctrl_dhcom_a &pinctrl_dhcom_b &pinctrl_dhcom_c
		     &pinctrl_dhcom_d &pinctrl_dhcom_e &pinctrl_dhcom_f
		     &pinctrl_dhcom_g &pinctrl_dhcom_h &pinctrl_dhcom_i
		     &pinctrl_dhcom_j &pinctrl_dhcom_k &pinctrl_dhcom_l
		     &pinctrl_dhcom_m &pinctrl_dhcom_n &pinctrl_dhcom_o
		     &pinctrl_dhcom_p &pinctrl_dhcom_q &pinctrl_dhcom_r
		     &pinctrl_dhcom_s &pinctrl_dhcom_int>;
	pinctrl-names = "default";

	pinctrl_dhcom_a: dhcom-a-grp {
		fsl,pins = <
			/* ENET_QOS_EVENT0-OUT */
			MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09		0x2
		>;
	};

	pinctrl_dhcom_b: dhcom-b-grp {
		fsl,pins = <
			/* ENET_QOS_EVENT0-IN */
			MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08		0x2
		>;
	};

	pinctrl_dhcom_c: dhcom-c-grp {
		fsl,pins = <
			/* GPIO_C */
			MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02		0x2
		>;
	};

	pinctrl_dhcom_d: dhcom-d-grp {
		fsl,pins = <
			/* GPIO_D */
			MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27		0x2
		>;
	};

	pinctrl_dhcom_e: dhcom-e-grp {
		fsl,pins = <
			/* GPIO_E */
			MX8MP_IOMUXC_UART1_RXD__GPIO5_IO22		0x2
		>;
	};

	pinctrl_dhcom_f: dhcom-f-grp {
		fsl,pins = <
			/* GPIO_F */
			MX8MP_IOMUXC_UART1_TXD__GPIO5_IO23		0x2
		>;
	};

	pinctrl_dhcom_g: dhcom-g-grp {
		fsl,pins = <
			/* GPIO_G */
			MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00		0x2
		>;
	};

	pinctrl_dhcom_h: dhcom-h-grp {
		fsl,pins = <
			/* GPIO_H */
			MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11		0x2
		>;
	};

	pinctrl_dhcom_i: dhcom-i-grp {
		fsl,pins = <
			/* CSI1_SYNC */
			MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05		0x2
		>;
	};

	pinctrl_dhcom_j: dhcom-j-grp {
		fsl,pins = <
			/* CSIx_#RST */
			MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06		0x2
		>;
	};

	pinctrl_dhcom_k: dhcom-k-grp {
		fsl,pins = <
			/* CSIx_PWDN */
			MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11		0x2
		>;
	};

	pinctrl_dhcom_l: dhcom-l-grp {
		fsl,pins = <
			/* CSI2_SYNC */
			MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07		0x2
		>;
	};

	pinctrl_dhcom_m: dhcom-m-grp {
		fsl,pins = <
			/* CSIx_MCLK */
			MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05		0x2
		>;
	};

	pinctrl_dhcom_n: dhcom-n-grp {
		fsl,pins = <
			/* CSI2_D3- */
			MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09		0x2
		>;
	};

	pinctrl_dhcom_o: dhcom-o-grp {
		fsl,pins = <
			/* CSI2_D3+ */
			MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08		0x2
		>;
	};

	pinctrl_dhcom_p: dhcom-p-grp {
		fsl,pins = <
			/* CSI2_D2- */
			MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10		0x2
		>;
	};

	pinctrl_dhcom_q: dhcom-q-grp {
		fsl,pins = <
			/* CSI2_D2+ */
			MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13		0x2
		>;
	};

	pinctrl_dhcom_r: dhcom-r-grp {
		fsl,pins = <
			/* CSI2_D1- */
			MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12		0x2
		>;
	};

	pinctrl_dhcom_s: dhcom-s-grp {
		fsl,pins = <
			/* CSI2_D1+ */
			MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10		0x2
		>;
	};

	pinctrl_dhcom_int: dhcom-int-grp {
		fsl,pins = <
			/* INT_HIGHEST_PRIO */
			MX8MP_IOMUXC_SD2_WP__GPIO2_IO20			0x2
		>;
	};

	pinctrl_hog_base: dhcom-hog-base-grp {
		fsl,pins = <
			/* GPIOs for memory coding */
			MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22		0x40000080
			MX8MP_IOMUXC_SAI5_RXD2__GPIO3_IO23		0x40000080
			MX8MP_IOMUXC_SAI5_RXD3__GPIO3_IO24		0x40000080
			/* GPIOs for hardware coding */
			MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14		0x40000080
			MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19		0x40000080
			MX8MP_IOMUXC_SAI5_MCLK__GPIO3_IO25		0x40000080
		>;
	};

	pinctrl_ecspi1: dhcom-ecspi1-grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C1_SCL__ECSPI1_SCLK		0x44
			MX8MP_IOMUXC_I2C1_SDA__ECSPI1_MOSI		0x44
			MX8MP_IOMUXC_I2C2_SCL__ECSPI1_MISO		0x44
			MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17		0x40
		>;
	};

	pinctrl_ecspi2: dhcom-ecspi2-grp {
		fsl,pins = <
			MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK		0x44
			MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI		0x44
			MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO		0x44
			MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13		0x40
		>;
	};

	pinctrl_eqos_rgmii: dhcom-eqos-rgmii-grp {	/* RGMII */
		fsl,pins = <
			MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC		0x3
			MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO		0x3
			MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL	0x1f
			MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x1f
			MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0	0x1f
			MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1	0x1f
			MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2	0x1f
			MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3	0x1f
			MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x91
			MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL	0x91
			MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0	0x91
			MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1	0x91
			MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2	0x91
			MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3	0x91
		>;
	};

	pinctrl_eqos_rmii: dhcom-eqos-rmii-grp {	/* RMII */
		fsl,pins = <
			MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC		0x3
			MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO		0x3
			MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL	0x1f
			MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0	0x1f
			MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1	0x1f
			MX8MP_IOMUXC_ENET_RXC__ENET_QOS_RX_ER		0x1f
			MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL	0x91
			MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0	0x91
			MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1	0x91
			/* Clock */
			MX8MP_IOMUXC_ENET_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK	0x4000001f
		>;
	};

	pinctrl_ethphy0: dhcom-ethphy0-grp {
		fsl,pins = <
			/* ENET_QOS_#INT Interrupt */
			MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19		0x22
		>;
	};

	pinctrl_ethphy1: dhcom-ethphy1-grp {
		fsl,pins = <
			/* ENET1_#RST Reset */
			MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02		0x11
			/* ENET1_#INT Interrupt */
			MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03		0x11
		>;
	};

	pinctrl_fec_rgmii: dhcom-fec-rgmii-grp {	/* RGMII */
		fsl,pins = <
			MX8MP_IOMUXC_SAI1_MCLK__ENET1_TX_CLK		0x1f
			MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x3
			MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x3
			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0		0x91
			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1		0x91
			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2		0x91
			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3		0x91
			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x91
			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x91
			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0		0x1f
			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1		0x1f
			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2		0x1f
			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3		0x1f
			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x1f
			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC		0x1f
			MX8MP_IOMUXC_SAI1_TXD6__ENET1_RX_ER		0x1f
		>;
	};

	pinctrl_fec_rmii: dhcom-fec-rmii-grp {	/* RMII */
		fsl,pins = <
			MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x3
			MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x3
			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0		0x91
			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1		0x91
			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x91
			MX8MP_IOMUXC_SAI1_TXD6__ENET1_RX_ER		0x91
			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0		0x1f
			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1		0x1f
			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x1f
			/* Clock */
			MX8MP_IOMUXC_SAI1_MCLK__ENET1_TX_CLK		0x4000001f
		>;
	};

	pinctrl_flexcan1: dhcom-flexcan1-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SPDIF_RX__CAN1_RX			0x154
			MX8MP_IOMUXC_SPDIF_TX__CAN1_TX			0x154
		>;
	};

	pinctrl_flexcan2: dhcom-flexcan2-grp {
		fsl,pins = <
			MX8MP_IOMUXC_UART3_RXD__CAN2_TX			0x154
			MX8MP_IOMUXC_UART3_TXD__CAN2_RX			0x154
		>;
	};

	pinctrl_flexspi: dhcom-flexspi-grp {
		fsl,pins = <
			MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK		0x1c2
			MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B	0x82
			MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00	0x82
			MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01	0x82
			MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02	0x82
			MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03	0x82
		>;
	};

	pinctrl_hdmi: dhcom-hdmi-grp {
		fsl,pins = <
			MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC		0x154
			MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD		0x154
		>;
	};

	pinctrl_i2c3: dhcom-i2c3-grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL			0x40000084
			MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA			0x40000084
		>;
	};

	pinctrl_i2c3_gpio: dhcom-i2c3-gpio-grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18		0x84
			MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19		0x84
		>;
	};

	pinctrl_i2c4: dhcom-i2c4-grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL			0x40000084
			MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA			0x40000084
		>;
	};

	pinctrl_i2c4_gpio: dhcom-i2c4-gpio-grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20		0x84
			MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21		0x84
		>;
	};

	pinctrl_i2c5: dhcom-i2c5-grp {
		fsl,pins = <
			MX8MP_IOMUXC_HDMI_DDC_SCL__I2C5_SCL		0x40000084
			MX8MP_IOMUXC_HDMI_DDC_SDA__I2C5_SDA		0x40000084
		>;
	};

	pinctrl_i2c5_gpio: dhcom-i2c5-gpio-grp {
		fsl,pins = <
			MX8MP_IOMUXC_HDMI_DDC_SCL__GPIO3_IO26		0x84
			MX8MP_IOMUXC_HDMI_DDC_SDA__GPIO3_IO27		0x84
		>;
	};

	pinctrl_ioexp: dhcom-ioexp-grp {
		fsl,pins = <
			/* #GPIO_EXP_INT */
			MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20		0x22
		>;
	};

	pinctrl_pmic: dhcom-pmic-grp {
		fsl,pins = <
			/* PMIC_nINT */
			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x40000090
		>;
	};

	pinctrl_pwm1: dhcom-pwm1-grp {
		fsl,pins = <
			MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT		0x6
		>;
	};

	pinctrl_tc9595: dhcom-tc9595-grp {
		fsl,pins = <
			/* RESET_DSIBRIDGE */
			MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01		0x40000146
			/* DSI-CONV_INT Interrupt */
			MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21		0x141
		>;
	};

	pinctrl_sai3: dhcom-sai3-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC	0xd6
			MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK	0xd6
			MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00	0xd6
			MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00	0xd6
		>;
	};

	pinctrl_touch: dhcom-touch-grp {
		fsl,pins = <
			/* #TOUCH_INT */
			MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00		0x40000080
		>;
	};

	pinctrl_uart1: dhcom-uart1-grp {
		fsl,pins = <
			/* Console UART */
			MX8MP_IOMUXC_SAI2_RXC__UART1_DCE_RX		0x49
			MX8MP_IOMUXC_SAI2_RXFS__UART1_DCE_TX		0x49
			MX8MP_IOMUXC_SAI2_RXD0__UART1_DCE_RTS		0x49
			MX8MP_IOMUXC_SAI2_TXFS__UART1_DCE_CTS		0x49
		>;
	};

	pinctrl_uart2: dhcom-uart2-grp {
		fsl,pins = <
			/* Bluetooth UART */
			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX		0x49
			MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX		0x49
			MX8MP_IOMUXC_SD1_DATA4__UART2_DCE_RTS		0x49
			MX8MP_IOMUXC_SD1_DATA5__UART2_DCE_CTS		0x49
		>;
	};

	pinctrl_uart3: dhcom-uart3-grp {
		fsl,pins = <
			MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX		0x49
			MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX		0x49
			MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS		0x49
			MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS		0x49
		>;
	};

	pinctrl_uart4: dhcom-uart4-grp {
		fsl,pins = <
			MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX		0x49
			MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX		0x49
		>;
	};

	pinctrl_usb1_vbus: dhcom-usb1-grp {
		fsl,pins = <
			MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR		0x6
			MX8MP_IOMUXC_GPIO1_IO15__USB2_OTG_OC		0x80
		>;
	};

	pinctrl_usdhc1: dhcom-usdhc1-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x190
			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d0
			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d0
			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d0
			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d0
			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d0
		>;
	};

	pinctrl_usdhc1_100mhz: dhcom-usdhc1-100mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x194
			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d4
			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d4
			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d4
			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d4
			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d4
		>;
	};

	pinctrl_usdhc1_200mhz: dhcom-usdhc1-200mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK		0x196
			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD		0x1d6
			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0		0x1d6
			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1		0x1d6
			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2		0x1d6
			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3		0x1d6
		>;
	};

	pinctrl_usdhc2: dhcom-usdhc2-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x190
			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d0
			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d0
			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d0
			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d0
			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d0
			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT		0xc1
		>;
	};

	pinctrl_usdhc2_100mhz: dhcom-usdhc2-100mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x194
			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d4
			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d4
			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d4
			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d4
			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d4
			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT		0xc1
		>;
	};

	pinctrl_usdhc2_200mhz: dhcom-usdhc2-200mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK		0x196
			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD		0x1d6
			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0		0x1d6
			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1		0x1d6
			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2		0x1d6
			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3		0x1d6
			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT		0xc1
		>;
	};

	pinctrl_usdhc2_vmmc: dhcom-usdhc2-vmmc-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19		0x20
		>;
	};

	pinctrl_usdhc2_gpio: dhcom-usdhc2-gpio-grp {
		fsl,pins = <
			MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12		0x40000080
		>;
	};

	pinctrl_usdhc3: dhcom-usdhc3-grp {
		fsl,pins = <
			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x190
			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d0
			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d0
			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d0
			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d0
			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d0
			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d0
			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d0
			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d0
			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d0
			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x190
			MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x141
		>;
	};

	pinctrl_usdhc3_100mhz: dhcom-usdhc3-100mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194
			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4
			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d4
			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d4
			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d4
			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d4
			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d4
			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d4
			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d4
			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4
			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x194
			MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x141
		>;
	};

	pinctrl_usdhc3_200mhz: dhcom-usdhc3-200mhz-grp {
		fsl,pins = <
			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x196
			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d6
			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d6
			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d6
			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d6
			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d6
			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d6
			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d6
			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d6
			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d6
			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x196
			MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x141
		>;
	};

	pinctrl_wdog: dhcom-wdog-grp {
		fsl,pins = <
			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B		0xc6
		>;
	};
};
