xref: /rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_manifest.dtsi (revision 90b186e8724cf128dab888e354500904f1af2f4a)
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