summaryrefslogtreecommitdiff
path: root/core/arch/arm/plat-rpi3/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/arch/arm/plat-rpi3/main.c')
-rw-r--r--core/arch/arm/plat-rpi3/main.c37
1 files changed, 6 insertions, 31 deletions
diff --git a/core/arch/arm/plat-rpi3/main.c b/core/arch/arm/plat-rpi3/main.c
index 9270e19..8a714cb 100644
--- a/core/arch/arm/plat-rpi3/main.c
+++ b/core/arch/arm/plat-rpi3/main.c
@@ -45,7 +45,7 @@ static void main_fiq(void)
static const struct thread_handlers handlers = {
.std_smc = tee_entry_std,
.fast_smc = tee_entry_fast,
- .fiq = main_fiq,
+ .nintr = main_fiq,
.cpu_on = cpu_on_handler,
.cpu_off = pm_do_nothing,
.cpu_suspend = pm_do_nothing,
@@ -54,41 +54,16 @@ static const struct thread_handlers handlers = {
.system_reset = pm_do_nothing,
};
+static struct serial8250_uart_data console_data __early_bss;
+
const struct thread_handlers *generic_boot_get_handlers(void)
{
return &handlers;
}
-static vaddr_t console_base(void)
-{
- static vaddr_t va;
-
- if (cpu_mmu_enabled()) {
- if (!va)
- va = (vaddr_t)phys_to_virt(CONSOLE_UART_BASE,
- MEM_AREA_IO_NSEC);
- return va;
- }
-
- return CONSOLE_UART_BASE;
-}
-
-void console_putc(int ch)
-{
- vaddr_t base = console_base();
-
- if (ch == '\n')
- serial8250_uart_putc('\r', base);
- serial8250_uart_putc(ch, base);
-}
-
void console_init(void)
{
- serial8250_uart_init(console_base(), CONSOLE_UART_CLK_IN_HZ,
- CONSOLE_BAUDRATE);
-}
-
-void console_flush(void)
-{
- serial8250_uart_flush_tx_fifo(console_base());
+ serial8250_uart_init(&console_data, CONSOLE_UART_BASE,
+ CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE);
+ register_serial_console(&console_data.chip);
}