/*
 * Copyright (c) 2021, Laird Connectivity
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <arm/armv7-m.dtsi>
#include <dt-bindings/clock/imx_ccm.h>
#include <dt-bindings/rdc/imx_rdc.h>
#include <mem.h>

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

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m7";
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <1>;

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

	soc {
		itcm: itcm@0 {
			compatible = "nxp,imx-itcm";
			reg = <0x0 DT_SIZE_K(128)>;
		};

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

		ocram_code: code@900000 {
			compatible = "nxp,imx-code-bus";
			reg = <0x00900000 DT_SIZE_K(576)>;
			label = "OCRAM CODE";
		};

		ocram_sys: memory@20200000 {
			device_type = "memory";
			compatible = "nxp,imx-sys-bus";
			reg = <0x20200000 DT_SIZE_K(576)>;
			label = "OCRAM SYSTEM";
		};

		ocram_s_code: code@180000 {
			compatible = "nxp,imx-code-bus";
			reg = <0x00180000 DT_SIZE_K(36)>;
			label = "OCRAM_S CODE";
		};

		ocram_s_sys: memory@20180000 {
			device_type = "memory";
			compatible = "nxp,imx-sys-bus";
			reg = <0x20180000 DT_SIZE_K(36)>;
			label = "OCRAM_S SYSTEM";
		};

		ddr_code: code@80000000 {
			device_type = "memory";
			compatible = "nxp,imx-code-bus";
			reg = <0x80000000 DT_SIZE_M(2)>;
			label = "DDR CODE";
		};

		ddr_sys: memory@80200000 {
			device_type = "memory";
			compatible = "nxp,imx-sys-bus";
			reg = <0x80200000 DT_SIZE_M(2)>;
			label = "DDR SYSTEM";
		};

		ccm: ccm@30380000 {
			compatible = "nxp,imx-ccm";
			reg = <0x30380000 DT_SIZE_K(64)>;
			label = "CCM";
			#clock-cells = <3>;
		};

		/*
		 * For now only UART4 is supported and
		 * tested with the serial driver
		 */
		uart4: uart@30a60000 {
			compatible = "nxp,imx-iuart";
			reg = <0x30a60000 0x10000>;
			interrupts = <29 3>;
			clocks = <&ccm IMX_CCM_UART_CLK 0x6c 24>;
			label = "UART_4";
			status = "disabled";
		};
	};
};

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