xref: /rk3399_ARM-atf/fdts/morello-fvp.dts (revision 30df8904d0f6973bbce1ecb51f14c1e4725ddf0b)
1e1cbcf96SManoj Kumar/*
2*30df8904SAndre Przywara * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
3e1cbcf96SManoj Kumar *
4e1cbcf96SManoj Kumar * SPDX-License-Identifier: BSD-3-Clause
5e1cbcf96SManoj Kumar */
6e1cbcf96SManoj Kumar
7e1cbcf96SManoj Kumar/dts-v1/;
8e1cbcf96SManoj Kumar#include "morello.dtsi"
9e1cbcf96SManoj Kumar
10e1cbcf96SManoj Kumar/ {
11*30df8904SAndre Przywara	model = "Arm Morello Fixed Virtual Platform";
12e1cbcf96SManoj Kumar
13e1cbcf96SManoj Kumar	chosen {
14fcb0ea19SNikos Nikoleris		stdout-path = "serial0:115200n8";
15e1cbcf96SManoj Kumar	};
16e1cbcf96SManoj Kumar
17e1cbcf96SManoj Kumar	reserved-memory {
18e1cbcf96SManoj Kumar		#address-cells = <2>;
19e1cbcf96SManoj Kumar		#size-cells = <2>;
20e1cbcf96SManoj Kumar		ranges;
21e1cbcf96SManoj Kumar
22e1cbcf96SManoj Kumar		secure-firmware@ff000000 {
23e1cbcf96SManoj Kumar			reg = <0 0xff000000 0 0x01000000>;
24e1cbcf96SManoj Kumar			no-map;
25e1cbcf96SManoj Kumar		};
26e1cbcf96SManoj Kumar	};
27e1cbcf96SManoj Kumar
28e1cbcf96SManoj Kumar	cpus {
29e1cbcf96SManoj Kumar		#address-cells = <2>;
30e1cbcf96SManoj Kumar		#size-cells = <0>;
31387a9065SAnurag Koul
32387a9065SAnurag Koul		cpu-map {
33387a9065SAnurag Koul			cluster0 {
34387a9065SAnurag Koul				core0 {
35387a9065SAnurag Koul					cpu = <&CPU0>;
36387a9065SAnurag Koul				};
37387a9065SAnurag Koul				core1 {
38387a9065SAnurag Koul					cpu = <&CPU1>;
39387a9065SAnurag Koul				};
40387a9065SAnurag Koul			};
41387a9065SAnurag Koul			cluster1 {
42387a9065SAnurag Koul				core0 {
43387a9065SAnurag Koul					cpu = <&CPU2>;
44387a9065SAnurag Koul				};
45387a9065SAnurag Koul				core1 {
46387a9065SAnurag Koul					cpu = <&CPU3>;
47387a9065SAnurag Koul				};
48387a9065SAnurag Koul			};
49387a9065SAnurag Koul		};
50387a9065SAnurag Koul		CPU0: cpu0@0 {
51e1cbcf96SManoj Kumar			compatible = "arm,armv8";
52e1cbcf96SManoj Kumar			reg = <0x0 0x0>;
53e1cbcf96SManoj Kumar			device_type = "cpu";
54e1cbcf96SManoj Kumar			enable-method = "psci";
55e1cbcf96SManoj Kumar			clocks = <&scmi_dvfs 0>;
56e1cbcf96SManoj Kumar		};
57387a9065SAnurag Koul		CPU1: cpu1@100 {
58e1cbcf96SManoj Kumar			compatible = "arm,armv8";
59e1cbcf96SManoj Kumar			reg = <0x0 0x100>;
60e1cbcf96SManoj Kumar			device_type = "cpu";
61e1cbcf96SManoj Kumar			enable-method = "psci";
62e1cbcf96SManoj Kumar			clocks = <&scmi_dvfs 0>;
63e1cbcf96SManoj Kumar		};
64387a9065SAnurag Koul		CPU2: cpu2@10000 {
65e1cbcf96SManoj Kumar			compatible = "arm,armv8";
66e1cbcf96SManoj Kumar			reg = <0x0 0x10000>;
67e1cbcf96SManoj Kumar			device_type = "cpu";
68e1cbcf96SManoj Kumar			enable-method = "psci";
69387a9065SAnurag Koul			clocks = <&scmi_dvfs 1>;
70e1cbcf96SManoj Kumar		};
71387a9065SAnurag Koul		CPU3: cpu3@10100 {
72e1cbcf96SManoj Kumar			compatible = "arm,armv8";
73e1cbcf96SManoj Kumar			reg = <0x0 0x10100>;
74e1cbcf96SManoj Kumar			device_type = "cpu";
75e1cbcf96SManoj Kumar			enable-method = "psci";
76387a9065SAnurag Koul			clocks = <&scmi_dvfs 1>;
77e1cbcf96SManoj Kumar		};
78e1cbcf96SManoj Kumar	};
79e1cbcf96SManoj Kumar
80e1cbcf96SManoj Kumar	/* The first bank of memory, memory map is actually provided by UEFI. */
81e1cbcf96SManoj Kumar	memory@80000000 {
82e1cbcf96SManoj Kumar		#address-cells = <2>;
83e1cbcf96SManoj Kumar		#size-cells = <2>;
84e1cbcf96SManoj Kumar		device_type = "memory";
85e1cbcf96SManoj Kumar		/* [0x80000000-0xffffffff] */
86e1cbcf96SManoj Kumar		reg = <0x00000000 0x80000000 0x0 0x80000000>;
87e1cbcf96SManoj Kumar	};
88e1cbcf96SManoj Kumar
89e1cbcf96SManoj Kumar	memory@8080000000 {
90e1cbcf96SManoj Kumar		#address-cells = <2>;
91e1cbcf96SManoj Kumar		#size-cells = <2>;
92e1cbcf96SManoj Kumar		device_type = "memory";
93e1cbcf96SManoj Kumar		/* [0x8080000000-0x83ffffffff] */
94e1cbcf96SManoj Kumar		reg = <0x00000080 0x80000000 0x1 0x80000000>;
95e1cbcf96SManoj Kumar	};
96e1cbcf96SManoj Kumar
97e1cbcf96SManoj Kumar	virtio_block@1c170000 {
98e1cbcf96SManoj Kumar		compatible = "virtio,mmio";
99e1cbcf96SManoj Kumar		reg = <0x0 0x1c170000 0x0 0x200>;
100e1cbcf96SManoj Kumar		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
101e1cbcf96SManoj Kumar	};
102e1cbcf96SManoj Kumar
103de7091a1SJessica Clarke	virtio_net@1c180000 {
104de7091a1SJessica Clarke		compatible = "virtio,mmio";
105de7091a1SJessica Clarke		reg = <0x0 0x1c180000 0x0 0x200>;
106de7091a1SJessica Clarke		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
107de7091a1SJessica Clarke	};
108de7091a1SJessica Clarke
109390181a4SJagadeesh Ujja	virtio_rng@1c190000 {
1105c336e06SJessica Clarke		compatible = "virtio,mmio";
111390181a4SJagadeesh Ujja		reg = <0x0 0x1c190000 0x0 0x200>;
112390181a4SJagadeesh Ujja		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
113390181a4SJagadeesh Ujja	};
114390181a4SJagadeesh Ujja
1154bf98b27Ssah01	virtio_p9@1c1a0000 {
1164bf98b27Ssah01		compatible = "virtio,mmio";
1174bf98b27Ssah01		reg = <0x0 0x1c1a0000 0x0 0x200>;
1184bf98b27Ssah01		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1194bf98b27Ssah01	};
1204bf98b27Ssah01
121e1cbcf96SManoj Kumar	ethernet@1d100000 {
122e1cbcf96SManoj Kumar		compatible = "smsc,lan91c111";
123e1cbcf96SManoj Kumar		reg = <0x0 0x1d100000 0x0 0x10000>;
124e1cbcf96SManoj Kumar		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
125e1cbcf96SManoj Kumar	};
126e1cbcf96SManoj Kumar
127e1cbcf96SManoj Kumar	kmi@1c150000 {
128e1cbcf96SManoj Kumar		compatible = "arm,pl050", "arm,primecell";
129e1cbcf96SManoj Kumar		reg = <0x0 0x1c150000 0x0 0x1000>;
130e1cbcf96SManoj Kumar		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
131e1cbcf96SManoj Kumar		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
132e1cbcf96SManoj Kumar		clock-names = "KMIREFCLK", "apb_pclk";
133e1cbcf96SManoj Kumar	};
134e1cbcf96SManoj Kumar
135e1cbcf96SManoj Kumar	kmi@1c160000 {
136e1cbcf96SManoj Kumar		compatible = "arm,pl050", "arm,primecell";
137e1cbcf96SManoj Kumar		reg = <0x0 0x1c160000 0x0 0x1000>;
138e1cbcf96SManoj Kumar		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
139e1cbcf96SManoj Kumar		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
140e1cbcf96SManoj Kumar		clock-names = "KMIREFCLK", "apb_pclk";
141e1cbcf96SManoj Kumar	};
142e1cbcf96SManoj Kumar
143e1cbcf96SManoj Kumar	firmware {
144e1cbcf96SManoj Kumar		scmi {
145e1cbcf96SManoj Kumar			compatible = "arm,scmi";
146e1cbcf96SManoj Kumar			mbox-names = "tx", "rx";
147e1cbcf96SManoj Kumar			mboxes = <&mailbox 1 0 &mailbox 1 1>;
148e1cbcf96SManoj Kumar			shmem = <&cpu_scp_hpri0 &cpu_scp_hpri1>;
149e1cbcf96SManoj Kumar			#address-cells = <1>;
150e1cbcf96SManoj Kumar			#size-cells = <0>;
151e1cbcf96SManoj Kumar
152e1cbcf96SManoj Kumar			scmi_dvfs: protocol@13 {
153e1cbcf96SManoj Kumar				reg = <0x13>;
154e1cbcf96SManoj Kumar				#clock-cells = <1>;
155e1cbcf96SManoj Kumar			};
156e1cbcf96SManoj Kumar		};
157e1cbcf96SManoj Kumar	};
158e1cbcf96SManoj Kumar
159e1cbcf96SManoj Kumar	bp_clock24mhz: clock24mhz {
160e1cbcf96SManoj Kumar		compatible = "fixed-clock";
161e1cbcf96SManoj Kumar		#clock-cells = <0>;
162e1cbcf96SManoj Kumar		clock-frequency = <24000000>;
163e1cbcf96SManoj Kumar		clock-output-names = "bp:clock24mhz";
164e1cbcf96SManoj Kumar	};
165e1cbcf96SManoj Kumar};
166e1cbcf96SManoj Kumar
167e1cbcf96SManoj Kumar&gic {
168e1cbcf96SManoj Kumar	reg = <0x0 0x30000000 0 0x10000>,	/* GICD */
169e1cbcf96SManoj Kumar	      <0x0 0x300c0000 0 0x80000>;	/* GICR */
170e1cbcf96SManoj Kumar	interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
171e1cbcf96SManoj Kumar};
172