]> git.ipfire.org Git - thirdparty/openwrt.git/commit
mpc85xx: p2020: add support for WatchGuard XTM330 (NC5AE7) 21020/head
authorPawel Dembicki <paweldembicki@gmail.com>
Sun, 30 Nov 2025 22:50:48 +0000 (23:50 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 10 Jan 2026 20:30:58 +0000 (21:30 +0100)
commit6150f9ceab7c34360cb877b6b258dc9f1d3e5473
tree739636c3d905d9e8a341356dc09534e41472e2a7
parente4b8d3f294721c5199472c150a8953c5ac6e71fa
mpc85xx: p2020: add support for WatchGuard XTM330 (NC5AE7)

Hardware specifications:
  - CPU: Freescale/NXP P2020, dual-core PowerPC @ 1 GHz
  - RAM: 1 GB DDR3
  - Flash: 2 MB NOR, 512 MB NAND
  - Networking: 7x Gigabit Ethernet ports (via two Marvell 88E6171
    switches,  each attached to a different MAC)
  - USB: 2x USB 2.0 ports (front panel)
  - mini-PCIe slot
  - RTC: Ricoh RS5C372A
  - 4 buttons (via external MCU)
  - 3 LEDs (via external MCU)
  - LCD display (via external MCU)

Installation procedure:

1. Obtain the original MAC address table from the stock bootlog, for
   example:

     setting device eth0 to 00:90:7f:00:00:01
     setting device eth1 to 00:90:7f:00:00:02
     setting device eth2 to 00:90:7f:00:00:03
     setting device eth3 to 00:90:7f:00:00:04
     setting device eth4 to 00:90:7f:00:00:05
     setting device eth5 to 00:90:7f:00:00:06
     setting device eth6 to 00:90:7f:00:00:07

2. Open the case and move jumper JP1 from 2-3 to 1-2 to enter FAILSAFE
   mode.
3. Power on the device and interrupt the boot process to access the U-Boot
   shell.
4. Program the MAC base address into the EEPROM (text after '#' is a
   comment):

     mac ports 3
     mac 2 00:90:7f:00:00:01   # first MAC address from bootlog
     mac save

5. Reset the device and enter the U-Boot console again.
6. Connect a TFTP server to port 6 and boot the initramfs image:

     setenv ipaddr 192.168.1.3
     setenv serverip 192.168.1.2
     setenv loadaddr 1000000
     tftpboot $loadaddr openwrt-mpc85xx-p2020-watchguard_xtm330-initramfs-kernel.bin
     bootm $loadaddr

7. (Optional) Backup all MTD partitions if you want the ability to restore
   stock firmware.
8. Perform a normal sysupgrade from the initramfs environment.
9. Power off the device and move jumper JP1 back to 2-3.
10. The device will now boot OpenWrt.

Known issues:
  - LCD, buttons and LEDs are controlled by an external MCU; the protocol is
    currently unknown.
  - The internal connection between the two Marvell switches is unused by
    OpenWrt.
  - The stock firmware uses an empty U-Boot environment; saving variables
    modifies the environment and prevents a normal boot. FAILSAFE U-Boot
    remains functional.
  - WatchGuard configuration is encrypted; DSA MAC addresses are stored in
    this configuration.
  - Failsafe Ethernet works on port1.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21020
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/boot/uboot-tools/uboot-envtools/files/mpc85xx
target/linux/mpc85xx/base-files/etc/board.d/02_network
target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx
target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
target/linux/mpc85xx/files/arch/powerpc/boot/dts/xtm330.dts [new file with mode: 0644]
target/linux/mpc85xx/image/p2020.mk
target/linux/mpc85xx/p2020/config-default
target/linux/mpc85xx/p2020/target.mk
target/linux/mpc85xx/patches-6.12/112-powerpc-85xx-add-zimage-la3000-to-p2020.patch [new file with mode: 0644]