/*
 * 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>;
		};

		mailbox_b: mailbox@40c4c000 {
			compatible = "nxp,imx-mu-rev2";
			reg = <0x40c4c000 0x4000>;
			interrupts = <118 0>;
			rdc = <0>;
		};
	};
};

&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_dig_gpio13_io00>,
		<&iomuxc_snvs_pmic_on_req_dig_gpio13_io01>,
		<&iomuxc_snvs_pmic_stby_req_dig_gpio13_io02>,
		<&iomuxc_snvs_gpio_snvs_00_dig_gpio13_io03>,
		<&iomuxc_snvs_gpio_snvs_01_dig_gpio13_io04>,
		<&iomuxc_snvs_gpio_snvs_02_dig_gpio13_io05>,
		<&iomuxc_snvs_gpio_snvs_03_dig_gpio13_io06>,
		<&iomuxc_snvs_gpio_snvs_04_dig_gpio13_io07>,
		<&iomuxc_snvs_gpio_snvs_05_dig_gpio13_io08>,
		<&iomuxc_snvs_gpio_snvs_06_dig_gpio13_io09>,
		<&iomuxc_snvs_gpio_snvs_07_dig_gpio13_io10>,
		<&iomuxc_snvs_gpio_snvs_08_dig_gpio13_io11>,
		<&iomuxc_snvs_gpio_snvs_09_dig_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";
};
