Skip to content

Commit dc99840

Browse files
committed
stm32/uart: Add support for UART10 when it's a USART.
Signed-off-by: Damien George <[email protected]>
1 parent a4d28e5 commit dc99840

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

ports/stm32/stm32_it.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,6 +1015,14 @@ void UART10_IRQHandler(void) {
10151015
}
10161016
#endif
10171017

1018+
#if defined(USART10)
1019+
void USART10_IRQHandler(void) {
1020+
IRQ_ENTER(USART10_IRQn);
1021+
uart_irq_handler(10);
1022+
IRQ_EXIT(USART10_IRQn);
1023+
}
1024+
#endif
1025+
10181026
#endif
10191027

10201028
#if defined(LPUART1)

ports/stm32/uart.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,9 +491,15 @@ bool uart_init(pyb_uart_obj_t *uart_obj,
491491
#if defined(MICROPY_HW_UART10_TX) && defined(MICROPY_HW_UART10_RX)
492492
case PYB_UART_10:
493493
uart_unit = 10;
494+
#if defined(UART10)
494495
UARTx = UART10;
495496
irqn = UART10_IRQn;
496497
__HAL_RCC_UART10_CLK_ENABLE();
498+
#else
499+
UARTx = USART10;
500+
irqn = USART10_IRQn;
501+
__HAL_RCC_USART10_CLK_ENABLE();
502+
#endif
497503
pins[0] = MICROPY_HW_UART10_TX;
498504
pins[1] = MICROPY_HW_UART10_RX;
499505
break;
@@ -771,6 +777,13 @@ void uart_deinit(pyb_uart_obj_t *self) {
771777
__HAL_RCC_UART10_RELEASE_RESET();
772778
__HAL_RCC_UART10_CLK_DISABLE();
773779
#endif
780+
#if defined(USART10)
781+
} else if (self->uart_id == 10) {
782+
HAL_NVIC_DisableIRQ(USART10_IRQn);
783+
__HAL_RCC_USART10_FORCE_RESET();
784+
__HAL_RCC_USART10_RELEASE_RESET();
785+
__HAL_RCC_USART10_CLK_DISABLE();
786+
#endif
774787
#if defined(LPUART1)
775788
} else if (self->uart_id == PYB_LPUART_1) {
776789
#if defined(STM32G0)
@@ -886,7 +899,7 @@ uint32_t uart_get_source_freq(pyb_uart_obj_t *self) {
886899
#if defined(UART9)
887900
|| self->uart_id == 9
888901
#endif
889-
#if defined(UART10)
902+
#if defined(UART10) || defined(USART10)
890903
|| self->uart_id == 10
891904
#endif
892905
) {

0 commit comments

Comments
 (0)