/*
 * Copyright (c) 2021 Sebastian Schwabe <sebastian.schwabe@mailbox.tu-dresden.de>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f0/stm32f031X6.dtsi>
#include <st/f0/stm32f031k6tx-pinctrl.dtsi>

/ {
	model = "STMicroelectronics STM32F031K6-NUCLEO board";
	compatible = "st,stm32f031k6-nucleo";

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

	leds {
		compatible = "gpio-leds";
		green_led_3: led_3 {
			gpios = <&gpiob 3 GPIO_ACTIVE_HIGH>;
			label = "User LD3";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		green_pwm_led: green_pwm_led {
			pwms = <&pwm2 2 0 PWM_POLARITY_NORMAL>;
		};
	};

	aliases {
		led0 = &green_led_3;
		pwm-led0 = &green_pwm_led;
	};
};

&clk_hsi {
	status = "okay";
};

&pll {
	prediv = <4>;
	mul = <12>;
	clocks = <&clk_hsi>;
	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 gpiod and gpiof */
/* (Test cases fail due to 'SRAM' region overflow) */
&gpiod {status = "disabled";};
&gpiof {status = "disabled";};

&timers2 {
	status = "okay";

	pwm2: pwm {
		status = "okay";
		pinctrl-0 = <&tim2_ch2_pb3>;
		pinctrl-names = "default";
	};
};

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

&i2c1 {
	pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>;
	pinctrl-names = "default";
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&spi1 {
	pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
		     &spi1_miso_pa6 &spi1_mosi_pa7>;
	pinctrl-names = "default";
	status = "okay";
};

&adc1 {
	pinctrl-0 = <&adc_in0_pa0>;
	pinctrl-names = "default";
	status = "okay";
};

&rtc {
	status = "okay";
};
