blob: 69c2abcbf4791d9df5d40262fcd2a7754579b57a [file] [log] [blame]
Manoj Kumar779e4152020-07-31 12:32:36 +01001/*
Andre Przywara60b126a2022-03-24 11:55:57 +00002 * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
Manoj Kumar779e4152020-07-31 12:32:36 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/dts-v1/;
8#include "morello.dtsi"
9
10/ {
Andre Przywara60b126a2022-03-24 11:55:57 +000011 model = "Arm Morello Fixed Virtual Platform";
Manoj Kumar779e4152020-07-31 12:32:36 +010012
13 chosen {
Nikos Nikoleris35800bd2021-01-21 13:50:25 +000014 stdout-path = "serial0:115200n8";
Manoj Kumar779e4152020-07-31 12:32:36 +010015 };
16
17 reserved-memory {
18 #address-cells = <2>;
19 #size-cells = <2>;
20 ranges;
21
22 secure-firmware@ff000000 {
23 reg = <0 0xff000000 0 0x01000000>;
24 no-map;
25 };
26 };
27
28 cpus {
29 #address-cells = <2>;
30 #size-cells = <0>;
Anurag Koule97c3842021-05-05 02:32:55 +010031
32 cpu-map {
33 cluster0 {
34 core0 {
35 cpu = <&CPU0>;
36 };
37 core1 {
38 cpu = <&CPU1>;
39 };
40 };
41 cluster1 {
42 core0 {
43 cpu = <&CPU2>;
44 };
45 core1 {
46 cpu = <&CPU3>;
47 };
48 };
49 };
50 CPU0: cpu0@0 {
Manoj Kumar779e4152020-07-31 12:32:36 +010051 compatible = "arm,armv8";
52 reg = <0x0 0x0>;
53 device_type = "cpu";
54 enable-method = "psci";
55 clocks = <&scmi_dvfs 0>;
56 };
Anurag Koule97c3842021-05-05 02:32:55 +010057 CPU1: cpu1@100 {
Manoj Kumar779e4152020-07-31 12:32:36 +010058 compatible = "arm,armv8";
59 reg = <0x0 0x100>;
60 device_type = "cpu";
61 enable-method = "psci";
62 clocks = <&scmi_dvfs 0>;
63 };
Anurag Koule97c3842021-05-05 02:32:55 +010064 CPU2: cpu2@10000 {
Manoj Kumar779e4152020-07-31 12:32:36 +010065 compatible = "arm,armv8";
66 reg = <0x0 0x10000>;
67 device_type = "cpu";
68 enable-method = "psci";
Anurag Koule97c3842021-05-05 02:32:55 +010069 clocks = <&scmi_dvfs 1>;
Manoj Kumar779e4152020-07-31 12:32:36 +010070 };
Anurag Koule97c3842021-05-05 02:32:55 +010071 CPU3: cpu3@10100 {
Manoj Kumar779e4152020-07-31 12:32:36 +010072 compatible = "arm,armv8";
73 reg = <0x0 0x10100>;
74 device_type = "cpu";
75 enable-method = "psci";
Anurag Koule97c3842021-05-05 02:32:55 +010076 clocks = <&scmi_dvfs 1>;
Manoj Kumar779e4152020-07-31 12:32:36 +010077 };
78 };
79
80 /* The first bank of memory, memory map is actually provided by UEFI. */
81 memory@80000000 {
82 #address-cells = <2>;
83 #size-cells = <2>;
84 device_type = "memory";
85 /* [0x80000000-0xffffffff] */
86 reg = <0x00000000 0x80000000 0x0 0x80000000>;
87 };
88
89 memory@8080000000 {
90 #address-cells = <2>;
91 #size-cells = <2>;
92 device_type = "memory";
93 /* [0x8080000000-0x83ffffffff] */
94 reg = <0x00000080 0x80000000 0x1 0x80000000>;
95 };
96
97 virtio_block@1c170000 {
98 compatible = "virtio,mmio";
99 reg = <0x0 0x1c170000 0x0 0x200>;
100 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
101 };
102
Jessica Clarke848a1a32020-10-25 18:18:47 +0000103 virtio_net@1c180000 {
104 compatible = "virtio,mmio";
105 reg = <0x0 0x1c180000 0x0 0x200>;
106 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
107 };
108
Jagadeesh Ujjaf273d6d2020-10-07 13:39:55 +0530109 virtio_rng@1c190000 {
Jessica Clarke60253ae2020-10-25 18:10:24 +0000110 compatible = "virtio,mmio";
Jagadeesh Ujjaf273d6d2020-10-07 13:39:55 +0530111 reg = <0x0 0x1c190000 0x0 0x200>;
112 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
113 };
114
sah01514208a2021-02-12 13:53:05 +0530115 virtio_p9@1c1a0000 {
116 compatible = "virtio,mmio";
117 reg = <0x0 0x1c1a0000 0x0 0x200>;
118 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
119 };
120
Manoj Kumar779e4152020-07-31 12:32:36 +0100121 ethernet@1d100000 {
122 compatible = "smsc,lan91c111";
123 reg = <0x0 0x1d100000 0x0 0x10000>;
124 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
125 };
126
127 kmi@1c150000 {
128 compatible = "arm,pl050", "arm,primecell";
129 reg = <0x0 0x1c150000 0x0 0x1000>;
130 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
131 clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
132 clock-names = "KMIREFCLK", "apb_pclk";
133 };
134
135 kmi@1c160000 {
136 compatible = "arm,pl050", "arm,primecell";
137 reg = <0x0 0x1c160000 0x0 0x1000>;
138 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
139 clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
140 clock-names = "KMIREFCLK", "apb_pclk";
141 };
142
143 firmware {
144 scmi {
145 compatible = "arm,scmi";
146 mbox-names = "tx", "rx";
147 mboxes = <&mailbox 1 0 &mailbox 1 1>;
148 shmem = <&cpu_scp_hpri0 &cpu_scp_hpri1>;
149 #address-cells = <1>;
150 #size-cells = <0>;
151
152 scmi_dvfs: protocol@13 {
153 reg = <0x13>;
154 #clock-cells = <1>;
155 };
156 };
157 };
158
159 bp_clock24mhz: clock24mhz {
160 compatible = "fixed-clock";
161 #clock-cells = <0>;
162 clock-frequency = <24000000>;
163 clock-output-names = "bp:clock24mhz";
164 };
165};
166
167&gic {
168 reg = <0x0 0x30000000 0 0x10000>, /* GICD */
169 <0x0 0x300c0000 0 0x80000>; /* GICR */
170 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
171};