/*
 * Copyright (c) 2017 Fenix Engineering Solutions
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f4/stm32f411Xe.dtsi>

/ {
	model = "STMicroelectronics STM32F411E-DISCO board";
	compatible = "st,stm32f411e-disco", "st,stm32f411";

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

	leds {
		compatible = "gpio-leds";
		orange_led_3: led_3 {
			gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
			label = "User LD3";
		};
		green_led_4: led_4 {
			gpios = <&gpiod 12 GPIO_ACTIVE_HIGH>;
			label = "User LD4";
		};
		red_led_5: led_5 {
			gpios = <&gpiod 14 GPIO_ACTIVE_HIGH>;
			label = "User LD5";
		};
		blue_led_6: led_6 {
			gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>;
			label = "User LD6";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		green_pwm_led: green_pwm_led {
			pwms = <&{/soc/timers@40000800/pwm} 1 0>;
		};
	};

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

	aliases {
		led0 = &orange_led_3;
		led1 = &green_led_4;
		led2 = &red_led_5;
		led3 = &blue_led_6;
		sw0 = &user_button;
		pwm-led0 = &green_pwm_led;
	};
};

&timers4 {
	status = "okay";

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

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

&rtc {
	status = "okay";
};
