wolfBoot/config/examples/zynqmp_fsbl_sd.config

89 lines
2.4 KiB
Plaintext

# wolfBoot configuration for AMD ZynqMP ZCU102 - FSBL REPLACEMENT (SD boot)
# Zynq UltraScale+ MPSoC ZU9EG - Quad-core ARM Cortex-A53
#
# Same FSBL-replacement role as config/examples/zynqmp_fsbl.config, but the
# BootROM loads wolfBoot from BOOT.BIN on the SD card FAT partition, and
# wolfBoot reads the downstream images from MBR partitions on the same card.
#
# Boot flow: BootROM -> wolfBoot (OCM/EL3) -> psu_init -> verify+load
# BL31 + kernel + DTB (from SD) -> BL31 -> Linux
#
# Supply the board psu_init_gpl.c/.h at build time (see zynqmp_fsbl.config).
# Build: make ZYNQMP_FSBL=1 ZYNQMP_PSU_INIT_DIR=/path/to/board
# Package: tools/scripts/zcu102/zynqmp_wolfboot_fsbl.bif
ARCH?=AARCH64
TARGET?=zynq
ZYNQMP_FSBL?=1
ZYNQMP_PSU_INIT_DIR?=hal/board/zynqmp
# BootROM enters the [bootloader] partition at EL3.
CFLAGS_EXTRA+=-DEL3_SECURE=1
WOLFBOOT_VERSION?=0
SIGN?=RSA4096
HASH?=SHA3
IMAGE_HEADER_SIZE?=1024
NO_ARM_ASM?=0
HW_SHA3?=0
DEBUG?=0
DEBUG_SYMBOLS=1
DEBUG_UART=1
CFLAGS_EXTRA+=-DDEBUG_ZYNQ=1
# SD card support - use SDHCI driver (SD1 external slot on ZCU102)
DISK_SDCARD?=1
DISK_EMMC?=0
CFLAGS_EXTRA+=-DSDHCI_FORCE_CARD_DETECT
# No QSPI in the SD configuration
EXT_FLASH?=0
NO_XIP=1
ELF?=1
GZIP?=1
VTOR?=1
CORTEX_M0?=0
NO_ASM?=0
ALLOW_DOWNGRADE?=0
NVM_FLASH_WRITEONCE?=0
V?=0
SPMATH?=1
RAM_CODE?=0
DUALBANK_SWAP?=0
PKA?=0
WOLFTPM?=0
USE_GCC=1
CROSS_COMPILE=aarch64-none-elf-
# MBR partition layout (same as zynqmp_sdcard.config):
# part[0]=boot (FAT32, BOOT.BIN), part[1]=OFP_A, part[2]=OFP_B, part[3]=rootfs
WOLFBOOT_NO_PARTITIONS=1
CFLAGS_EXTRA+=-DBOOT_PART_A=1
CFLAGS_EXTRA+=-DBOOT_PART_B=2
CFLAGS_EXTRA+=-DDISK_BLOCK_SIZE=0x80000
CFLAGS_EXTRA+=-DLINUX_BOOTARGS_ROOT=\"/dev/mmcblk0p4\"
# wolfBoot self-location (OCM). Must match ORIGIN in hal/zynqmp_ocm.ld.
WOLFBOOT_ORIGIN=0xFFFC0000
# Bound the RAM load of the (not-yet-authenticated) disk image. Required with
# WOLFBOOT_NO_PARTITIONS=1 (update_disk.c). 64MB comfortably fits the signed
# FIT (kernel+atf+fdt) at WOLFBOOT_LOAD_ADDRESS. NOTE: the SD FSBL boot path is
# not yet HW-validated (QSPI is); this config is build-tested only.
WOLFBOOT_RAMBOOT_MAX_SIZE=0x4000000
# Load Partition to RAM Address (DDR, after psu_init)
WOLFBOOT_LOAD_ADDRESS?=0x10000000
# DTS (Device Tree) load address
WOLFBOOT_LOAD_DTS_ADDRESS?=0x1000
# Required for test-app (even with WOLFBOOT_NO_PARTITIONS=1)
WOLFBOOT_PARTITION_BOOT_ADDRESS=0x80200000
WOLFBOOT_PARTITION_SIZE=0x4000000
WOLFBOOT_SECTOR_SIZE=0x1000