diff mbox series

ns16650: Correct CONFIG_SYS_NS16550_MEM32 platforms

Message ID 20230106034744.3636190-1-trini@konsulko.com
State Accepted
Commit 7b84c973b96775576dcff228d865e8570be26c82
Delegated to: Tom Rini
Headers show
Series ns16650: Correct CONFIG_SYS_NS16550_MEM32 platforms | expand

Commit Message

Tom Rini Jan. 6, 2023, 3:47 a.m. UTC
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@theobroma-systems.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 include/ns16550.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Quentin Schulz Jan. 9, 2023, 9:37 a.m. UTC | #1
Hi Tom,

On 1/6/23 4:47 AM, Tom Rini <trini@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@theobroma-systems.com>
> Signed-off-by: Tom Rini <trini@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@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
Tom Rini Jan. 9, 2023, 6:46 p.m. UTC | #2
On Thu, Jan 05, 2023 at 10:47:44PM -0500, Tom Rini 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@theobroma-systems.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> Tested-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> #on Ringneck PX30, Puma RK3399

Applied to u-boot/master, thanks!
diff mbox series

Patch

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)						   \