Repository navigation
Conversation
…ge, booting a signed FIT from SD, eMMC or QuadSPI NOR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds
TARGET=s32g2for the NXP S32G274A on the S32G-VNP-GLDBOX (RDB2). wolfBoot is the Boot ROM's application image: it runs from SRAM at EL3 in place of U-Boot, brings the SoC up, verifies a signed FIT and enters Linux at EL2.What it adds
hal/s32g2.c,hal/s32g2.h,hal/s32g2.ld- HAL: LINFlexD console, VR5510 watchdog over I2C, clock tree, Ncore, EL3 identity MMU, GICv3, secondary cores on a spin table, QuadSPI NOR driver behind theext_flashAPI, device tree fixupshal/s32g2_ddr.c- LPDDR4 controller and PHY bring-up. The board's register tables and the Synopsys PHY training firmware are not in the tree:tools/scripts/s32g2/s32g2-ddr-blob.pypacks them from an NXP BSP U-Boot checkout into a blob the build links inconfig/examples/s32g2-goldbox.config- boot from SD or eMMC with two FIT file slots;s32g2-goldbox-qspi.config- boot from QuadSPI NOR with BOOT/UPDATE partitions in the NORtools/scripts/s32g2/- Boot ROM image writer (IVT, DCD, QuadSPI parameter block) and FIT build scriptdocs/Targets.md, CI build jobs for each variantTouches shared code
src/boot_aarch64_start.S,src/boot_aarch64.c- S32G2 blocks only: SRAM ECC initialisation before the first store, EL3 fault vectors, secondary core entry, EL3 to EL2 handoffhal/imx_usdhc_sdhci.c- the shared uSDHC shim now also serves S32G2src/update_disk.c-ALLOW_DOWNGRADE=1no longer fails to build on an unused variableTesting
Validated on a GoldBox (S32G274A rev 2.1, RDB2 rev D): Boot ROM boot from SD and from QuadSPI NOR, the signed FIT read from SD (both file slots), eMMC and the NOR BOOT partition, Linux 5.4 (BSP29) to a login prompt with four cores. The
ALLOW_DOWNGRADE=1fix is build-tested only.