blob: 3c83cf5a4a18a3ee7324fbacd78db30ec149a80a [file] [log] [blame]
/*
* Copyright (c) 2018-2019 Linaro Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <mem.h>
#include <arm/armv8-m.dtsi>
#include <zephyr/dt-bindings/i2c/i2c.h>
/ {
compatible = "arm,mps2";
#address-cells = <1>;
#size-cells = <1>;
aliases {
led0 = &led_0;
led1 = &led_1;
sw0 = &user_button_0;
sw1 = &user_button_1;
uart-1 = &uart1;
watchdog0 = &wdog0;
};
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
/*
* These SRAM and flash settings give the entire available
* code and data memories to this secure firmware image.
* This may conflict with mps2_an521_remote firmware. Use
* caution when using both targets simultaneously.
*/
zephyr,sram = &ssram2_3;
zephyr,flash = &ssram1;
};
leds {
compatible = "gpio-leds";
led_0: led_0 {
gpios = <&gpio_led0 0>;
label = "USERLED0";
};
led_1: led_1 {
gpios = <&gpio_led0 1>;
label = "USERLED1";
};
};
gpio_keys {
compatible = "gpio-keys";
user_button_0: button_0 {
label = "USERPB0";
gpios = <&gpio_button 0>;
};
user_button_1: button_1 {
label = "USERPB1";
gpios = <&gpio_button 1>;
};
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-m33";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
mpu: mpu@e000ed90 {
compatible = "arm,armv8m-mpu";
reg = <0xe000ed90 0x40>;
arm,num-mpu-regions = <16>;
};
};
};
/*
* The memory regions defined below are according to AN521:
* https://documentation-service.arm.com/static/5fa12fe9b1a7c5445f29017f
*
* Please see tables mentioned in individual comments below for details.
*/
ssram1: memory@10000000 {
/* Table 3-2, row 6. */
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x10000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SSRAM1";
};
ssram2_3: memory@38000000 {
/* Table 3-4, rows 16 and 17. */
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x38000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SSRAM2_3";
};
psram: memory@80000000 {
/* Table 3-6, row 1. */
device_type = "memory";
reg = <0x80000000 DT_SIZE_M(16)>;
};
soc {
peripheral@50000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x50000000 0x10000000>;
#include "mps2_an521-common.dtsi"
};
};
};
&nvic {
arm,num-irq-priority-bits = <3>;
};
&uart1 {
status = "okay";
};