1/*
2 * Copyright (c) 2020 Lucian Copeland for Adafruit Industries
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <st/f4/stm32f405Xg.dtsi>
9#include <st/f4/stm32f405rgtx-pinctrl.dtsi>
10#include "feather_connector.dtsi"
11
12/ {
13	model = "Adafruit Feather STM32F405 Express";
14	compatible = "adafruit,adafruit_feather_stm32f405", "st,stm32f405";
15
16	chosen {
17		zephyr,console = &usart3;
18		zephyr,shell-uart = &usart3;
19		zephyr,sram = &sram0;
20		zephyr,flash = &flash0;
21		zephyr,ccm = &ccm0;
22	};
23
24	leds {
25		compatible = "gpio-leds";
26		led: led {
27			gpios = <&gpioc 1 GPIO_ACTIVE_HIGH>;
28			label = "User LED";
29		};
30	};
31
32	aliases {
33		led0 = &led;
34	};
35};
36
37&clk_lsi {
38	status = "okay";
39};
40
41&clk_hse {
42	clock-frequency = <DT_FREQ_M(12)>;
43	status = "okay";
44};
45
46&pll {
47	div-m = <12>;
48	mul-n = <336>;
49	div-p = <2>;
50	div-q = <7>;
51	clocks = <&clk_hse>;
52	status = "okay";
53};
54
55&rcc {
56	clocks = <&pll>;
57	clock-frequency = <DT_FREQ_M(168)>;
58	ahb-prescaler = <1>;
59	apb1-prescaler = <4>;
60	apb2-prescaler = <2>;
61};
62
63&usart3 {
64	pinctrl-0 = <&usart3_tx_pb10 &usart3_rx_pb11>;
65	pinctrl-names = "default";
66	current-speed = <115200>;
67	status = "okay";
68};
69
70&i2c1 {
71	pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>;
72	pinctrl-names = "default";
73	status = "okay";
74	clock-frequency = <I2C_BITRATE_FAST>;
75};
76
77&spi1_nss_pa15 { slew-rate = "very-high-speed"; };
78
79&spi1 {
80	pinctrl-0 = <&spi1_nss_pa15 &spi1_sck_pb3
81		     &spi1_miso_pb4 &spi1_mosi_pb5>;
82	pinctrl-names = "default";
83	status = "okay";
84	cs-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
85	gd25q16: gd25q16c@0 {
86		compatible = "jedec,spi-nor";
87		reg = <0>;
88		spi-max-frequency = <80000000>;
89		size = <0x200000>;
90		has-dpd;
91		t-enter-dpd = <20000>;
92		t-exit-dpd = <100000>;
93		jedec-id = [c8 40 15];
94	};
95};
96
97&spi2 {
98	pinctrl-0 = <&spi2_sck_pb13 &spi2_miso_pb14 &spi2_mosi_pb15>;
99	pinctrl-names = "default";
100	status = "okay";
101};
102
103&rtc {
104	clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
105		 <&rcc STM32_SRC_LSI RTC_SEL(2)>;
106	status = "okay";
107};
108
109zephyr_udc0: &usbotg_fs {
110	pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
111	pinctrl-names = "default";
112	status = "okay";
113};
114