stm32: Allow alternate USART1 and USART2 ports on stm32f1 and stm32f2

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2021-05-25 23:03:43 -04:00
parent 273106358d
commit f99dca0918
2 changed files with 9 additions and 3 deletions

View File

@ -234,7 +234,7 @@ choice
bool "Serial (on USART1 PA15/PA14)" if LOW_LEVEL_OPTIONS && MACH_STM32F0 bool "Serial (on USART1 PA15/PA14)" if LOW_LEVEL_OPTIONS && MACH_STM32F0
select SERIAL select SERIAL
config STM32_SERIAL_USART1_ALT_PB7_PB6 config STM32_SERIAL_USART1_ALT_PB7_PB6
bool "Serial (on USART1 PB7/PB6)" if LOW_LEVEL_OPTIONS && MACH_STM32F4 bool "Serial (on USART1 PB7/PB6)" if LOW_LEVEL_OPTIONS && !MACH_STM32F0
select SERIAL select SERIAL
config STM32_SERIAL_USART2 config STM32_SERIAL_USART2
bool "Serial (on USART2 PA3/PA2)" if LOW_LEVEL_OPTIONS bool "Serial (on USART2 PA3/PA2)" if LOW_LEVEL_OPTIONS
@ -243,7 +243,7 @@ choice
bool "Serial (on USART2 PA15/PA14)" if LOW_LEVEL_OPTIONS && MACH_STM32F0 bool "Serial (on USART2 PA15/PA14)" if LOW_LEVEL_OPTIONS && MACH_STM32F0
select SERIAL select SERIAL
config STM32_SERIAL_USART2_ALT_PD6_PD5 config STM32_SERIAL_USART2_ALT_PD6_PD5
bool "Serial (on USART2 PD6/PD5)" if LOW_LEVEL_OPTIONS && MACH_STM32F4 bool "Serial (on USART2 PD6/PD5)" if LOW_LEVEL_OPTIONS && !MACH_STM32F0
select SERIAL select SERIAL
config STM32_SERIAL_USART3 config STM32_SERIAL_USART3
bool "Serial (on USART3 PB11/PB10)" if LOW_LEVEL_OPTIONS bool "Serial (on USART3 PB11/PB10)" if LOW_LEVEL_OPTIONS

View File

@ -156,7 +156,13 @@ gpio_peripheral(uint32_t gpio, uint32_t mode, int pullup)
AFIO_MAPR_I2C1_REMAP); AFIO_MAPR_I2C1_REMAP);
} else if (func == 7) { } else if (func == 7) {
// USART // USART
if (gpio == GPIO('D', 8) || gpio == GPIO('D', 9)) if (gpio == GPIO('B', 6) || gpio == GPIO('B', 7))
stm32f1_alternative_remap(AFIO_MAPR_USART1_REMAP_Msk,
AFIO_MAPR_USART1_REMAP);
else if (gpio == GPIO('D', 5) || gpio == GPIO('D', 6))
stm32f1_alternative_remap(AFIO_MAPR_USART2_REMAP_Msk,
AFIO_MAPR_USART2_REMAP);
else if (gpio == GPIO('D', 8) || gpio == GPIO('D', 9))
stm32f1_alternative_remap(AFIO_MAPR_USART3_REMAP_Msk, stm32f1_alternative_remap(AFIO_MAPR_USART3_REMAP_Msk,
AFIO_MAPR_USART3_REMAP_FULLREMAP); AFIO_MAPR_USART3_REMAP_FULLREMAP);
} else if (func == 9) { } else if (func == 9) {