sunxi64: a64-olinuxino u-boot — build eMMC device tree (fix eMMC boot) - #10349
Conversation
…oot) The A64-OLinuXino eMMC stopped working in u-boot after the sunxi64 bump v2024.01 -> v2026.07 (aea0a3c), which started a fresh v2026.07-sunxi64 patchdir and re-added only a listed set of board patches - board_lime-a64 was not among them. Its add-a64-olinuxino-emmc-support.patch injected the mmc2 eMMC node into the device tree; without it full u-boot boots a DT with no eMMC node and dies during MMC init: Card did not respond to voltage select! : -110 so it cannot read boot.scr from eMMC and falls through to USB/network - eMMC installs do not boot (the BROM/SPL still load u-boot, and Linux uses the eMMC fine, which is why only u-boot is affected). Rather than re-carry the old DT patch, select upstream's ready-made sun50i-a64-olinuxino-emmc device tree, which is more complete than the old patch: it adds vqmmc-supply = <®_eldo1> (the 1.8V I/O rail the voltage select needs) in addition to vmmc, 8-bit bus, non-removable and cap-mmc-hw-reset. CONFIG_MMC_SUNXI_SLOT_EXTRA=2 is already set. Note: the same board dir's add-a64-olinuxino-spl-spi.patch (SPL SPI-flash boot) was also dropped in the bump; that is a separate feature and is not restored here. Signed-off-by: Igor Pecovnik <igor@armbian.com>
📝 WalkthroughWalkthroughThe patch documents the required eMMC device-tree configuration and changes the A64 Olinuxino U-Boot default device tree to ChangesA64 Olinuxino eMMC configuration
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@patch/u-boot/v2026.07-sunxi64/board_lime-a64/a64-olinuxino-build-emmc-devicetree.patch`:
- Line 2: Correct the patch header date weekday from “Wed” to “Thu” while
leaving the date, time, and all other patch metadata unchanged.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 5fa3643e-079f-477c-aa63-88f79df61a2f
📒 Files selected for processing (1)
patch/u-boot/v2026.07-sunxi64/board_lime-a64/a64-olinuxino-build-emmc-devicetree.patch
|
Hardware-confirmed on the Olimex A64-OLinuXino (eMMC): with the patched u-boot built and a fresh |
2026-08-06 is a Thursday. Signed-off-by: Igor Pecovnik <igor@armbian.com>
Problem
On the Olimex A64-OLinuXino (eMMC), eMMC installs don't boot after the sunxi64 u-boot bump v2024.01 → v2026.07 (
aea0a3c24). Serial shows full u-boot loading fine, then failing to initialize the eMMC:u-boot can't read the eMMC → no
boot.scr→ falls through to USB/network. The eMMC hardware and the install are fine (Linux mountsmmcblk2normally; BROM/SPL still load u-boot from it) — only full u-boot can't bring the eMMC up.Root cause
The bump started a fresh
v2026.07-sunxi64patchdir and, per its commit message, only re-added a listed set of board patches.board_lime-a64was dropped. Itsadd-a64-olinuxino-emmc-support.patchinjected the&mmc2eMMC node into the DT. Without it,a64-olinuxino_defconfigbuilds the basesun50i-a64-olinuxinoDT, which has no eMMC node → u-boot has nothing to init.Fix
Point the defconfig at upstream's ready-made
sun50i-a64-olinuxino-emmcDT instead of re-carrying the old patch. It's more complete than the dropped patch — it addsvqmmc-supply = <®_eldo1>(the 1.8 V I/O rail the "voltage select" step needs) on top ofvmmc, 8-bit bus,non-removable,cap-mmc-hw-reset.CONFIG_MMC_SUNXI_SLOT_EXTRA=2is already set.Validation
-emmcDTS is present upstream and includes the base DT + themmc2node.lime-a64and reflash — the eMMC should init and boot standalone.Note
The same board dir's
add-a64-olinuxino-spl-spi.patch(SPL SPI-flash boot) was also dropped in the bump — separate feature, not restored here.Summary by CodeRabbit