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

#include <mem.h>
#include <arm/armv7-m.dtsi>
#include <zephyr/dt-bindings/clock/imx_ccm.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/pwm/pwm.h>

/ {
	chosen {
		zephyr,entropy = &trng;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m7";
			d-cache-line-size = <32>;
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <1>;

			mpu: mpu@e000ed90 {
				compatible = "arm,armv7m-mpu";
				reg = <0xe000ed90 0x40>;
				arm,num-mpu-regions = <16>;
			};
		};
	};

	sysclk: system-clock {
		compatible = "fixed-clock";
		clock-frequency = <600000000>;
		#clock-cells = <0>;
	};

	soc {
		flexram: flexram@400b0000 {
			compatible = "nxp,imx-flexram";
			reg = <0x400b0000 0x4000>;
			interrupts = <38 0>;

			#address-cells = <1>;
			#size-cells = <1>;

			itcm: itcm@0 {
				compatible = "zephyr,memory-region", "nxp,imx-itcm";
				reg = <0x00000000 DT_SIZE_K(128)>;
				zephyr,memory-region = "ITCM";
			};

			dtcm: dtcm@20000000 {
				compatible = "zephyr,memory-region", "nxp,imx-dtcm";
				reg = <0x20000000 DT_SIZE_K(128)>;
				zephyr,memory-region = "DTCM";
			};

			ocram: ocram@20200000 {
				compatible = "mmio-sram";
				reg = <0x20200000 DT_SIZE_K(256)>;
			};
		};

		flexspi: spi@402a8000 {
			compatible = "nxp,imx-flexspi";
			reg = <0x402a8000 0x4000>;
			interrupts = <108 0>;
			label = "FLEXSPI";
			#address-cells = <1>;
			#size-cells = <0>;
			ahb-bufferable;
			ahb-cacheable;
			status = "disabled";
		};

		flexspi2: spi@402a4000 {
			compatible = "nxp,imx-flexspi";
			reg = <0x402a4000 0x4000>;
			interrupts = <107 0>;
			label = "FLEXSPI1";
			#address-cells = <1>;
			#size-cells = <0>;
			ahb-bufferable;
			ahb-cacheable;
			status = "disabled";
		};

		semc: semc0@402f0000 {
			compatible = "nxp,imx-semc";
			reg = <0x402f0000 0x4000>;
			interrupts = <109 0>;
			label = "SEMC0";
			#address-cells = <1>;
			#size-cells = <1>;
		};

		/* GPT1 is used for the hardware timer, not as a standard counter */
		gpt_hw_timer: gpt@401ec000 {
			compatible = "nxp,gpt-hw-timer";
			reg = <0x401ec000 0x4000>;
			interrupts = <100 0>;
			label = "GPT_HW_TIMER";
			status = "disabled";
		};

		gpt2: gpt@401f0000 {
			compatible = "nxp,imx-gpt";
			reg = <0x401f0000 0x4000>;
			interrupts = <101 0>;
			gptfreq = <25000000>;
			clocks = <&ccm IMX_CCM_GPT_CLK 0x68 24>;
			label = "GPT2";
		};

		qtmr1: qtmr@401dc000 {
			compatible = "nxp,imx-qtmr";
			reg = <0x401dc000 0x7a>;
			interrupts = <133 0>;
			clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>;
			label = "QTMR1";
			qtmr1_timer0: timer0 {
				compatible = "nxp,imx-tmr";
				channel = <0>;
				label = "QTMR1_TIMER0";
				status = "disabled";
			};
			qtmr1_timer1: timer1 {
				compatible = "nxp,imx-tmr";
				channel = <1>;
				label = "QTMR1_TIMER1";
				status = "disabled";
			};
			qtmr1_timer2: timer2 {
				compatible = "nxp,imx-tmr";
				channel = <2>;
				label = "QTMR1_TIMER2";
				status = "disabled";
			};
			qtmr1_timer3: timer3 {
				compatible = "nxp,imx-tmr";
				channel = <3>;
				label = "QTMR1_TIMER3";
				status = "disabled";
			};
		};

		qtmr2: qtmr@401e0000 {
			compatible = "nxp,imx-qtmr";
			reg = <0x401e0000 0x7a>;
			interrupts = <134 0>;
			clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>;
			label = "QTMR2";
			qtmr2_timer0: timer0 {
				compatible = "nxp,imx-tmr";
				channel = <0>;
				label = "QTMR2_TIMER0";
				status = "disabled";
			};
			qtmr2_timer1: timer1 {
				compatible = "nxp,imx-tmr";
				channel = <1>;
				label = "QTMR2_TIMER1";
				status = "disabled";
			};
			qtmr2_timer2: timer2 {
				compatible = "nxp,imx-tmr";
				channel = <2>;
				label = "QTMR2_TIMER2";
				status = "disabled";
			};
			qtmr2_timer3: timer3 {
				compatible = "nxp,imx-tmr";
				channel = <3>;
				label = "QTMR2_TIMER3";
				status = "disabled";
			};
		};

		qtmr3: qtmr@401e4000 {
			compatible = "nxp,imx-qtmr";
			reg = <0x401e4000 0x7a>;
			interrupts = <135 0>;
			clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>;
			label = "QTMR3";
			qtmr3_timer0: timer0 {
				compatible = "nxp,imx-tmr";
				channel = <0>;
				label = "QTMR3_TIMER0";
				status = "disabled";
			};
			qtmr3_timer1: timer1 {
				compatible = "nxp,imx-tmr";
				channel = <1>;
				label = "QTMR3_TIMER1";
				status = "disabled";
			};
			qtmr3_timer2: timer2 {
				compatible = "nxp,imx-tmr";
				channel = <2>;
				label = "QTMR3_TIMER2";
				status = "disabled";
			};
			qtmr3_timer3: timer3 {
				compatible = "nxp,imx-tmr";
				channel = <3>;
				label = "QTMR3_TIMER3";
				status = "disabled";
			};
		};

		qtmr4: qtmr@401e8000 {
			compatible = "nxp,imx-qtmr";
			reg = <0x401e8000 0x7a>;
			interrupts = <136 0>;
			clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>;
			label = "QTMR4";
			qtmr4_timer0: timer0 {
				compatible = "nxp,imx-tmr";
				channel = <0>;
				label = "QTMR4_TIMER0";
				status = "disabled";
			};
			qtmr4_timer1: timer1 {
				compatible = "nxp,imx-tmr";
				channel = <1>;
				label = "QTMR4_TIMER1";
				status = "disabled";
			};
			qtmr4_timer2: timer2 {
				compatible = "nxp,imx-tmr";
				channel = <2>;
				label = "QTMR4_TIMER2";
				status = "disabled";
			};
			qtmr4_timer3: timer3 {
				compatible = "nxp,imx-tmr";
				channel = <3>;
				label = "QTMR4_TIMER3";
				status = "disabled";
			};
		};

		ccm: ccm@400fc000 {
			compatible = "nxp,imx-ccm";
			reg = <0x400fc000 0x4000>;
			label = "CCM";

			#clock-cells = <3>;
		};

		snvs: snvs@400d4000 {
			compatible = "nxp,imx-snvs";
			reg = <0x400d4000 0x4000>;
			label = "SNVS";

			snvs_rtc: rtc {
				compatible = "nxp,imx-snvs-rtc";
				label = "SNVS_RTC";
				interrupts = <46 0>;
			};
		};

		gpio1: gpio@401b8000 {
			compatible = "nxp,imx-gpio";
			reg = <0x401b8000 0x4000>;
			interrupts = <80 0>, <81 0>;
			label = "GPIO_1";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio2: gpio@401bc000 {
			compatible = "nxp,imx-gpio";
			reg = <0x401bc000 0x4000>;
			interrupts = <82 0>, <83 0>;
			label = "GPIO_2";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio3: gpio@401c0000 {
			compatible = "nxp,imx-gpio";
			reg = <0x401c0000 0x4000>;
			interrupts = <84 0>, <85 0>;
			label = "GPIO_3";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio4: gpio@401c4000 {
			compatible = "nxp,imx-gpio";
			reg = <0x401c4000 0x4000>;
			interrupts = <86 0>, <87 0>;
			label = "GPIO_4";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio5: gpio@400c0000 {
			compatible = "nxp,imx-gpio";
			reg = <0x400c0000 0x4000>;
			interrupts = <88 0>, <89 0>;
			label = "GPIO_5";
			gpio-controller;
			#gpio-cells = <2>;
		};
		/*
		 * Note: interrupts for GPIO6-9 are not currently supported
		 * by the gpio driver.
		 */
		gpio6: gpio@42000000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42000000 0x4000>;
			label = "GPIO_6";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio7: gpio@42004000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42004000 0x4000>;
			label = "GPIO_7";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio8: gpio@42008000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42008000 0x4000>;
			label = "GPIO_8";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio9: gpio@4200c000 {
			compatible = "nxp,imx-gpio";
			reg = <0x4200c000 0x4000>;
			label = "GPIO_9";
			gpio-controller;
			#gpio-cells = <2>;
		};

		lpi2c1: i2c@403f0000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x403f0000 0x4000>;
			interrupts = <28 0>;
			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 6>;
			label = "I2C_1";
			status = "disabled";
		};

		lpi2c2: i2c@403f4000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x403f4000 0x4000>;
			interrupts = <29 0>;
			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 8>;
			label = "I2C_2";
			status = "disabled";
		};

		lpi2c3: i2c@403f8000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x403f8000 0x4000>;
			interrupts = <30 0>;
			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 10>;
			label = "I2C_3";
			status = "disabled";
		};

		lpi2c4: i2c@403fc000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x403fc000 0x4000>;
			interrupts = <31 0>;
			clocks = <&ccm IMX_CCM_LPI2C_CLK 0x80 24>;
			label = "I2C_4";
			status = "disabled";
		};

		iomuxc: iomuxc@401f8000 {
			compatible = "nxp,imx-iomuxc";
			reg = <0x401f8000 0x4000>;
			status = "okay";
			pinctrl: pinctrl {
				status = "okay";
				compatible = "nxp,mcux-rt-pinctrl";
			};
		};

		lcdif: display-controller@402b8000 {
			compatible = "nxp,imx-elcdif";
			reg = <0x402b8000 0x4000>;
			interrupts = <42 0>;
			label = "ELCDIF_1";
			status = "disabled";
		};

		lpspi1: spi@40394000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x40394000 0x4000>;
			interrupts = <32 3>;
			label = "SPI_1";
			status = "disabled";
			clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 0>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		lpspi2: spi@40398000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x40398000 0x4000>;
			interrupts = <33 3>;
			label = "SPI_2";
			status = "disabled";
			clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 2>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		lpspi3: spi@4039c000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x4039c000 0x4000>;
			interrupts = <34 3>;
			label = "SPI_3";
			status = "disabled";
			clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		lpspi4: spi@403a0000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x403a0000 0x4000>;
			interrupts = <35 3>;
			label = "SPI_4";
			status = "disabled";
			clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 6>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		lpuart1: uart@40184000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x40184000 0x4000>;
			interrupts = <20 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x7c 24>;
			dmas = <&edma0 1 2>, <&edma0 2 3>;
			dma-names = "tx", "rx";
			label = "UART_1";
			status = "disabled";
		};

		lpuart2: uart@40188000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x40188000 0x4000>;
			interrupts = <21 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x68 28>;
			dmas = <&edma0 3 66>, <&edma0 4 67>;
			dma-names = "tx", "rx";
			label = "UART_2";
			status = "disabled";
		};

		lpuart3: uart@4018c000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x4018c000 0x4000>;
			interrupts = <22 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x68 12>;
			dmas = <&edma0 5 4>, <&edma0 6 5>;
			dma-names = "tx", "rx";
			label = "UART_3";
			status = "disabled";
		};

		lpuart4: uart@40190000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x40190000 0x4000>;
			interrupts = <23 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x6c 24>;
			dmas = <&edma0 7 68>, <&edma0 8 69>;
			dma-names = "tx", "rx";
			label = "UART_4";
			status = "disabled";
		};

		lpuart5: uart@40194000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x40194000 0x4000>;
			interrupts = <24 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x74 2>;
			dmas = <&edma0 9 6>, <&edma0 10 7>;
			dma-names = "tx", "rx";
			label = "UART_5";
			status = "disabled";
		};

		lpuart6: uart@40198000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x40198000 0x4000>;
			interrupts = <25 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x74 6>;
			dmas = <&edma0 11 70>, <&edma0 12 71>;
			dma-names = "tx", "rx";
			label = "UART_6";
			status = "disabled";
		};

		lpuart7: uart@4019c000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x4019c000 0x4000>;
			interrupts = <26 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x7c 26>;
			dmas = <&edma0 13 8>, <&edma0 14 9>;
			dma-names = "tx", "rx";
			label = "UART_7";
			status = "disabled";
		};

		lpuart8: uart@401a0000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x401a0000 0x4000>;
			interrupts = <27 0>;
			clocks = <&ccm IMX_CCM_LPUART_CLK 0x80 14>;
			dmas = <&edma0 15 72>, <&edma0 16 73>;
			dma-names = "tx", "rx";
			label = "UART_8";
			status = "disabled";
		};

		adc1: adc@400c4000 {
			compatible = "nxp,mcux-12b1msps-sar";
			reg = <0x400C4000 0x1000>;
			interrupts = <67 0>;
			label = "ADC_1";
			clk-divider = <1>;
			sample-period-mode = <0>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		adc2: adc@400c8000 {
			compatible = "nxp,mcux-12b1msps-sar";
			reg = <0x400C8000 0x1000>;
			interrupts = <68 0>;
			label = "ADC_2";
			clk-divider = <1>;
			sample-period-mode = <0>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		flexpwm1: flexpwm@403dc000 {
			compatible = "nxp,flexpwm";
			reg = <0x403dc000 0x4000>;
			interrupts = <106 0>;

			flexpwm1_pwm0: pwm0 {
				compatible = "nxp,imx-pwm";
				index = <0>;
				label = "FLEXPWM1_PWM0";
				interrupts = <102 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm1_pwm1: pwm1 {
				compatible = "nxp,imx-pwm";
				index = <1>;
				label = "FLEXPWM1_PWM1";
				interrupts = <103 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm1_pwm2: pwm2 {
				compatible = "nxp,imx-pwm";
				index = <2>;
				label = "FLEXPWM1_PWM2";
				interrupts = <104 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm1_pwm3: pwm3 {
				compatible = "nxp,imx-pwm";
				index = <3>;
				label = "FLEXPWM1_PWM3";
				interrupts = <105 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};
		};

		flexpwm2: flexpwm@403e0000 {
			compatible = "nxp,flexpwm";
			reg = <0x403e0000 0x4000>;
			interrupts =  <141 0>;

			flexpwm2_pwm0: pwm0 {
				compatible = "nxp,imx-pwm";
				index = <0>;
				label = "FLEXPWM2_PWM0";
				interrupts = <137 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm2_pwm1: pwm1 {
				compatible = "nxp,imx-pwm";
				index = <1>;
				label = "FLEXPWM2_PWM1";
				interrupts = <138 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm2_pwm2: pwm2 {
				compatible = "nxp,imx-pwm";
				index = <2>;
				label = "FLEXPWM2_PWM2";
				interrupts = <139 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm2_pwm3: pwm3 {
				compatible = "nxp,imx-pwm";
				index = <3>;
				label = "FLEXPWM2_PWM3";
				interrupts = <140 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};
		};

		flexpwm3: flexpwm@403e4000 {
			compatible = "nxp,flexpwm";
			reg = <0x403e4000 0x4000>;
			interrupts =  <146 0>;

			flexpwm3_pwm0: pwm0 {
				compatible = "nxp,imx-pwm";
				index = <0>;
				label = "FLEXPWM3_PWM0";
				interrupts = <142 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm3_pwm1: pwm1 {
				compatible = "nxp,imx-pwm";
				index = <1>;
				label = "FLEXPWM3_PWM1";
				interrupts = <143 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm3_pwm2: pwm2 {
				compatible = "nxp,imx-pwm";
				index = <2>;
				label = "FLEXPWM3_PWM2";
				interrupts = <144 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm3_pwm3: pwm3 {
				compatible = "nxp,imx-pwm";
				index = <3>;
				label = "FLEXPWM3_PWM3";
				interrupts = <145 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};
		};

		flexpwm4: flexpwm@403e8000 {
			compatible = "nxp,flexpwm";
			reg = <0x403e8000 0x4000>;
			interrupts = <151 0>;

			flexpwm4_pwm0: pwm0 {
				compatible = "nxp,imx-pwm";
				index = <0>;
				label = "FLEXPWM4_PWM0";
				interrupts = <147 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm4_pwm1: pwm1 {
				compatible = "nxp,imx-pwm";
				index = <1>;
				label = "FLEXPWM4_PWM1";
				interrupts = <148 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm4_pwm2: pwm2 {
				compatible = "nxp,imx-pwm";
				index = <2>;
				label = "FLEXPWM4_PWM2";
				interrupts = <149 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};

			flexpwm4_pwm3: pwm3 {
				compatible = "nxp,imx-pwm";
				index = <3>;
				label = "FLEXPWM4_PWM3";
				interrupts = <150 0>;
				#pwm-cells = <2>;
				clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
				status = "disabled";
			};
		};

		enet: ethernet@402d8000 {
			compatible = "nxp,kinetis-ethernet";
			reg = <0x402D8000 0x628>;
			interrupts = <114 0>;
			interrupt-names = "COMMON";
			status = "disabled";
			label = "ETH_0";
			phy-addr = <0>;
			ptp: ptp {
				compatible = "nxp,kinetis-ptp";
				status = "disabled";
				interrupts = <115 0>;
				interrupt-names = "IEEE1588_TMR";
			};
		};

		src: reset-controller@400f8000 {
			compatible = "nxp,imx-src";
			reg = <0x400f8000 0x4000>;
			status = "okay";
			label = "SRC";
		};

		trng: random@400cc000 {
			compatible = "nxp,kinetis-trng";
			reg = <0x400cc000 0x4000>;
			status = "okay";
			interrupts = <53 0>;
			label = "TRNG";
		};

		usb1: usbd@402e0000 {
			compatible = "nxp,mcux-usbd";
			reg = <0x402E0000 0x200>;
			interrupts = <113 1>;
			interrupt-names = "usb_otg";
			clocks = <&sysclk>;
			num-bidir-endpoints = <8>;
			maximum-speed = "full-speed";
			status = "disabled";
			label = "USBD_1";
		};

		usb2: usbd@402e0200 {
			compatible = "nxp,mcux-usbd";
			reg = <0x402E0200 0x200>;
			interrupts = <112 1>;
			interrupt-names = "usb_otg";
			clocks = <&sysclk>;
			num-bidir-endpoints = <8>;
			maximum-speed = "full-speed";
			status = "disabled";
			label = "USBD_2";
		};

		usdhc1: usdhc@402c0000 {
			compatible = "nxp,imx-usdhc";
			reg = <0x402c0000 0x4000>;
			status = "disabled";
			interrupts = <110 0>;
			clocks = <&ccm IMX_CCM_USDHC1_CLK 0 0>;
			label = "SDHC_0";
			max-current-330 = <1020>;
			max-current-180 = <1020>;
			max-bus-freq = <208000000>;
			min-bus-freq = <400000>;
		};

		usdhc2: usdhc@402c4000 {
			compatible = "nxp,imx-usdhc";
			reg = <0x402c4000 0x4000>;
			status = "disabled";
			interrupts = <111 0>;
			clocks = <&ccm IMX_CCM_USDHC2_CLK 0 0>;
			label = "SDHC_1";
			max-current-330 = <120>;
			max-current-180 = <45>;
			max-bus-freq = <198000000>;
			min-bus-freq = <400000>;
		};

		csi: csi@402bc000 {
			compatible = "nxp,imx-csi";
			reg = <0x402BC000 0x4000>;
			interrupts = <43 1>;
			status = "disabled";
			label = "CSI";
		};

		edma0: dma-controller@400e8000 {
			#dma-cells = <2>;
			compatible = "nxp,mcux-edma";
			dma-channels = <32>;
			dma-requests = <128>;
			nxp,mem2mem;
			nxp,a_on;
			reg = <0x400E8000 0x4000>,
				<0x400EC000 0x4000>;
			interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
				<4 0>, <5 0>, <6 0>, <7 0>,
				<8 0>, <9 0>, <10 0>, <11 0>,
				<12 0>, <13 0>, <14 0>, <15 0>,
				<16 0>;
			clocks = <&ccm IMX_CCM_EDMA_CLK 0x7C 0x000000C0>;
			status = "disabled";
			label = "DMA_0";
		};

		flexcan1: can@401d0000 {
			compatible = "nxp,kinetis-flexcan";
			reg = <0x401d0000 0x1000>;
			interrupts = <36 0>;
			interrupt-names = "common";
			clocks = <&ccm IMX_CCM_CAN_CLK 0x68 14>;
			clk-source = <2>;
			label = "CAN_1";
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

		flexcan2: can@401d4000 {
			compatible = "nxp,kinetis-flexcan";
			reg = <0x401d4000 0x1000>;
			interrupts = <37 0>;
			interrupt-names = "common";
			clocks = <&ccm IMX_CCM_CAN_CLK 0x68 18>;
			clk-source = <2>;
			label = "CAN_2";
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

		flexcan3: can@401d8000 {
			compatible = "nxp,kinetis-flexcan";
			reg = <0x401d8000 0x1000>;
			interrupts = <154 0>;
			interrupt-names = "common";
			clocks = <&ccm IMX_CCM_CAN_CLK 0x84 6>;
			clk-source = <2>;
			label = "CAN_3";
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

		wdog0: wdog@400b8000 {
			compatible = "nxp,imx-wdog";
			reg = <0x400b8000 0xA>;
			status = "disabled";
			interrupts = <92 0>;
			label = "WDOG0";
		};

		wdog1: wdog@400d0000 {
			compatible = "nxp,imx-wdog";
			reg = <0x400d0000 0xA>;
			status = "disabled";
			interrupts = <45 0>;
			label = "WDOG1";
		};

		anatop: anatop@400d8000 {
			compatible = "nxp,imx-anatop";
			reg = <0x400d8000 0x4000>;
			label = "CCM_ANA";
			#clock-cells = <4>;
			#pll-clock-cells = <3>;
		};

		iomuxcgpr: iomuxcgpr@400ac000 {
			compatible = "nxp,imx-gpr";
			reg = <0x400AC000 0x4000>;
			label = "IOMUX_GPR";
			#pinmux-cells = <2>;
		};

		sai1: sai@40384000 {
			compatible = "nxp,mcux-i2s";
			#address-cells = <1>;
			#size-cells = <0>;
			#pinmux-cells = <2>;
			reg = <0x40384000 0x4000>;
			clocks = <&ccm IMX_CCM_SAI1_CLK 0x7C 2>;
			/* 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";
			label = "I2S_0";
		};

		sai2: sai@40388000 {
			compatible = "nxp,mcux-i2s";
			#address-cells = <1>;
			#size-cells = <0>;
			#pinmux-cells = <2>;
			reg = <0x40388000 0x4000>;
			clocks = <&ccm IMX_CCM_SAI2_CLK 0x7C 2>;
			pre-div = <0>;
			podf = <63>;
			pll-clocks = <&anatop 0x70 0xC000 0x0>,
					<&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 0x100000>;
			interrupts = <57 0>;
			dmas = <&edma0 0 21>, <&edma0 0 22>;
			dma-names = "rx", "tx";
			nxp,tx-channel = <0>;
			nxp,tx-dma-channel = <3>;
			nxp,rx-dma-channel = <4>;
			status = "disabled";
			label = "I2S_1";
		};

		sai3: sai@4038c000 {
			compatible = "nxp,mcux-i2s";
			#address-cells = <1>;
			#size-cells = <0>;
			#pinmux-cells = <2>;
			reg = <0x4038C000 0x4000>;
			clocks = <&ccm IMX_CCM_SAI3_CLK 0x7C 2>;
			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";
			label = "I2S_2";
		};
	};
};

&nvic {
	arm,num-irq-priority-bits = <4>;
};

&systick {
	/*
	 * RT10xx relies by default on the GPT Timer for system clock
	 * implementation, so the SysTick node should not be enabled.
	 */
	status = "disabled";
};
