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