mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-15 08:57:02 +02:00
Introduce the bare mimimum base of the msm8916 BL31 port. This is pretty much just a standard platform "skeleton" with CPU/memory initialization and an UART driver. This allows booting into e.g. U-Boot with working UART output. Note that the plat/qti/msm8916 port is completely separate and does not make use of anything in plat/qti/common at the moment. The main reason for that is that plat/qti/common is heavily focused around having a binary "qtiseclib" component, while the MSM8916 port is fully open-source (and therefore somewhat limited to publicly documented functionality). In the future it might be possible to re-use some of the open-source parts in plat/qti/common (e.g. spmi_arb.c or pm_ps_hold.c) but it's not strictly required for the basic functionality supported so far. Change-Id: I7b4375df0f947b3bd1e55b0b52b21edb6e6d175b Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
28 lines
653 B
ArmAsm
28 lines
653 B
ArmAsm
/*
|
|
* Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef PLAT_MACROS_S
|
|
#define PLAT_MACROS_S
|
|
|
|
#include <arm_macros.S>
|
|
|
|
#include <msm8916_mmap.h>
|
|
|
|
/* ---------------------------------------------
|
|
* The below required platform porting macro
|
|
* prints out relevant GIC registers whenever
|
|
* an unhandled exception is taken in BL31.
|
|
* Clobbers: x0 - x10, x16, x17, sp
|
|
* ---------------------------------------------
|
|
*/
|
|
.macro plat_crash_print_regs
|
|
mov_imm x16, APCS_QGIC2_GICD
|
|
mov_imm x17, APCS_QGIC2_GICC
|
|
arm_print_gic_regs
|
|
.endm
|
|
|
|
#endif /* PLAT_MACROS_S */
|