/*
 * 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@42008000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42008000 0x4000>;
			interrupts = <102 0>, <103 0>;
			label = "GPIO_2";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio3: gpio@4200c000 {
			compatible = "nxp,imx-gpio";
			reg = <0x4200c000 0x4000>;
			interrupts = <104 0>, <105 0>;
			label = "GPIO_3";
			gpio-controller;
			#gpio-cells = <2>;
		};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		lpuart12: uart@40098000 {
			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_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>;
};

&gpio3{
	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>;
};
