mirror of https://github.com/wolfSSL/wolfBoot.git
46 lines
2.0 KiB
Plaintext
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
|