aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/stm32/Kconfig3
-rw-r--r--src/stm32/serial.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig
index cb0fd557..721f3517 100644
--- a/src/stm32/Kconfig
+++ b/src/stm32/Kconfig
@@ -111,9 +111,12 @@ choice
bool "USART2"
config STM32_SERIAL_USART3
bool "USART3"
+ config STM32_SERIAL_USART3_ALT
+ bool "USART3 (on PD9/PD8)" if MACH_STM32F4
endchoice
config SERIAL_PORT
int
+ default 103 if STM32_SERIAL_USART3_ALT
default 3 if STM32_SERIAL_USART3
default 2 if STM32_SERIAL_USART2
default 1
diff --git a/src/stm32/serial.c b/src/stm32/serial.c
index 0142aaa6..0cac8a1b 100644
--- a/src/stm32/serial.c
+++ b/src/stm32/serial.c
@@ -25,6 +25,13 @@ DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA3,PA2");
#define USARTx USART2
#define USARTx_IRQn USART2_IRQn
#define USARTx_IRQHandler USART2_IRQHandler
+#elif CONFIG_SERIAL_PORT == 103
+DECL_CONSTANT_STR("RESERVE_PINS_serial", "PD9,PD8");
+#define GPIO_Rx GPIO('D', 9)
+#define GPIO_Tx GPIO('D', 8)
+#define USARTx USART3
+#define USARTx_IRQn USART3_IRQn
+#define USARTx_IRQHandler USART3_IRQHandler
#else
DECL_CONSTANT_STR("RESERVE_PINS_serial", "PB11,PB10");
#define GPIO_Rx GPIO('B', 11)