| /* | 
 |  * Copyright (c) 2017 Florian Vaussard, HEIG-VD | 
 |  * | 
 |  * SPDX-License-Identifier: Apache-2.0 | 
 |  */ | 
 |  | 
 | /dts-v1/; | 
 | #include <st/f4/stm32f413Xh.dtsi> | 
 | #include <st/f4/stm32f413z(g-h)tx-pinctrl.dtsi> | 
 | #include "arduino_r3_connector.dtsi" | 
 | #include <zephyr/dt-bindings/input/input-event-codes.h> | 
 |  | 
 | / { | 
 | 	model = "STMicroelectronics STM32F413ZH-NUCLEO board"; | 
 | 	compatible = "st,stm32f413zh-nucleo"; | 
 |  | 
 | 	chosen { | 
 | 		zephyr,console = &usart3; | 
 | 		zephyr,shell-uart = &usart3; | 
 | 		zephyr,sram = &sram0; | 
 | 		zephyr,flash = &flash0; | 
 | 		zephyr,code-partition = &slot0_partition; | 
 | 	}; | 
 |  | 
 | 	leds: leds { | 
 | 		compatible = "gpio-leds"; | 
 | 		green_led_1: led_1 { | 
 | 			gpios = <&gpiob 0 GPIO_ACTIVE_HIGH>; | 
 | 			label = "User LD1"; | 
 | 		}; | 
 | 		blue_led_1: led_2 { | 
 | 			gpios = <&gpiob 7 GPIO_ACTIVE_HIGH>; | 
 | 			label = "User LD2"; | 
 | 		}; | 
 | 		red_led_1: led_3 { | 
 | 			gpios = <&gpiob 14 GPIO_ACTIVE_HIGH>; | 
 | 			label = "User LD3"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	gpio_keys { | 
 | 		compatible = "gpio-keys"; | 
 | 		user_button: button { | 
 | 			label = "User"; | 
 | 			gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>; | 
 | 			zephyr,code = <INPUT_KEY_0>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	aliases { | 
 | 		led0 = &green_led_1; | 
 | 		led1 = &blue_led_1; | 
 | 		led2 = &red_led_1; | 
 | 		sw0 = &user_button; | 
 | 	}; | 
 | }; | 
 |  | 
 | &clk_lsi { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &clk_hse { | 
 | 	hse-bypass; | 
 | 	clock-frequency = <DT_FREQ_M(8)>; /* STLink 8MHz clock */ | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pll { | 
 | 	div-m = <8>; | 
 | 	mul-n = <384>; | 
 | 	div-p = <4>; | 
 | 	div-q = <8>; | 
 | 	clocks = <&clk_hse>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &rcc { | 
 | 	clocks = <&pll>; | 
 | 	clock-frequency = <DT_FREQ_M(96)>; | 
 | 	ahb-prescaler = <1>; | 
 | 	apb1-prescaler = <2>; | 
 | 	apb2-prescaler = <1>; | 
 | }; | 
 |  | 
 | &usart3 { | 
 | 	pinctrl-0 = <&usart3_tx_pd8 &usart3_rx_pd9>; | 
 | 	pinctrl-names = "default"; | 
 | 	current-speed = <115200>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &usart6 { | 
 | 	pinctrl-0 = <&usart6_tx_pg14 &usart6_rx_pg9>; | 
 | 	pinctrl-names = "default"; | 
 | 	current-speed = <115200>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c1 { | 
 | 	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>; | 
 | 	pinctrl-names = "default"; | 
 | 	status = "okay"; | 
 | 	clock-frequency = <I2C_BITRATE_FAST>; | 
 | }; | 
 |  | 
 | &spi1 { | 
 | 	pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>; | 
 | 	pinctrl-names = "default"; | 
 | 	cs-gpios = <&gpiod 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | zephyr_udc0: &usbotg_fs { | 
 | 	pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>; | 
 | 	pinctrl-names = "default"; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &flash0 { | 
 | 	partitions { | 
 | 		compatible = "fixed-partitions"; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 |  | 
 | 		boot_partition: partition@0 { | 
 | 			label = "mcuboot"; | 
 | 			reg = <0x00000000 DT_SIZE_K(64)>; | 
 | 			read-only; | 
 | 		}; | 
 |  | 
 | 		/* | 
 | 		 * The flash starting at offset 0x10000 and ending at | 
 | 		 * offset 0x1ffff is reserved for use by the application. | 
 | 		 */ | 
 |  | 
 | 		slot0_partition: partition@20000 { | 
 | 			label = "image-0"; | 
 | 			reg = <0x00020000 DT_SIZE_K(256)>; | 
 | 		}; | 
 |  | 
 | 		slot1_partition: partition@60000 { | 
 | 			label = "image-1"; | 
 | 			reg = <0x00060000 DT_SIZE_K(256)>; | 
 | 		}; | 
 |  | 
 | 		scratch_partition: partition@a0000 { | 
 | 			label = "image-scratch"; | 
 | 			reg = <0x000a0000 DT_SIZE_K(128)>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &timers2 { | 
 | 	status = "okay"; | 
 |  | 
 | 	pwm2: pwm { | 
 | 		status = "okay"; | 
 | 		pinctrl-0 = <&tim2_ch1_pa0>; | 
 | 		pinctrl-names = "default"; | 
 | 	}; | 
 | }; | 
 |  | 
 | &rtc { | 
 | 	clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, | 
 | 		 <&rcc STM32_SRC_LSI RTC_SEL(2)>; | 
 | 	status = "okay"; | 
 | }; |