openwrt/package/boot
Tomáš Macholda ea6ee93060
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
mvebu: add support for Turris MOX
Adds support for Turris MOX, a modular router extendable by board modules (MOX B-G).

You can explore the idea behind the modules at: https://mox-configurator.turris.cz/

More information about Turris MOX can be found here: https://docs.turris.cz/hw/mox/intro/

Also works with Turris Shield (Turris MOX A and C with a simplified OS UI).

Specifications:
-----------------------

MOX A
- SoC: Marvell Armada 3720
- RAM: 512/1024 MB, DDR3
- Memory:
    - 8 MB SPI NOR Flash for U-Boot and rescue system
    - SD card slot
- 1x RJ-45, 1Gbps
- 1x USB 3.0
- 1x activity LED
- 1x reset button
- SDIO header
- misc pin header (UART, GPIO, JTAG, ...)

MOX B, G
- 1x mPCIe slot
- 1x SIM slot

MOX C
- 4x RJ-45, 1Gbps

MOX D
- SFP, 2.5Gbps

MOX E
- 8x RJ-45, 1Gbps

MOX F
- 4x USB 3.0

Module support:
-----------------------

Additional packages are needed for some modules.

MOX A (core)
- works as is

MOX B, G (mPCIe, mPCIe passthrough)
- works as is

MOX C, E (4x, 8x RJ-45)
- kmod-dsa
- kmod-dsa-mv88e6xxx

MOX D (SFP)
- kmod-sfp
- kmod-phy-marvell-10g

MOX F (4x USB 3.0)
- works as is

Wi-Fi 5, 3x3 card (WLE900VX)
- kmod-ath10k
- ath10k-board-qca988x
- ath10k-firmware-qca988x

Wi-Fi 6, DBDC, 2x2 card (MT7915DAN)
- kmod-mt7915e
- kmod-mt7915-firmware

Interface naming:
-----------------------

- MOX A's RJ-45 is assigned to `eth0`.
- MOX C, E (4x, 8x RJ-45) are assigned to `lan<number>@eth1`
- If MOX D (SFP) is connected directly to MOX A, the resulting interface
  is `eth1`. If it's connected through MOX E (8x RJ-45), the resulting
  interface is `sfp@eth1`.

Quirks:
-----------------------

- MOX is sensitive to the order of connected modules. Verify that the
  confguration is valid at: https://mox-configurator.turris.cz/
- `CONFIG_MOXTET` and `CONFIG_GPIO_MOXTET` need to be enabled in kernel
  config. Moxtet is a bus protocol needed to discover and configure MOX
  modules. It must be compiled into the kernel for the modules to work.
  Though it's very small so it won't bloat up the kernel image.

Flashing instructions:
-----------------------

1. Download `openwrt-*-ext4-sdcard.img.gz` and `gunzip` it.
2. Insert an SD card and flash the image to it using dd:
   dd if=openwrt-*-ext4-sdcard.img.gz of=/dev/mmcblk0 bs=4096 conv=fsync
3. Plug the SD card into MOX.

Troubleshooting:
-----------------------

- https://docs.turris.cz/hw/serial/#turris-mox
- https://docs.turris.cz/hw/mox/rescue-modes/

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/20356
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:32:14 +01:00
..
apex treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-bcm63xx include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: add builds for MT7987 2025-11-05 14:19:39 +00:00
arm-trusted-firmware-mvebu include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-rockchip arm-trusted-firmware-rockchip: Update to 2.13 2025-10-02 22:42:35 +02:00
arm-trusted-firmware-stm32 arm-trusted-firmware-stm32: bump to v2.13 2025-11-27 20:49:32 +01:00
arm-trusted-firmware-sunxi include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: update to version 2.12 2025-02-13 03:16:40 +00:00
at91bootstrap at91bootstrap: put at91bootstrap images into image staging directory 2025-04-04 14:39:00 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: add EFI support for loongarch64 2024-05-04 14:14:24 +08:00
imx-bootlets imx-bootlets: bump to 10.12.01 2025-02-05 22:00:09 +01:00
kexec-tools kexec-tools: Add license 2025-07-12 23:27:26 +02:00
kobs-ng kobs-ng: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
opensbi opensbi: update tarball hash compressed by the zstd 1.5.7 2025-07-13 16:24:10 +02:00
optee-os-stm32 optee-os-stm32: bump to 4.8.0 2025-11-27 20:49:32 +01:00
rkbin rkbin: pack rk3528 atf/tpl blobs 2025-11-15 19:56:27 +01:00
tfa-layerscape tfa-layerscape: Bump to lf-6.12.20-2.0.0 2025-08-17 19:00:58 +02:00
uboot-airoha uboot-airoha: update to v2025.10 2025-11-20 23:08:39 +01:00
uboot-armsr boot: uboot-armsr: update to U-Boot 2025.04 2025-05-22 18:50:24 +02:00
uboot-at91 at91: put u-boot images into image staging directory 2025-04-04 14:39:00 +02:00
uboot-ath79 uboot-ath79: add FE profile for NEC Aterm series (AR9344) 2025-12-01 00:17:47 +01:00
uboot-bcm53xx uboot-bcm53xx: drop usage of AUTORELEASE 2025-10-29 21:09:57 +01:00
uboot-bcm4908 uboot-bcm4908: fix build with GCC14 2025-05-23 00:10:23 +02:00
uboot-bmips uboot-bmips: drop usage of AUTORELEASE 2025-10-29 21:09:56 +01:00
uboot-d1 uboot-d1: fix build with swig 4.3.0 2025-11-09 23:00:44 +01:00
uboot-fritz4040 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood kirkwood: add support for D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
uboot-lantiq boot-lantiq: Fix compilation with GCC 14 2025-05-03 22:04:13 +02:00
uboot-layerscape uboot-layerscape: do not build efimkcapsule tool 2025-08-22 11:24:43 +02:00
uboot-mediatek uboot-mediatek: mtd: spinand: esmt: add support for F50L1G41LC 2025-11-28 23:42:29 +01:00
uboot-mvebu mvebu: add support for Turris MOX 2025-12-01 00:32:14 +01:00
uboot-mxs packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-rockchip uboot-rockchip: add dedicated uboot for LinkEase EasePi R1 2025-11-20 22:24:11 +01:00
uboot-sifiveu uboot-sifiveu: fix build with swig 4.3.0 2025-10-25 22:33:53 +02:00
uboot-stm32 uboot-stm32: bump to 2025.10 2025-11-27 20:49:32 +01:00
uboot-sunxi uboot-sunxi: remove earlyprintk for arm64 2025-10-20 00:48:11 +02:00
uboot-tegra uboot-tegra: disable mkeficapsule build 2025-07-13 17:18:15 +02:00
uboot-tools mediatek: add support for Mercusys MR85X 2025-11-30 22:59:34 +01:00
uboot-zynq packages: refresh patches 2024-05-31 11:30:06 +02:00