/*
 * Copyright (c) 2021 Yestin Sun
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include "stm32l562e_dk_common.dtsi"

/ {
	model = "STMicroelectronics STM32L562E-DK Discovery board";
	compatible = "st,stm32l562e-dk";

	#address-cells = <1>;
	#size-cells = <1>;

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

	aliases {
		led0 = &green_led_10;
		sw0 = &user_button;
	};
};

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

		boot_partition: partition@0 {
			reg = <0x00000000 DT_SIZE_K(100)>;
			read-only;
		};
		/* Secure image primary slot */
		slot0_partition: partition@19000 {
			reg = <0x00019000 DT_SIZE_K(240)>;
		};
		/* Non-secure image primary slot */
		slot1_ns_partition: partition@55000 {
			reg = <0x00055000 DT_SIZE_K(168)>;
		};
		/* 4KB at the end of 512KB flash is set for storage */
		 storage_partition: partition@7f000 {
			reg = <0x0007f000 DT_SIZE_K(4)>;
		};
	};
};
