/*
 * Copyright (c) 2017 Arthur Sfez
 *
 * Based on stm32l496g_disco:
 *
 * Copyright (c) 2017 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

/ {
	model = "STMicroelectronics STM32L476G-DISCO board";
	compatible = "st,stm32l476g-disco", "st,stm32l476";

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

	leds {
		compatible = "gpio-leds";
		green_led_4: led@0 {
			gpios = <&gpiob 2 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD4";
		};
		green_led_5: led@1 {
			gpios = <&gpioe 8 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD5";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		joy_center: joystick@0 {
			label = "joystick center";
			gpios = <&gpioa 0 GPIO_INT_ACTIVE_LOW>;
		};
		joy_down: joystick@1 {
			label = "joystick down";
			gpios = <&gpioa 5 GPIO_INT_ACTIVE_LOW>;
		};
		joy_up: joystick@2 {
			label = "joystick up";
			gpios = <&gpioa 3 GPIO_INT_ACTIVE_LOW>;
		};
		joy_left: joystick@3 {
			label = "joystick left";
			gpios = <&gpioa 1 GPIO_INT_ACTIVE_LOW>;
		};
		joy_right: joystick@4 {
			label = "joystick right";
			gpios = <&gpioa 2 GPIO_INT_ACTIVE_LOW>;
		};
	};

	aliases {
		led0 = &green_led_4;
		sw0 = &joy_center;
	};
};

&usart2 {
	current-speed = <115200>;
	pinctrl-0 = <&usart2_pins_d>;
	pinctrl-names = "default";
	status = "ok";
};
