Merge "plat/arm/fvp: populate runtime console parameters dynamically" into integration

This commit is contained in:
Mark Dykes 2020-05-22 17:45:46 +00:00 committed by TrustedFirmware Code Review
commit beff491075
4 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,54 @@
/*
* 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)
{
(void)console_flush();
(void)console_unregister(&fvp_runtime_console);
}

View File

@ -205,6 +205,7 @@ BL31_SOURCES += drivers/arm/fvp/fvp_pwrc.c \
drivers/cfi/v2m/v2m_flash.c \
lib/utils/mem_region.c \
plat/arm/board/fvp/fvp_bl31_setup.c \
plat/arm/board/fvp/fvp_console.c \
plat/arm/board/fvp/fvp_pm.c \
plat/arm/board/fvp/fvp_topology.c \
plat/arm/board/fvp/aarch64/fvp_helpers.S \

View File

@ -10,6 +10,7 @@ BL32_SOURCES += drivers/arm/fvp/fvp_pwrc.c \
lib/utils/mem_region.c \
plat/arm/board/fvp/aarch32/fvp_helpers.S \
plat/arm/board/fvp/fvp_pm.c \
plat/arm/board/fvp/fvp_console.c \
plat/arm/board/fvp/fvp_topology.c \
plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c \
plat/arm/common/arm_nor_psci_mem_protect.c \

View File

@ -13,6 +13,9 @@
#include <drivers/console.h>
#include <plat/arm/common/plat_arm.h>
#pragma weak arm_console_runtime_init
#pragma weak arm_console_runtime_end
/*******************************************************************************
* Functions that set up the console
******************************************************************************/