/*
 * Copyright (c) 2020 Lucian Copeland for Adafruit Industries
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f4/stm32f405Xg.dtsi>
#include "feather_connector.dtsi"

/ {
	model = "Adafruit Feather STM32F405 Express";
	compatible = "st,adafruit_feather_stm32f405", "st,stm32f405";

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

	leds {
		compatible = "gpio-leds";
		led: led {
			gpios = <&gpioc 1 GPIO_INT_ACTIVE_HIGH>;
			label = "User LED";
		};
	};

	aliases {
		led0 = &led;
	};
};

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

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

&spi1 {
	status = "okay";
	cs-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
	gd25q16: gd25q16c@0 {
		compatible = "jedec,spi-nor";
		label = "GD25Q16C";
		reg = <0>;
		spi-max-frequency = <80000000>;
		size = <0x200000>;
		has-be32k;
		has-dpd;
		t-enter-dpd = <20000>;
		t-exit-dpd = <100000>;
		jedec-id = [c8 40 15];
	};
};

&spi2 {
	status = "okay";
};

&rtc {
	status = "okay";
};

&usbotg_fs {
	status = "okay";
};
