-
Notifications
You must be signed in to change notification settings - Fork 0
vexpress64 u boot upstream contribution proposals
Modernization and contribution opportunities for board/armltd/vexpress64
(ARM Ltd Versatile Express / FVP-Base, BaseR, and Juno targets), based on a
comparison against current modern BSPs: total_compute, ti/am62x,
qemu-arm, sunxi, and rockchip.
Goal: land a series of small-to-medium patches that modernize the board, become an active reviewer/contributor presence, and get visibility with the maintainers (David Feng, Linus Walleij, Peter Hoyes).
| # | Proposal | Tier | Risk | Effort | Visibility |
|---|---|---|---|---|---|
| 1 | Add vexpress64.env text environment file |
1 | Low | Small | High |
| 2 | Implement checkboard()
|
1 | Low | Tiny | Medium |
| 3 | Add board_late_init()
|
1 | Low | Small | Medium |
| 4 | Standard boot (bootstd / bootflow) support | 2 | Medium | Medium | High |
| 5 |
ft_board_setup() for runtime DTB fixups |
2 | Medium | Medium | Medium |
| 6 | EFI capsule update + capsule-on-disk | 3 | High | Large | High |
| 7 | SPL board hooks | 3 | Medium | Large | Low |
Modern boards (total_compute, am62x, qemu-arm) ship a .env file
instead of cramming CONFIG_EXTRA_ENV_SETTINGS into the config header.
-
What: Move boot environment out of
include/configs/vexpress_aemv8.hintoboard/armltd/vexpress64/vexpress64.env, and wireCONFIG_ENV_SOURCE_FILE. - Why it's a good first patch: pure cleanup, no functional change, idiomatic, easy for reviewers to evaluate.
- Pairs with: #3.
vexpress64 currently prints nothing board-specific at boot.
-
What: A
checkboard()that prints the detected model (Base FVP / BaseR FVP / Juno). - Why: tiny, self-contained, improves boot diagnostics. Classic "first contribution" size.
Currently absent.
-
What: Even a minimal hook that sets
board_name/fdtfileenv from the detected target (useful for bootstd). - Why: conventional, low-risk, pairs naturally with #1.
qemu-arm enables BOOTSTD_FULL and bootflow scanning; vexpress64 still
relies on a hand-written bootcmd.
-
What: Enable
CONFIG_BOOTSTD/BOOTSTD_FULLand provide the rightboot_targets. - Why: aligns the board with U-Boot's current direction — high community relevance.
- Recommendation: propose on the mailing list before coding.
No runtime devicetree modification hook exists.
-
What: Add
ft_board_setup()(e.g. to fix up memory or reserved regions at boot). - Why: well-understood pattern, easy for reviewers to evaluate.
am62x and qemu-arm implement firmware capsule update; vexpress64 does
not.
- What: Define firmware images, GUIDs, and an update DFU backend; add capsule-on-disk support.
- Why: biggest-impact area, sustained visibility — but needs design buy-in. Not a first patch.
vexpress64 has no SPL path.
- What: Add SPL board hooks.
- Why: only worth it with a real use case; likely out of scope for FVP.
-
doc/board/armltd/vexpress64.rstalready exists and is comprehensive — documentation is not a gap. - Memory map / MMU regions (
vexpress64_mem_map[]) are already correct.
- #2 (checkboard) — warm-up to learn the maintainer review flow.
- #1 (.env) + #3 (board_late_init) — small series that establishes you on the board.
- #4 (bootstd) — propose on the mailing list first; this is the patch that gets you noticed.
- #6 (capsule update) — longer-term, higher-impact effort.
- Maintainers: David Feng, Linus Walleij, Peter Hoyes
-
Board:
board/armltd/vexpress64/ -
Config header:
include/configs/vexpress_aemv8.h -
Docs:
doc/board/armltd/vexpress64.rst -
Reference BSPs:
total_compute,ti/am62x,qemu-arm,sunxi,rockchip