Skip to content

Add support for Novarq Tactical-1000 - #1648

Open
troglobit wants to merge 8 commits into
mainfrom
tactical
Open

troglobit wants to merge 8 commits into
mainfrom
tactical

Conversation

@troglobit

@troglobit troglobit commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Description

  • Initial board support for Novarq Tactical-1000
  • New image-itb-boot image format, for bootloaders without SquashFS
  • Document microchip,ev23x71a in AT91 binding
  • Update microchip-ev23x71a board README and tidy up

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

Comment thread configs/aarch64_defconfig Outdated
@troglobit
troglobit force-pushed the tactical branch 2 times, most recently from b13980c to edff93e Compare September 23, 2026 04:26
First boot after a factory reset does not enter the regular code path
because factory-config essentially becomes the startup-config.  So it
left the status LED blinking.

Follow-up to a7c95cd.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
A cut down LAN969x reference design, same switch core as the EV23X71A
in a LAN9696TSN.  Novarq's device tree is cherry-picked as is into the
kkit kernel branch, with one commit on top that drops what 6.18 lacks
(QSPI, tmon fan PWM and its cooling maps); revert it at the next LTS
kernel.  The patches came in with the 6.18.53 bump.

The copper ports are wired backwards within each QSGMII quad, so the
rename rule follows the device tree labels rather than probe order.

No genimage.cfg.in yet, the board netboots with the vendor bootloader
and provision-tactical lays out the eMMC.  It grows Env to 4 MiB: the
vendor U-Boot writes its redundant environment copy at 0x10300000,
the end of a 2 MiB Env, which is how aux kept getting destroyed.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The Tactical 1000's vendor U-Boot has neither BLKMAP, SquashFS nor
sysboot, so it cannot boot rootfs.itb, and it stays until Infix has a
bootloader for the board.  Pack kernel, rootfs and every device tree in
the build into one FIT it can start with a single bootm, plus a boot
script to hand out over DHCP for the test system.

One configuration per device tree, so one image serves every board in
the build.  The device trees go last: U-Boot grows the selected one in
place for bootargs and ramdisk bounds, and ahead of the ramdisk that
overrun kills the kernel before earlycon.  The kernel is a gzipped
kernel_noload so nothing in the image depends on a memory map, and the
rootfs copy of it in /boot is dropped, 13 MiB the FIT already carries.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The part number decides whether the driver offers PTP and PSFP, and is
the only thing that tells the Laguna boards apart, so it is worth having
before Linux is up.  Trim some scene-setting prose while here.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Only Trusted Firmware differs between the LAN969x boards, for the DDR
parameters; U-Boot and its environment do not.  Move them out of the
EV23X71A directory and pick the device tree at boot from GCB_CHIP_ID,
since neither TF-A's board-number nor U-Boot's GPIO strap read tells
the boards apart.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
BL2 carries the DDR parameters, 2 GiB here against 896 MiB on the
EV23X71A, so the board needs a FIP of its own.  Novarq's platform is
carried as a patch on our Trusted Firmware pin rather than built from
their fork, which is 23 commits behind it and lacks the regenerated
lan969x DDR4 timings and the ECDSA fixes.

Not yet booted.  Recovery from a FIP that hangs is the TF-A monitor,
selected over the MCP2200 on the console port.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The markers that stop the first-boot resize from running again live
in aux, and nothing checked that aux was mounted before rewriting the
partition table and rebooting.  A disk with a var partition but no
aux filesystem, a half provisioned eMMC say, looped forever on stage
1.  Bail out and boot without /var instead.

The progress messages said sdcard on every board, eMMC included, as
nothing tells the two apart.  Name neither.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
GitHub's image proxy gets a 503 when it fetches the badge from
bitsign.se, so the logo stopped showing in the README.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants