aboutsummaryrefslogtreecommitdiff
path: root/platform/fpga
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2024-07-04 12:15:58 +0530
committerAnup Patel <anup@brainfault.org>2024-07-24 12:18:31 +0530
commit9e8a18fd0dd72de8cda71f7278cafa7033ae2d34 (patch)
tree3677802baa3eb87e38d236b48f37fc302c8c08fb /platform/fpga
parent4afb57c9ebe27e29ce3777024bfc186991a8b4fe (diff)
downloadopensbi-9e8a18fd0dd72de8cda71f7278cafa7033ae2d34.zip
opensbi-9e8a18fd0dd72de8cda71f7278cafa7033ae2d34.tar.gz
opensbi-9e8a18fd0dd72de8cda71f7278cafa7033ae2d34.tar.bz2
platform: Setup serial console device in early_init()
The sbi_console_init() does not do any special initialization so setup serial console device in early_init() so that console prints work as early as possible. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-By: Himanshu Chauhan <hchauhan@ventanamicro.com>
Diffstat (limited to 'platform/fpga')
-rw-r--r--platform/fpga/ariane/platform.c26
-rw-r--r--platform/fpga/openpiton/platform.c20
2 files changed, 13 insertions, 33 deletions
diff --git a/platform/fpga/ariane/platform.c b/platform/fpga/ariane/platform.c
index 8be5e6c..8d46d88 100644
--- a/platform/fpga/ariane/platform.c
+++ b/platform/fpga/ariane/platform.c
@@ -7,7 +7,6 @@
#include <sbi/riscv_asm.h>
#include <sbi/riscv_encoding.h>
#include <sbi/riscv_io.h>
-#include <sbi/sbi_console.h>
#include <sbi/sbi_const.h>
#include <sbi/sbi_hart.h>
#include <sbi/sbi_platform.h>
@@ -67,8 +66,15 @@ static struct aclint_mtimer_data mtimer = {
*/
static int ariane_early_init(bool cold_boot)
{
- /* For now nothing to do. */
- return 0;
+ if (!cold_boot)
+ return 0;
+
+ return uart8250_init(ARIANE_UART_ADDR,
+ ARIANE_UART_FREQ,
+ ARIANE_UART_BAUDRATE,
+ ARIANE_UART_REG_SHIFT,
+ ARIANE_UART_REG_WIDTH,
+ ARIANE_UART_REG_OFFSET);
}
/*
@@ -87,19 +93,6 @@ static int ariane_final_init(bool cold_boot)
return 0;
}
-/*
- * Initialize the ariane console.
- */
-static int ariane_console_init(void)
-{
- return uart8250_init(ARIANE_UART_ADDR,
- ARIANE_UART_FREQ,
- ARIANE_UART_BAUDRATE,
- ARIANE_UART_REG_SHIFT,
- ARIANE_UART_REG_WIDTH,
- ARIANE_UART_REG_OFFSET);
-}
-
static int plic_ariane_warm_irqchip_init(int m_cntx_id, int s_cntx_id)
{
int ret;
@@ -175,7 +168,6 @@ static int ariane_timer_init(bool cold_boot)
const struct sbi_platform_operations platform_ops = {
.early_init = ariane_early_init,
.final_init = ariane_final_init,
- .console_init = ariane_console_init,
.irqchip_init = ariane_irqchip_init,
.ipi_init = ariane_ipi_init,
.timer_init = ariane_timer_init,
diff --git a/platform/fpga/openpiton/platform.c b/platform/fpga/openpiton/platform.c
index 2317a89..dd74a0c 100644
--- a/platform/fpga/openpiton/platform.c
+++ b/platform/fpga/openpiton/platform.c
@@ -6,7 +6,6 @@
#include <sbi/riscv_asm.h>
#include <sbi/riscv_encoding.h>
#include <sbi/riscv_io.h>
-#include <sbi/sbi_console.h>
#include <sbi/sbi_const.h>
#include <sbi/sbi_hart.h>
#include <sbi/sbi_platform.h>
@@ -103,7 +102,10 @@ static int openpiton_early_init(bool cold_boot)
ACLINT_DEFAULT_MTIMECMP_OFFSET;
}
- return 0;
+ return uart8250_init(uart.addr, uart.freq, uart.baud,
+ OPENPITON_DEFAULT_UART_REG_SHIFT,
+ OPENPITON_DEFAULT_UART_REG_WIDTH,
+ OPENPITON_DEFAULT_UART_REG_OFFSET);
}
/*
@@ -122,19 +124,6 @@ static int openpiton_final_init(bool cold_boot)
return 0;
}
-/*
- * Initialize the openpiton console.
- */
-static int openpiton_console_init(void)
-{
- return uart8250_init(uart.addr,
- uart.freq,
- uart.baud,
- OPENPITON_DEFAULT_UART_REG_SHIFT,
- OPENPITON_DEFAULT_UART_REG_WIDTH,
- OPENPITON_DEFAULT_UART_REG_OFFSET);
-}
-
static int plic_openpiton_warm_irqchip_init(int m_cntx_id, int s_cntx_id)
{
int ret;
@@ -210,7 +199,6 @@ static int openpiton_timer_init(bool cold_boot)
const struct sbi_platform_operations platform_ops = {
.early_init = openpiton_early_init,
.final_init = openpiton_final_init,
- .console_init = openpiton_console_init,
.irqchip_init = openpiton_irqchip_init,
.ipi_init = openpiton_ipi_init,
.timer_init = openpiton_timer_init,