1/*
2 * Copyright 2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <arm/armv8.1-m.dtsi>
10#include <zephyr/dt-bindings/i2c/i2c.h>
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12#include <mem.h>
13#include "mps3_common.dtsi"
14
15/ {
16	compatible = "arm,mps3-fvp";
17	#address-cells = <1>;
18	#size-cells = <1>;
19
20	chosen {
21		zephyr,console = &uart0;
22		zephyr,shell-uart = &uart0;
23		zephyr,sram = &dtcm;
24		zephyr,flash = &itcm;
25	};
26
27	cpus {
28		#address-cells = <1>;
29		#size-cells = <0>;
30
31		cpu@0 {
32			device_type = "cpu";
33			compatible = "arm,cortex-m85";
34			reg = <0>;
35			#address-cells = <1>;
36			#size-cells = <1>;
37
38			mpu: mpu@e000ed90 {
39				compatible = "arm,armv8.1m-mpu";
40				reg = <0xe000ed90 0x40>;
41			};
42		};
43	};
44
45	ethosu {
46		#address-cells = <1>;
47		#size-cells = <0>;
48		interrupt-parent = <&nvic>;
49
50		ethosu0: ethosu@50004000 {
51			compatible = "arm,ethos-u";
52			reg = <0x50004000>;
53			interrupts = <16 3>;
54			secure-enable;
55			privilege-enable;
56			status = "okay";
57		};
58	};
59
60	/* We utilize the secure addresses, if you subtract 0x10000000
61	 * you'll get the non-secure alias
62	 */
63	itcm: itcm@10000000 {	/* alias @ 0x0 */
64		compatible = "zephyr,memory-region";
65		reg = <0x10000000 DT_SIZE_K(32)>;
66		zephyr,memory-region = "ITCM";
67	};
68
69	sram: sram@11000000 {	/* alias @ 0x01000000 */
70		compatible = "zephyr,memory-region", "mmio-sram";
71		reg = <0x11000000 DT_SIZE_M(2)>;
72		zephyr,memory-region = "SRAM";
73	};
74
75	dtcm: dtcm@30000000 {	/* alias @ 0x20000000 */
76		compatible = "zephyr,memory-region";
77		reg = <0x30000000 DT_SIZE_K(32)>;
78		zephyr,memory-region = "DTCM";
79	};
80
81	isram: sram@31000000 {/* alias @ 0x21000000 */
82		compatible = "zephyr,memory-region", "mmio-sram";
83		reg = <0x31000000 DT_SIZE_M(4)>;
84		zephyr,memory-region = "ISRAM";
85	};
86
87	soc {
88		peripheral@50000000 {
89			#address-cells = <1>;
90			#size-cells = <1>;
91			ranges = <0x0 0x50000000 0x10000000>;
92
93			#include "mps3_common_soc_peripheral.dtsi"
94		};
95	};
96};
97