xref: /rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts (revision 90b186e8724cf128dab888e354500904f1af2f4a)
10cb64d01SAchin Gupta/*
2015c76d8SBoyan Karatotev * Copyright (c) 2020-2025, Arm Limited. All rights reserved.
30cb64d01SAchin Gupta *
40cb64d01SAchin Gupta * SPDX-License-Identifier: BSD-3-Clause
50cb64d01SAchin Gupta */
60cb64d01SAchin Gupta/dts-v1/;
70cb64d01SAchin Gupta
82111b002SOlivier Deprez#define	AFF	00
92111b002SOlivier Deprez
102111b002SOlivier Deprez#include "fvp-defs.dtsi"
112111b002SOlivier Deprez#undef POST
122111b002SOlivier Deprez#define	POST \
132111b002SOlivier Deprez	};
142111b002SOlivier Deprez
150cb64d01SAchin Gupta/ {
16662af36dSJ-Alves	compatible = "arm,ffa-core-manifest-1.0";
17662af36dSJ-Alves	#address-cells = <2>;
187f28179aSJ-Alves	#size-cells = <2>;
190cb64d01SAchin Gupta
200cb64d01SAchin Gupta	attribute {
21ac03ac5eSMax Shvetsov		spmc_id = <0x8000>;
22662af36dSJ-Alves		maj_ver = <0x1>;
23*dd87b735SJ-Alves		min_ver = <0x3>;
240cb64d01SAchin Gupta		exec_state = <0x0>;
250cb64d01SAchin Gupta		load_address = <0x0 0x6000000>;
260cb64d01SAchin Gupta		entrypoint = <0x0 0x6000000>;
272111b002SOlivier Deprez		binary_size = <0x80000>;
280cb64d01SAchin Gupta	};
293d5ed6deSOlivier Deprez
303d5ed6deSOlivier Deprez	hypervisor {
313d5ed6deSOlivier Deprez		compatible = "hafnium,hafnium";
323d5ed6deSOlivier Deprez		vm1 {
33662af36dSJ-Alves			is_ffa_partition;
343d5ed6deSOlivier Deprez			debug_name = "cactus-primary";
35d7b5f026SLouis Mayencourt			load_address = <0x7000000>;
3689832ac9SOlivier Deprez			vcpu_count = <8>;
37dcd8d7f1SJ-Alves			mem_size = <0x100000>;
3820324013SMadhukar Pappireddy			/*
3920324013SMadhukar Pappireddy			 * Platform specific SiP SMC call handled at EL3. Used
4020324013SMadhukar Pappireddy			 * to pend an interrupt for testing purpose.
4120324013SMadhukar Pappireddy			 */
4220324013SMadhukar Pappireddy			smc_whitelist = <0x82000100>;
433d5ed6deSOlivier Deprez		};
443d5ed6deSOlivier Deprez		vm2 {
45662af36dSJ-Alves			is_ffa_partition;
463d5ed6deSOlivier Deprez			debug_name = "cactus-secondary";
47d7b5f026SLouis Mayencourt			load_address = <0x7100000>;
4895879319SOlivier Deprez			vcpu_count = <8>;
49dcd8d7f1SJ-Alves			mem_size = <0x100000>;
503d5ed6deSOlivier Deprez		};
519de91c75SRuari Phipps		vm3 {
529de91c75SRuari Phipps			is_ffa_partition;
539de91c75SRuari Phipps			debug_name = "cactus-tertiary";
549de91c75SRuari Phipps			load_address = <0x7200000>;
55e96fc8e7SOlivier Deprez			vcpu_count = <1>;
56dcd8d7f1SJ-Alves			mem_size = <0x300000>;
579de91c75SRuari Phipps		};
581bc02c2eSDaniel Boulby		vm4 {
591bc02c2eSDaniel Boulby			is_ffa_partition;
601bc02c2eSDaniel Boulby			debug_name = "ivy";
611bc02c2eSDaniel Boulby			load_address = <0x7600000>;
621bc02c2eSDaniel Boulby			vcpu_count = <1>;
63dcd8d7f1SJ-Alves			mem_size = <0x100000>;
641bc02c2eSDaniel Boulby		};
653d5ed6deSOlivier Deprez	};
663d5ed6deSOlivier Deprez
673d5ed6deSOlivier Deprez	cpus {
683d5ed6deSOlivier Deprez		#address-cells = <0x2>;
693d5ed6deSOlivier Deprez		#size-cells = <0x0>;
703d5ed6deSOlivier Deprez
712111b002SOlivier Deprez		CPU_0
72d0d63afeSOlivier Deprez
73d0d63afeSOlivier Deprez		/*
74d0d63afeSOlivier Deprez		 * SPMC (Hafnium) requires secondary core nodes are declared
75d0d63afeSOlivier Deprez		 * in descending order.
76d0d63afeSOlivier Deprez		 */
772111b002SOlivier Deprez		CPU_7
782111b002SOlivier Deprez		CPU_6
792111b002SOlivier Deprez		CPU_5
802111b002SOlivier Deprez		CPU_4
812111b002SOlivier Deprez		CPU_3
822111b002SOlivier Deprez		CPU_2
832111b002SOlivier Deprez		CPU_1
843d5ed6deSOlivier Deprez	};
853d5ed6deSOlivier Deprez
867f28179aSJ-Alves	memory@0 {
873d5ed6deSOlivier Deprez		device_type = "memory";
887f28179aSJ-Alves		reg = <0x0 0xfd000000 0x0 0x2000000>,
897f28179aSJ-Alves		      <0x0 0x7000000 0x0 0x1000000>,
907f28179aSJ-Alves		      <0x0 0xff000000 0x0 0x1000000>;
917f28179aSJ-Alves	};
927f28179aSJ-Alves
937f28179aSJ-Alves	memory@1 {
947f28179aSJ-Alves		device_type = "ns-memory";
95b7491c77SJ-Alves		reg = <0x0 0x80000000 0x0 0x7c000000>,
96b7491c77SJ-Alves		      <0x8 0x80000000 0x1 0x80000000>,
97b7491c77SJ-Alves		      <0x00008800 0x80000000 0x0 0x7f000000>;
983d5ed6deSOlivier Deprez	};
99054f0fe1SOlivier Deprez
10045716e37SDaniel Boulby	memory@2 {
10145716e37SDaniel Boulby		device_type = "device-memory";
102cd656a56SDaniel Boulby		reg = <0x0 0x1c0b0000 0x0 0x20000>, /* UART 2-3 */
103015c76d8SBoyan Karatotev		      <0x0 0x2b500000 0x0 0x20000>, /* SMMUv3TestEngine */
10445716e37SDaniel Boulby		      <0x0 0x2a490000 0x0 0x20000>, /* SP805 Trusted Watchdog */
10545716e37SDaniel Boulby		      <0x0 0x1c130000 0x0 0x10000>; /* Virtio block device */
10645716e37SDaniel Boulby	};
10745716e37SDaniel Boulby
108cd656a56SDaniel Boulby	memory@3 {
109cd656a56SDaniel Boulby		device_type = "ns-device-memory";
110cd656a56SDaniel Boulby		reg = <0x0 0x1c090000 0x0 0x20000>; /* UART 0-1 */
111cd656a56SDaniel Boulby	};
112cd656a56SDaniel Boulby
11345716e37SDaniel Boulby
114054f0fe1SOlivier Deprez#if MEASURED_BOOT
115054f0fe1SOlivier Deprez#include "event_log.dtsi"
116054f0fe1SOlivier Deprez#endif
1170cb64d01SAchin Gupta};
118