diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-10-21 02:53:48 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-10-21 04:46:45 +0200 |
| commit | 3d03c18d4fd5c4f410e5e697d56b5152bb910232 (patch) | |
| tree | 71aac94e5da61fe3049ecfb3ead3f48a7ce4546e /tests/stm32/src/common.rs | |
| parent | b1d0947a18ffaa55d9307b2e563f7e3662486eb9 (diff) | |
stm32/tests: add stm32h753zi, stm32h7a3zi.
Diffstat (limited to 'tests/stm32/src/common.rs')
| -rw-r--r-- | tests/stm32/src/common.rs | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs index 8dde71fb3..cbf9538aa 100644 --- a/tests/stm32/src/common.rs +++ b/tests/stm32/src/common.rs | |||
| @@ -18,6 +18,10 @@ teleprobe_meta::target!(b"nucleo-stm32f429zi"); | |||
| 18 | teleprobe_meta::target!(b"nucleo-stm32wb55rg"); | 18 | teleprobe_meta::target!(b"nucleo-stm32wb55rg"); |
| 19 | #[cfg(feature = "stm32h755zi")] | 19 | #[cfg(feature = "stm32h755zi")] |
| 20 | teleprobe_meta::target!(b"nucleo-stm32h755zi"); | 20 | teleprobe_meta::target!(b"nucleo-stm32h755zi"); |
| 21 | #[cfg(feature = "stm32h753zi")] | ||
| 22 | teleprobe_meta::target!(b"nucleo-stm32h753zi"); | ||
| 23 | #[cfg(feature = "stm32h7a3zi")] | ||
| 24 | teleprobe_meta::target!(b"nucleo-stm32h7a3zi"); | ||
| 21 | #[cfg(feature = "stm32u585ai")] | 25 | #[cfg(feature = "stm32u585ai")] |
| 22 | teleprobe_meta::target!(b"iot-stm32u585ai"); | 26 | teleprobe_meta::target!(b"iot-stm32u585ai"); |
| 23 | #[cfg(feature = "stm32h563zi")] | 27 | #[cfg(feature = "stm32h563zi")] |
| @@ -105,12 +109,18 @@ define_peris!( | |||
| 105 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, | 109 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, |
| 106 | @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;}, | 110 | @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;}, |
| 107 | ); | 111 | ); |
| 108 | #[cfg(feature = "stm32h755zi")] | 112 | #[cfg(any(feature = "stm32h755zi", feature = "stm32h753zi"))] |
| 109 | define_peris!( | 113 | define_peris!( |
| 110 | UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH0, UART_RX_DMA = DMA1_CH1, | 114 | UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH0, UART_RX_DMA = DMA1_CH1, |
| 111 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PB5, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH0, SPI_RX_DMA = DMA1_CH1, | 115 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PB5, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH0, SPI_RX_DMA = DMA1_CH1, |
| 112 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | 116 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, |
| 113 | ); | 117 | ); |
| 118 | #[cfg(feature = "stm32h7a3zi")] | ||
| 119 | define_peris!( | ||
| 120 | UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH0, UART_RX_DMA = DMA1_CH1, | ||
| 121 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH0, SPI_RX_DMA = DMA1_CH1, | ||
| 122 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 123 | ); | ||
| 114 | #[cfg(feature = "stm32u585ai")] | 124 | #[cfg(feature = "stm32u585ai")] |
| 115 | define_peris!( | 125 | define_peris!( |
| 116 | UART = USART3, UART_TX = PD8, UART_RX = PD9, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, | 126 | UART = USART3, UART_TX = PD8, UART_RX = PD9, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, |
| @@ -289,7 +299,7 @@ pub fn config() -> Config { | |||
| 289 | config.rcc.voltage_scale = VoltageScale::Scale0; | 299 | config.rcc.voltage_scale = VoltageScale::Scale0; |
| 290 | } | 300 | } |
| 291 | 301 | ||
| 292 | #[cfg(feature = "stm32h755zi")] | 302 | #[cfg(any(feature = "stm32h755zi", feature = "stm32h753zi"))] |
| 293 | { | 303 | { |
| 294 | use embassy_stm32::rcc::*; | 304 | use embassy_stm32::rcc::*; |
| 295 | config.rcc.hsi = Some(Hsi::Mhz64); | 305 | config.rcc.hsi = Some(Hsi::Mhz64); |
| @@ -320,6 +330,37 @@ pub fn config() -> Config { | |||
| 320 | config.rcc.adc_clock_source = AdcClockSource::PLL2_P; | 330 | config.rcc.adc_clock_source = AdcClockSource::PLL2_P; |
| 321 | } | 331 | } |
| 322 | 332 | ||
| 333 | #[cfg(any(feature = "stm32h7a3zi"))] | ||
| 334 | { | ||
| 335 | use embassy_stm32::rcc::*; | ||
| 336 | config.rcc.hsi = Some(Hsi::Mhz64); | ||
| 337 | config.rcc.csi = true; | ||
| 338 | config.rcc.hsi48 = true; // needed for RNG | ||
| 339 | config.rcc.pll_src = PllSource::Hsi; | ||
| 340 | config.rcc.pll1 = Some(Pll { | ||
| 341 | prediv: PllPreDiv::DIV4, | ||
| 342 | mul: PllMul::MUL35, | ||
| 343 | divp: Some(PllDiv::DIV2), // 280 Mhz | ||
| 344 | divq: Some(PllDiv::DIV8), // SPI1 cksel defaults to pll1_q | ||
| 345 | divr: None, | ||
| 346 | }); | ||
| 347 | config.rcc.pll2 = Some(Pll { | ||
| 348 | prediv: PllPreDiv::DIV4, | ||
| 349 | mul: PllMul::MUL35, | ||
| 350 | divp: Some(PllDiv::DIV8), // 70 Mhz | ||
| 351 | divq: None, | ||
| 352 | divr: None, | ||
| 353 | }); | ||
| 354 | config.rcc.sys = Sysclk::Pll1P; // 280 Mhz | ||
| 355 | config.rcc.ahb_pre = AHBPrescaler::DIV1; // 280 Mhz | ||
| 356 | config.rcc.apb1_pre = APBPrescaler::DIV2; // 140 Mhz | ||
| 357 | config.rcc.apb2_pre = APBPrescaler::DIV2; // 140 Mhz | ||
| 358 | config.rcc.apb3_pre = APBPrescaler::DIV2; // 140 Mhz | ||
| 359 | config.rcc.apb4_pre = APBPrescaler::DIV2; // 140 Mhz | ||
| 360 | config.rcc.voltage_scale = VoltageScale::Scale0; | ||
| 361 | config.rcc.adc_clock_source = AdcClockSource::PLL2_P; | ||
| 362 | } | ||
| 363 | |||
| 323 | #[cfg(any(feature = "stm32l496zg", feature = "stm32l4a6zg", feature = "stm32l4r5zi"))] | 364 | #[cfg(any(feature = "stm32l496zg", feature = "stm32l4a6zg", feature = "stm32l4r5zi"))] |
| 324 | { | 365 | { |
| 325 | use embassy_stm32::rcc::*; | 366 | use embassy_stm32::rcc::*; |
