| /* |
| * Copyright (c) 2018-2021 Linaro Limited |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| |
| #include <arm/armv8.1-m.dtsi> |
| #include <zephyr/dt-bindings/i2c/i2c.h> |
| #include <mem.h> |
| |
| / { |
| compatible = "arm,mps3-an547"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| aliases { |
| led0 = &led_0; |
| led1 = &led_1; |
| sw0 = &user_button_0; |
| sw1 = &user_button_1; |
| }; |
| |
| chosen { |
| zephyr,console = &uart0; |
| zephyr,shell-uart = &uart0; |
| zephyr,sram = &dtcm; |
| zephyr,flash = &itcm; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| led_0: led_0 { |
| gpios = <&gpio_led0 0>; |
| label = "USERLED0"; |
| }; |
| led_1: led_1 { |
| gpios = <&gpio_led0 1>; |
| label = "USERLED1"; |
| }; |
| led_2: led_2 { |
| gpios = <&gpio_led0 2>; |
| label = "USERLED2"; |
| }; |
| led_3: led_3 { |
| gpios = <&gpio_led0 3>; |
| label = "USERLED3"; |
| }; |
| led_4: led_4 { |
| gpios = <&gpio_led0 4>; |
| label = "USERLED4"; |
| }; |
| led_5: led_5 { |
| gpios = <&gpio_led0 5>; |
| label = "USERLED5"; |
| }; |
| led_6: led_6 { |
| gpios = <&gpio_led0 6>; |
| label = "USERLED6"; |
| }; |
| led_7: led_7 { |
| gpios = <&gpio_led0 7>; |
| label = "USERLED7"; |
| }; |
| led_8: led_8 { |
| gpios = <&gpio_led0 8>; |
| label = "PB1LED"; |
| }; |
| led_9: led_9 { |
| gpios = <&gpio_led0 9>; |
| label = "PB2LED"; |
| }; |
| }; |
| |
| 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-m55"; |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| mpu: mpu@e000ed90 { |
| compatible = "arm,armv8.1m-mpu"; |
| reg = <0xe000ed90 0x40>; |
| arm,num-mpu-regions = <16>; |
| }; |
| }; |
| }; |
| |
| /* We utilize the secure addresses, if you subtract 0x10000000 |
| * you'll get the non-secure alias |
| */ |
| itcm: itcm@10000000 { /* alias @ 0x0 */ |
| compatible = "zephyr,memory-region"; |
| reg = <0x10000000 DT_SIZE_K(512)>; |
| zephyr,memory-region = "ITCM"; |
| }; |
| |
| sram: sram@11000000 { /* alias @ 0x01000000 */ |
| compatible = "mmio-sram"; |
| reg = <0x11000000 DT_SIZE_M(2)>; |
| }; |
| |
| dtcm: dtcm@30000000 { /* alias @ 0x20000000 */ |
| compatible = "zephyr,memory-region"; |
| reg = <0x30000000 DT_SIZE_K(512)>; |
| zephyr,memory-region = "DTCM"; |
| }; |
| |
| isram: sram@31000000 {/* alias @ 0x21000000 */ |
| compatible = "mmio-sram"; |
| reg = <0x31000000 DT_SIZE_M(4)>; |
| }; |
| |
| /* DDR4 - 2G, alternates non-secure/secure every 256M */ |
| ddr4: memory@60000000 { |
| device_type = "memory"; |
| reg = <0x60000000 DT_SIZE_M(256) |
| 0x70000000 DT_SIZE_M(256) |
| 0x80000000 DT_SIZE_M(256) |
| 0x90000000 DT_SIZE_M(256) |
| 0xa0000000 DT_SIZE_M(256) |
| 0xb0000000 DT_SIZE_M(256) |
| 0xc0000000 DT_SIZE_M(256) |
| 0xd0000000 DT_SIZE_M(256)>; |
| }; |
| |
| soc { |
| peripheral@50000000 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x50000000 0x10000000>; |
| |
| #include "mps3_an547-common.dtsi" |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <3>; |
| }; |