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

Patrice CHOTARD patrice.chotard at st.com
Fri Sep 29 11:52:30 UTC 2017


Hi Bo

On 09/29/2017 08:26 AM, Bo Shen wrote:
> 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/ (?)

We use the same DT bindings than kernel one and we want to keep aligned.

Historically stm32-uart is dedicated for F4, which was introduced first.
And then with introduction of F7 and H7, new compatible string 
(stm32f7-uart and stm32h7-uart) was added.

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