mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-21 03:54:34 +00:00

The command line for BL33 payloads is typically taken from the DTB. On "normal" systems the bootloader will put the right version in there, but we typically don't use one on the FPGAs. To avoid editing (and possibly re-packaging) the DTB for every change in the command line, try to read it from some "magic" memory location instead. It can be easily placed there by the tool that uploads the other payloads to the FPGA's memory. BL31 will then replace the existing command line in the DTB with that new string. To avoid reading garbage, check the memory location for containing a magic value. This is conveniently chosen to be a simple ASCII string, so it can just preceed the actual command line in a text file: -------------------------------- CMD:console=ttyAMA0,38400n8 debug loglevel=8 -------------------------------- Change-Id: I5923a80332c9fac3b4afd1a6aaa321233d0f60da Signed-off-by: Andre Przywara <andre.przywara@arm.com>
30 lines
646 B
C
30 lines
646 B
C
/*
|
|
* Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef FPGA_PRIVATE_H
|
|
#define FPGA_PRIVATE_H
|
|
|
|
#include "../fpga_def.h"
|
|
#include <platform_def.h>
|
|
|
|
#define C_RUNTIME_READY_KEY (0xaa55aa55)
|
|
#define VALID_MPID (1U)
|
|
#define FPGA_MAX_DTB_SIZE 0x10000
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
extern unsigned char fpga_valid_mpids[PLATFORM_CORE_COUNT];
|
|
|
|
void fpga_console_init(void);
|
|
|
|
void plat_fpga_gic_init(void);
|
|
void fpga_pwr_gic_on_finish(void);
|
|
void fpga_pwr_gic_off(void);
|
|
unsigned int plat_fpga_calc_core_pos(uint32_t mpid);
|
|
|
|
#endif /* __ASSEMBLER__ */
|
|
|
|
#endif /* FPGA_PRIVATE_H */
|