boards: Enable additional modules for STM32 nucleo_u083rc.

This commit enables support for DMA,
SPI, RNG, Crypto, USB and RTC.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit is contained in:
Sara Touqan 2024-11-26 15:56:30 +02:00 committed by Benjamin Cabé
parent a0380bc61d
commit 41ddd09850
3 changed files with 90 additions and 7 deletions

View file

@ -49,6 +49,8 @@ They operate at a frequency of up to 56 MHz.
- 4 µA wake-up from Stop mode
- 52 µA/MHz Run mode
- Brownout reset
- SPI (3)
- DMA Controller (2)
- Core:
@ -98,6 +100,7 @@ They operate at a frequency of up to 56 MHz.
- Candidate for Arm |reg| PSA level 1 and SESIP level 3 certifications
- 5 passive anti-tamper pins
- 96-bit unique ID
- True Random Number Generator (RNG) NIST SP800-90B compliant
- Up to 10 timers, 2 watchdogs and RTC:
@ -106,6 +109,8 @@ They operate at a frequency of up to 56 MHz.
2x watchdogs, SysTick timer
- RTC with hardware calendar, alarms and calibration
- 3 low-power 16-bit timers (available in Stop mode).
- Up to 20 communication peripherals:
- 1 USB 2.0 full-speed crystal-less solution with LPM and BCD
@ -145,6 +150,8 @@ The Zephyr nucleo_u083rc board configuration supports the following hardware fea
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | independent watchdog |
+-----------+------------+-------------------------------------+
| ADC | on-chip | adc |
+-----------+------------+-------------------------------------+
| DAC | on-chip | DAC Controller |
@ -153,6 +160,20 @@ The Zephyr nucleo_u083rc board configuration supports the following hardware fea
+-----------+------------+-------------------------------------+
| PWM | on-chip | pwm |
+-----------+------------+-------------------------------------+
| RTC | on-chip | Real Time Clock |
+-----------+------------+-------------------------------------+
| SPI | on-chip | spi |
+-----------+------------+-------------------------------------+
| USB | on-chip | USB full-speed host/device bus |
+-----------+------------+-------------------------------------+
| DMA | on-chip | Direct Memory Access Controller |
+-----------+------------+-------------------------------------+
| RNG | on-chip | True Random number generator |
+-----------+------------+-------------------------------------+
| AES | on-chip | crypto |
+-----------+------------+-------------------------------------+
| LPTIM | on-chip | Low Power Timer |
+-----------+------------+-------------------------------------+
Other hardware features are not yet supported on this Zephyr port.

View file

@ -44,6 +44,7 @@
aliases {
led0 = &green_led_1;
sw0 = &user_button;
watchdog0 = &iwdg;
};
};
@ -61,10 +62,26 @@
status = "okay";
};
&iwdg {
status = "okay";
};
&clk_hsi {
status = "okay";
};
&clk_hsi48 {
status = "okay";
};
&clk_lse {
status = "okay";
};
&clk_lsi {
status = "okay";
};
&pll {
div-m = <1>;
mul-n = <6>;
@ -95,13 +112,6 @@
clock-frequency = <I2C_BITRATE_FAST>;
};
&i2c2 {
pinctrl-0 = <&i2c2_scl_pa7 &i2c2_sda_pa6>;
pinctrl-names = "default";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
};
&adc1 {
pinctrl-0 = <&adc1_in0_pc0 &adc1_in1_pc1>;
pinctrl-names = "default";
@ -134,3 +144,48 @@
status = "okay";
};
};
stm32_lp_tick_source: &lptim1 {
clocks = <&rcc STM32_CLOCK(APB1, 31U)>,
<&rcc STM32_SRC_LSI LPTIM1_SEL(1)>;
status = "okay";
};
&spi1{
pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>;
cs-gpios = <&gpioa 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
pinctrl-names = "default";
status = "okay";
};
&dma1 {
status = "okay";
};
&dmamux1 {
status = "okay";
};
&rng {
clocks = <&rcc STM32_CLOCK(AHB1, 18U)>,
<&rcc STM32_SRC_HSI48 CLK48_SEL(1)>;
status = "okay";
};
&aes {
status = "okay";
};
zephyr_udc0: &usb {
clocks = <&rcc STM32_CLOCK(APB1, 13U)>,
<&rcc STM32_SRC_HSI48 CLK48_SEL(1)>;
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default";
status = "okay";
};
&rtc {
clocks = <&rcc STM32_CLOCK(APB1, 10U)>,
<&rcc STM32_SRC_LSE RTC_SEL(1)>;
status = "okay";
};

View file

@ -8,11 +8,18 @@ toolchain:
- xtools
supported:
- adc
- aes
- arduino_gpio
- dac
- dma
- gpio
- i2c
- lptim
- pwm
- rng
- rtc
- spi
- usart
- usb
ram: 40
flash: 256