/*
 * Copyright (c) 2021 STMicroelectronics
 *
 * 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_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 dedicated to the use of b_u585i_iot02a
		 * with TZEN=0 (so w/o TFM).
		 * Set the partitions with first MB to make use of the whole Bank1
		 */
		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x10000>;
		};
		slot0_partition: partition@10000 {
			label = "image-0";
			reg = <0x00010000 0x68000>;
		};
		slot1_partition: partition@78000 {
			label = "image-1";
			reg = <0x00078000 0x68000>;
		};
		scratch_partition: partition@e0000 {
			label = "image-scratch";
			reg = <0x000e0000 0x10000>;
		};
		storage_partition: partition@f0000 {
			label = "storage";
			reg = <0x000f0000 0x10000>;
		};

	};
};
