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

#include <nxp/nxp_rt11xx.dtsi>

/ {
	cpus {
		/delete-node/ cpu@0;
	};

	/*
	 * SRAM0 & SRAM1 are available only to the M4 core. EDMA_LPSR interrupts are connected
	 * to the M4 core alone, hence this EDMA controller has been designated M4 only.
	 * GPIO's 9, 11 are available to both M4 and M7 cores, however the GPIO interrupts are
	 * only accessible to the M4.
	 *
	 * Refer to Chapter 3 of the Reference Manual
	 */
	soc {
		/delete-node/ dma-controller@40070000;

		sram0: memory@1ffe0000 {
			compatible = "mmio-sram";
			reg = <0x1ffe0000 DT_SIZE_K(128)>;
		};

		sram1: memory@20000000 {
			compatible = "zephyr,memory-region", "mmio-sram";
			reg = <0x20000000 DT_SIZE_K(128)>;
			zephyr,memory-region = "SRAM1";
		};

		/*
		 * M4 uses different addresses from the M7 core for GPIO2 and
		 * GPIO3, see pg. 1410 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>;
		};
	};
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * GPIO 7-11 share the same interrupt on the CM4.
 * the gpio driver only supports one of these gpio devices having an interrupt
 * populated.
 */

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

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

/* Set default power states for CM4 cpu */
&cpu1 {
	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>;
};

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

/* CAAM currently does not work on M4 because of cache API issues */
&caam {
	status = "disabled";
};
