dts: rt1010: Fix RT1010 IP base addresses

Fix the Base addresses for the IP blocks that are
located at a different address on RT1010

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
diff --git a/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts b/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts
index 68943b8..320570f 100644
--- a/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts
+++ b/boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts
@@ -51,7 +51,7 @@
 };
 
 &flexspi {
-	reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(16)>;
+	reg = <0x400a0000 0x4000>, <0x60000000 DT_SIZE_M(16)>;
 	at25sf128a: at25sf128a@0 {
 		compatible = "nxp,imx-flexspi-nor";
 		size = <134217728>;
diff --git a/dts/arm/nxp/nxp_rt1010.dtsi b/dts/arm/nxp/nxp_rt1010.dtsi
index 49fc7a9..011ad12 100644
--- a/dts/arm/nxp/nxp_rt1010.dtsi
+++ b/dts/arm/nxp/nxp_rt1010.dtsi
@@ -39,40 +39,20 @@
 	gptfreq = <12500000>;
 };
 
-&usb1 {
-	interrupts = <25 0>;
-};
-
-&flexspi {
-	interrupts = <26 0>;
-};
-
-&flexpwm1_pwm0 {
-	interrupts = <34 0>;
-};
-
-&flexpwm1_pwm1 {
-	interrupts = <35 0>;
-};
-
-&flexpwm1_pwm2 {
-	interrupts = <36 0>;
-};
-
-&flexpwm1_pwm3 {
-	interrupts = <37 0>;
-};
-
-&flexpwm1 {
-	interrupts = <38 0>;
-};
-
 &edma0 {
 	dma-channels = <16>;
 };
 
 / {
 	soc {
+		/* Remove GPIO3-GPIO9, they don't exist on RT1010 */
+		/delete-node/ gpio@401c0000;
+		/delete-node/ gpio@401c4000;
+		/delete-node/ gpio@42000000;
+		/delete-node/ gpio@42004000;
+		/delete-node/ gpio@42008000;
+		/delete-node/ gpio@4200c000;
+
 		/* Fixup GPIO2 its a different location on RT1010 */
 		/delete-node/ gpio@401bc000;
 
@@ -98,12 +78,60 @@
 				<&iomuxc_gpio_sd_13_gpio2_io13>;
 		};
 
-		/* Remove GPIO3-GPIO9, they dont exist on RT1010 */
-		/delete-node/ gpio@401c0000;
-		/delete-node/ gpio@401c4000;
-		/delete-node/ gpio@42004000;
-		/delete-node/ gpio@42008000;
-		/delete-node/ gpio@4200c000;
+		/* Remove Quad TImers, they don't exist on RT1010 */
+		/delete-node/ qtmr@401dc000;
+		/delete-node/ qtmr@401e0000;
+		/delete-node/ qtmr@401e4000;
+		/delete-node/ qtmr@401e8000;
+
+		/* Fixup FlexSPI its a different location on RT1010 */
+		/delete-node/ spi@402a8000;
+		flexspi: spi@400a0000 {
+			compatible = "nxp,imx-flexspi";
+			reg = <0x400a0000 0x4000>;
+			interrupts = <26 0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			ahb-bufferable;
+			ahb-cacheable;
+			status = "disabled";
+		};
+
+		/* Remove SEMC, it does'nt exist on RT1010 */
+		/delete-node/ semc0@402f0000;
+
+		/* Fixup LPI2C1 and LPI2C2, they have different base addr on RT1010 */
+		/delete-node/ i2c@403f0000;
+		/delete-node/ i2c@403f4000;
+
+		lpi2c1: i2c@401a4000 {
+			compatible = "nxp,imx-lpi2c";
+			clock-frequency = <I2C_BITRATE_STANDARD>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0x401a4000 0x4000>;
+			interrupts = <28 0>;
+			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 6>;
+			status = "disabled";
+		};
+
+		lpi2c2: i2c@401a8000 {
+			compatible = "nxp,imx-lpi2c";
+			clock-frequency = <I2C_BITRATE_STANDARD>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0x401a8000 0x4000>;
+			interrupts = <29 0>;
+			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 8>;
+			status = "disabled";
+		};
+
+		/* Remove LPI2C3 & LPI2C4, they don't exist on RT1010 */
+		/delete-node/ i2c@403f8000;
+		/delete-node/ i2c@403fc000;
+
+		/* Remove LCDIF, it doesn't exist on RT1010 */
+		/delete-node/ display-controller@402b8000;
 
 		/* Fixup LPSPI1 and LPSPI2, they have different base addr on RT1010 */
 		/delete-node/ spi@40394000;
@@ -128,11 +156,168 @@
 			#size-cells = <0>;
 		};
 
+		/* Remove LPUART5-8, they don't exist on RT1010 */
+		/delete-node/ uart@40194000;
+		/delete-node/ uart@40198000;
+		/delete-node/ uart@4019c000;
+		/delete-node/ uart@401a0000;
+
 		/* Remove ADC2, it doesn't exist on RT1010 */
 		/delete-node/ adc@400C8000;
 
 		/* RT1010 has only one flexSPI controller */
 		/delete-node/ spi@402a4000;
+
+		/* Fixup FlexPWM1 it has different base addr and interrupt numbers on RT1010 */
+		/delete-node/ flexpwm@403dc000;
+		flexpwm1: flexpwm@401cc000 {
+			compatible = "nxp,flexpwm";
+			reg = <0x401cc000 0x4000>;
+			interrupts = <38 0>;
+
+			flexpwm1_pwm0: pwm0 {
+				compatible = "nxp,imx-pwm";
+				index = <0>;
+				interrupts = <34 0>;
+				#pwm-cells = <2>;
+				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
+				status = "disabled";
+			};
+
+			flexpwm1_pwm1: pwm1 {
+				compatible = "nxp,imx-pwm";
+				index = <1>;
+				interrupts = <35 0>;
+				#pwm-cells = <2>;
+				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
+				status = "disabled";
+			};
+
+			flexpwm1_pwm2: pwm2 {
+				compatible = "nxp,imx-pwm";
+				index = <2>;
+				interrupts = <36 0>;
+				#pwm-cells = <2>;
+				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
+				status = "disabled";
+			};
+
+			flexpwm1_pwm3: pwm3 {
+				compatible = "nxp,imx-pwm";
+				index = <3>;
+				interrupts = <37 0>;
+				#pwm-cells = <2>;
+				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
+				status = "disabled";
+			};
+		};
+		/* Remove FlexPWM2-4, they don't exist on RT1010 */
+		/delete-node/ flexpwm@403e0000;
+		/delete-node/ flexpwm@403e4000;
+		/delete-node/ flexpwm@403e8000;
+
+		/* Remove Ethernet, it does'nt exist on RT1010 */
+		/delete-node/ ethernet@402d8000;
+
+		/* Fixup USB it has different base addr and interrupt numbers on RT1010 */
+		/delete-node/ usbd@402e0000;
+		usb1: usbd@400e4000 {
+			compatible = "nxp,mcux-usbd";
+			reg = <0x400e4000 0x200>;
+			interrupts = <25 1>;
+			interrupt-names = "usb_otg";
+			clocks = <&usbclk>;
+			num-bidir-endpoints = <8>;
+			usb-controller-index = "Ehci0";
+			status = "disabled";
+		};
+
+		/* Remove USB2, it does'nt exist on RT1010 */
+		/delete-node/ usbd@402e0200;
+
+		/* Remove USDHC, they don't exist on RT1010 */
+		/delete-node/ usdhc@402c0000;
+		/delete-node/ usdhc@402c4000;
+
+		/* Remove CSI, it does'nt exist on RT1010 */
+		/delete-node/ csi@402bc000;
+
+		/* Remove FLEXCAN, they don't exist on RT1010 */
+		/delete-node/ can@401d0000;
+		/delete-node/ can@401d4000;
+		/delete-node/ can@401d8000;
+
+		/* Remove WDOG2, it does'nt exist on RT1010 */
+		/delete-node/ wdog@400d0000;
+
+		/* Fix SAI1, 3, it has different base addr on RT1010 */
+		/delete-node/ sai@40384000;
+		/delete-node/ sai@4038c000;
+		sai1: sai@401e0000 {
+			compatible = "nxp,mcux-i2s";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			#pinmux-cells = <2>;
+			reg = <0x401e0000 0x4000>;
+			clocks = <&ccm IMX_CCM_SAI1_CLK 0x7C 18>;
+			/* Audio PLL Output Frequency is determined by:
+			 * (Fref * (DIV_SELECT + NUM/DENOM)) / POST_DIV
+			 * = (24MHz * (32 + 77 / 100)) / 1 = 786.48 MHz
+			 */
+		       pll-clocks = <&anatop 0x70 0xC000 0>,
+				      <&anatop 0x70 0x7F 32>,
+				      <&anatop 0x70 0x180000 1>,
+				      <&anatop 0x80 0x3FFFFFFF 77>,
+				      <&anatop 0x90 0x3FFFFFFF 100>;
+			pll-clock-names = "src", "lp", "pd", "num", "den";
+			/* The maximum input frequency into the SAI mclk input is 300MHz
+			 * Based on this requirement, pre-div must be at least 3
+			 * The pre-div and post-div are one less than the actual divide-by amount.
+			 * A pre-div value of 0x1 results in a pre-divider of
+			 * (1+1) = 2
+			 */
+			pre-div = <0x3>;
+			podf = <0x0F>;
+			pinmuxes = <&iomuxcgpr 0x4 0x80000>;
+			interrupts = <56 0>;
+			dmas = <&edma0 0 19>, <&edma0 0 20>;
+			dma-names = "rx", "tx";
+			/* This translates to SAIChannelMask (fsl_sai.c) and
+			 * cannot be 0
+			 */
+			nxp,tx-channel = <1>;
+			nxp,tx-dma-channel = <0>;
+			nxp,rx-dma-channel = <1>;
+			status = "disabled";
+		};
+
+		sai3: sai@401e8000 {
+			compatible = "nxp,mcux-i2s";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			#pinmux-cells = <2>;
+			reg = <0x401e8000 0x4000>;
+			clocks = <&ccm IMX_CCM_SAI3_CLK 0x7C 22>;
+			pre-div = <0>;
+			podf = <63>;
+			pll-clocks = <&anatop 0x70 0xC000 0>,
+				   <&anatop 0x70 0x7F 32>,
+				   <&anatop 0x70 0x180000 1>,
+				   <&anatop 0x80 0x3FFFFFFF 77>,
+				   <&anatop 0x90 0x3FFFFFFF 100>;
+			pll-clock-names = "src", "lp", "pd", "num", "den";
+			pinmuxes = <&iomuxcgpr 0x4 0x200000>;
+			interrupts = <58 0>, <59 0>;
+			dmas = <&edma0 0 83>, <&edma0 0 84>;
+			dma-names = "rx", "tx";
+			nxp,tx-channel = <0>;
+			nxp,tx-dma-channel = <5>;
+			nxp,rx-dma-channel = <6>;
+			status = "disabled";
+		};
+
+		/* Remove SAI2, it does'nt exist on RT1010 */
+		/delete-node/ sai@40388000;
 	};
 };
 
diff --git a/soc/arm/nxp_imx/rt/Kconfig.defconfig.series b/soc/arm/nxp_imx/rt/Kconfig.defconfig.series
index 02ef5ad..7efc987 100644
--- a/soc/arm/nxp_imx/rt/Kconfig.defconfig.series
+++ b/soc/arm/nxp_imx/rt/Kconfig.defconfig.series
@@ -108,10 +108,12 @@
 
 config FLASH_SIZE
 	default $(dt_node_reg_size_int,/soc/spi@400cc000,1,K) if SOC_SERIES_IMX_RT11XX
+	default $(dt_node_reg_size_int,/soc/spi@400a0000,1,K) if SOC_MIMXRT1011
 	default $(dt_node_reg_size_int,/soc/spi@402a8000,1,K) if SOC_SERIES_IMX_RT10XX
 
 config FLASH_BASE_ADDRESS
 	default $(dt_node_reg_addr_hex,/soc/spi@400cc000,1) if SOC_SERIES_IMX_RT11XX
+	default $(dt_node_reg_addr_hex,/soc/spi@400a0000,1) if SOC_MIMXRT1011
 	default $(dt_node_reg_addr_hex,/soc/spi@402a8000,1) if SOC_SERIES_IMX_RT10XX
 
 endif # CODE_FLEXSPI