diff --git a/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm4.dts b/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm4.dts
index b76ff58..9cd8fd5 100644
--- a/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm4.dts
+++ b/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm4.dts
@@ -6,7 +6,7 @@
 
 /dts-v1/;
 
-#include <nxp/nxp_rt1160_cm4.dtsi>
+#include <nxp/nxp_rt11xx_cm4.dtsi>
 #include "mimxrt1160_evk.dtsi"
 
 / {
diff --git a/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm7.dts b/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm7.dts
index a27c8a6..d0d1b21 100644
--- a/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm7.dts
+++ b/boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm7.dts
@@ -6,7 +6,7 @@
 
 /dts-v1/;
 
-#include <nxp/nxp_rt1160_cm7.dtsi>
+#include <nxp/nxp_rt11xx_cm7.dtsi>
 #include "mimxrt1160_evk.dtsi"
 
 / {
diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4.dts b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4.dts
index efc57fe..1a8d7bd 100644
--- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4.dts
+++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4.dts
@@ -6,7 +6,7 @@
 
 /dts-v1/;
 
-#include <nxp/nxp_rt1170_cm4.dtsi>
+#include <nxp/nxp_rt11xx_cm4.dtsi>
 #include "mimxrt1170_evk.dtsi"
 
 / {
diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts
index 3abadd1..4107433 100644
--- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts
+++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts
@@ -6,7 +6,7 @@
 
 /dts-v1/;
 
-#include <nxp/nxp_rt1170_cm7.dtsi>
+#include <nxp/nxp_rt11xx_cm7.dtsi>
 #include "mimxrt1170_evk.dtsi"
 
 / {
diff --git a/dts/arm/nxp/nxp_rt1160_cm4.dtsi b/dts/arm/nxp/nxp_rt1160_cm4.dtsi
deleted file mode 100644
index 1d31a96..0000000
--- a/dts/arm/nxp/nxp_rt1160_cm4.dtsi
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * 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. 1364 of RT1160 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";
-};
diff --git a/dts/arm/nxp/nxp_rt1160_cm7.dtsi b/dts/arm/nxp/nxp_rt1160_cm7.dtsi
deleted file mode 100644
index be74007..0000000
--- a/dts/arm/nxp/nxp_rt1160_cm7.dtsi
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- * 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 RT1160 ref manual for example
-		 */
-		gpio2: gpio@42008000 {
-			compatible = "nxp,imx-gpio";
-			reg = <0x42008000 0x4000>;
-			interrupts = <102 0>, <103 0>;
-			gpio-controller;
-			#gpio-cells = <2>;
-		};
-
-		gpio3: gpio@4200c000 {
-			compatible = "nxp,imx-gpio";
-			reg = <0x4200c000 0x4000>;
-			interrupts = <104 0>, <105 0>;
-			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_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>;
-};
diff --git a/dts/arm/nxp/nxp_rt1170_cm4.dtsi b/dts/arm/nxp/nxp_rt11xx_cm4.dtsi
similarity index 100%
rename from dts/arm/nxp/nxp_rt1170_cm4.dtsi
rename to dts/arm/nxp/nxp_rt11xx_cm4.dtsi
diff --git a/dts/arm/nxp/nxp_rt1170_cm7.dtsi b/dts/arm/nxp/nxp_rt11xx_cm7.dtsi
similarity index 100%
rename from dts/arm/nxp/nxp_rt1170_cm7.dtsi
rename to dts/arm/nxp/nxp_rt11xx_cm7.dtsi
