|  | /* | 
|  | * 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(APB1, 28)>, | 
|  | <&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"; | 
|  | }; |