1/*
2 * Copyright (c) 2017 Linaro Limited
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <st/f4/stm32f469Xi.dtsi>
9#include <st/f4/stm32f469nihx-pinctrl.dtsi>
10#include "arduino_r3_connector.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "STMicroelectronics STM32F469I-DISCO board";
15	compatible = "st,stm32f469i-disco";
16
17	chosen {
18		zephyr,console = &usart3;
19		zephyr,shell-uart = &usart3;
20		zephyr,sram = &sram0;
21		zephyr,flash = &flash0;
22		zephyr,ccm = &ccm0;
23	};
24
25	leds {
26		compatible = "gpio-leds";
27		green_led_1: led_1 {
28			gpios = <&gpiog 6 GPIO_ACTIVE_HIGH>;
29			label = "User LD1";
30		};
31		orange_led_2: led_2 {
32			gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>;
33			label = "User LD2";
34		};
35		red_led_3: led_3 {
36			gpios = <&gpiod 5 GPIO_ACTIVE_HIGH>;
37			label = "User LD3";
38		};
39		blue_led_4: led_4 {
40			gpios = <&gpiok 3 GPIO_ACTIVE_HIGH>;
41			label = "User LD4";
42		};
43	};
44
45	gpio_keys {
46		compatible = "gpio-keys";
47		user_button: button {
48			label = "User";
49			gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
50			zephyr,code = <INPUT_KEY_0>;
51		};
52	};
53
54	aliases {
55		led0 = &green_led_1;
56		led1 = &orange_led_2;
57		led2 = &red_led_3;
58		led3 = &blue_led_4;
59		sw0 = &user_button;
60	};
61};
62
63&clk_lsi {
64	status = "okay";
65};
66
67&clk_hse {
68	clock-frequency = <DT_FREQ_M(8)>;
69	status = "okay";
70};
71
72&pll {
73	div-m = <8>;
74	mul-n = <336>;
75	div-p = <2>;
76	div-q = <7>;
77	clocks = <&clk_hse>;
78	status = "okay";
79};
80
81&rcc {
82	clocks = <&pll>;
83	clock-frequency = <DT_FREQ_M(168)>;
84	ahb-prescaler = <1>;
85	apb1-prescaler = <4>;
86	apb2-prescaler = <2>;
87};
88
89&usart3 {
90	pinctrl-0 = <&usart3_tx_pb10 &usart3_rx_pb11>;
91	pinctrl-names = "default";
92	current-speed = <115200>;
93	status = "okay";
94};
95
96&usart6 {
97	pinctrl-0 = <&usart6_tx_pg14 &usart6_rx_pg9>;
98	pinctrl-names = "default";
99	current-speed = <115200>;
100	status = "okay";
101};
102
103&i2c1 {
104	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>;
105	pinctrl-names = "default";
106	status = "okay";
107};
108
109&spi2 {
110	pinctrl-0 = <&spi2_sck_pd3 &spi2_miso_pb14 &spi2_mosi_pb15>;
111	pinctrl-names = "default";
112	cs-gpios = <&gpioh 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
113	status = "okay";
114};
115
116zephyr_udc0: &usbotg_fs {
117	pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
118	pinctrl-names = "default";
119	status = "okay";
120};
121
122&rtc {
123	clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
124		 <&rcc STM32_SRC_LSI RTC_SEL(2)>;
125	status = "okay";
126};
127
128&sdmmc1 {
129	clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00000800>,
130		 <&rcc STM32_SRC_PLL_Q CLK48M_SEL(0)>;
131	status = "okay";
132	pinctrl-0 = <&sdio_d0_pc8
133		     &sdio_d1_pc9
134		     &sdio_d2_pc10
135		     &sdio_d3_pc11
136		     &sdio_ck_pc12
137		     &sdio_cmd_pd2>;
138	pinctrl-names = "default";
139	cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>;
140};
141