feat(rdfremont): initialize the rse comms driver

Define platform specific API to fetch base address for secure or root
MHUv3 between AP-RSE invoke rse-comms driver initialization bl31
platform setup stage.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Id79bcdb2fda6cdf394f4e02f67d1c1a44d5ddf23
This commit is contained in:
Vivek Gautam 2023-03-27 20:48:28 +01:00 committed by Rohit Mathew
parent 2a35fcdd9f
commit f546113761
3 changed files with 20 additions and 0 deletions

View file

@ -40,4 +40,12 @@
/* Address bits */
#define NRD_ADDR_BITS_PER_CHIP U(36) /* 64GB */
/*
* In the current implementation, the RoT Service request that requires the
* biggest message buffer is the RSE_DELEGATED_ATTEST_GET_PLATFORM_TOKEN. The
* maximum required buffer size is calculated based on the platform-specific
* needs of this request.
*/
#define PLAT_RSE_COMMS_PAYLOAD_MAX_SIZE UL(0x1000)
#endif /* PLATFORM_DEF_H */

View file

@ -38,7 +38,11 @@ ifeq (${NRD_PLATFORM_VARIANT}, 2)
GICV3_IMPL_GIC600_MULTICHIP := 1
endif
# RD-Fremont uses MHUv3
PLAT_MHU_VERSION := 3
include plat/arm/board/neoverse_rd/common/nrd-common.mk
include drivers/arm/rse/rse_comms.mk
RDFREMONT_BASE = plat/arm/board/neoverse_rd/platform/rdfremont
@ -68,7 +72,9 @@ BL2_SOURCES += ${RDFREMONT_BASE}/rdfremont_trusted_boot.c
endif
BL31_SOURCES += ${NRD_CPU_SOURCES} \
${RSE_COMMS_SOURCES} \
${RDFREMONT_BASE}/rdfremont_bl31_setup.c \
${RDFREMONT_BASE}/rdfremont_mhuv3.c \
${RDFREMONT_BASE}/rdfremont_topology.c \
${RDFREMONT_BASE}/rdfremont_plat_attest_token.c \
${RDFREMONT_BASE}/rdfremont_realm_attest_key.c \

View file

@ -6,12 +6,14 @@
#include <common/debug.h>
#include <drivers/arm/gic600_multichip.h>
#include <drivers/arm/rse_comms.h>
#include <drivers/arm/smmu_v3.h>
#include <plat/arm/common/plat_arm.h>
#include <plat/common/platform.h>
#include <nrd_plat.h>
#include <nrd_variant.h>
#include <rdfremont_rse_comms.h>
#if (NRD_PLATFORM_VARIANT == 2)
static const mmap_region_t rdfremontmc_dynamic_mmap[] = {
@ -123,4 +125,8 @@ void bl31_platform_setup(void)
}
#endif /* NRD_PLATFORM_VARIANT == 2 */
nrd_bl31_common_platform_setup();
if (plat_rse_comms_init() != 0) {
WARN("Failed initializing AP-RSE comms.\n");
}
}