summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2020-01-13 20:37:16 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-01-14 12:06:59 +0100
commite76009b5953371b30005382f60863a385526d4d5 (patch)
tree5c4f8d9ebbf5ee099eb292cf71aa7266aee1c0b2
parent49e79ebc95c1adfc1324f450b82ba3bf20b3ee0a (diff)
downloadbarebox-e76009b5953371b30005382f60863a385526d4d5.tar.gz
barebox-e76009b5953371b30005382f60863a385526d4d5.tar.xz
ARM: zynq: zedboard: add PBL console support
Allows for significantly easier debugging of PBL functions. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/avnet-zedboard/lowlevel.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/boards/avnet-zedboard/lowlevel.c b/arch/arm/boards/avnet-zedboard/lowlevel.c
index 8edc6293f2..912eb11fda 100644
--- a/arch/arm/boards/avnet-zedboard/lowlevel.c
+++ b/arch/arm/boards/avnet-zedboard/lowlevel.c
@@ -22,6 +22,7 @@
#include <asm/barebox-arm-head.h>
#include <mach/init.h>
#include <mach/zynq7000-regs.h>
+#include <serial/cadence.h>
#define DCI_DONE (1 << 13)
#define PLL_ARM_LOCK (1 << 0)
@@ -279,6 +280,18 @@ static void avnet_zedboard_ps7_init(void)
writel(0x0000767B, ZYNQ_SLCR_LOCK);
}
+static void avnet_zedboard_pbl_console_init(void)
+{
+ relocate_to_current_adr();
+ setup_c();
+ barrier();
+
+ cadence_uart_init((void *)ZYNQ_UART1_BASE_ADDR);
+ pbl_set_putc(cadence_uart_putc, (void *)ZYNQ_UART1_BASE_ADDR);
+
+ pr_debug("\nAvnet ZedBoard PBL\n");
+}
+
ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2)
{
@@ -289,5 +302,8 @@ ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2)
avnet_zedboard_ps7_init();
+ if (IS_ENABLED(CONFIG_PBL_CONSOLE))
+ avnet_zedboard_pbl_console_init();
+
barebox_arm_entry(0, SZ_512M, fdt);
}