blob: ff7635b676d35aea5b1683c0f6ed9b3b26d527c4 [file] [log] [blame]
/*
* Copyright (c) 2017 Linaro Limited
* Copyright (c) 2024 STMicroelectronics
* Copyright (c) 2025 IAR Systems
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <st/f4/stm32f429Xi.dtsi>
#include <st/f4/stm32f429iitx-pinctrl.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
/ {
model = "IAR STM32F429II-ACA board";
compatible = "iar,stm32f429ii-aca";
chosen {
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,ccm = &ccm0;
};
sdram2: sdram@d0000000 {
compatible = "zephyr,memory-region", "mmio-sram";
device_type = "memory";
reg = <0xd0000000 DT_SIZE_M(8)>;
zephyr,memory-region = "SDRAM2";
};
leds {
compatible = "gpio-leds";
traffic_red_led: led_0 {
gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
label = "LED0";
};
traffic_yellow_led: led_1 {
gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
label = "LED1";
};
traffic_green_led: led_2 {
gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
label = "LED2";
};
car_led: led_3 {
gpios = <&gpiod 6 GPIO_ACTIVE_LOW>;
label = "LED3";
};
pedestrian_red_led: led_4 {
gpios = <&gpiod 7 GPIO_ACTIVE_LOW>;
label = "LED4";
};
pedestrian_green_led: led_5 {
gpios = <&gpiod 11 GPIO_ACTIVE_LOW>;
label = "LED5";
};
user_led_1: led_6 {
gpios = <&gpiod 12 GPIO_ACTIVE_LOW>;
label = "LED6";
};
user_led_2: led_7 {
gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
label = "LED7";
};
};
gpio_keys {
compatible = "gpio-keys";
button0: button_0 {
label = "BUT0";
gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_0>;
};
button1: button_1 {
label = "BUT1";
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_1>;
};
button2: button_2 {
label = "BUT2";
gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_2>;
};
open_close_switch: switch_0 {
label = "OPEN/CLOSE SWITCH";
gpios = <&gpioi 11 GPIO_ACTIVE_HIGH>;
zephyr,code = <INPUT_KEY_3>;
};
interior_light_switch_on: switch_1 {
label = "ON";
gpios = <&gpioi 10 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_4>;
};
interior_light_switch_auto: switch_2 {
label = "AUTO";
gpios = <&gpioi 9 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_5>;
};
interior_light_switch_off: switch_3 {
label = "OFF";
gpios = <&gpioi 8 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_6>;
};
cap_button0: cap_button_0 {
label = "CAP_BUT0";
gpios = <&gpioh 6 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_7>;
};
cap_button1: cap_button_1 {
label = "CAP_BUT1";
gpios = <&gpioh 7 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_8>;
};
};
aliases {
led0 = &traffic_red_led;
led1 = &traffic_yellow_led;
led2 = &traffic_green_led;
led3 = &car_led;
led4 = &pedestrian_red_led;
led5 = &pedestrian_green_led;
led6 = &user_led_1;
led7 = &user_led_2;
sw0 = &button0;
sw1 = &button1;
sw2 = &button2;
sw3 = &open_close_switch;
sw4 = &interior_light_switch_on;
sw5 = &interior_light_switch_auto;
sw6 = &interior_light_switch_off;
sw7 = &cap_button0;
sw8 = &cap_button1;
};
};
&clk_lsi {
status = "okay";
};
&clk_hse {
clock-frequency = <DT_FREQ_M(8)>;
status = "okay";
};
&pll {
div-m = <8>;
mul-n = <336>;
div-p = <2>;
div-q = <7>;
clocks = <&clk_hse>;
status = "okay";
};
&rcc {
clocks = <&pll>;
clock-frequency = <DT_FREQ_M(168)>;
ahb-prescaler = <1>;
apb1-prescaler = <4>;
apb2-prescaler = <2>;
};
&rtc {
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
<&rcc STM32_SRC_LSI RTC_SEL(2)>;
status = "okay";
};
&i2c1 {
pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb7>;
pinctrl-names = "default";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
};
&i2c2 {
pinctrl-0 = <&i2c2_scl_ph4 &i2c2_sda_ph5>;
pinctrl-names = "default";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
};
&spi5 {
pinctrl-0 = <&spi5_nss_pf6 &spi5_sck_pf7
&spi5_miso_pf8 &spi5_mosi_pf9>;
pinctrl-names = "default";
status = "okay";
cs-gpios = <&gpioc 2 GPIO_ACTIVE_LOW>;
};
&fmc {
status = "okay";
pinctrl-0 = <&fmc_nbl0_pe0 &fmc_nbl1_pe1
&fmc_sdclk_pg8 &fmc_sdnwe_pc0 &fmc_sdcke0_pc3
&fmc_sdne0_pc2 &fmc_sdnras_pf11 &fmc_sdncas_pg15
&fmc_a0_pf0 &fmc_a1_pf1 &fmc_a2_pf2 &fmc_a3_pf3
&fmc_a4_pf4 &fmc_a5_pf5 &fmc_a6_pf12 &fmc_a7_pf13
&fmc_a8_pf14 &fmc_a9_pf15 &fmc_a10_pg0 &fmc_a11_pg1
&fmc_a12_pg2 &fmc_a13_pg3 &fmc_a14_pg4 &fmc_a15_pg5
&fmc_d0_pd14 &fmc_d1_pd15 &fmc_d2_pd0 &fmc_d3_pd1
&fmc_d4_pe7 &fmc_d5_pe8 &fmc_d6_pe9 &fmc_d7_pe10
&fmc_d8_pe11 &fmc_d9_pe12 &fmc_d10_pe13 &fmc_d11_pe14
&fmc_d12_pe15 &fmc_d13_pd8 &fmc_d14_pd9 &fmc_d15_pd10>;
pinctrl-names = "default";
sdram {
status = "okay";
power-up-delay = <100>;
num-auto-refresh = <1>;
mode-register = <0>;
refresh-rate = <1386>;
bank@1 {
reg = <1>;
st,sdram-control = <STM32_FMC_SDRAM_NC_8
STM32_FMC_SDRAM_NR_12
STM32_FMC_SDRAM_MWID_16
STM32_FMC_SDRAM_NB_4
STM32_FMC_SDRAM_CAS_2
STM32_FMC_SDRAM_SDCLK_PERIOD_3
STM32_FMC_SDRAM_RBURST_DISABLE
STM32_FMC_SDRAM_RPIPE_1>;
st,sdram-timing = <2 7 4 7 2 2 2>;
};
};
};
&adc2 {
compatible = "st,stm32f4-adc", "st,stm32-adc";
pinctrl-0 = <&adc2_in6_pa6>;
pinctrl-names = "default";
st,adc-prescaler = <2>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
channel@6 {
reg = <6>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
zephyr,resolution = <12>;
};
};
&dac1 {
pinctrl-0 = <&dac_out2_pa5>;
pinctrl-names = "default";
status = "okay";
};
zephyr_udc0: &usbotg_hs {
pinctrl-0 = <&usb_otg_hs_dm_pb14 &usb_otg_hs_dp_pb15 &usb_otg_hs_id_pb12>;
pinctrl-names = "default";
status = "okay";
};