wolfBoot/config/examples/tegra234-linux.config

46 lines
2.0 KiB
Plaintext

# NVIDIA Jetson Orin / Tegra234 - bare-metal BL33, DRAM-staged Linux boot.
#
# wolfBoot runs as the bare-metal BL33 (replacing edk2 UEFI), verifies a signed
# Linux kernel bundled into the BL33 image in DRAM, and boots it EL2->EL1 with a
# device tree - no storage driver required. This sidesteps the SDMMC1 controller
# bring-up (still open; see hal/tegra234.c). The kernel + DTB are bundled by
# tools/scripts/tegra234-mkpoc.sh.
#
# For the storage-based (SDHCI) variant, see tegra234.config + DISK_SDCARD.
ARCH=AARCH64
TARGET=tegra234
SIGN?=ECC384
HASH?=SHA384
DEBUG?=1
DEBUG_UART?=1
TEGRA234_HANDOFF_DUMP?=1
SPMATH?=1
NO_XIP?=1
# Skip GIC init before booting the payload (Orin is GICv3; BL31 set it up).
SKIP_GIC_INIT?=1
WOLFBOOT_SECTOR_SIZE?=0x1000
WOLFBOOT_NO_PARTITIONS=1
# Payload slot in the BL33 bundle (see hal/tegra234.h): bounds the test-app link.
WOLFBOOT_PARTITION_SIZE?=0x100000
# --- Linux boot payload plumbing ---------------------------------------------
# MMU/WOLFBOOT_FDT come from arch.mk for every aarch64 target; they only switch
# on the FDT/DTS code path (the two-argument do_boot that forwards a DTB
# pointer). tegra234 stays MMU-off at runtime, 1:1 physical, which is what the
# arm64 Linux boot protocol wants. EL2_HYPERVISOR+BOOT_EL1 add the EL2->EL1
# drop with the DTB in x0 (the Linux boot ABI).
EL2_HYPERVISOR=1
BOOT_EL1=1
# RAM staging: the bundled payload lives at BL33_BASE+0x200000 and the DTB at
# +0x300000 (see hal/tegra234.h). update_ram copies the kernel to LOAD_ADDRESS
# and relocates the DTB to LOAD_DTS_ADDRESS, both in low DRAM, 2 MB-aligned.
# LOAD_DTS_ADDRESS must stay above LOAD_ADDRESS + RAMBOOT_MAX_SIZE
# (0xA0000000 + 0x4000000 = 0xA4000000), otherwise the DTB relocation writes
# into the tail of a large image that already passed signature verification.
# The cap itself is enforced at runtime by wolfBoot_open_image_address()
# (src/image.c, no-partition branch).
WOLFBOOT_RAMBOOT_MAX_SIZE=0x4000000
WOLFBOOT_LOAD_ADDRESS?=0xA0000000
WOLFBOOT_LOAD_DTS_ADDRESS?=0xA5000000