From patchwork Fri Mar 20 08:03:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 243994 List-Id: U-Boot discussion From: michal.simek at xilinx.com (Michal Simek) Date: Fri, 20 Mar 2020 09:03:47 +0100 Subject: [PATCH 1/2] arm64: zynqmp: Add support for debug uart also for U-Boot proper Message-ID: <49ecdd5df5f97e1f2eff8b8335c0068cf6358261.1584691425.git.michal.simek@xilinx.com> board_early_init_f() is the right location where debug uart can be configurated (after MIO initialization). The patch is taking this call from SPL to also make it available for U-Boot proper. Signed-off-by: Michal Simek --- arch/arm/mach-zynqmp/spl.c | 6 ------ board/xilinx/zynqmp/zynqmp.c | 15 ++++++++++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-zynqmp/spl.c b/arch/arm/mach-zynqmp/spl.c index b3830182e250..c53945e57f39 100644 --- a/arch/arm/mach-zynqmp/spl.c +++ b/arch/arm/mach-zynqmp/spl.c @@ -6,7 +6,6 @@ */ #include -#include #include #include @@ -21,11 +20,6 @@ void board_init_f(ulong dummy) board_early_init_f(); board_early_init_r(); -#ifdef CONFIG_DEBUG_UART - /* Uart debug for sure */ - debug_uart_init(); - puts("Debug uart enabled\n"); /* or printch() */ -#endif /* Delay is required for clocks to be propagated */ udelay(1000000); } diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index c6c55caa1ce0..04fd3bd0a443 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -319,13 +320,21 @@ static char *zynqmp_get_silicon_idcode_name(void) int board_early_init_f(void) { - int ret = 0; - #if defined(CONFIG_ZYNQMP_PSU_INIT_ENABLED) + int ret; + ret = psu_init(); + if (ret) + return ret; #endif - return ret; +#ifdef CONFIG_DEBUG_UART + /* Uart debug for sure */ + debug_uart_init(); + puts("Debug uart enabled\n"); /* or printch() */ +#endif + + return 0; } static int multi_boot(void) From patchwork Fri Mar 20 08:03:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 243995 List-Id: U-Boot discussion From: michal.simek at xilinx.com (Michal Simek) Date: Fri, 20 Mar 2020 09:03:48 +0100 Subject: [PATCH 2/2] arm64: zynqmp: Move timeout for clock propagation below psu_init In-Reply-To: <49ecdd5df5f97e1f2eff8b8335c0068cf6358261.1584691425.git.michal.simek@xilinx.com> References: <49ecdd5df5f97e1f2eff8b8335c0068cf6358261.1584691425.git.michal.simek@xilinx.com> Message-ID: <1f015ab311bb66359280f2f0bac46f4d6ae84517.1584691425.git.michal.simek@xilinx.com> Delay required for clock propagation is tighly coupled with initialization done in psu_init(). That's why call it also for u-boot proper with CONFIG_ZYNQMP_PSU_INIT_ENABLED enabled. Signed-off-by: Michal Simek --- arch/arm/mach-zynqmp/spl.c | 3 --- board/xilinx/zynqmp/zynqmp.c | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-zynqmp/spl.c b/arch/arm/mach-zynqmp/spl.c index c53945e57f39..68df0a79c4e5 100644 --- a/arch/arm/mach-zynqmp/spl.c +++ b/arch/arm/mach-zynqmp/spl.c @@ -19,9 +19,6 @@ void board_init_f(ulong dummy) { board_early_init_f(); board_early_init_r(); - - /* Delay is required for clocks to be propagated */ - udelay(1000000); } static void ps_mode_reset(ulong mode) diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 04fd3bd0a443..eb1bc0861e2f 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -326,6 +326,9 @@ int board_early_init_f(void) ret = psu_init(); if (ret) return ret; + + /* Delay is required for clocks to be propagated */ + udelay(1000000); #endif #ifdef CONFIG_DEBUG_UART