From: Patrice Chotard Date: Wed, 27 Sep 2017 13:44:52 +0000 (+0200) Subject: serial: stm32x7: add STM32F4 support X-Git-Tag: v2017.11-rc2~78 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6c30f15bf1abbf9549bace6ec605eb44a4641800;p=platform%2Fkernel%2Fu-boot.git 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 --- 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,