55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <assert.h>
|
|
|
|
#include <platform_def.h>
|
|
|
|
#include <common/debug.h>
|
|
#include <drivers/arm/pl011.h>
|
|
#include <drivers/console.h>
|
|
#include <fconf_hw_config_getter.h>
|
|
#include <plat/arm/common/plat_arm.h>
|
|
|
|
static console_t fvp_runtime_console;
|
|
|
|
/* Initialize the runtime console */
|
|
void arm_console_runtime_init(void)
|
|
{
|
|
uintptr_t uart_base;
|
|
uint32_t uart_clk;
|
|
|
|
/*
|
|
* fconf APIs are not supported for RESET_TO_SP_MIN, RESET_TO_BL31 and
|
|
* BL2_AT_EL3 systems.
|
|
*/
|
|
#if RESET_TO_SP_MIN || RESET_TO_BL31 || BL2_AT_EL3
|
|
uart_base = PLAT_ARM_RUN_UART_BASE;
|
|
uart_clk = PLAT_ARM_RUN_UART_CLK_IN_HZ;
|
|
#else
|
|
uart_base = FCONF_GET_PROPERTY(hw_config, uart_serial_config,
|
|
uart_base);
|
|
uart_clk = FCONF_GET_PROPERTY(hw_config, uart_serial_config,
|
|
uart_clk);
|
|
#endif
|
|
|
|
int rc = console_pl011_register(uart_base, uart_clk,
|
|
ARM_CONSOLE_BAUDRATE,
|
|
&fvp_runtime_console);
|
|
|
|
if (rc == 0) {
|
|
panic();
|
|
}
|
|
|
|
console_set_scope(&fvp_runtime_console, CONSOLE_FLAG_RUNTIME);
|
|
}
|
|
|
|
void arm_console_runtime_end(void)
|
|
{
|
|
console_flush();
|
|
(void)console_unregister(&fvp_runtime_console);
|
|
}
|