1/* 2 * Copyright (c) 2017 Linaro Limited 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8#include <st/f4/stm32f429Xi.dtsi> 9#include <st/f4/stm32f429zitx-pinctrl.dtsi> 10#include "arduino_r3_connector.dtsi" 11#include <zephyr/dt-bindings/input/input-event-codes.h> 12 13/ { 14 model = "STMicroelectronics STM32F429ZI-NUCLEO board"; 15 compatible = "st,stm32f429zi-nucleo"; 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 zephyr,code-partition = &slot0_partition; 24 }; 25 26 leds: leds { 27 compatible = "gpio-leds"; 28 green_led_1: led_1 { 29 gpios = <&gpiob 0 GPIO_ACTIVE_HIGH>; 30 label = "User LD1"; 31 }; 32 blue_led_1: led_2 { 33 gpios = <&gpiob 7 GPIO_ACTIVE_HIGH>; 34 label = "User LD2"; 35 }; 36 red_led_1: led_3 { 37 gpios = <&gpiob 14 GPIO_ACTIVE_HIGH>; 38 label = "User LD3"; 39 }; 40 }; 41 42 gpio_keys { 43 compatible = "gpio-keys"; 44 user_button: button { 45 label = "User"; 46 gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>; 47 zephyr,code = <INPUT_KEY_0>; 48 }; 49 }; 50 51 aliases { 52 led0 = &green_led_1; 53 led1 = &blue_led_1; 54 led2 = &red_led_1; 55 sw0 = &user_button; 56 watchdog0 = &iwdg; 57 die-temp0 = &die_temp; 58 volt-sensor0 = &vref; 59 volt-sensor1 = &vbat; 60 }; 61}; 62 63&clk_lsi { 64 status = "okay"; 65}; 66 67&clk_hse { 68 hse-bypass; 69 clock-frequency = <DT_FREQ_M(8)>; /* STLink 8MHz clock */ 70 status = "okay"; 71}; 72 73&pll { 74 div-m = <8>; 75 mul-n = <336>; 76 div-p = <2>; 77 div-q = <7>; 78 clocks = <&clk_hse>; 79 status = "okay"; 80}; 81 82&rcc { 83 clocks = <&pll>; 84 clock-frequency = <DT_FREQ_M(168)>; /* highest value to get a precise USB clock */ 85 ahb-prescaler = <1>; 86 apb1-prescaler = <4>; 87 apb2-prescaler = <2>; 88}; 89 90&adc1 { 91 pinctrl-0 = <&adc1_in0_pa0>; 92 pinctrl-names = "default"; 93 st,adc-clock-source = <SYNC>; 94 st,adc-prescaler = <2>; 95 status = "okay"; 96}; 97 98&die_temp { 99 status = "okay"; 100}; 101 102&dac1 { 103 status = "okay"; 104 pinctrl-0 = <&dac_out1_pa4>; 105 pinctrl-names = "default"; 106}; 107 108&i2c1 { 109 pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>; 110 pinctrl-names = "default"; 111 status = "okay"; 112 clock-frequency = <I2C_BITRATE_FAST>; 113}; 114 115&i2c2 { 116 pinctrl-0 = <&i2c2_scl_pb10 &i2c2_sda_pb11>; 117 pinctrl-names = "default"; 118 status = "okay"; 119 clock-frequency = <I2C_BITRATE_FAST>; 120}; 121 122&spi1 { 123 pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>; 124 pinctrl-names = "default"; 125 cs-gpios = <&gpiod 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 126 status = "okay"; 127}; 128 129&usart3 { 130 pinctrl-0 = <&usart3_tx_pd8 &usart3_rx_pd9>; 131 pinctrl-names = "default"; 132 current-speed = <115200>; 133 status = "okay"; 134}; 135&usart6 { 136 pinctrl-0 = <&usart6_tx_pg14 &usart6_rx_pg9>; 137 pinctrl-names = "default"; 138 current-speed = <115200>; 139 status = "okay"; 140}; 141 142zephyr_udc0: &usbotg_fs { 143 pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>; 144 pinctrl-names = "default"; 145 status = "okay"; 146}; 147 148&timers1 { 149 st,prescaler = <10000>; 150 status = "okay"; 151 152 pwm1: pwm { 153 status = "okay"; 154 pinctrl-0 = <&tim1_ch3_pe13>; 155 pinctrl-names = "default"; 156 }; 157}; 158 159&rtc { 160 clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, 161 <&rcc STM32_SRC_LSI RTC_SEL(2)>; 162 status = "okay"; 163}; 164 165&iwdg { 166 status = "okay"; 167}; 168 169&rng { 170 status = "okay"; 171}; 172 173&dma2 { 174 status = "okay"; 175}; 176 177&mac { 178 status = "okay"; 179 pinctrl-0 = <ð_mdc_pc1 180 ð_rxd0_pc4 181 ð_rxd1_pc5 182 ð_ref_clk_pa1 183 ð_mdio_pa2 184 ð_crs_dv_pa7 185 ð_tx_en_pg11 186 ð_txd0_pg13 187 ð_txd1_pb13>; 188 pinctrl-names = "default"; 189}; 190 191&flash0 { 192 partitions { 193 compatible = "fixed-partitions"; 194 #address-cells = <1>; 195 #size-cells = <1>; 196 197 /* 64KB for bootloader */ 198 boot_partition: partition@0 { 199 label = "mcuboot"; 200 reg = <0x00000000 DT_SIZE_K(64)>; 201 read-only; 202 }; 203 204 /* storage: 64KB for settings */ 205 storage_partition: partition@10000 { 206 label = "storage"; 207 reg = <0x00010000 DT_SIZE_K(64)>; 208 }; 209 210 /* application image slot: 256KB */ 211 slot0_partition: partition@20000 { 212 label = "image-0"; 213 reg = <0x00020000 DT_SIZE_K(256)>; 214 }; 215 216 /* backup slot: 256KB */ 217 slot1_partition: partition@60000 { 218 label = "image-1"; 219 reg = <0x00060000 DT_SIZE_K(256)>; 220 }; 221 222 /* swap slot: 128KB */ 223 scratch_partition: partition@a0000 { 224 label = "image-scratch"; 225 reg = <0x000a0000 DT_SIZE_K(128)>; 226 }; 227 228 }; 229}; 230 231&vref { 232 status = "okay"; 233}; 234 235&vbat { 236 status = "okay"; 237}; 238