From 0cd4d5d5ea4617e093319d694ae6f1692d021a6c Mon Sep 17 00:00:00 2001 From: Arne Jansen Date: Wed, 1 Jan 2020 10:20:50 +0000 Subject: [PATCH] stm32: add alternate pinout for USART2 Added to both generic stm32 and stm32f0 Signed-off-by: Arne Jansen --- src/stm32/Kconfig | 5 ++++- src/stm32/serial.c | 6 ++++++ src/stm32/stm32f0_serial.c | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig index c29ad205..2d9b3c1d 100644 --- a/src/stm32/Kconfig +++ b/src/stm32/Kconfig @@ -155,7 +155,9 @@ choice config STM32_SERIAL_USART1 bool "USART1" config STM32_SERIAL_USART2 - bool "USART2" + bool "USART2 (on PA3/PA2)" + config STM32_SERIAL_USART2_ALT + bool "USART2 (on PA15/PA14)" config STM32_SERIAL_USART3 bool "USART3" config STM32_SERIAL_USART3_ALT @@ -165,6 +167,7 @@ config SERIAL_PORT int default 103 if STM32_SERIAL_USART3_ALT default 3 if STM32_SERIAL_USART3 + default 102 if STM32_SERIAL_USART2_ALT default 2 if STM32_SERIAL_USART2 default 1 diff --git a/src/stm32/serial.c b/src/stm32/serial.c index 20eda817..0e57a986 100644 --- a/src/stm32/serial.c +++ b/src/stm32/serial.c @@ -24,6 +24,12 @@ DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA3,PA2"); #define GPIO_Tx GPIO('A', 2) #define USARTx USART2 #define USARTx_IRQn USART2_IRQn +#elif CONFIG_SERIAL_PORT == 102 +DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA14,PA15"); +#define GPIO_Rx GPIO('A', 14) +#define GPIO_Tx GPIO('A', 15) +#define USARTx USART2b +#define USARTx_IRQn USART2_IRQn #elif CONFIG_SERIAL_PORT == 103 DECL_CONSTANT_STR("RESERVE_PINS_serial", "PD9,PD8"); #define GPIO_Rx GPIO('D', 9) diff --git a/src/stm32/stm32f0_serial.c b/src/stm32/stm32f0_serial.c index ce9e3c1d..d478259b 100644 --- a/src/stm32/stm32f0_serial.c +++ b/src/stm32/stm32f0_serial.c @@ -24,6 +24,12 @@ DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA3,PA2"); #define GPIO_Tx GPIO('A', 2) #define USARTx USART2 #define USARTx_IRQn USART2_IRQn +#elif CONFIG_SERIAL_PORT == 102 +DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA15,PA14"); +#define GPIO_Rx GPIO('A', 15) +#define GPIO_Tx GPIO('A', 14) +#define USARTx USART2 +#define USARTx_IRQn USART2_IRQn #endif #define CR1_FLAGS (USART_CR1_UE | USART_CR1_RE | USART_CR1_TE \