summaryrefslogtreecommitdiff
path: root/board/freebox
AgeCommit message (Collapse)Author
2026-06-10board: freebox: nbx10g: add device serial and MAC address initializationVincent Jardin
Read device identification data from a dedicated eMMC region. This provides: - Unique device serial number for identification and tracking - Factory-programmed MAC address for network interfaces - Bundle information for device variant identification The serial structure includes CRC32 validation to detect corruption. On read failure or invalid data, sensible defaults are used to ensure the system remains bootable. The fbxserial command provides two subcommands: - fbxserial show: Display serial info (default) - fbxserial init: Initialize ethaddr from serial info Use CONFIG_PREBOOT="fbxserial init" to automatically set MAC addresses during boot. This approach avoids patching shared board code. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-06-10board: freebox: nbx10g: add emmcboot for dual-bank eMMC bootVincent Jardin
Add the emmcboot command as board-specific support for the Nodebox 10G. This is a legacy boot format that has been in production on this board for many years so it cannot change anymore. It implements a dual-bank boot system for reliable firmware updates: - Bank0: Stable/fallback boot image - Bank1: Newer/test boot image with reboot tracking The boot order depends on the nrboot counter stored in eMMC: - Healthy state (counter < 4): Try Bank1 first, then Bank0 - Degraded state (counter >= 4): Try Bank0 first, then Bank1 Each bank stores an image tag with CRC32 validation. The counter uses a bit-counting scheme for wear leveling and tracks consecutive failed boots to trigger automatic fallback. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-06-10board: freebox: add Nodebox 10G board supportVincent Jardin
Add board support for the Freebox Nodebox 10G based on the Marvell Armada 8040 SoC. This board features: - Quad-core ARMv8 AP806 with dual CP110 companions - eMMC storage via Xenon SDHCI controller - 1G SGMII Ethernet on CP0 lane 5 - I2C buses for peripheral access - NS16550 UART console at 115200 baud The implementation includes: - Device tree for the Nodebox 10G hardware - Dedicated board directory (board/freebox/nbx10g/) - Board-specific Kconfig and defconfig The U-Boot comphy bindings (phy-type/phy-speed) differ from the mainline Linux PHY framework bindings used by phy-mvebu-cp110-comphy, so U-Boot and the kernel each have their own device tree. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Stefan Roese <[email protected]>