13ac3b6b0SBoyan Karatotev/* 23ac3b6b0SBoyan Karatotev * Copyright (c) 2020-2024, Arm Limited. All rights reserved. 33ac3b6b0SBoyan Karatotev * 43ac3b6b0SBoyan Karatotev * SPDX-License-Identifier: BSD-3-Clause 53ac3b6b0SBoyan Karatotev */ 66dacc272SBoyan Karatotev#include <platform_def.h> 76dacc272SBoyan Karatotev 83ac3b6b0SBoyan Karatotev/ { 93ac3b6b0SBoyan Karatotev compatible = "arm,ffa-core-manifest-1.0"; 103ac3b6b0SBoyan Karatotev #address-cells = <2>; 113ac3b6b0SBoyan Karatotev #size-cells = <2>; 123ac3b6b0SBoyan Karatotev 133ac3b6b0SBoyan Karatotev attribute { 143ac3b6b0SBoyan Karatotev spmc_id = <0x8000>; 153ac3b6b0SBoyan Karatotev maj_ver = <0x1>; 16*838eb53dSJ-Alves min_ver = <0x3>; 173ac3b6b0SBoyan Karatotev exec_state = <0x0>; 183ac3b6b0SBoyan Karatotev load_address = <0x0 0xfd000000>; 193ac3b6b0SBoyan Karatotev entrypoint = <0x0 0xfd000000>; 203ac3b6b0SBoyan Karatotev binary_size = <0x80000>; 213ac3b6b0SBoyan Karatotev }; 223ac3b6b0SBoyan Karatotev 233ac3b6b0SBoyan Karatotev hafnium:hypervisor { 243ac3b6b0SBoyan Karatotev compatible = "hafnium,hafnium"; 253ac3b6b0SBoyan Karatotev /* filled in in top level .dts */ 263ac3b6b0SBoyan Karatotev }; 273ac3b6b0SBoyan Karatotev 283ac3b6b0SBoyan Karatotev cpus { 293ac3b6b0SBoyan Karatotev #address-cells = <0x2>; 303ac3b6b0SBoyan Karatotev #size-cells = <0x0>; 313ac3b6b0SBoyan Karatotev 323ac3b6b0SBoyan Karatotev CPU0:cpu@0 { 333ac3b6b0SBoyan Karatotev device_type = "cpu"; 343ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 353ac3b6b0SBoyan Karatotev reg = <0x0 0x0>; 363ac3b6b0SBoyan Karatotev enable-method = "psci"; 373ac3b6b0SBoyan Karatotev }; 383ac3b6b0SBoyan Karatotev 393ac3b6b0SBoyan Karatotev /* 403ac3b6b0SBoyan Karatotev * SPMC (Hafnium) requires secondary cpu nodes are declared in 413ac3b6b0SBoyan Karatotev * descending order 423ac3b6b0SBoyan Karatotev */ 433ac3b6b0SBoyan Karatotev CPU7:cpu@700 { 443ac3b6b0SBoyan Karatotev device_type = "cpu"; 453ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 463ac3b6b0SBoyan Karatotev reg = <0x0 0x700>; 473ac3b6b0SBoyan Karatotev enable-method = "psci"; 483ac3b6b0SBoyan Karatotev }; 493ac3b6b0SBoyan Karatotev 503ac3b6b0SBoyan Karatotev CPU6:cpu@600 { 513ac3b6b0SBoyan Karatotev device_type = "cpu"; 523ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 533ac3b6b0SBoyan Karatotev reg = <0x0 0x600>; 543ac3b6b0SBoyan Karatotev enable-method = "psci"; 553ac3b6b0SBoyan Karatotev }; 563ac3b6b0SBoyan Karatotev 573ac3b6b0SBoyan Karatotev CPU5:cpu@500 { 583ac3b6b0SBoyan Karatotev device_type = "cpu"; 593ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 603ac3b6b0SBoyan Karatotev reg = <0x0 0x500>; 613ac3b6b0SBoyan Karatotev enable-method = "psci"; 623ac3b6b0SBoyan Karatotev }; 633ac3b6b0SBoyan Karatotev 643ac3b6b0SBoyan Karatotev CPU4:cpu@400 { 653ac3b6b0SBoyan Karatotev device_type = "cpu"; 663ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 673ac3b6b0SBoyan Karatotev reg = <0x0 0x400>; 683ac3b6b0SBoyan Karatotev enable-method = "psci"; 693ac3b6b0SBoyan Karatotev }; 703ac3b6b0SBoyan Karatotev 713ac3b6b0SBoyan Karatotev CPU3:cpu@300 { 723ac3b6b0SBoyan Karatotev device_type = "cpu"; 733ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 743ac3b6b0SBoyan Karatotev reg = <0x0 0x300>; 753ac3b6b0SBoyan Karatotev enable-method = "psci"; 763ac3b6b0SBoyan Karatotev }; 773ac3b6b0SBoyan Karatotev 783ac3b6b0SBoyan Karatotev CPU2:cpu@200 { 793ac3b6b0SBoyan Karatotev device_type = "cpu"; 803ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 813ac3b6b0SBoyan Karatotev reg = <0x0 0x200>; 823ac3b6b0SBoyan Karatotev enable-method = "psci"; 833ac3b6b0SBoyan Karatotev }; 843ac3b6b0SBoyan Karatotev 853ac3b6b0SBoyan Karatotev CPU1:cpu@100 { 863ac3b6b0SBoyan Karatotev device_type = "cpu"; 873ac3b6b0SBoyan Karatotev compatible = "arm,armv8"; 883ac3b6b0SBoyan Karatotev reg = <0x0 0x100>; 893ac3b6b0SBoyan Karatotev enable-method = "psci"; 903ac3b6b0SBoyan Karatotev }; 913ac3b6b0SBoyan Karatotev }; 923ac3b6b0SBoyan Karatotev 936dacc272SBoyan Karatotev /* the full secure world range */ 943ac3b6b0SBoyan Karatotev memory@0 { 953ac3b6b0SBoyan Karatotev device_type = "memory"; 966dacc272SBoyan Karatotev reg = <0x0 TC_TZC_DRAM1_BASE 0x0 TC_TZC_DRAM1_SIZE>, 973ac3b6b0SBoyan Karatotev <0x0 0xff000000 0x0 0x1000000>; 983ac3b6b0SBoyan Karatotev }; 993ac3b6b0SBoyan Karatotev 1003ac3b6b0SBoyan Karatotev memory@1 { 1013ac3b6b0SBoyan Karatotev device_type = "ns-memory"; 10262269d47SDavidson K reg = <0x0 TC_NS_DRAM1_BASE 0x0 TC_NS_DRAM1_SIZE>, 1036dacc272SBoyan Karatotev <HI(PLAT_ARM_DRAM2_BASE) LO(PLAT_ARM_DRAM2_BASE) 1046dacc272SBoyan Karatotev HI(TC_NS_DRAM2_SIZE) LO(TC_NS_DRAM2_SIZE)>; 1053ac3b6b0SBoyan Karatotev }; 10645716e37SDaniel Boulby 10745716e37SDaniel Boulby memory@2 { 10845716e37SDaniel Boulby device_type = "device-memory"; 1095e471120SJ-Alves reg = <0x0 0x25000000 0x0 0x10000>; /* For cactus tertiary dummy device. */ 11045716e37SDaniel Boulby }; 111880dcd0dSDavidson K 112880dcd0dSDavidson K s_uart { 113880dcd0dSDavidson K device_type = "device-memory"; 114880dcd0dSDavidson K reg = <0x0 PLAT_ARM_BOOT_UART_BASE 0x0 0x01000>; 115880dcd0dSDavidson K }; 11662269d47SDavidson K 11762269d47SDavidson K#ifdef TS_SP_FW_CONFIG 11862269d47SDavidson K ns_flash { 11962269d47SDavidson K device_type = "ns-device-memory"; 12062269d47SDavidson K reg = <0x0 V2M_FLASH0_BASE 0x0 V2M_FLASH0_SIZE>; 12162269d47SDavidson K }; 12262269d47SDavidson K#endif 1233ac3b6b0SBoyan Karatotev}; 124