GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# Copyright (c) 2014, ARM Limited and Contributors. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# TSP source files specific to ZynqMP platform
|
||||
BL32_SOURCES += plat/common/aarch64/platform_mp_stack.S \
|
||||
plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2019, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include <common/bl_common.h>
|
||||
#include <common/debug.h>
|
||||
#include <drivers/console.h>
|
||||
#include <plat/arm/common/plat_arm.h>
|
||||
#include <plat_private.h>
|
||||
#include <platform_tsp.h>
|
||||
|
||||
/*******************************************************************************
|
||||
* Initialize the UART
|
||||
******************************************************************************/
|
||||
void tsp_early_platform_setup(void)
|
||||
{
|
||||
/*
|
||||
* Register a different console than already in use to display
|
||||
* messages from TSP
|
||||
*/
|
||||
static console_t tsp_boot_console;
|
||||
(void)console_cdns_register(ZYNQMP_UART_BASE,
|
||||
zynqmp_get_uart_clk(),
|
||||
ZYNQMP_UART_BAUDRATE,
|
||||
&tsp_boot_console);
|
||||
console_set_scope(&tsp_boot_console,
|
||||
CONSOLE_FLAG_RUNTIME | CONSOLE_FLAG_BOOT);
|
||||
|
||||
/* Initialize the platform config for future decision making */
|
||||
zynqmp_config_setup();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Perform platform specific setup placeholder
|
||||
******************************************************************************/
|
||||
void tsp_platform_setup(void)
|
||||
{
|
||||
plat_arm_gic_driver_init();
|
||||
plat_arm_gic_init();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Perform the very early platform specific architectural setup here. At the
|
||||
* moment this is only intializes the MMU
|
||||
******************************************************************************/
|
||||
void tsp_plat_arch_setup(void)
|
||||
{
|
||||
const mmap_region_t bl_regions[] = {
|
||||
MAP_REGION_FLAT(BL32_BASE, BL32_END - BL32_BASE,
|
||||
MT_MEMORY | MT_RW | MT_SECURE),
|
||||
MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE,
|
||||
MT_CODE | MT_SECURE),
|
||||
MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_BASE,
|
||||
MT_RO_DATA | MT_SECURE),
|
||||
MAP_REGION_FLAT(BL_COHERENT_RAM_BASE,
|
||||
BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE,
|
||||
MT_DEVICE | MT_RW | MT_SECURE),
|
||||
{0}
|
||||
};
|
||||
|
||||
setup_page_tables(bl_regions, plat_arm_get_mmap());
|
||||
enable_mmu_el1(0);
|
||||
}
|
||||
Reference in New Issue
Block a user