On 2023/1/9 18:36, Quentin Schulz wrote:
From: Quentin Schulz <quentin.sch...@theobroma-systems.com>

The grf and cru are only used when no UART base is provided by the user
(defaults to UART2) or for UART1, UART3 and UART5 to be used for the
debug UART. Therefore, let's surround those variable definitions with
the proper checks.

This wasn't an issue before support for UART0 was added, because all
cases were using cru and grf. UART0 only uses pmucru so there's a need
to not define those variables anymore.

Fixes: d0af506625ff ("rockchip: px30: support debug uart on UART0")
Cc: Quentin Schulz <foss+ub...@0leil.net>
Signed-off-by: Quentin Schulz <quentin.sch...@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.y...@rock-chips.com>

Thanks,
- Kever
---
  arch/arm/mach-rockchip/px30/px30.c | 10 ++++++++++
  1 file changed, 10 insertions(+)

diff --git a/arch/arm/mach-rockchip/px30/px30.c 
b/arch/arm/mach-rockchip/px30/px30.c
index 0641e6af0f..35a36700df 100644
--- a/arch/arm/mach-rockchip/px30/px30.c
+++ b/arch/arm/mach-rockchip/px30/px30.c
@@ -297,8 +297,18 @@ void board_debug_uart_init(void)
        CONFIG_DEBUG_UART_BASE == 0xff030000)
        static struct px30_pmugrf * const pmugrf = (void *)PMUGRF_BASE;
  #endif
+#if !defined(CONFIG_DEBUG_UART_BASE) || \
+       (CONFIG_DEBUG_UART_BASE != 0xff158000 && \
+        CONFIG_DEBUG_UART_BASE != 0xff168000 && \
+        CONFIG_DEBUG_UART_BASE != 0xff178000 && \
+        CONFIG_DEBUG_UART_BASE != 0xff030000) || \
+       (defined(CONFIG_DEBUG_UART_BASE) && \
+        (CONFIG_DEBUG_UART_BASE == 0xff158000 || \
+         CONFIG_DEBUG_UART_BASE == 0xff168000 || \
+         CONFIG_DEBUG_UART_BASE == 0xff178000))
        static struct px30_grf * const grf = (void *)GRF_BASE;
        static struct px30_cru * const cru = (void *)CRU_BASE;
+#endif
  #if defined(CONFIG_DEBUG_UART_BASE) && CONFIG_DEBUG_UART_BASE == 0xff030000
        static struct px30_pmucru * const pmucru = (void *)PMUCRU_BASE;
  #endif

Reply via email to