blob: 4ad2c96beb88de0dbe0babb4b537c83331aac46b [file] [log] [blame]
/*
* 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>;
};
gpio1: gpio@30200000 {
compatible = "nxp,imx-gpio";
reg = <0x30200000 DT_SIZE_K(64)>;
interrupts = <64 0>, <65 0>;
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
label = "GPIO_1";
gpio-controller;
#gpio-cells = <2>;
status = "disabled";
};
gpio2: gpio@30210000 {
compatible = "nxp,imx-gpio";
reg = <0x30210000 DT_SIZE_K(64)>;
interrupts = <66 0>, <67 0>;
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
label = "GPIO_2";
gpio-controller;
#gpio-cells = <2>;
status = "disabled";
};
gpio3: gpio@30220000 {
compatible = "nxp,imx-gpio";
reg = <0x30220000 DT_SIZE_K(64)>;
interrupts = <68 0>, <69 0>;
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
label = "GPIO_3";
gpio-controller;
#gpio-cells = <2>;
status = "disabled";
};
gpio4: gpio@30230000 {
compatible = "nxp,imx-gpio";
reg = <0x30230000 DT_SIZE_K(64)>;
interrupts = <70 0>, <71 0>;
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
label = "GPIO_4";
gpio-controller;
#gpio-cells = <2>;
status = "disabled";
};
gpio5: gpio@30240000 {
compatible = "nxp,imx-gpio";
reg = <0x30240000 DT_SIZE_K(64)>;
interrupts = <72 0>, <73 0>;
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
label = "GPIO_5";
gpio-controller;
#gpio-cells = <2>;
status = "disabled";
};
/*
* 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_UART4_CLK 0x6c 24>;
label = "UART_4";
status = "disabled";
};
mailbox0: mailbox@30ab0000 {
compatible = "nxp,imx-mu";
reg = <0x30ab0000 DT_SIZE_K(64)>;
interrupts = <97 0>;
label = "MAILBOX_0";
rdc = <(RDC_DOMAIN_PERM(A7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW)|\
RDC_DOMAIN_PERM(M7_DOMAIN_ID,\
RDC_DOMAIN_PERM_RW))>;
status = "disabled";
};
};
};
&nvic {
arm,num-irq-priority-bits = <4>;
};