aboutsummaryrefslogtreecommitdiff
path: root/tests/stm32/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-10-22 22:45:11 +0200
committerDario Nieuwenhuis <[email protected]>2023-10-22 22:45:11 +0200
commita84ad741a48dfce29b7f764e0cfb6877eba9a027 (patch)
tree41c2abe14f76529e2c56679c87f2aa2f9acf82d5 /tests/stm32/src
parent412bcad2d1b989189f529f272683ce95d5107ef0 (diff)
stm32/tests: add stm32wba52cg, stm32u5a9zj
Diffstat (limited to 'tests/stm32/src')
-rw-r--r--tests/stm32/src/common.rs35
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs
index 693fd067f..0a70e6a7e 100644
--- a/tests/stm32/src/common.rs
+++ b/tests/stm32/src/common.rs
@@ -24,6 +24,8 @@ teleprobe_meta::target!(b"nucleo-stm32h753zi");
24teleprobe_meta::target!(b"nucleo-stm32h7a3zi"); 24teleprobe_meta::target!(b"nucleo-stm32h7a3zi");
25#[cfg(feature = "stm32u585ai")] 25#[cfg(feature = "stm32u585ai")]
26teleprobe_meta::target!(b"iot-stm32u585ai"); 26teleprobe_meta::target!(b"iot-stm32u585ai");
27#[cfg(feature = "stm32u5a5zj")]
28teleprobe_meta::target!(b"nucleo-stm32u5a5zj");
27#[cfg(feature = "stm32h563zi")] 29#[cfg(feature = "stm32h563zi")]
28teleprobe_meta::target!(b"nucleo-stm32h563zi"); 30teleprobe_meta::target!(b"nucleo-stm32h563zi");
29#[cfg(feature = "stm32c031c6")] 31#[cfg(feature = "stm32c031c6")]
@@ -48,6 +50,8 @@ teleprobe_meta::target!(b"nucleo-stm32f303ze");
48teleprobe_meta::target!(b"nucleo-stm32l496zg"); 50teleprobe_meta::target!(b"nucleo-stm32l496zg");
49#[cfg(feature = "stm32wl55jc")] 51#[cfg(feature = "stm32wl55jc")]
50teleprobe_meta::target!(b"nucleo-stm32wl55jc"); 52teleprobe_meta::target!(b"nucleo-stm32wl55jc");
53#[cfg(feature = "stm32wba52cg")]
54teleprobe_meta::target!(b"nucleo-stm32wba52cg");
51 55
52macro_rules! define_peris { 56macro_rules! define_peris {
53 ($($name:ident = $peri:ident,)* $(@irq $irq_name:ident = $irq_code:tt,)*) => { 57 ($($name:ident = $peri:ident,)* $(@irq $irq_name:ident = $irq_code:tt,)*) => {
@@ -127,6 +131,12 @@ define_peris!(
127 SPI = SPI1, SPI_SCK = PE13, SPI_MOSI = PE15, SPI_MISO = PE14, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1, 131 SPI = SPI1, SPI_SCK = PE13, SPI_MOSI = PE15, SPI_MISO = PE14, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1,
128 @irq UART = {USART3 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART3>;}, 132 @irq UART = {USART3 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART3>;},
129); 133);
134#[cfg(feature = "stm32u5a5zj")]
135define_peris!(
136 UART = LPUART1, UART_TX = PG7, UART_RX = PG8, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1,
137 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1,
138 @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;},
139);
130#[cfg(feature = "stm32h563zi")] 140#[cfg(feature = "stm32h563zi")]
131define_peris!( 141define_peris!(
132 UART = LPUART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, 142 UART = LPUART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1,
@@ -199,8 +209,21 @@ define_peris!(
199 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2, 209 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2,
200 @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, 210 @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;},
201); 211);
212#[cfg(feature = "stm32wba52cg")]
213define_peris!(
214 UART = LPUART1, UART_TX = PB5, UART_RX = PA10, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1,
215 SPI = SPI1, SPI_SCK = PB4, SPI_MOSI = PA15, SPI_MISO = PB3, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1,
216 @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;},
217);
202 218
203pub fn config() -> Config { 219pub fn config() -> Config {
220 // Setting this bit is mandatory to use PG[15:2].
221 #[cfg(feature = "stm32u5a5zj")]
222 embassy_stm32::pac::PWR.svmcr().modify(|w| {
223 w.set_io2sv(true);
224 w.set_io2vmen(true);
225 });
226
204 #[allow(unused_mut)] 227 #[allow(unused_mut)]
205 let mut config = Config::default(); 228 let mut config = Config::default();
206 229
@@ -401,12 +424,22 @@ pub fn config() -> Config {
401 }); 424 });
402 } 425 }
403 426
404 #[cfg(feature = "stm32u585ai")] 427 #[cfg(any(feature = "stm32u585ai", feature = "stm32u5a5zj"))]
405 { 428 {
406 use embassy_stm32::rcc::*; 429 use embassy_stm32::rcc::*;
407 config.rcc.mux = ClockSrc::MSI(Msirange::RANGE_48MHZ); 430 config.rcc.mux = ClockSrc::MSI(Msirange::RANGE_48MHZ);
408 } 431 }
409 432
433 #[cfg(feature = "stm32wba52cg")]
434 {
435 use embassy_stm32::rcc::*;
436 config.rcc.mux = ClockSrc::HSI;
437
438 embassy_stm32::pac::RCC.ccipr2().write(|w| {
439 w.set_rngsel(embassy_stm32::pac::rcc::vals::Rngsel::HSI);
440 });
441 }
442
410 #[cfg(feature = "stm32l073rz")] 443 #[cfg(feature = "stm32l073rz")]
411 { 444 {
412 use embassy_stm32::rcc::*; 445 use embassy_stm32::rcc::*;