-
Notifications
You must be signed in to change notification settings - Fork 184
Description
When using embassy-stm32 with an STM32U5 series MCU, GPDMA cannot be used with USART6. The TxDma and RxDma traits are not generated because the request mappings are missing in data/dmamux/U5_GPDMA1.yaml.
According to the STM32U5 Reference Manual RM0456 (Link to PDF), specifically Table 136: GPDMA1 channels request mapping, the request IDs for USART6 are 121 and 122.
I also noticed that data/dmamux/U5_GPDMA1.yaml seems to be missing quite a few other entries from Table 136. However, I have currently only tested the USART6 UART mapping (121/122). Adding the following two lines fixes the issue for me locally:
USART6_RX: 121
USART6_TX: 122I can open a quick PR to add these two lines, or leave it to the maintainers if you prefer to do a comprehensive update for all missing entries in Table 136 at once.
Corresponding test code like below:
let (tx, rx) = Uart::new(
p.USART6,
p.PE0,
p.PE1,
Irqs6,
p.GPDMA1_CH2,
p.GPDMA1_CH3,
config,
)
.unwrap()
.split();