R2S Plus-support (with regressionstest) - #1589
Open
pjator wants to merge 3 commits into
Open
Conversation
…ort) The R2S Plus adds an on-board 32 GB eMMC to the R2S. Add a dedicated device tree wrapping the kernel's rk3328-nanopi-r2s-plus (which builds on the shared rk3328-nanopi-r2s.dtsi) and list both .dtbs in dts/Makefile, following the bpi-r3 pattern. The wrapper overrides the top-level compatible to "friendlyarm,nanopi-r2s" so the Plus shares the R2S product configuration (the eMMC controller is simply absent/empty on the plain R2S). Co-authored-by: Jarvis (Hermes Agent) <jarvis@woxblom.com>
The R2S Plus has an on-board eMMC (mmc0) while the plain R2S does not. U-Boot previously had no ixvariant/fdtfile mechanism, so it always loaded rk3328-nanopi-r2s.dtb -- which lacks the eMMC node -- causing the kernel to hang waiting for root=PARTLABEL=secondary. Set ixvariant to pick the plus DT when mmc0 is present, following the bpi-r4 pattern. (cherry picked from commit d3bde23143827ba02998be958c20cb32a54c2761)
Co-authored-by: Jarvis (Hermes Agent) <jarvis@woxblom.com>
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
Add support for the NanoPi R2S Plus, which adds an on-board 32 GB eMMC
to the plain R2S. The SoC, DRAM and network layout are identical to the
R2S — the only difference is the eMMC, so this is a superset variant
rather than a separate board.
Changes:
Device tree: add
rk3328-nanopi-r2s-plus.dts, wrapping thekernel's
rk3328-nanopi-r2s-plus(which builds on the sharedrk3328-nanopi-r2s.dtsi), and list both.dtbsindts/Makefile,following the bpi-r3 pattern. The wrapper overrides the top-level
compatible to
friendlyarm,nanopi-r2s, so the Plus shares the R2Sproduct configuration — no separate product directory is needed.
U-Boot DT selection: the R2S had no
fdtfile/ixvariantmechanism, so U-Boot always loaded the plain r2s DT and the kernel
never saw the eMMC. Add
ixvariant(bpi-r4 pattern) that selectsthe plus DT when
mmc0(eMMC) is present, falling back to the r2sDT otherwise.
ChangeLog: entry under v26.08.0.
Regression Testing (Infamy, physical hardware)
Ran against the NanoPi R2S Plus in test mode
(
touch /mnt/aux/test-mode && reboot), using the official Infamytest suite with a single-DUT topology (controller host + target):
case/hardware/watchdog: 6/6 pass — watchdog tripped on aninjected hard lockup (all cores, IRQs disabled) and rebooted the
system back to a working state
case/system(hostname, add/delete user, admin user, NACM,timezone x2, schedule reboot): 7/7 pass
case/system/factory_config: skipped in test mode by design (testmode always boots the test config, never the factory config)
case/system/upgrade: not run (requires a data port not wired inthis lab setup)
Found and worked around an upstream bug in the test harness while
running these tests (
Topology.get_password()qstripNameError) —fixed in a separate PR (#1588).
Checklist
Tick relevant boxes, this PR is-a or has-a:
Disclaimer: Author: Peter Woxblom. Drafting and implementation assisted
by Jarvis, an AI agent (Hermes on DeepSeek V4 Flash backend). Reviewed
and tested on hardware by the author.