mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-08 05:43:53 +00:00
Merge changes I04ecd50f,I830b53e2 into integration
* changes: fix(rcar3-drivers): disable A/B loader support by default fix(rcar-layout): fix tool build
This commit is contained in:
commit
555705638f
3 changed files with 25 additions and 4 deletions
|
@ -149,6 +149,9 @@ static uint64_t rcar_image_header[RCAR_MAX_BL3X_IMAGE + 2U] = { 0U };
|
|||
static uint64_t rcar_image_header_prttn[RCAR_MAX_BL3X_IMAGE + 2U] = { 0U };
|
||||
static uint64_t rcar_image_number = { 0U };
|
||||
static uint32_t rcar_cert_load = { 0U };
|
||||
#if (RCAR_RPC_HYPERFLASH_ABLOADER == 1)
|
||||
static uint32_t rcar_image_offset = 0U;
|
||||
#endif
|
||||
|
||||
static io_type_t device_type_rcar(void)
|
||||
{
|
||||
|
@ -196,8 +199,10 @@ static int32_t file_to_offset(const int32_t name, uintptr_t *offset,
|
|||
|
||||
*offset = rcar_image_header[addr];
|
||||
|
||||
if (mmio_read_32(MFISBTSTSR) & MFISBTSTSR_BOOT_PARTITION)
|
||||
*offset += 0x800000;
|
||||
#if (RCAR_RPC_HYPERFLASH_ABLOADER == 1)
|
||||
*offset += rcar_image_offset;
|
||||
#endif
|
||||
|
||||
*cert = RCAR_CERT_SIZE;
|
||||
*cert *= RCAR_ATTR_GET_CERTOFF(name_offset[i].attr);
|
||||
*cert += RCAR_SDRAM_certESS;
|
||||
|
@ -499,6 +504,15 @@ static int32_t rcar_dev_init(io_dev_info_t *dev_info, const uintptr_t name)
|
|||
*/
|
||||
offset = name == EMMC_DEV_ID ? RCAR_EMMC_CERT_HEADER :
|
||||
RCAR_FLASH_CERT_HEADER;
|
||||
|
||||
#if (RCAR_RPC_HYPERFLASH_ABLOADER == 1)
|
||||
rcar_image_offset = 0;
|
||||
if ((name == FLASH_DEV_ID) &&
|
||||
(mmio_read_32(MFISBTSTSR) & MFISBTSTSR_BOOT_PARTITION)) {
|
||||
rcar_image_offset = 0x800000;
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = io_seek(handle, IO_SEEK_SET, offset);
|
||||
if (rc != IO_SUCCESS) {
|
||||
WARN("Firmware Image Package header failed to seek\n");
|
||||
|
|
|
@ -148,6 +148,13 @@ RCAR_RPC_HYPERFLASH_LOCKED := 1
|
|||
endif
|
||||
$(eval $(call add_define,RCAR_RPC_HYPERFLASH_LOCKED))
|
||||
|
||||
# Support A/B switching with RPC HYPERFLASH access by default
|
||||
# Use together with https://github.com/marex/abloader .
|
||||
ifndef RCAR_RPC_HYPERFLASH_ABLOADER
|
||||
RCAR_RPC_HYPERFLASH_ABLOADER := 0
|
||||
endif
|
||||
$(eval $(call add_define,RCAR_RPC_HYPERFLASH_ABLOADER))
|
||||
|
||||
# Process RCAR_SECURE_BOOT flag
|
||||
ifndef RCAR_SECURE_BOOT
|
||||
RCAR_SECURE_BOOT := 1
|
||||
|
|
|
@ -102,7 +102,7 @@ $(FILE_NAME_SA0).bin: $(OUTPUT_FILE_SA0) | $$(@D)/
|
|||
$(aarch64-oc) -O binary --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3 $(OUTPUT_FILE_SA0) $(FILE_NAME_SA0).bin
|
||||
|
||||
$(OUTPUT_FILE_SA0): $(MEMORY_DEF_SA0) $(OBJ_FILE_SA0) | $$(@D)/
|
||||
$(aarch64-ld) $(OBJ_FILE_SA0) -nostdlib -T $(MEMORY_DEF_SA0) -o $(OUTPUT_FILE_SA0) -Wl,-Map $(FILE_NAME_SA0).map
|
||||
$(aarch64-ld) $(OBJ_FILE_SA0) -nostdlib -static -Wl,--build-id=none -T $(MEMORY_DEF_SA0) -o $(OUTPUT_FILE_SA0) -Wl,-Map $(FILE_NAME_SA0).map
|
||||
|
||||
$(FILE_NAME_SA6).srec: $(OUTPUT_FILE_SA6) | $$(@D)/
|
||||
$(aarch64-oc) -O srec --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3 $(OUTPUT_FILE_SA6) $(FILE_NAME_SA6).srec
|
||||
|
@ -111,7 +111,7 @@ $(FILE_NAME_SA6).bin: $(OUTPUT_FILE_SA6) | $$(@D)/
|
|||
$(aarch64-oc) -O binary --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3 $(OUTPUT_FILE_SA6) $(FILE_NAME_SA6).bin
|
||||
|
||||
$(OUTPUT_FILE_SA6): $(MEMORY_DEF_SA6) $(OBJ_FILE_SA6) | $$(@D)/
|
||||
$(aarch64-ld) $(OBJ_FILE_SA6) -nostdlib -T $(MEMORY_DEF_SA6) -o $(OUTPUT_FILE_SA6) -Wl,-Map $(FILE_NAME_SA6).map
|
||||
$(aarch64-ld) $(OBJ_FILE_SA6) -nostdlib -static -Wl,--build-id=none -T $(MEMORY_DEF_SA6) -o $(OUTPUT_FILE_SA6) -Wl,-Map $(FILE_NAME_SA6).map
|
||||
|
||||
###################################################
|
||||
# Compile
|
||||
|
|
Loading…
Add table
Reference in a new issue