[PATCH] ns16650: Correct CONFIG_SYS_NS16550_MEM32 platforms

quentin.schulz at theobroma-systems.com quentin.schulz at theobroma-systems.com
Mon Jan 9 10:37:04 CET 2023


Hi Tom,

On 1/6/23 4:47 AM, Tom Rini <trini at konsulko.com> wrote:
> There are currently no platform that are both CONFIG_SYS_NS16550_MEM32
> and not (per how the logic was prior to being broken in 0478dac62a9a
> ("kbuild: Remove uncmd_spl logic")) enabled in CONFIG_DM_SERIAL. We drop
> this line out now so that platforms which do use
> CONFIG_SYS_NS16550_MEM32 and depending on stage may or may not have
> DM_SERIAL set.
> 
> Fixes: 0478dac62a9a ("kbuild: Remove uncmd_spl logic")
> Reported-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
>   include/ns16550.h | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/include/ns16550.h b/include/ns16550.h
> index f45fc8cecc56..243226fc3d94 100644
> --- a/include/ns16550.h
> +++ b/include/ns16550.h
> @@ -34,12 +34,10 @@
>   #define CONFIG_SYS_NS16550_REG_SIZE (-1)
>   #endif
>   
> -#ifdef CONFIG_NS16550_DYNAMIC
> +#if defined(CONFIG_NS16550_DYNAMIC) || defined(CONFIG_DEBUG_UART)
>   #define UART_REG(x)	unsigned char x
>   #else
> -#if defined(CONFIG_SYS_NS16550_MEM32) && !CONFIG_IS_ENABLED(DM_SERIAL)
> -#define UART_REG(x) u32 x
> -#elif !defined(CONFIG_SYS_NS16550_REG_SIZE) || (CONFIG_SYS_NS16550_REG_SIZE == 0)
> +#if !defined(CONFIG_SYS_NS16550_REG_SIZE) || (CONFIG_SYS_NS16550_REG_SIZE == 0)
>   #error "Please define NS16550 registers size."
>   #elif (CONFIG_SYS_NS16550_REG_SIZE > 0)
>   #define UART_REG(x)						   \
> 

This means though that we assume all ns16550 implementations have their register value stored in a byte only, either LSB or MSB of a 1-4 byte-wide register (which can (sometimes) be configured with CONFIG_SYS_NS16550_REG_SIZE).

In any case,
Tested-by: Quentin Schulz <quentin.schulz at theobroma-systems.com> #on Ringneck PX30, Puma RK3399

I really appreciate you taking the time to debug and suggest a patch, thanks a ton.

Cheers,
Quentin


More information about the U-Boot mailing list