wolfBoot/config/examples/zynqmp.config

127 lines
3.8 KiB
Plaintext

ARCH?=AARCH64
TARGET?=zynq
WOLFBOOT_VERSION?=0
# RSA 4096-bit with SHA3-384
SIGN?=RSA4096
HASH?=SHA3
IMAGE_HEADER_SIZE?=1024
# Hashing Option
# 1. ARMv8+Crypto Assembly: HW_SHA3=0 and NO_ARM_ASM=0 (default)
# 2. CSU SHA3 hardware acceleration HW_SHA3=1 and NO_ARM_ASM=1
# 3. C Only HW_SHA3=0 and NO_ARM_ASM=1
NO_ARM_ASM?=0
HW_SHA3?=0
# XMSS/XMSS^MT is a post-quantum, stateful, hash-based signature scheme.
# Use the helper script `tools/xmss/xmss_siglen.sh`
# to calculate your signature length given an xmss parameter string.
#SIGN?=XMSS
#HASH?=SHA256
#XMSS_PARAMS='XMSS-SHA2_10_256'
#IMAGE_SIGNATURE_SIZE=2500
#IMAGE_HEADER_SIZE?=5000
# LMS/HSS is a post-quantum, stateful, hash-based signature scheme.
# Use the helper script `tools/lms/lms_siglen`
#SIGN?=LMS
#HASH?=SHA256
#LMS_LEVELS=2
#LMS_HEIGHT=5
#LMS_WINTERNITZ=8
#IMAGE_SIGNATURE_SIZE=2644
#IMAGE_HEADER_SIZE?=5288
DEBUG?=0
DEBUG_SYMBOLS=1
DEBUG_UART=1
CFLAGS_EXTRA+=-DDEBUG_ZYNQ=1
#OPTIMIZATION_LEVEL=2
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
EXT_FLASH?=1
SPI_FLASH?=0
NO_XIP=1
USE_GCC=1
ELF?=1
#DEBUG_ELF?=1
# Native gzip decompression for FIT subimages (set GZIP=0 to disable)
GZIP?=1
# Flash Sector Size
WOLFBOOT_SECTOR_SIZE=0x20000
# Application Partition Size
WOLFBOOT_PARTITION_SIZE=0x2A00000
# Location in Flash for wolfBoot
WOLFBOOT_ORIGIN=0x0
# Location in Flash for Primary Boot Partition
WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x800000
# Load Partition to RAM Address
WOLFBOOT_LOAD_ADDRESS?=0x10000000
# Location in Flash for Secondary Partition
WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x3A00000
# Location to store wolfBoot state
WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x63E0000
# DTS (Device Tree)
WOLFBOOT_LOAD_DTS_ADDRESS?=0x11800000
WOLFBOOT_DTS_BOOT_ADDRESS?=0x7B0000
WOLFBOOT_DTS_UPDATE_ADDRESS?=0x39B0000
# Optional: program the PL from an "fpga" sub-image in the FIT before boot
# (handed to the PMU firmware via PM_FPGA_LOAD). Requires GZIP=1 when the
# bitstream node uses compression="gzip" (the typical mkimage output). The
# fpga node usually has no `load` property, so set a DDR staging address
# clear of the FIT (0x10000000), kernel (0x200000), and DTS (0x11800000).
#FPGA_BITSTREAM?=1
#WOLFBOOT_LOAD_FPGA_ADDRESS?=0x40000000
CROSS_COMPILE=aarch64-none-elf-
#CROSS_COMPILE=aarch64-linux-gnu-
# Speed up reads from flash by using larger blocks
CFLAGS_EXTRA+=-DWOLFBOOT_SHA_BLOCK_SIZE=4096
# QSPI Reference Clock: Ref (125MHz default)
#CFLAGS_EXTRA+=-DGQSPI_CLK_REF=300000000
# QSPI Bus Divisor: (2 << div) = BUS (0=div2, 1=div4, 2=div8)
#CFLAGS_EXTRA+=-DGQSPI_CLK_DIV=0
# QSPI force IO mode (default is faster DMA mode)
#CFLAGS_EXTRA+=-DGQSPI_MODE_IO
# Optional: Ethernet PHY init over GEM MDIO.
# Replays a board-specific "mii"/"mw" register sequence (normally run from
# U-Boot) so the PHY is configured before the OS starts. wolfBoot has no
# network stack; this drives only the MDIO management plane.
#CFLAGS_EXTRA+=-DWOLFBOOT_ZYNQMP_PHY_INIT
# Defaults (hal/zynq.h) target the ZCU102 PHY (DP83867 at MDIO 0x0C on GEM3)
# and just read the PHY ID. For another board, keep its values in a small
# header and select it with one line (this keeps the efficient step array):
#CFLAGS_EXTRA+=-DZYNQMP_PHY_INIT_HEADER='"myboard_phy.h"'
# where myboard_phy.h #defines any of:
# ZYNQMP_GEM_BASE GEM register base (default 0xFF0E0000 = GEM3)
# ZYNQMP_PHY_ADDR PHY MDIO address (default 0x0C)
# ZYNQMP_PHY_GPIO_ADDR PL register poked by a GPIO step; 0 disables it
# ZYNQMP_GEM_MDC_DIV NWCFG MDC divisor selector (default 5 = pclk/96)
# ZYNQMP_PHY_INIT_STEPS the {op,arg0,arg1} sequence rows
# Simple scalars can also be set directly, e.g.:
#CFLAGS_EXTRA+=-DZYNQMP_GEM_BASE=0xFF0B0000UL
# A PHY behind the PL only responds once the FPGA bitstream is loaded, so the
# boot image (BOOT.BIN) must include it (bootgen [destination_device=pl]).