openwrt/target/linux
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
..
airoha kernel: mtd: spinand: esmt: add support for F50L1G41LC 2025-11-28 23:42:29 +01:00
apm821xx kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
armsr kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
at91 at91: drop support for kernel 6.6 2025-11-25 17:23:14 +01:00
ath79 ath79: add support for NEC Aterm WF1200HP2 2025-12-01 00:17:48 +01:00
bcm27xx kernel: bump 6.12 to 6.12.59 2025-11-25 00:01:11 +01:00
bcm47xx bcm47xx: drop support for kernel 6.6 2025-11-25 17:21:17 +01:00
bcm53xx bcm53xx: drop support for kernel 6.6 2025-11-25 17:21:50 +01:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips treewide: dts: remove {#address,#size}-cells from "jedec,spi-nor" compatible node 2025-11-27 12:37:49 +01:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet kernel: mtd: spinand: esmt: add support for F50L1G41LC 2025-11-28 23:42:29 +01:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic generic: 6.12: backport net-usb-qmi_wwan: add Quectel RG255C 2025-11-30 23:49:57 +01:00
imx imx: drop support for kernel 6.6 2025-11-22 10:11:52 +01:00
ipq40xx ipq40xx: convert CRLF line-ending to LF for Linksys MR6350 2025-11-29 18:04:38 +01:00
ipq806x Revert "treewide: fixup ath10k nodes" 2025-11-29 17:56:11 +01:00
ixp4xx ixp4xx: Add back Actiontec MI424WR A/C/D 2025-09-26 23:40:40 +02:00
kirkwood kirkwood: add aliases and new partition for support D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
lantiq treewide: use of_property_present 2025-11-30 19:18:06 +01:00
layerscape kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
loongarch64 loongarch64: add Loongson PCI DWMAC as built-in 2025-11-30 18:53:03 +01:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek-filogic: assign WAN netdev trigger to blue:wan LED for cudy wr3000e 2025-11-30 23:57:23 +01:00
mpc85xx mpc85xx: HPE MSM460 add HPE MSM466 alias 2025-11-27 22:58:32 +01:00
mvebu mvebu: add support for Turris MOX 2025-12-01 00:32:14 +01:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: drop support for kernel 6.6 2025-11-22 10:16:35 +01:00
pistachio kernel: remove uboot,env hack 2025-11-30 20:18:08 +01:00
qoriq qoriq: drop support for kernel 6.6 2025-11-26 17:21:14 +02:00
qualcommax treewide: use of_property_present 2025-11-30 19:18:06 +01:00
qualcommbe qualcommbe: update ipq9574 PCS driver 2025-11-30 16:51:12 +01:00
ramips ramips: add support for TP-Link Archer AX21 2025-12-01 00:11:23 +01:00
realtek realtek: Fix alignment of parameters 2025-11-25 00:28:51 +01:00
rockchip kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower siflower: sf21 device tree fix 2025-11-28 09:47:39 +01:00
starfive kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +02:00
sunxi sunxi: cortexa53: refresh kernel config 2025-10-20 00:48:11 +02:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86/64: enable 8250_DW 2025-10-10 10:32:20 +02:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00