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

/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>;

#if MEASURED_BOOT
		/* BL2 image hash calculated by BL1 */
		bl2_hash_data = [
			00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#if BL2_HASH_SIZE > 32
			00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#if BL2_HASH_SIZE > 48
			00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#endif /* > 48 */
#endif /* > 32 */
			00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00];
#endif /* MEASURED_BOOT */
	};

	/*
	 * 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";
			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 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>;
		};
#endif
	};

#if COT_DESC_IN_DTB
	#include "cot_descriptors.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
