From 6c30f15bf1abbf9549bace6ec605eb44a4641800 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Wed, 27 Sep 2017 15:44:52 +0200 Subject: [PATCH] serial: stm32x7: add STM32F4 support stm32f4 doesn't support FIFO and OVERRUN feature. The enable bit is not at the same location in CR1 register than for STM32F7 and STM32H7. Signed-off-by: Patrice Chotard --- drivers/serial/Kconfig | 4 ++-- drivers/serial/serial_stm32x7.c | 1 + drivers/serial/serial_stm32x7.h | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 9bf2e26..7c54a49 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -531,9 +531,9 @@ config STI_ASC_SERIAL config STM32X7_SERIAL bool "STMicroelectronics STM32 SoCs on-chip UART" - depends on DM_SERIAL && (STM32F7 || STM32H7) + depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7) help - If you have a machine based on a STM32 F7 or H7 SoC you can + If you have a machine based on a STM32 F4, F7 or H7 SoC you can enable its onboard serial ports, say Y to this option. If unsure, say N. diff --git a/drivers/serial/serial_stm32x7.c b/drivers/serial/serial_stm32x7.c index 19697e3..44e8b42 100644 --- a/drivers/serial/serial_stm32x7.c +++ b/drivers/serial/serial_stm32x7.c @@ -127,6 +127,7 @@ static int stm32_serial_probe(struct udevice *dev) #if CONFIG_IS_ENABLED(OF_CONTROL) static const struct udevice_id stm32_serial_id[] = { + { .compatible = "st,stm32-uart", .data = (ulong)&stm32f4_info}, { .compatible = "st,stm32f7-uart", .data = (ulong)&stm32f7_info}, { .compatible = "st,stm32h7-uart", .data = (ulong)&stm32h7_info}, {} diff --git a/drivers/serial/serial_stm32x7.h b/drivers/serial/serial_stm32x7.h index ed8a3ee..b914edf 100644 --- a/drivers/serial/serial_stm32x7.h +++ b/drivers/serial/serial_stm32x7.h @@ -27,6 +27,13 @@ struct stm32_uart_info { bool has_fifo; }; +struct stm32_uart_info stm32f4_info = { + .stm32f4 = true, + .uart_enable_bit = 13, + .has_overrun_disable = false, + .has_fifo = false, +}; + struct stm32_uart_info stm32f7_info = { .uart_enable_bit = 0, .stm32f4 = false, -- 2.7.4