/*
 * Copyright (c) 2022 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include "b_u585i_iot02a-common.dtsi"

/ {
	model = "STMicroelectronics B-U585I-IOT02A discovery kit";
	compatible = "st,b-u585i-iot02a";

	chosen {
		zephyr,console = &usart1;
		zephyr,shell-uart = &usart1;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_ns_partition;
	};

	aliases {
		led0 = &green_led_1;
		led1 = &red_led_1;
		sw0 = &user_button;
	};
};

&flash0 {

	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		/*
		 * Following flash partition is compatible with requirements
		 * given in TFM configuration given for current board.
		 * It might require adjustment depending on evolutions on TFM.
		 */

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 DT_SIZE_K(224)>;
			read-only;
		};
		/* Secure image primary slot */
		slot0_partition: partition@38000 {
			label = "image-0";
			reg = <0x00038000 DT_SIZE_K(384)>;
		};
		/* Non-secure image primary slot */
		slot0_ns_partition: partition@98000 {
			label = "image-0-nonsecure";
			reg = <0x00098000 DT_SIZE_K(512)>;
		};
		/* Secure image primary slot */
		slot1_partition: partition@118000 {
			label = "image-1";
			reg = <0x00118000 DT_SIZE_K(384)>;
		};
		/* Non-secure image primary slot */
		slot1_ns_partition: partition@178000 {
			label = "image-1-nonsecure";
			reg = <0x00178000 DT_SIZE_K(512)>;
		};
		/* Applicative Non Volatile Storage */
		storage_partition: partition@1f8000 {
			label = "storage";
			reg = <0x001f8000 DT_SIZE_K(16)>;
		};
	};
};
