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

			itm: itm@e0000000 {
				compatible = "arm,armv7m-itm";
				reg = <0xe0000000 0x1000>;
				swo-ref-frequency = <132000000>;
			};
		};
	};

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

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

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

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

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

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

			#clock-cells = <3>;
		};

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

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

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

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

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

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

		gpio5: gpio@400c0000 {
			compatible = "nxp,imx-gpio";
			reg = <0x400c0000 0x4000>;
			interrupts = <88 0>, <89 0>;
			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>;
			gpio-controller;
			#gpio-cells = <2>;
		};

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

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

		gpio9: gpio@4200c000 {
			compatible = "nxp,imx-gpio";
			reg = <0x4200c000 0x4000>;
			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>;
			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>;
			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>;
			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>;
			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>;
			status = "disabled";
		};

		lpspi1: spi@40394000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x40394000 0x4000>;
			interrupts = <32 3>;
			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>;
			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>;
			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>;
			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";
			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";
			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";
			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";
			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";
			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";
			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";
			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";
			status = "disabled";
		};

		adc1: adc@400c4000 {
			compatible = "nxp,mcux-12b1msps-sar";
			reg = <0x400C4000 0x1000>;
			interrupts = <67 0>;
			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>;
			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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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>;
				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";
			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";
		};

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

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

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

		usdhc1: usdhc@402c0000 {
			compatible = "nxp,imx-usdhc";
			reg = <0x402c0000 0x4000>;
			status = "disabled";
			interrupts = <110 0>;
			clocks = <&ccm IMX_CCM_USDHC1_CLK 0 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>;
			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";
		};

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

		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>;
			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>;
			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>;
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

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

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

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

		iomuxcgpr: iomuxcgpr@400ac000 {
			compatible = "nxp,imx-gpr";
			reg = <0x400AC000 0x4000>;
			#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";
		};

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

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

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