/*
 * Copyright (c) 2020-2022, ARM Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include <lib/libc/cdefs.h>

/dts-v1/;

/ {
	tb_fw-config {
		compatible = "arm,tb_fw";

		/* Disable authentication for development */
		disable_auth = <0x0>;

		/*
		 * The following two entries are placeholders for Mbed TLS
		 * heap information. The default values don't matter since
		 * they will be overwritten by BL1.
		 * In case of having shared Mbed TLS heap between BL1 and BL2,
		 * BL1 will populate these two properties with the respective
		 * info about the shared heap. This info will be available for
		 * BL2 in order to locate and re-use the heap.
		 */
		mbedtls_heap_addr = <0x0 0x0>;
		mbedtls_heap_size = <0x0>;
	};

	/*
	 * UUID's here are UUID RFC 4122 compliant meaning fieds are stored in
	 * network order (big endian)
	 */

#if ARM_IO_IN_DTB
	arm-io_policies {
		fip-handles {
			compatible = "arm,io-fip-handle";
			scp_bl2_uuid = "9766fd3d-89be-e849-ae5d-78a140608213";
			bl31_uuid = "47d4086d-4cfe-9846-9b95-2950cbbd5a00";
			bl32_uuid = "05d0e189-53dc-1347-8d2b-500a4b7a3e38";
			bl32_extra1_uuid = "0b70c29b-2a5a-7840-9f65-0a5682738288";
			bl32_extra2_uuid = "8ea87bb1-cfa2-3f4d-85fd-e7bba50220d9";
			bl33_uuid = "d6d0eea7-fcea-d54b-9782-9934f234b6e4";
			hw_cfg_uuid = "08b8f1d9-c9cf-9349-a962-6fbc6b7265cc";
			soc_fw_cfg_uuid = "9979814b-0376-fb46-8c8e-8d267f7859e0";
			tos_fw_cfg_uuid = "26257c1a-dbc6-7f47-8d96-c4c4b0248021";
			nt_fw_cfg_uuid = "28da9815-93e8-7e44-ac66-1aaf801550f9";
			cca_cert_uuid = "36d83d85-761d-4daf-96f1-cd99d6569b00";
			core_swd_cert_uuid = "52222d31-820f-494d-8bbc-ea6825d3c35a";
			plat_cert_uuid = "d43cd902-5b9f-412e-8ac6-92b6d18be60d";
			t_key_cert_uuid = "827ee890-f860-e411-a1b4-777a21b4f94c";
			scp_fw_key_uuid = "024221a1-f860-e411-8d9b-f33c0e15a014";
			soc_fw_key_uuid = "8ab8becc-f960-e411-9ad0-eb4822d8dcf8";
			tos_fw_key_cert_uuid = "9477d603-fb60-e411-85dd-b7105b8cee04";
			nt_fw_key_cert_uuid = "8ad5832a-fb60-e411-8aaf-df30bbc49859";
			scp_fw_content_cert_uuid = "44be6f04-5e63-e411-b28b-73d8eaae9656";
			soc_fw_content_cert_uuid = "e2b20c20-5e63-e411-9ce8-abccf92bb666";
			tos_fw_content_cert_uuid = "a49f4411-5e63-e411-8728-3f05722af33d";
			nt_fw_content_cert_uuid = "8ec4c1f3-5d63-e411-a7a9-87ee40b23fa7";
			sp_content_cert_uuid = "776dfd44-8697-4c3b-91eb-c13e025a2a6f";
		};
	};
#endif /* ARM_IO_IN_DTB */

	secure-partitions {
		compatible = "arm,sp";

#ifdef ARM_BL2_SP_LIST_DTS
	#include __XSTRING(ARM_BL2_SP_LIST_DTS)
#else
#ifdef OPTEE_SP_FW_CONFIG
		op-tee {
			uuid = "486178e0-e7f8-11e3-bc5e-0002a5d5c51b";
			load-address = <0x6280000>;
		};
#else
		cactus-primary {
			uuid = "b4b5671e-4a90-4fe1-b81f-fb13dae1dacb";
			load-address = <0x7000000>;
			owner = "SiP";
		};

		cactus-secondary {
			uuid = "d1582309-f023-47b9-827c-4464f5578fc8";
			load-address = <0x7100000>;
			owner = "Plat";
		};

		cactus-tertiary {
			uuid = "79b55c73-1d8c-44b9-8593-61e1770ad8d2";
			load-address = <0x7200000>;
			owner = "Plat";
		};

		ivy {
			uuid = "eaba83d8-baaf-4eaf-8144-f7fdcbe544a7";
			load-address = <0x7600000>;
			owner = "Plat";
		};
#endif
#endif /* ARM_BL2_SP_LIST_DTS */
	};

#if COT_DESC_IN_DTB
	#include "cot_descriptors.dtsi"
#endif

#if MEASURED_BOOT
	#include "event_log.dtsi"
#endif

};

#if COT_DESC_IN_DTB

#include "../fvp_def.h"

&trusted_nv_counter {
	reg = <TFW_NVCTR_BASE>;
};

&non_trusted_nv_counter {
	reg = <NTFW_CTR_BASE>;
};
#endif
