/*
 * Copyright (c) 2019 Libre Solar Technologies GmbH
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/l4/stm32l452Xe.dtsi>
#include "arduino_r3_connector.dtsi"

/ {
	model = "STMicroelectronics STM32L452RE-NUCLEO board";
	compatible = "st,stm32l452re-nucleo", "st,stm32l452";

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

	leds {
		compatible = "gpio-leds";
		green_led: led_0 {
			gpios = <&gpioa 5 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD2";
		};
	};

	aliases {
		led0 = &green_led;
	};
};

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

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

&spi1 {
	status = "okay";
};

&timers2 {
	status = "okay";

	pwm {
		status = "okay";
	};
};

&can1 {
	bus-speed = <125000>;
	status = "okay";
};

&rtc {
	status = "okay";
};

&flash0 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
	 */
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;
		/*
		 * Reserve the final 16 KiB for file system partition
		 */
		storage_partition: partition@7c000 {
			label = "storage";
			reg = <0x0007c000 0x00008000>;
		};
	};
};
