1/*
2 * Copyright (c)  2023 STMicroelectronics
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <st/wba/stm32wba52Xg.dtsi>
9#include <st/wba/stm32wba52cgux-pinctrl.dtsi>
10#include "arduino_r3_connector.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "STMicroelectronics STM32WBA52CG-NUCLEO board";
15	compatible = "st,stm32wba52cg-nucleo";
16
17	#address-cells = <1>;
18	#size-cells = <1>;
19
20	chosen {
21		zephyr,console = &usart1;
22		zephyr,shell-uart = &usart1;
23		zephyr,sram = &sram0;
24		zephyr,flash = &flash0;
25		zephyr,code-partition = &slot0_partition;
26	};
27
28	leds: leds {
29		compatible = "gpio-leds";
30		blue_led_1: led_1 {
31			gpios = <&gpiob 4 GPIO_ACTIVE_LOW>;
32			label = "User LD1";
33		};
34	};
35
36	gpio_keys {
37		compatible = "gpio-keys";
38		user_button: button {
39			label = "User";
40			gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
41			zephyr,code = <INPUT_KEY_0>;
42		};
43	};
44
45	aliases {
46		led0 = &blue_led_1;
47		sw0 = &user_button;
48	};
49};
50
51&clk_lsi {
52	status = "okay";
53};
54
55&clk_lse {
56	status = "okay";
57};
58
59&clk_hse {
60	status = "okay";
61};
62
63&clk_hsi {
64	status = "okay";
65};
66
67&pll1 {
68	div-m = <8>;
69	mul-n = <48>;
70	div-q = <2>;
71	div-r = <2>;
72	clocks = <&clk_hse>;
73	status = "okay";
74};
75
76&rcc {
77	clocks = <&pll1>;
78	clock-frequency = <DT_FREQ_M(96)>;
79	ahb-prescaler = <1>;
80	ahb5-prescaler = <4>;
81	apb1-prescaler = <1>;
82	apb2-prescaler = <1>;
83	apb7-prescaler = <1>;
84};
85
86&iwdg {
87	status = "okay";
88};
89
90&rtc {
91	status = "okay";
92	clocks = <&rcc STM32_CLOCK_BUS_APB7 0x00200000>,
93			<&rcc STM32_SRC_LSE RTC_SEL(1)>;
94	prescaler = <32768>;
95};
96
97&usart1 {
98	pinctrl-0 = <&usart1_tx_pb12 &usart1_rx_pa8>;
99	pinctrl-names = "default";
100	current-speed = <115200>;
101	status = "okay";
102};
103
104&lpuart1 {
105	pinctrl-0 = <&lpuart1_tx_pb5 &lpuart1_rx_pa10>;
106	pinctrl-names = "default";
107	current-speed = <115200>;
108	status = "okay";
109};
110
111&spi1 {
112	pinctrl-0 = <&spi1_nss_pa12 &spi1_sck_pb4
113		     &spi1_miso_pb3 &spi1_mosi_pa15>;
114	pinctrl-names = "default";
115	status = "okay";
116};
117
118&i2c1 {
119	pinctrl-0 = <&i2c1_scl_pb2 &i2c1_sda_pb1>;
120	pinctrl-names = "default";
121	status = "okay";
122	clock-frequency = <I2C_BITRATE_FAST>;
123};
124
125&adc4 {
126	pinctrl-0 = <&adc4_in8_pa1>;
127	pinctrl-names = "default";
128	st,adc-clock-source = "ASYNC";
129	st,adc-prescaler = <4>;
130	status = "okay";
131};
132
133stm32_lp_tick_source: &lptim1 {
134	clocks = <&rcc STM32_CLOCK_BUS_APB7 0x00000800>,
135		 <&rcc STM32_SRC_LSE LPTIM1_SEL(3)>;
136	status = "okay";
137};
138
139&rng {
140	status = "okay";
141};
142
143&flash0 {
144	partitions {
145		compatible = "fixed-partitions";
146		#address-cells = <1>;
147		#size-cells = <1>;
148
149		boot_partition: partition@0 {
150			label = "mcuboot";
151			reg = <0x00000000 DT_SIZE_K(64)>;
152		};
153		slot0_partition: partition@10000 {
154			label = "image-0";
155			reg = <0x00010000 DT_SIZE_K(448)>;
156		};
157		slot1_partition: partition@80000 {
158			label = "image-1";
159			reg = <0x00080000 DT_SIZE_K(448)>;
160		};
161		scratch_partition: partition@f0000 {
162			label = "image-scratch";
163			reg = <0x000f0000 DT_SIZE_K(16)>;
164		};
165		storage_partition: partition@f4000 {
166			label = "storage";
167			reg = <0x000f4000 DT_SIZE_K(48)>;
168		};
169	};
170};
171