/*
 * Copyright (c) 2019 Antony Pavlov <antonynpavlov@gmail.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f0/stm32f030X4.dtsi>
#include <st/f0/stm32f030f4px-pinctrl.dtsi>

/ {
	model = "STM32F030 DEMO board";
	compatible = "st,stm32f030-demo";

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

	leds {
		compatible = "gpio-leds";
		led: led {
			gpios = <&gpioa 4 GPIO_ACTIVE_HIGH>;
			label = "User LED";
		};
	};

	aliases {
		led0 = &led;
		watchdog0 = &iwdg;
	};
};

&clk_hse {
	clock-frequency = <DT_FREQ_M(8)>;
	status = "okay";
};

&pll {
	prediv = <1>;
	mul = <6>;
	clocks = <&clk_hse>;
	status = "okay";
};

&rcc {
	clocks = <&pll>;
	clock-frequency = <DT_FREQ_M(48)>;
	ahb-prescaler = <1>;
	apb1-prescaler = <1>;
};

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

&usart1 {
	pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>;
	pinctrl-names = "default";
	current-speed = <115200>;
	status = "okay";
};

&iwdg {
	status = "okay";
};
