/*
 * Copyright (c) 2018 Yong Jin
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

/ {
	model = "STMicroelectronics STM32F769I DISCOVERY board";
	compatible = "st,stm32f769I-disco", "st,stm32f769";

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

	leds {
		compatible = "gpio-leds";
		red_led_1:led_1 {
			gpios = <&gpioj 13 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD1";
		};
		green_led_2:led_2 {
			gpios = <&gpioj 5 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD2";
		};
		green_led_3:led_3 {
			gpios = <&gpioa 12 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD3";
		};
		red_led_4:led_4 {
			gpios = <&gpiod 4 GPIO_INT_ACTIVE_HIGH>;
			label = "User LD4";
		};
	};

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

	aliases {
		led0 = &red_led_1;
		led1 = &green_led_2;
		led2 = &green_led_3;
		led3 = &red_led_4;
		sw0 = &user_button;
	};
};

arduino_i2c: &i2c1 {};
arduino_spi: &spi2 {};
arduino_serial: &usart6 {};

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

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

&i2c1 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&spi2 {
	status = "okay";
};
