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

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

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

	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_ACTIVE_HIGH>;
			label = "User LD1";
		};
		green_led_2:led_2 {
			gpios = <&gpioj 5 GPIO_ACTIVE_HIGH>;
			label = "User LD2";
		};
		green_led_3:led_3 {
			gpios = <&gpioa 12 GPIO_ACTIVE_HIGH>;
			label = "User LD3";
		};
		red_led_4:led_4 {
			gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>;
			label = "User LD4";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button {
			label = "User";
			gpios = <&gpioa 0 GPIO_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 {
	pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>;
	current-speed = <115200>;
	status = "okay";
};

&usart6 {
	pinctrl-0 = <&usart6_tx_pc6 &usart6_rx_pc7>;
	current-speed = <115200>;
	status = "okay";
};

&i2c1 {
	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>;
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&spi2 {
	pinctrl-0 = <&spi2_sck_pa12 &spi2_miso_pb14 &spi2_mosi_pb15>;
	status = "okay";
};

&mac {
	status = "okay";
	pinctrl-0 = <&eth_mdc_pc1
		     &eth_rxd0_pc4
		     &eth_rxd1_pc5
		     &eth_ref_clk_pa1
		     &eth_mdio_pa2
		     &eth_crs_dv_pa7
		     &eth_tx_en_pg11
		     &eth_txd0_pg13
		     &eth_txd1_pg14>;
};

&sdmmc2 {
	status = "okay";
	pinctrl-0 = <&sdmmc2_d0_pg9 &sdmmc2_d1_pg10
		     &sdmmc2_d2_pb3 &sdmmc2_d3_pb4
		     &sdmmc2_ck_pd6 &sdmmc2_cmd_pd7>;
	cd-gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
};
