blob: dc3df4180ba953ec583a55fca1866e5766ac3cdf [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 {
Manoj Kumar779e4152020-07-31 12:32:36 +010082 device_type = "memory";
83 /* [0x80000000-0xffffffff] */
84 reg = <0x00000000 0x80000000 0x0 0x80000000>;
85 };
86
87 memory@8080000000 {
Manoj Kumar779e4152020-07-31 12:32:36 +010088 device_type = "memory";
89 /* [0x8080000000-0x83ffffffff] */
90 reg = <0x00000080 0x80000000 0x1 0x80000000>;
91 };
92
93 virtio_block@1c170000 {
94 compatible = "virtio,mmio";
95 reg = <0x0 0x1c170000 0x0 0x200>;
96 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
97 };
98
Jessica Clarke848a1a32020-10-25 18:18:47 +000099 virtio_net@1c180000 {
100 compatible = "virtio,mmio";
101 reg = <0x0 0x1c180000 0x0 0x200>;
102 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
103 };
104
Jagadeesh Ujjaf273d6d2020-10-07 13:39:55 +0530105 virtio_rng@1c190000 {
Jessica Clarke60253ae2020-10-25 18:10:24 +0000106 compatible = "virtio,mmio";
Jagadeesh Ujjaf273d6d2020-10-07 13:39:55 +0530107 reg = <0x0 0x1c190000 0x0 0x200>;
108 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
109 };
110
sah01514208a2021-02-12 13:53:05 +0530111 virtio_p9@1c1a0000 {
112 compatible = "virtio,mmio";
113 reg = <0x0 0x1c1a0000 0x0 0x200>;
114 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
115 };
116
Manoj Kumar779e4152020-07-31 12:32:36 +0100117 ethernet@1d100000 {
118 compatible = "smsc,lan91c111";
119 reg = <0x0 0x1d100000 0x0 0x10000>;
120 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
121 };
122
123 kmi@1c150000 {
124 compatible = "arm,pl050", "arm,primecell";
125 reg = <0x0 0x1c150000 0x0 0x1000>;
126 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
127 clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
128 clock-names = "KMIREFCLK", "apb_pclk";
129 };
130
131 kmi@1c160000 {
132 compatible = "arm,pl050", "arm,primecell";
133 reg = <0x0 0x1c160000 0x0 0x1000>;
134 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
135 clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
136 clock-names = "KMIREFCLK", "apb_pclk";
137 };
138
139 firmware {
140 scmi {
141 compatible = "arm,scmi";
142 mbox-names = "tx", "rx";
Andre Przywara28a21962022-03-24 11:58:10 +0000143 mboxes = <&mailbox 1 0>, <&mailbox 1 1>;
144 shmem = <&cpu_scp_hpri0>, <&cpu_scp_hpri1>;
Manoj Kumar779e4152020-07-31 12:32:36 +0100145 #address-cells = <1>;
146 #size-cells = <0>;
147
148 scmi_dvfs: protocol@13 {
149 reg = <0x13>;
150 #clock-cells = <1>;
151 };
152 };
153 };
154
155 bp_clock24mhz: clock24mhz {
156 compatible = "fixed-clock";
157 #clock-cells = <0>;
158 clock-frequency = <24000000>;
159 clock-output-names = "bp:clock24mhz";
160 };
161};
162
163&gic {
164 reg = <0x0 0x30000000 0 0x10000>, /* GICD */
165 <0x0 0x300c0000 0 0x80000>; /* GICR */
166 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
167};