Commit Graph
201 Commits
Author SHA1 Message Date
Joachim Wiberg 0bc998c24a board/aarch64: add missing license for new board
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-23 16:05:10 +00:00
Mattias Walström 3fdbe15585 aarch64: board: Acer Connect Vero rename board
Fix so the board actually build when selected and rename the board
to the actual name `Acer Connect Vero W6m`
2026-05-20 11:19:12 +02:00
Mattias Walström f39e62fdb1 feature-wifi: Only install files in romfs if enabled
Move from board romfs directory, to inside feature-wifi
2026-05-19 15:51:20 +02:00
Mattias Walström bfbf08943b mt7986: Add Acer Connect Vero w6 2026-05-19 06:38:32 +02:00
Tobias WaldekranzandGitHub 4c0996b52b Merge pull request #1483 from saba8814/fix/uboot-aux-env-first-var-import
fix: import first variable from auxiliary environment
2026-04-30 14:45:44 +02:00
Joachim Wiberg 7dd746d586 Fix BPi-R64 onboard WiFi probing
The mt7622 soc has a built-in wmac, same driver as the mt7615, but
it lacked MODULE_DEVICE_TABLE() so udev could not autoload driver
and firmware.

This commit also adds the wmac+bluetooth specific firmware.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 11:07:31 +02:00
Ejub Sabic 29222e18e9 uboot: import first variable from auxiliary environment
The U-Boot env file is generated by
mkenvimage, which prefixes the variable data with a 4-byte CRC32 by default.
ixpreboot.sh previously imported it with `env import -b` as per uboot docs(-b assume binary format (’0’ separated, “00” terminated).),
which treats the buffer as raw binary and does not strip the CRC.
As a result the first variable's name is parsed a part of CRC.
Later variables import correctly because by then the parser is past the CRC.
Switching to `env import -c` as per uboot docs (-c assume checksum protected environment format.)
makes U-Boot validate and strip the CRC before parsing, so the first variable imports under its real name.

Tested on:
- QEMU

Signed-off-by: Ejub Sabic <ejub1946@outlook.com>
2026-04-29 23:27:37 +02:00
Joachim WibergandGitHub 413d8e4599 Merge pull request #1485 from kernelkit/bpi-r3-pcifixes
Bpi r3 pcifixes
2026-04-29 17:22:23 +02:00
Mattias Walström 5cb17d69d4 bpi-r3: Enable the PCI clock in device tree 2026-04-29 15:43:24 +02:00
Joachim Wiberg 5979f4e3c9 board/aarch64: fix bpi-r4 dip switch values
Inverted values for eMMC and SPI NAND.  Also use ABCD instead of
Position as column name to match board markings.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-23 14:19:08 +02:00
Joachim Wiberg 2397e7684c board/aarch64: drag Marvell ESPRESSObin in from the cold
- Add a board README to explain how to get Infix running
- Update mkimage.sh to allow creating images without boot loader

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-23 14:19:07 +02:00
Joachim Wiberg 69d599e2ab board/aarch64: add missing mmc partconf command to BPi-R64 U-Boot
Also, simplify board README a bit now that we know that you don't need
to flip the boot switch to program eMMC.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-10 11:19:35 +02:00
Joachim Wiberg e5b5b6203b legal: add missing hash files and fix date-cpp hash filename
Add missing *.hash files for all board packages using the ix-board macro;
they declare LICENSE_FILES = LICENSE but had no hash file, producing a
warning during make legal-info.

Fix the date-cpp package where the hash file was named date.hash instead
of date-cpp.hash (package name is derived from the directory, not the mk
filename), causing Buildroot to skip the hash check entirely.

Add hash files for local-site packages confd-test-mode, netd, and
onieprom that declared LICENSE_FILES but provided no hash.

Also, rename package/date-cpp/date.mk to date-cpp.mk.  Buildroot derives
the package name from the directory name, so the mk file must match. To
handle the archive name different we set DATE_CPP_SOURCE.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-10 11:19:34 +02:00
Joachim Wiberg 31df56308b board: add support for Banana Pi BPI-R4
Add board support for the BananaPi BPI-R4 router board, based on the
MediaTek MT7988A (Filogic 880) SoC with quad-core Cortex-A73 CPU.

The BPI-R4 is the successor to the BPI-R3 but uses entirely different
silicon: the internal switch runs at 2.5 GbE per port, the two SFP+
uplinks use native USXGMII at up to 10 Gbps, and WiFi is provided by
a MediaTek MT7996E PCIe module supporting tri-band WiFi 7 (2.4/5/6 GHz).

Two board variants, BPI-R4-2g5 and BPI-R4P, replace one SFP+ cage with
a 2.5 GbE RJ45 port (using the MT7988A internal 2.5G PHY); the R4P adds
an optional PoE daughterboard on that port.  Both use the upstream
mt7988a-bananapi-bpi-r4-2g5 device tree.

Interfaces:
- Standard R4:  eth1 (gmac1/sfp2 LAN cage) → sfp2, eth2 (gmac2/sfp1 WAN cage) → sfp1
- R4-2g5/R4P:  eth1 (2.5G PHY) → wan, eth2 (gmac2/sfp1 WAN cage) → sfp1

Factory reset / WPS button (GPIO14, active-low): detected by U-Boot at
boot for factory reset; reused by Linux as KEY_WPS_BUTTON at runtime.

eMMC install note: the MT7988A eMMC (pins 38-49) and SD card (pins 32-37)
use separate physical pads so there is no electrical bus sharing, unlike
some BPi-R3 configurations.  However, a single MMC controller
(mmc@11230000) handles both, so only one is active per boot session.
The eMMC install procedure therefore still requires an intermediate SPI
NAND bootloader step until a Linux-side install path is tested.

SD card build (bpi_r4_sd_boot_defconfig) now uses the new
mt7988a_bpir4_sd U-Boot defconfig with cap-sd-highspeed enabled,
giving 50 MHz SD transfers instead of the previous 25 MHz legacy mode.

Also adds MT7988/MT7996 firmware support to the buildroot linux-firmware
package, for 2.5 GbE port PHY and WiFi7 extension board, and updates the
aarch64_defconfig, aarch64_minimal_defconfig, the arch README, CI
boot/image workflows, mkimage.sh, and the ChangeLog.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-10 11:19:34 +02:00
Mattias Walström 5b870a273e aarch64: dts: rpi-4: Add correct syntax to change GPU mem 2026-04-04 20:04:43 +02:00
Joachim Wiberg 929f53d270 board/aarch64: enable root hub transaction translator for ehci/ohci
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-20 16:18:08 +01:00
Joachim Wiberg f61e1580cd configs: drop wifi and gps support from minimal builds
Neither the Raspberry Pi 2B or the Microchip SAMA7G54-EK board have WiFi
hardware by default so drop WiFi, and GPS, support to allow for smaller
builds with only the bare essentials in kernel and system.

Minimal builds in general don't need WiFi or GPS either, so let's disable
them from all.  This may become a central theme going forward, keeping
the minimal builds ... minimal.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-20 16:18:06 +01:00
Joachim Wiberg ba8d1f6b4a confd: fix DHCP client hostname reporting, rpi-%m -> rpi-c0-ff-ee
Ensure we translate the hostname before we generate the udhcpc command
line options, otherwise we'll send '-x hostname:rpi-%m' to udhcpc.

Also update all board specific factory configs with the missing setting
'"value": "auto"' for the DHCP hostname option.  This to match what we
already do when we infer options when enabling a DHCP client in the CLI.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-12 12:07:56 +01:00
Joachim Wiberg 6560af1b94 board: add support for Banana Pi BPI-R64
Add board support for the BananaPi BPi-R64 router board, based on the
MediaTek MT7622 SoC and MT7531 Gigabit Ethernet switch.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-10 12:11:10 +01:00
Joachim Wiberg 35ba2ca37f board/aarch64: add dedicated RPi 400 product configuration
The Raspberry Pi 400 shares hardware with the RPi 4B but differs in one
important way: it has an internal keyboard and mouse connected through a
VIA Labs USB hub on the VL805 xHCI controller.  Break the symlink to
raspberrypi,4-model-b and maintain a dedicated product directory.

Factory config changes from the 4B default:
- USB1/USB2/USB3 all unlocked: USB2 carries the internal keyboard hub
  and USB3 the superspeed companion; all are unlocked as this is a
  desktop device
- DHCP vendor-class corrected to "Raspberry Pi 400"

Also add interface-quirks.json for the eth0 PHY detach behaviour and
the smsc95xx broken flow-control quirk (inherited from the 4B config
but now explicit), and remove the spurious bootable flag from the
primary and secondary rootfs partitions in genimage.cfg.in.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-10 12:11:09 +01:00
Joachim Wiberg e16f0a2504 board/aarch64: enable HDMI display output on RPi4
Remove console=map:0 from the [pi4] section which was suppressing HDMI
output and disabling the display getty.  Making it really difficult to
use it as a regular console.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-10 12:11:09 +01:00
Joachim Wiberg 4b39b2c2d3 board: relocate SafeXcel firmware selection to Marvell BSPs
The MVEBU SafeXcel Crypto Engine firmware (linux-firmware minifw) was
originally added in 70c12c3 to the generic aarch64 defconfigs to silence
kernel probe failures on Marvell Armada SoCs (37xx, 7k, 8k, CN913x):

  crypto-safexcel f2800000.crypto: Firmware load failed.
  crypto-safexcel f2800000.crypto: HW init failed (-2)

It was then accidentally dropped in 0e2d12e (kernel upgrade to 6.18),
which rebased on a tree that predated the firmware addition.

Rather than restoring it to the generic defconfigs, move it to the two
Marvell board Config.in files where it actually belongs — consistent
with how RTL8169 firmware was handled for the Raspberry Pi CM4 IoT
Router Board Mini in 68313773.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-09 19:26:04 +01:00
Mattias Walström 6534086d89 bpi-r3: dts: apply patch from OpenWRT
Reserve more memory for ATF
2026-03-05 08:21:54 +01:00
Mattias WalströmandGitHub 082bcd1712 Revert "Upgrade buildroot to 2026.02.0" 2026-03-04 19:47:11 +01:00
Mattias Walström 8fcb291f5e bpi-r3: dts: apply patch from OpenWRT
Reserve more memory for ATF
2026-03-04 09:53:02 +01:00
Joachim Wiberg b341d37267 Update URL from kernelkit.org to www.kernelkit.org
DNS does not allow CNAME records at an apex domain (e.g. kernelkit.org),
so GitHub Pages cannot reliably redirect kernelkit.github.io to it.  A
www subdomain can carry a CNAME pointing directly to kernelkit.github.io,
giving GitHub full control over the mapping and making the redirect work.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-03-01 06:59:48 +01:00
Mattias Walström 8b95c10e39 bananapi-bpi-r3: README: Add information about bpi-r3-mini
The important part is that it needs a special flow to go from
vendor firmware to Infix.
2026-02-22 11:52:05 +01:00
Mattias Walström 16e72e8741 boards: Add new board bpi-r3-mini
This is a simple two port router board, with the same
WiFi chips as BPI-r3.

The bootloader shall be the same as the BPI-r3, the bootloader
now probes which of the two is booting by checking for the PHYS
that only exist on BPI-r3-mini.
2026-02-22 11:52:05 +01:00
Mattias Walström 4aa0ab73b3 init: Move all copy of files to before udev triger is run
This since we may copy udev-rules dependeing on platforms,
this fix #1357

Also remove all workaround scripts we have added for this
purpose.
2026-02-21 09:25:25 +01:00
Mattias Walström 1e6286f1d3 Doc: Update recommendations for bpi-r3
[skip ci]
2026-02-03 09:55:05 +01:00
Joachim Wiberg 08742df166 doc: ux update with new 'change' and 'do wireguard' commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:12 +01:00
Joachim Wiberg 74a09d2c1b board/aarch64: update bpi factory-config and rpi readme example
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:08 +01:00
Joachim Wiberg 6831377369 board: relocate firmware selction for IoT Router Board Mini
The RTL8169 firmware was specifically added for the Raspberry Pi Compute
Module 4 IoT Router Board Mini, it does not need to be part of defconfig.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-29 20:41:33 +01:00
Joachim Wiberg 16f26b02a8 board: sync linux_defconfigs between archs
- Enable Ext2 support where missing
 - Enable POSIX_ACLs where missing
 - Sync NLS code pages

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-29 20:41:26 +01:00
Joachim Wiberg d75ba2064a board: simplify usb debugging, allow announcement of new devices
Simplify USB device debugging by allowing USB core to always announce
details of every new USB device to syslog.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-24 18:08:32 +01:00
Joachim Wiberg 08a72cfd46 board: fix SIGTERM handling in wan-monitor at shutdown
When the shell is blocked on sleep, signal handlers don't execute until
the command completes.  This caused the script to ignore SIGTERM at
shutdown, forcing Finit to wait and eventually SIGKILL it instead.

Fix by running sleep in the background and using wait, which is
interruptible by signals.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-24 18:08:31 +01:00
Joachim Wiberg ea076e27cc board: update static factory-config files with new nacm groups
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-24 18:08:31 +01:00
Mattias Walström 3eadc7d290 rpi4: Add script to workaroud with wifi interfaces not deleted at boot
The wi-fi architecture in infix require udev to run and remove the kernel automatic wlan-interface
this. Unclear reason, but it seems that udev sometimes miss the add event.
2026-01-19 14:54:39 +01:00
Mattias Walström ff4de40099 rpi4: Fix factory-config.cfg
* Adding ipv6 on ethernet
* Adapt to function with the new Wi-Fi architecture
2026-01-19 14:54:36 +01:00
Mattias Walström cfbe4bf330 rpi64: uboot: Fix addresses dtb and ramdisk to not overlap with kernel
Device tree was overwritten by the kernel while unpacking.
2026-01-19 14:54:35 +01:00
Mattias Walström 6ae4e33a84 banana-pi: Do not try to set autoneg on the SFP ports
This will just crash dagger. They are already in autoneg, thats
all they support.
2026-01-19 12:20:05 +01:00
Mattias Walström 0e2d12e9ff Upgrade kernel to 6.18 2026-01-19 11:02:22 +01:00
Joachim Wiberg 95eb04645b board/aarch64: enable input-event-daemon and rk805 pwr key
Fixes #1293

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-18 20:50:21 +01:00
Joachim Wiberg a8ae9519ae board/aarch64: designware watchdog broken on NanoPi R2S
Verified with latest Finit 4.15 that reboot after resize works.
Added a comment to the board-specific .mk file about the broken
WDT on the RK3328 SoC, or rather the NanoPi R2S board.

Fixes #1292

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-18 20:49:54 +01:00
Joachim Wiberg d2fd2c100e board/aarch64: relocate wan-monitor.sh
Board probing cannot copy board specific files to /usr (read-only), so
let's share this script with all other aarch64 boards.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-18 20:45:57 +01:00
Mattias Walström 7e5da21cf6 Add support for WireGuard
Almost full support for WireGuard

admin@server:/> show interface wg0
name                : wg0
type                : wireguard
index               : 10
mtu                 : 1420
operational status  : up
ipv4 addresses      : 10.0.0.1/24 (static)
ipv6 addresses      : fd00::1/64 (static)
peers               : 2

  Peer 1:
    public key        : ROaZyvJc5DzA2XUAAeTj2YlwDsy2w0lr3t+rWj2imAk=
    status            : UP
    endpoint          : 192.168.10.2:51821
    latest handshake  : 2025-12-09T22:51:38+00:00
    transfer tx       : 1412 bytes
    transfer rx       : 1324 bytes

  Peer 2:
    public key        : Om9CPLYdK3l93GauKrq5WXo/gbcD+1CeqFpobRLLkB4=
    status            : UP
    endpoint          : 2001:db8:3c4d:20::2:51822
    latest handshake  : 2025-12-09T22:51:38+00:00
    transfer tx       : 1812 bytes
    transfer rx       : 428 bytes
in-octets           : 1752
out-octets          : 3224

admin@server:/>
2026-01-09 11:11:32 +01:00
Mattias Walström 1fcfad14a1 bananapi-r3: Wrong config option for the watchdog 2026-01-06 20:51:31 +01:00
Mattias Walström 289e67031f YANG: Rename cleartext-symmetric-key => symmetric-key 2026-01-02 22:32:58 +01:00
Mattias Walström fec018148c Refactor WiFI implementation
* Wi-Fi station still work (changed YANG model)
* Wi-Fi access point supported

Model is flexible to support even more modes
2026-01-02 22:32:57 +01:00
Joachim Wiberg b0dce8a05e Follw-up to d7abe46, use correct compatible string for override
Actually disable iitod on Styx DCP-SC-28p to work around #670, this
prohibits software control of LEDs, leaving the default HW control,
which has proven more stable on this platform.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-18 13:44:18 +01:00