/*
 * Copyright (c) 2021, NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <nxp/nxp_rt11xx.dtsi>

/ {
	cpus {
		/delete-node/ cpu@1;
	};
	/*
	 * ITCM & DTCM are available only to the M7 core. EDMA interrupts are connected
	 * to the M7 core alone, hence this EDMA controller has been designated M7 only.
	 * GPIO 6 is available to both M4 and M7 cores, however the GPIO interrupt is
	 * only accessible to the M7.
	 *
	 * Refer to Chapter 3 of the Reference Manual
	 */
	soc {
		/delete-node/ dma-controller@40c14000;

		flexram: flexram@40028000 {
			reg = <0x40028000 0x4000>;
			interrupts = <50 0>;

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

			itcm: itcm@0 {
				compatible = "zephyr,memory-region", "nxp,imx-itcm";
				reg = <0x00000000 DT_SIZE_K(256)>;
				zephyr,memory-region = "ITCM";
			};

			dtcm: dtcm@20000000 {
				compatible = "zephyr,memory-region", "nxp,imx-dtcm";
				reg = <0x20000000 DT_SIZE_K(256)>;
				zephyr,memory-region = "DTCM";
			};
		};

		/*
		 * M7 uses different addresses from the M4 core for GPIO2 and
		 * GPIO3, see pg. 1460 of RT1170 ref manual for example
		 */
		gpio2: gpio@40130000 {
			compatible = "nxp,imx-gpio";
			reg = <0x40130000 0x4000>;
			interrupts = <102 0>, <103 0>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio3: gpio@40134000 {
			compatible = "nxp,imx-gpio";
			reg = <0x40134000 0x4000>;
			interrupts = <104 0>, <105 0>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		fgpio2: gpio@42008000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42008000 0x4000>;
			interrupts = <99 0>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		fgpio3: gpio@4200c000 {
			compatible = "nxp,imx-gpio";
			reg = <0x4200c000 0x4000>;
			gpio-controller;
			#gpio-cells = <2>;
		};
	};
};


&sai1 {
	dmas = <&edma0 0 54>, <&edma0 0 55>;
	dma-names = "rx", "tx";
	nxp,tx-dma-channel = <0>;
	nxp,rx-dma-channel = <1>;
};

&sai2 {
	dmas = <&edma0 0 56>, <&edma0 0 57>;
	dma-names = "rx", "tx";
	nxp,tx-dma-channel = <3>;
	nxp,rx-dma-channel = <4>;
};

&sai3 {
	dmas = <&edma0 0 58>, <&edma0 0 59>;
	dma-names = "rx", "tx";
	nxp,tx-dma-channel = <5>;
	nxp,rx-dma-channel = <6>;
};

&sai4 {
	dmas = <&edma0 0 60>, <&edma0 0 61>;
	dma-names = "rx", "tx";
	nxp,tx-dma-channel = <7>;
	nxp,rx-dma-channel = <8>;
};

&lpuart1 {
	dmas = <&edma0 1 8>, <&edma0 2 9>;
	dma-names = "tx", "rx";
};

&lpuart2 {
	dmas = <&edma0 3 10>, <&edma0 4 11>;
	dma-names = "tx", "rx";
};

&lpuart3 {
	dmas = <&edma0 5 12>, <&edma0 6 13>;
	dma-names = "tx", "rx";
};

&lpuart4 {
	dmas = <&edma0 7 14>, <&edma0 8 15>;
	dma-names = "tx", "rx";
};

&lpuart5 {
	dmas = <&edma0 9 16>, <&edma0 10 17>;
	dma-names = "tx", "rx";
};

&lpuart6 {
	dmas = <&edma0 11 18>, <&edma0 12 19>;
	dma-names = "tx", "rx";
};

&lpuart7 {
	dmas = <&edma0 13 20>, <&edma0 14 21>;
	dma-names = "tx", "rx";
};

&lpuart8 {
	dmas = <&edma0 15 22>, <&edma0 16 23>;
	dma-names = "tx", "rx";
};

&lpuart9 {
	dmas = <&edma0 17 24>, <&edma0 18 25>;
	dma-names = "tx", "rx";
};

&lpuart10 {
	dmas = <&edma0 19 26>, <&edma0 20 27>;
	dma-names = "tx", "rx";
};

&lpuart11 {
	dmas = <&edma0 21 28>, <&edma0 22 29>;
	dma-names = "tx", "rx";
};

&lpuart12 {
	dmas = <&edma0 23 30>, <&edma0 24 31>;
	dma-names = "tx", "rx";
};


&gpio1 {
	interrupts = <100 0>, <101 0>;
};

&gpio4 {
	interrupts = <106 0>, <107 0>;
};

&gpio5 {
	interrupts = <108 0>, <109 0>;
};

&gpio6 {
	interrupts = <61 0>, <62 0>;
};

&gpio13 {
	interrupts = <93 0>;
};

/* Set default power states for CM7 cpu */
&cpu0 {
	cpu-power-states = <&idle &suspend>;
};


/*
 * GPIO pinmux options. These options define the pinmux settings
 * for GPIO ports on the package, so that the GPIO driver can
 * select GPIO mux options during GPIO configuration.
 */

&gpio1{
	pinmux = <&iomuxc_gpio_emc_b1_00_gpio_mux1_io00>,
		<&iomuxc_gpio_emc_b1_01_gpio_mux1_io01>,
		<&iomuxc_gpio_emc_b1_02_gpio_mux1_io02>,
		<&iomuxc_gpio_emc_b1_03_gpio_mux1_io03>,
		<&iomuxc_gpio_emc_b1_04_gpio_mux1_io04>,
		<&iomuxc_gpio_emc_b1_05_gpio_mux1_io05>,
		<&iomuxc_gpio_emc_b1_06_gpio_mux1_io06>,
		<&iomuxc_gpio_emc_b1_07_gpio_mux1_io07>,
		<&iomuxc_gpio_emc_b1_08_gpio_mux1_io08>,
		<&iomuxc_gpio_emc_b1_09_gpio_mux1_io09>,
		<&iomuxc_gpio_emc_b1_10_gpio_mux1_io10>,
		<&iomuxc_gpio_emc_b1_11_gpio_mux1_io11>,
		<&iomuxc_gpio_emc_b1_12_gpio_mux1_io12>,
		<&iomuxc_gpio_emc_b1_13_gpio_mux1_io13>,
		<&iomuxc_gpio_emc_b1_14_gpio_mux1_io14>,
		<&iomuxc_gpio_emc_b1_15_gpio_mux1_io15>,
		<&iomuxc_gpio_emc_b1_16_gpio_mux1_io16>,
		<&iomuxc_gpio_emc_b1_17_gpio_mux1_io17>,
		<&iomuxc_gpio_emc_b1_18_gpio_mux1_io18>,
		<&iomuxc_gpio_emc_b1_19_gpio_mux1_io19>,
		<&iomuxc_gpio_emc_b1_20_gpio_mux1_io20>,
		<&iomuxc_gpio_emc_b1_21_gpio_mux1_io21>,
		<&iomuxc_gpio_emc_b1_22_gpio_mux1_io22>,
		<&iomuxc_gpio_emc_b1_23_gpio_mux1_io23>,
		<&iomuxc_gpio_emc_b1_24_gpio_mux1_io24>,
		<&iomuxc_gpio_emc_b1_25_gpio_mux1_io25>,
		<&iomuxc_gpio_emc_b1_26_gpio_mux1_io26>,
		<&iomuxc_gpio_emc_b1_27_gpio_mux1_io27>,
		<&iomuxc_gpio_emc_b1_28_gpio_mux1_io28>,
		<&iomuxc_gpio_emc_b1_29_gpio_mux1_io29>,
		<&iomuxc_gpio_emc_b1_30_gpio_mux1_io30>,
		<&iomuxc_gpio_emc_b1_31_gpio_mux1_io31>;
};

&gpio10{
	pinmux = <&iomuxc_gpio_ad_33_gpio10_io00>,
		<&iomuxc_gpio_ad_34_gpio10_io01>,
		<&iomuxc_gpio_ad_35_gpio10_io02>,
		<&iomuxc_gpio_sd_b1_00_gpio10_io03>,
		<&iomuxc_gpio_sd_b1_01_gpio10_io04>,
		<&iomuxc_gpio_sd_b1_02_gpio10_io05>,
		<&iomuxc_gpio_sd_b1_03_gpio10_io06>,
		<&iomuxc_gpio_sd_b1_04_gpio10_io07>,
		<&iomuxc_gpio_sd_b1_05_gpio10_io08>,
		<&iomuxc_gpio_sd_b2_00_gpio10_io09>,
		<&iomuxc_gpio_sd_b2_01_gpio10_io10>,
		<&iomuxc_gpio_sd_b2_02_gpio10_io11>,
		<&iomuxc_gpio_sd_b2_03_gpio10_io12>,
		<&iomuxc_gpio_sd_b2_04_gpio10_io13>,
		<&iomuxc_gpio_sd_b2_05_gpio10_io14>,
		<&iomuxc_gpio_sd_b2_06_gpio10_io15>,
		<&iomuxc_gpio_sd_b2_07_gpio10_io16>,
		<&iomuxc_gpio_sd_b2_08_gpio10_io17>,
		<&iomuxc_gpio_sd_b2_09_gpio10_io18>,
		<&iomuxc_gpio_sd_b2_10_gpio10_io19>,
		<&iomuxc_gpio_sd_b2_11_gpio10_io20>,
		<&iomuxc_gpio_disp_b1_00_gpio10_io21>,
		<&iomuxc_gpio_disp_b1_01_gpio10_io22>,
		<&iomuxc_gpio_disp_b1_02_gpio10_io23>,
		<&iomuxc_gpio_disp_b1_03_gpio10_io24>,
		<&iomuxc_gpio_disp_b1_04_gpio10_io25>,
		<&iomuxc_gpio_disp_b1_05_gpio10_io26>,
		<&iomuxc_gpio_disp_b1_06_gpio10_io27>,
		<&iomuxc_gpio_disp_b1_07_gpio10_io28>,
		<&iomuxc_gpio_disp_b1_08_gpio10_io29>,
		<&iomuxc_gpio_disp_b1_09_gpio10_io30>,
		<&iomuxc_gpio_disp_b1_10_gpio10_io31>;
};

&gpio11{
	pinmux = <&iomuxc_gpio_disp_b1_11_gpio11_io00>,
		<&iomuxc_gpio_disp_b2_00_gpio11_io01>,
		<&iomuxc_gpio_disp_b2_01_gpio11_io02>,
		<&iomuxc_gpio_disp_b2_02_gpio11_io03>,
		<&iomuxc_gpio_disp_b2_03_gpio11_io04>,
		<&iomuxc_gpio_disp_b2_04_gpio11_io05>,
		<&iomuxc_gpio_disp_b2_05_gpio11_io06>,
		<&iomuxc_gpio_disp_b2_06_gpio11_io07>,
		<&iomuxc_gpio_disp_b2_07_gpio11_io08>,
		<&iomuxc_gpio_disp_b2_08_gpio11_io09>,
		<&iomuxc_gpio_disp_b2_09_gpio11_io10>,
		<&iomuxc_gpio_disp_b2_10_gpio11_io11>,
		<&iomuxc_gpio_disp_b2_11_gpio11_io12>,
		<&iomuxc_gpio_disp_b2_12_gpio11_io13>,
		<&iomuxc_gpio_disp_b2_13_gpio11_io14>,
		<&iomuxc_gpio_disp_b2_14_gpio11_io15>,
		<&iomuxc_gpio_disp_b2_15_gpio11_io16>;
};

&gpio12{
	pinmux = <&iomuxc_lpsr_gpio_lpsr_00_gpio12_io00>,
		<&iomuxc_lpsr_gpio_lpsr_01_gpio12_io01>,
		<&iomuxc_lpsr_gpio_lpsr_02_gpio12_io02>,
		<&iomuxc_lpsr_gpio_lpsr_03_gpio12_io03>,
		<&iomuxc_lpsr_gpio_lpsr_04_gpio12_io04>,
		<&iomuxc_lpsr_gpio_lpsr_05_gpio12_io05>,
		<&iomuxc_lpsr_gpio_lpsr_06_gpio12_io06>,
		<&iomuxc_lpsr_gpio_lpsr_07_gpio12_io07>,
		<&iomuxc_lpsr_gpio_lpsr_08_gpio12_io08>,
		<&iomuxc_lpsr_gpio_lpsr_09_gpio12_io09>,
		<&iomuxc_lpsr_gpio_lpsr_10_gpio12_io10>,
		<&iomuxc_lpsr_gpio_lpsr_11_gpio12_io11>,
		<&iomuxc_lpsr_gpio_lpsr_12_gpio12_io12>,
		<&iomuxc_lpsr_gpio_lpsr_13_gpio12_io13>,
		<&iomuxc_lpsr_gpio_lpsr_14_gpio12_io14>,
		<&iomuxc_lpsr_gpio_lpsr_15_gpio12_io15>;
};

&gpio13{
	pinmux = <&iomuxc_snvs_wakeup_gpio13_io00>,
		<&iomuxc_snvs_pmic_on_req_gpio13_io01>,
		<&iomuxc_snvs_pmic_stby_req_gpio13_io02>,
		<&iomuxc_snvs_gpio_snvs_00_gpio13_io03>,
		<&iomuxc_snvs_gpio_snvs_01_gpio13_io04>,
		<&iomuxc_snvs_gpio_snvs_02_gpio13_io05>,
		<&iomuxc_snvs_gpio_snvs_03_gpio13_io06>,
		<&iomuxc_snvs_gpio_snvs_04_gpio13_io07>,
		<&iomuxc_snvs_gpio_snvs_05_gpio13_io08>,
		<&iomuxc_snvs_gpio_snvs_06_gpio13_io09>,
		<&iomuxc_snvs_gpio_snvs_07_gpio13_io10>,
		<&iomuxc_snvs_gpio_snvs_08_gpio13_io11>,
		<&iomuxc_snvs_gpio_snvs_09_gpio13_io12>;
};

&gpio2{
	pinmux = <&iomuxc_gpio_emc_b1_32_gpio_mux2_io00>,
		<&iomuxc_gpio_emc_b1_33_gpio_mux2_io01>,
		<&iomuxc_gpio_emc_b1_34_gpio_mux2_io02>,
		<&iomuxc_gpio_emc_b1_35_gpio_mux2_io03>,
		<&iomuxc_gpio_emc_b1_36_gpio_mux2_io04>,
		<&iomuxc_gpio_emc_b1_37_gpio_mux2_io05>,
		<&iomuxc_gpio_emc_b1_38_gpio_mux2_io06>,
		<&iomuxc_gpio_emc_b1_39_gpio_mux2_io07>,
		<&iomuxc_gpio_emc_b1_40_gpio_mux2_io08>,
		<&iomuxc_gpio_emc_b1_41_gpio_mux2_io09>,
		<&iomuxc_gpio_emc_b2_00_gpio_mux2_io10>,
		<&iomuxc_gpio_emc_b2_01_gpio_mux2_io11>,
		<&iomuxc_gpio_emc_b2_02_gpio_mux2_io12>,
		<&iomuxc_gpio_emc_b2_03_gpio_mux2_io13>,
		<&iomuxc_gpio_emc_b2_04_gpio_mux2_io14>,
		<&iomuxc_gpio_emc_b2_05_gpio_mux2_io15>,
		<&iomuxc_gpio_emc_b2_06_gpio_mux2_io16>,
		<&iomuxc_gpio_emc_b2_07_gpio_mux2_io17>,
		<&iomuxc_gpio_emc_b2_08_gpio_mux2_io18>,
		<&iomuxc_gpio_emc_b2_09_gpio_mux2_io19>,
		<&iomuxc_gpio_emc_b2_10_gpio_mux2_io20>,
		<&iomuxc_gpio_emc_b2_11_gpio_mux2_io21>,
		<&iomuxc_gpio_emc_b2_12_gpio_mux2_io22>,
		<&iomuxc_gpio_emc_b2_13_gpio_mux2_io23>,
		<&iomuxc_gpio_emc_b2_14_gpio_mux2_io24>,
		<&iomuxc_gpio_emc_b2_15_gpio_mux2_io25>,
		<&iomuxc_gpio_emc_b2_16_gpio_mux2_io26>,
		<&iomuxc_gpio_emc_b2_17_gpio_mux2_io27>,
		<&iomuxc_gpio_emc_b2_18_gpio_mux2_io28>,
		<&iomuxc_gpio_emc_b2_19_gpio_mux2_io29>,
		<&iomuxc_gpio_emc_b2_20_gpio_mux2_io30>,
		<&iomuxc_gpio_ad_00_gpio_mux2_io31>;
};

&gpio3{
	pinmux = <&iomuxc_gpio_ad_01_gpio_mux3_io00>,
		<&iomuxc_gpio_ad_02_gpio_mux3_io01>,
		<&iomuxc_gpio_ad_03_gpio_mux3_io02>,
		<&iomuxc_gpio_ad_04_gpio_mux3_io03>,
		<&iomuxc_gpio_ad_05_gpio_mux3_io04>,
		<&iomuxc_gpio_ad_06_gpio_mux3_io05>,
		<&iomuxc_gpio_ad_07_gpio_mux3_io06>,
		<&iomuxc_gpio_ad_08_gpio_mux3_io07>,
		<&iomuxc_gpio_ad_09_gpio_mux3_io08>,
		<&iomuxc_gpio_ad_10_gpio_mux3_io09>,
		<&iomuxc_gpio_ad_11_gpio_mux3_io10>,
		<&iomuxc_gpio_ad_12_gpio_mux3_io11>,
		<&iomuxc_gpio_ad_13_gpio_mux3_io12>,
		<&iomuxc_gpio_ad_14_gpio_mux3_io13>,
		<&iomuxc_gpio_ad_15_gpio_mux3_io14>,
		<&iomuxc_gpio_ad_16_gpio_mux3_io15>,
		<&iomuxc_gpio_ad_17_gpio_mux3_io16>,
		<&iomuxc_gpio_ad_18_gpio_mux3_io17>,
		<&iomuxc_gpio_ad_19_gpio_mux3_io18>,
		<&iomuxc_gpio_ad_20_gpio_mux3_io19>,
		<&iomuxc_gpio_ad_21_gpio_mux3_io20>,
		<&iomuxc_gpio_ad_22_gpio_mux3_io21>,
		<&iomuxc_gpio_ad_23_gpio_mux3_io22>,
		<&iomuxc_gpio_ad_24_gpio_mux3_io23>,
		<&iomuxc_gpio_ad_25_gpio_mux3_io24>,
		<&iomuxc_gpio_ad_26_gpio_mux3_io25>,
		<&iomuxc_gpio_ad_27_gpio_mux3_io26>,
		<&iomuxc_gpio_ad_28_gpio_mux3_io27>,
		<&iomuxc_gpio_ad_29_gpio_mux3_io28>,
		<&iomuxc_gpio_ad_30_gpio_mux3_io29>,
		<&iomuxc_gpio_ad_31_gpio_mux3_io30>,
		<&iomuxc_gpio_ad_32_gpio_mux3_io31>;
};

&fgpio2{
	pinmux = <&iomuxc_gpio_emc_b1_32_gpio_mux2_io00_cm7>,
		<&iomuxc_gpio_emc_b1_33_gpio_mux2_io01_cm7>,
		<&iomuxc_gpio_emc_b1_34_gpio_mux2_io02_cm7>,
		<&iomuxc_gpio_emc_b1_35_gpio_mux2_io03_cm7>,
		<&iomuxc_gpio_emc_b1_36_gpio_mux2_io04_cm7>,
		<&iomuxc_gpio_emc_b1_37_gpio_mux2_io05_cm7>,
		<&iomuxc_gpio_emc_b1_38_gpio_mux2_io06_cm7>,
		<&iomuxc_gpio_emc_b1_39_gpio_mux2_io07_cm7>,
		<&iomuxc_gpio_emc_b1_40_gpio_mux2_io08_cm7>,
		<&iomuxc_gpio_emc_b1_41_gpio_mux2_io09_cm7>,
		<&iomuxc_gpio_emc_b2_00_gpio_mux2_io10_cm7>,
		<&iomuxc_gpio_emc_b2_01_gpio_mux2_io11_cm7>,
		<&iomuxc_gpio_emc_b2_02_gpio_mux2_io12_cm7>,
		<&iomuxc_gpio_emc_b2_03_gpio_mux2_io13_cm7>,
		<&iomuxc_gpio_emc_b2_04_gpio_mux2_io14_cm7>,
		<&iomuxc_gpio_emc_b2_05_gpio_mux2_io15_cm7>,
		<&iomuxc_gpio_emc_b2_06_gpio_mux2_io16_cm7>,
		<&iomuxc_gpio_emc_b2_07_gpio_mux2_io17_cm7>,
		<&iomuxc_gpio_emc_b2_08_gpio_mux2_io18_cm7>,
		<&iomuxc_gpio_emc_b2_09_gpio_mux2_io19_cm7>,
		<&iomuxc_gpio_emc_b2_10_gpio_mux2_io20_cm7>,
		<&iomuxc_gpio_emc_b2_11_gpio_mux2_io21_cm7>,
		<&iomuxc_gpio_emc_b2_12_gpio_mux2_io22_cm7>,
		<&iomuxc_gpio_emc_b2_13_gpio_mux2_io23_cm7>,
		<&iomuxc_gpio_emc_b2_14_gpio_mux2_io24_cm7>,
		<&iomuxc_gpio_emc_b2_15_gpio_mux2_io25_cm7>,
		<&iomuxc_gpio_emc_b2_16_gpio_mux2_io26_cm7>,
		<&iomuxc_gpio_emc_b2_17_gpio_mux2_io27_cm7>,
		<&iomuxc_gpio_emc_b2_18_gpio_mux2_io28_cm7>,
		<&iomuxc_gpio_emc_b2_19_gpio_mux2_io29_cm7>,
		<&iomuxc_gpio_emc_b2_20_gpio_mux2_io30_cm7>,
		<&iomuxc_gpio_ad_00_gpio_mux2_io31_cm7>;
};

&fgpio3{
	pinmux = <&iomuxc_gpio_ad_01_gpio_mux3_io00_cm7>,
		<&iomuxc_gpio_ad_02_gpio_mux3_io01_cm7>,
		<&iomuxc_gpio_ad_03_gpio_mux3_io02_cm7>,
		<&iomuxc_gpio_ad_04_gpio_mux3_io03_cm7>,
		<&iomuxc_gpio_ad_05_gpio_mux3_io04_cm7>,
		<&iomuxc_gpio_ad_06_gpio_mux3_io05_cm7>,
		<&iomuxc_gpio_ad_07_gpio_mux3_io06_cm7>,
		<&iomuxc_gpio_ad_08_gpio_mux3_io07_cm7>,
		<&iomuxc_gpio_ad_09_gpio_mux3_io08_cm7>,
		<&iomuxc_gpio_ad_10_gpio_mux3_io09_cm7>,
		<&iomuxc_gpio_ad_11_gpio_mux3_io10_cm7>,
		<&iomuxc_gpio_ad_12_gpio_mux3_io11_cm7>,
		<&iomuxc_gpio_ad_13_gpio_mux3_io12_cm7>,
		<&iomuxc_gpio_ad_14_gpio_mux3_io13_cm7>,
		<&iomuxc_gpio_ad_15_gpio_mux3_io14_cm7>,
		<&iomuxc_gpio_ad_16_gpio_mux3_io15_cm7>,
		<&iomuxc_gpio_ad_17_gpio_mux3_io16_cm7>,
		<&iomuxc_gpio_ad_18_gpio_mux3_io17_cm7>,
		<&iomuxc_gpio_ad_19_gpio_mux3_io18_cm7>,
		<&iomuxc_gpio_ad_20_gpio_mux3_io19_cm7>,
		<&iomuxc_gpio_ad_21_gpio_mux3_io20_cm7>,
		<&iomuxc_gpio_ad_22_gpio_mux3_io21_cm7>,
		<&iomuxc_gpio_ad_23_gpio_mux3_io22_cm7>,
		<&iomuxc_gpio_ad_24_gpio_mux3_io23_cm7>,
		<&iomuxc_gpio_ad_25_gpio_mux3_io24_cm7>,
		<&iomuxc_gpio_ad_26_gpio_mux3_io25_cm7>,
		<&iomuxc_gpio_ad_27_gpio_mux3_io26_cm7>,
		<&iomuxc_gpio_ad_28_gpio_mux3_io27_cm7>,
		<&iomuxc_gpio_ad_29_gpio_mux3_io28_cm7>,
		<&iomuxc_gpio_ad_30_gpio_mux3_io29_cm7>,
		<&iomuxc_gpio_ad_31_gpio_mux3_io30_cm7>,
		<&iomuxc_gpio_ad_32_gpio_mux3_io31_cm7>;
};

&gpio4{
	pinmux = <&iomuxc_gpio_ad_33_gpio_mux4_io00>,
		<&iomuxc_gpio_ad_34_gpio_mux4_io01>,
		<&iomuxc_gpio_ad_35_gpio_mux4_io02>,
		<&iomuxc_gpio_sd_b1_00_gpio_mux4_io03>,
		<&iomuxc_gpio_sd_b1_01_gpio_mux4_io04>,
		<&iomuxc_gpio_sd_b1_02_gpio_mux4_io05>,
		<&iomuxc_gpio_sd_b1_03_gpio_mux4_io06>,
		<&iomuxc_gpio_sd_b1_04_gpio_mux4_io07>,
		<&iomuxc_gpio_sd_b1_05_gpio_mux4_io08>,
		<&iomuxc_gpio_sd_b2_00_gpio_mux4_io09>,
		<&iomuxc_gpio_sd_b2_01_gpio_mux4_io10>,
		<&iomuxc_gpio_sd_b2_02_gpio_mux4_io11>,
		<&iomuxc_gpio_sd_b2_03_gpio_mux4_io12>,
		<&iomuxc_gpio_sd_b2_04_gpio_mux4_io13>,
		<&iomuxc_gpio_sd_b2_05_gpio_mux4_io14>,
		<&iomuxc_gpio_sd_b2_06_gpio_mux4_io15>,
		<&iomuxc_gpio_sd_b2_07_gpio_mux4_io16>,
		<&iomuxc_gpio_sd_b2_08_gpio_mux4_io17>,
		<&iomuxc_gpio_sd_b2_09_gpio_mux4_io18>,
		<&iomuxc_gpio_sd_b2_10_gpio_mux4_io19>,
		<&iomuxc_gpio_sd_b2_11_gpio_mux4_io20>,
		<&iomuxc_gpio_disp_b1_00_gpio_mux4_io21>,
		<&iomuxc_gpio_disp_b1_01_gpio_mux4_io22>,
		<&iomuxc_gpio_disp_b1_02_gpio_mux4_io23>,
		<&iomuxc_gpio_disp_b1_03_gpio_mux4_io24>,
		<&iomuxc_gpio_disp_b1_04_gpio_mux4_io25>,
		<&iomuxc_gpio_disp_b1_05_gpio_mux4_io26>,
		<&iomuxc_gpio_disp_b1_06_gpio_mux4_io27>,
		<&iomuxc_gpio_disp_b1_07_gpio_mux4_io28>,
		<&iomuxc_gpio_disp_b1_08_gpio_mux4_io29>,
		<&iomuxc_gpio_disp_b1_09_gpio_mux4_io30>,
		<&iomuxc_gpio_disp_b1_10_gpio_mux4_io31>;
};

&gpio5{
	pinmux = <&iomuxc_gpio_disp_b1_11_gpio_mux5_io00>,
		<&iomuxc_gpio_disp_b2_00_gpio_mux5_io01>,
		<&iomuxc_gpio_disp_b2_01_gpio_mux5_io02>,
		<&iomuxc_gpio_disp_b2_02_gpio_mux5_io03>,
		<&iomuxc_gpio_disp_b2_03_gpio_mux5_io04>,
		<&iomuxc_gpio_disp_b2_04_gpio_mux5_io05>,
		<&iomuxc_gpio_disp_b2_05_gpio_mux5_io06>,
		<&iomuxc_gpio_disp_b2_06_gpio_mux5_io07>,
		<&iomuxc_gpio_disp_b2_07_gpio_mux5_io08>,
		<&iomuxc_gpio_disp_b2_08_gpio_mux5_io09>,
		<&iomuxc_gpio_disp_b2_09_gpio_mux5_io10>,
		<&iomuxc_gpio_disp_b2_10_gpio_mux5_io11>,
		<&iomuxc_gpio_disp_b2_11_gpio_mux5_io12>,
		<&iomuxc_gpio_disp_b2_12_gpio_mux5_io13>,
		<&iomuxc_gpio_disp_b2_13_gpio_mux5_io14>,
		<&iomuxc_gpio_disp_b2_14_gpio_mux5_io15>,
		<&iomuxc_gpio_disp_b2_15_gpio_mux5_io16>;
};

&gpio6{
	pinmux = <&iomuxc_lpsr_gpio_lpsr_00_gpio_mux6_io00>,
		<&iomuxc_lpsr_gpio_lpsr_01_gpio_mux6_io01>,
		<&iomuxc_lpsr_gpio_lpsr_02_gpio_mux6_io02>,
		<&iomuxc_lpsr_gpio_lpsr_03_gpio_mux6_io03>,
		<&iomuxc_lpsr_gpio_lpsr_04_gpio_mux6_io04>,
		<&iomuxc_lpsr_gpio_lpsr_05_gpio_mux6_io05>,
		<&iomuxc_lpsr_gpio_lpsr_06_gpio_mux6_io06>,
		<&iomuxc_lpsr_gpio_lpsr_07_gpio_mux6_io07>,
		<&iomuxc_lpsr_gpio_lpsr_08_gpio_mux6_io08>,
		<&iomuxc_lpsr_gpio_lpsr_09_gpio_mux6_io09>,
		<&iomuxc_lpsr_gpio_lpsr_10_gpio_mux6_io10>,
		<&iomuxc_lpsr_gpio_lpsr_11_gpio_mux6_io11>,
		<&iomuxc_lpsr_gpio_lpsr_12_gpio_mux6_io12>,
		<&iomuxc_lpsr_gpio_lpsr_13_gpio_mux6_io13>,
		<&iomuxc_lpsr_gpio_lpsr_14_gpio_mux6_io14>,
		<&iomuxc_lpsr_gpio_lpsr_15_gpio_mux6_io15>;
};

&gpio7{
	pinmux = <&iomuxc_gpio_emc_b1_00_gpio7_io00>,
		<&iomuxc_gpio_emc_b1_01_gpio7_io01>,
		<&iomuxc_gpio_emc_b1_02_gpio7_io02>,
		<&iomuxc_gpio_emc_b1_03_gpio7_io03>,
		<&iomuxc_gpio_emc_b1_04_gpio7_io04>,
		<&iomuxc_gpio_emc_b1_05_gpio7_io05>,
		<&iomuxc_gpio_emc_b1_06_gpio7_io06>,
		<&iomuxc_gpio_emc_b1_07_gpio7_io07>,
		<&iomuxc_gpio_emc_b1_08_gpio7_io08>,
		<&iomuxc_gpio_emc_b1_09_gpio7_io09>,
		<&iomuxc_gpio_emc_b1_10_gpio7_io10>,
		<&iomuxc_gpio_emc_b1_11_gpio7_io11>,
		<&iomuxc_gpio_emc_b1_12_gpio7_io12>,
		<&iomuxc_gpio_emc_b1_13_gpio7_io13>,
		<&iomuxc_gpio_emc_b1_14_gpio7_io14>,
		<&iomuxc_gpio_emc_b1_15_gpio7_io15>,
		<&iomuxc_gpio_emc_b1_16_gpio7_io16>,
		<&iomuxc_gpio_emc_b1_17_gpio7_io17>,
		<&iomuxc_gpio_emc_b1_18_gpio7_io18>,
		<&iomuxc_gpio_emc_b1_19_gpio7_io19>,
		<&iomuxc_gpio_emc_b1_20_gpio7_io20>,
		<&iomuxc_gpio_emc_b1_21_gpio7_io21>,
		<&iomuxc_gpio_emc_b1_22_gpio7_io22>,
		<&iomuxc_gpio_emc_b1_23_gpio7_io23>,
		<&iomuxc_gpio_emc_b1_24_gpio7_io24>,
		<&iomuxc_gpio_emc_b1_25_gpio7_io25>,
		<&iomuxc_gpio_emc_b1_26_gpio7_io26>,
		<&iomuxc_gpio_emc_b1_27_gpio7_io27>,
		<&iomuxc_gpio_emc_b1_28_gpio7_io28>,
		<&iomuxc_gpio_emc_b1_29_gpio7_io29>,
		<&iomuxc_gpio_emc_b1_30_gpio7_io30>,
		<&iomuxc_gpio_emc_b1_31_gpio7_io31>;
};

&gpio8{
	pinmux = <&iomuxc_gpio_emc_b1_32_gpio8_io00>,
		<&iomuxc_gpio_emc_b1_33_gpio8_io01>,
		<&iomuxc_gpio_emc_b1_34_gpio8_io02>,
		<&iomuxc_gpio_emc_b1_35_gpio8_io03>,
		<&iomuxc_gpio_emc_b1_36_gpio8_io04>,
		<&iomuxc_gpio_emc_b1_37_gpio8_io05>,
		<&iomuxc_gpio_emc_b1_38_gpio8_io06>,
		<&iomuxc_gpio_emc_b1_39_gpio8_io07>,
		<&iomuxc_gpio_emc_b1_40_gpio8_io08>,
		<&iomuxc_gpio_emc_b1_41_gpio8_io09>,
		<&iomuxc_gpio_emc_b2_00_gpio8_io10>,
		<&iomuxc_gpio_emc_b2_01_gpio8_io11>,
		<&iomuxc_gpio_emc_b2_02_gpio8_io12>,
		<&iomuxc_gpio_emc_b2_03_gpio8_io13>,
		<&iomuxc_gpio_emc_b2_04_gpio8_io14>,
		<&iomuxc_gpio_emc_b2_05_gpio8_io15>,
		<&iomuxc_gpio_emc_b2_06_gpio8_io16>,
		<&iomuxc_gpio_emc_b2_07_gpio8_io17>,
		<&iomuxc_gpio_emc_b2_08_gpio8_io18>,
		<&iomuxc_gpio_emc_b2_09_gpio8_io19>,
		<&iomuxc_gpio_emc_b2_10_gpio8_io20>,
		<&iomuxc_gpio_emc_b2_11_gpio8_io21>,
		<&iomuxc_gpio_emc_b2_12_gpio8_io22>,
		<&iomuxc_gpio_emc_b2_13_gpio8_io23>,
		<&iomuxc_gpio_emc_b2_14_gpio8_io24>,
		<&iomuxc_gpio_emc_b2_15_gpio8_io25>,
		<&iomuxc_gpio_emc_b2_16_gpio8_io26>,
		<&iomuxc_gpio_emc_b2_17_gpio8_io27>,
		<&iomuxc_gpio_emc_b2_18_gpio8_io28>,
		<&iomuxc_gpio_emc_b2_19_gpio8_io29>,
		<&iomuxc_gpio_emc_b2_20_gpio8_io30>,
		<&iomuxc_gpio_ad_00_gpio8_io31>;
};

&gpio9{
	pinmux = <&iomuxc_gpio_ad_01_gpio9_io00>,
		<&iomuxc_gpio_ad_02_gpio9_io01>,
		<&iomuxc_gpio_ad_03_gpio9_io02>,
		<&iomuxc_gpio_ad_04_gpio9_io03>,
		<&iomuxc_gpio_ad_05_gpio9_io04>,
		<&iomuxc_gpio_ad_06_gpio9_io05>,
		<&iomuxc_gpio_ad_07_gpio9_io06>,
		<&iomuxc_gpio_ad_08_gpio9_io07>,
		<&iomuxc_gpio_ad_09_gpio9_io08>,
		<&iomuxc_gpio_ad_10_gpio9_io09>,
		<&iomuxc_gpio_ad_11_gpio9_io10>,
		<&iomuxc_gpio_ad_12_gpio9_io11>,
		<&iomuxc_gpio_ad_13_gpio9_io12>,
		<&iomuxc_gpio_ad_14_gpio9_io13>,
		<&iomuxc_gpio_ad_15_gpio9_io14>,
		<&iomuxc_gpio_ad_16_gpio9_io15>,
		<&iomuxc_gpio_ad_17_gpio9_io16>,
		<&iomuxc_gpio_ad_18_gpio9_io17>,
		<&iomuxc_gpio_ad_19_gpio9_io18>,
		<&iomuxc_gpio_ad_20_gpio9_io19>,
		<&iomuxc_gpio_ad_21_gpio9_io20>,
		<&iomuxc_gpio_ad_22_gpio9_io21>,
		<&iomuxc_gpio_ad_23_gpio9_io22>,
		<&iomuxc_gpio_ad_24_gpio9_io23>,
		<&iomuxc_gpio_ad_25_gpio9_io24>,
		<&iomuxc_gpio_ad_26_gpio9_io25>,
		<&iomuxc_gpio_ad_27_gpio9_io26>,
		<&iomuxc_gpio_ad_28_gpio9_io27>,
		<&iomuxc_gpio_ad_29_gpio9_io28>,
		<&iomuxc_gpio_ad_30_gpio9_io29>,
		<&iomuxc_gpio_ad_31_gpio9_io30>,
		<&iomuxc_gpio_ad_32_gpio9_io31>;
};
