/*
 * Copyright (c) 2018 Nathan Tsoi <nathan@vertile.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f0/stm32f051X8.dtsi>

/ {
	model = "STMicroelectronics STM32F0DISCOVERY board";
	compatible = "st,stm32f058r8-discovery", "st,stm32f051";

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

	leds {
		compatible = "gpio-leds";
		green_led_3: led_3 {
			gpios = <&gpioc 9 GPIO_ACTIVE_HIGH>;
			label = "User LD3";
		};
		blue_led_4: led_4 {
			gpios = <&gpioc 8 GPIO_ACTIVE_HIGH>;
			label = "User LD4";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button {
			label = "Key";
			gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
		};
	};

	aliases {
		led0 = &green_led_3;
		led1 = &blue_led_4;
		sw0 = &user_button;
	};
};

/* Due to limited available memory, don't enable gpiod and gpiof */
&gpiod {status = "disabled";};
&gpiof {status = "disabled";};

&usart1 {
	current-speed = <115200>;
	status = "okay";
};

&usart2 {
	current-speed = <115200>;
	status = "okay";
};

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

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x00002000>;
			read-only;
		};

		/*
		 * The flash starting at offset 0x2000 and ending at
		 * offset 0x3999 is reserved for use by the application.
		 */

		slot0_partition: partition@4000 {
			label = "image-0";
			reg = <0x00004000 0x00004000>;
		};
		slot1_partition: partition@8000 {
			label = "image-1";
			reg = <0x00008000 0x00004000>;
		};
		scratch_partition: partition@c000 {
			label = "image-scratch";
			reg = <0x0000C000 0x00004000>;
		};
	};
};

&iwdg {
	status = "okay";
};
