mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 00:54:22 +00:00
feat(versal2): update platform version to versal2
Extend board detection with saving information about PS, PMC and RTL versions. Variables can be use to cover different behavior based on version and version information is also printed for chip identification. Change-Id: Ia37418f6a31426a5763fb89fc76fef91d09df155 Signed-off-by: Saivardhan Thatikonda <saivardhan.thatikonda@amd.com>
This commit is contained in:
parent
d9f9ad0b09
commit
4003ac02eb
4 changed files with 14 additions and 3 deletions
|
@ -18,7 +18,7 @@
|
|||
#include <plat_ipi.h>
|
||||
#include <plat_private.h>
|
||||
|
||||
uint32_t platform_id, platform_version;
|
||||
uint32_t platform_id, platform_version, rtlversion, psversion, pmcversion;
|
||||
|
||||
/*
|
||||
* Table of regions to map using the MMU.
|
||||
|
@ -77,6 +77,9 @@ void board_detection(void)
|
|||
version_type = mmio_read_32(PMC_TAP_VERSION);
|
||||
platform_id = FIELD_GET((uint32_t)PLATFORM_MASK, version_type);
|
||||
platform_version = FIELD_GET((uint32_t)PLATFORM_VERSION_MASK, version_type);
|
||||
rtlversion = FIELD_GET((uint32_t)RTL_VERSION, version_type);
|
||||
psversion = FIELD_GET((uint32_t)PS_VERSION, version_type);
|
||||
pmcversion = FIELD_GET((uint32_t)PMC_VERSION, version_type);
|
||||
|
||||
if (platform_id == QEMU_COSIM) {
|
||||
platform_id = QEMU;
|
||||
|
|
|
@ -132,8 +132,12 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
|
|||
|
||||
setup_console();
|
||||
|
||||
NOTICE("TF-A running on %s %d.%d\n", board_name_decode(),
|
||||
platform_version / 10U, platform_version % 10U);
|
||||
NOTICE("TF-A running on %s v%d.%d, RTL v%d.%d, PS v%d.%d, PMC v%d.%d\n",
|
||||
board_name_decode(),
|
||||
(platform_version >> 1), platform_version % 10U,
|
||||
(rtlversion >> 1), rtlversion % 10U,
|
||||
(psversion >> 1), psversion % 10U,
|
||||
(pmcversion >> 1), pmcversion % 10U);
|
||||
|
||||
/*
|
||||
* Do initial security configuration to allow DRAM/device access. On
|
||||
|
|
|
@ -45,6 +45,9 @@
|
|||
/* For platform detection */
|
||||
#define PMC_TAP U(0xF11A0000)
|
||||
#define PMC_TAP_VERSION (PMC_TAP + 0x4U)
|
||||
# define PMC_VERSION GENMASK(7U, 0U)
|
||||
# define PS_VERSION GENMASK(15U, 8U)
|
||||
# define RTL_VERSION GENMASK(23U, 16U)
|
||||
# define PLATFORM_MASK GENMASK(27U, 24U)
|
||||
# define PLATFORM_VERSION_MASK GENMASK(31U, 28U)
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ void plat_gic_redistif_on(void);
|
|||
void plat_gic_redistif_off(void);
|
||||
|
||||
extern uint32_t cpu_clock, platform_id, platform_version;
|
||||
extern uint32_t rtlversion, psversion, pmcversion;
|
||||
void board_detection(void);
|
||||
const char *board_name_decode(void);
|
||||
uint64_t smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, uint64_t x3,
|
||||
|
|
Loading…
Add table
Reference in a new issue