/*
 * Copyright (c) 2020, 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>;
	};

	secure-partitions {
		compatible = "arm,sp";
#if OPTEE_SP_FW_CONFIG
		op-tee {
		       uuid = <0x486178e0 0xe7f811e3 0xbc5e0002 0xa5d5c51b>;
		       load-address = <0xfd280000>;
		};
#else
		cactus-primary {
			uuid = <0xb4b5671e 0x4a904fe1 0xb81ffb13 0xdae1dacb>;
			load-address = <0xfe000000>;
			owner = "SiP";
		};

		cactus-secondary {
			uuid = <0xd1582309 0xf02347b9 0x827c4464 0xf5578fc8>;
			load-address = <0xfe100000>;
			owner = "Plat";
		};

		cactus-tertiary {
			uuid = <0x79b55c73 0x1d8c44b9 0x859361e1 0x770ad8d2>;
			load-address = <0xfe200000>;
		};
#endif
	};
};
