1/*
2 * Copyright (c) 2018 Aurelien Jarno
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <st/f7/stm32f723Xe.dtsi>
9#include <st/f7/stm32f723i(c-e)kx-pinctrl.dtsi>
10#include "arduino_r3_connector.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "STMicroelectronics STM32F723E DISCOVERY board";
15	compatible = "st,stm32f723e-disco";
16
17	chosen {
18		zephyr,console = &usart6;
19		zephyr,shell-uart = &usart6;
20		zephyr,sram = &sram0;
21		zephyr,flash = &flash0;
22		zephyr,flash-controller = &mx25r512;
23	};
24
25	leds {
26		compatible = "gpio-leds";
27		blue_led: led_1 {
28			gpios = <&gpioa 5 GPIO_ACTIVE_HIGH>;
29			label = "User LD1";
30		};
31		red_led: led_2 {
32			gpios = <&gpioa 7 GPIO_ACTIVE_HIGH>;
33			label = "User LD5";
34		};
35		green_led: led_3 {
36			gpios = <&gpiob 1 GPIO_ACTIVE_HIGH>;
37			label = "User LD6";
38		};
39	};
40
41	gpio_keys {
42		compatible = "gpio-keys";
43		user_button: button {
44			label = "User";
45			gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
46			zephyr,code = <INPUT_KEY_0>;
47		};
48	};
49
50	aliases {
51		led0 = &blue_led;
52		led1 = &red_led;
53		led2 = &green_led;
54		sw0 = &user_button;
55	};
56};
57
58&clk_hse {
59	clock-frequency = <DT_FREQ_M(25)>;
60	status = "okay";
61};
62
63&pll {
64	div-m = <25>;
65	mul-n = <432>;
66	div-p = <2>;
67	div-q = <9>;
68	clocks = <&clk_hse>;
69	status = "okay";
70};
71
72&rcc {
73	clocks = <&pll>;
74	clock-frequency = <DT_FREQ_M(216)>;
75	ahb-prescaler = <1>;
76	apb1-prescaler = <4>;
77	apb2-prescaler = <2>;
78};
79
80&usart2 {
81	pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>;
82	pinctrl-names = "default";
83	current-speed = <115200>;
84	status = "okay";
85};
86
87&usart6 {
88	pinctrl-0 = <&usart6_tx_pc6 &usart6_rx_pc7>;
89	pinctrl-names = "default";
90	current-speed = <115200>;
91	status = "okay";
92};
93
94&i2c1 {
95	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>;
96	pinctrl-names = "default";
97	status = "okay";
98};
99
100&i2c2 {
101	pinctrl-0 = <&i2c2_scl_ph4 &i2c2_sda_ph5>;
102	pinctrl-names = "default";
103	status = "okay";
104};
105
106&i2c3 {
107	pinctrl-0 = <&i2c3_scl_pa8 &i2c3_sda_ph8>;
108	pinctrl-names = "default";
109	status = "okay";
110};
111
112&spi1 {
113	pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pb4 &spi1_mosi_pb5>;
114	pinctrl-names = "default";
115	status = "okay";
116};
117
118&quadspi {
119	pinctrl-names = "default";
120	pinctrl-0 = <&quadspi_clk_pb2 &quadspi_bk1_ncs_pb6
121		&quadspi_bk1_io0_pc9 &quadspi_bk1_io1_pc10
122		&quadspi_bk1_io2_pe2 &quadspi_bk1_io3_pd13>;
123	flash-id = <1>;
124	status = "okay";
125
126	mx25r512: qspi-nor-flash@90000000 {
127		compatible = "st,stm32-qspi-nor";
128		reg = <0x90000000 DT_SIZE_M(64)>; /* 512 Mbits */
129		qspi-max-frequency = <8000000>;
130		status = "okay";
131		spi-bus-width = <4>;
132		writeoc = "PP_1_4_4";
133	};
134};
135
136zephyr_udc0: &usbotg_fs {
137	pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
138	pinctrl-names = "default";
139	status = "okay";
140};
141