summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-11-25 17:06:57 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-12-07 10:11:12 +0100
commitc05ef729888d822348299913bdfd9743af2c3eed (patch)
treecdec8e6a0d4c55ab8aa32371be16c12d2fbfb642
parente03c5b76421892b51fba7beabe4e6ae04350cd8a (diff)
downloadbarebox-c05ef729888d822348299913bdfd9743af2c3eed.tar.gz
barebox-c05ef729888d822348299913bdfd9743af2c3eed.tar.xz
RISC-V: virt: add DEBUG_LL support
While we have PBL console support, console isn't available during early barebox startup. Implement DEBUG_LL for Qemu RISC-V Virt to make such early debugging easier. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211125160657.3828643-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/riscv/Kconfig.socs1
-rw-r--r--arch/riscv/include/asm/debug_ll.h10
-rw-r--r--common/Kconfig5
3 files changed, 14 insertions, 2 deletions
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index bd4a44a575..b12c795041 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -18,6 +18,7 @@ config SOC_VIRT
select RISCV_S_MODE
select BOARD_RISCV_GENERIC_DT
select HAS_CACHE
+ select HAS_ASM_DEBUG_LL
help
Generates an image tht can be be booted by QEMU. The image is called
barebox-dt-2nd.img
diff --git a/arch/riscv/include/asm/debug_ll.h b/arch/riscv/include/asm/debug_ll.h
index a3b9c1c4bc..d01b4f09b8 100644
--- a/arch/riscv/include/asm/debug_ll.h
+++ b/arch/riscv/include/asm/debug_ll.h
@@ -17,13 +17,19 @@
#if defined CONFIG_DEBUG_ERIZO
#define DEBUG_LL_UART_ADDR 0x90000000
#define DEBUG_LL_UART_CLK (24000000 / 16)
+#define DEBUG_LL_UART_SHIFT 2
+#define DEBUG_LL_UART_IOSIZE32
#elif defined CONFIG_DEBUG_STARFIVE
#define DEBUG_LL_UART_ADDR 0x12440000
#define DEBUG_LL_UART_CLK (100000000 / 16)
-#endif
-
#define DEBUG_LL_UART_SHIFT 2
#define DEBUG_LL_UART_IOSIZE32
+#elif defined CONFIG_DEBUG_RISCV_VIRT
+#define DEBUG_LL_UART_ADDR 0x10000000
+#define DEBUG_LL_UART_CLK (58982400 / 16)
+#define DEBUG_LL_UART_SHIFT 0
+#define DEBUG_LL_UART_IOSIZE8
+#endif
#define DEBUG_LL_UART_BPS CONFIG_BAUDRATE
#define DEBUG_LL_UART_DIVISOR (DEBUG_LL_UART_CLK / DEBUG_LL_UART_BPS)
diff --git a/common/Kconfig b/common/Kconfig
index f4120b2083..ab6258d90f 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -1402,6 +1402,11 @@ config DEBUG_STARFIVE
depends on SOC_STARFIVE
select DEBUG_LL_NS16550
+config DEBUG_RISCV_VIRT
+ bool "RISC-V Virt ns16550 port"
+ depends on SOC_VIRT
+ select DEBUG_LL_NS16550
+
config DEBUG_SIFIVE
bool "SiFive serial0 port"
depends on SOC_SIFIVE