[U-Boot] [PATCH v1 5/6] serial: stm32x7: add STM32F4 support

Bo Shen voice.shen at gmail.com
Fri Sep 29 06:26:22 UTC 2017


Hi Patrice,

On 09/27/2017 06:44 AM, patrice.chotard at st.com wrote:
> From: Patrice Chotard <patrice.chotard at st.com>
> 
> 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 <patrice.chotard at st.com>
> ---
>   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},

s/st,stm32-uart/st,stm32f4-uart/ (?)

>   	{ .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,
> 

Best Regards,
Bo Shen


More information about the U-Boot mailing list