[PATCH v1 0/5] Resurrect IXP4xx

Linus Walleij linus.walleij at linaro.org
Mon Jun 19 04:31:01 PDT 2023

IXP4xx was deleted because of lack of maintenance in 2020.

In the years since, the upstream Linux support for IXP4xx has
been rewritten from scratch. It is not pretty well supported
using device tree and such.

With the switch to kernel v6.1, OpenWrt has the required
baseline to bring IXP4xx back.

I have heard that the v6.1 target can still not be used by
default, but let's start reviewing, so we can merge this
as soon as v6.1 builds are ripe!

This is a reimplementation of the IXP4xx support which is
using all the contemporary abstractions, the only thing
actually resurrected is the APEX boot loader. The port is
thus "slim" and not patching a lot on the mainline kernel
as pretty much everything is upstream.

As a starter, we bring back two Gateworks reference designs,
one for IXP42x and one for IXP43x, and the classic NSLU2

Here you find binaries and illustrations if you want to check
out how the support works right now, if you have an NSLU2
you can flash the binary and rootfs and it "just works",
though NSLU2 is not a default build:

Thanks to Imre Kaloz add Krzysztof Halasa for all cheering
and reference designs :)

I am pretty back any IXP4xx can be brought online with this,
they just need some time and focus. I will add more routers
as time permits.

Linus Walleij (5):
  boot/apex: Restore the APEX boot loader
  ixp4xx: Resurrect IXP4xx support using device tree
  ixp4xx: Add a ixp4xx hardware crypto kernel module
  ixp4xx: Add hdparm script
  Delete arm-magic script

 package/boot/apex/Makefile                    |  61 +++++
 package/firmware/ixp4xx-microcode/Makefile    |  59 +++++
 .../ixp4xx-microcode/src/IxNpeMicrocode.h     | 148 +++++++++++
 .../firmware/ixp4xx-microcode/src/LICENSE.IPL |  27 ++
 package/kernel/linux/modules/crypto.mk        |  13 +
 scripts/arm-magic.sh                          |  42 ---
 target/linux/ixp4xx/Makefile                  |  29 +++
 .../ixp4xx/base-files/etc/board.d/02_network  |  21 ++
 .../ixp4xx/base-files/etc/board.d/03_hdparm   |  14 +
 .../lib/preinit/05_set_ether_mac_ixp4xx       |  45 ++++
 target/linux/ixp4xx/config-6.1                | 246 ++++++++++++++++++
 target/linux/ixp4xx/image/Makefile            |  73 ++++++
 ...d-cfi_cmdset_0001-Byte-swap-OTP-info.patch |  74 ++++++
 ...dts-ixp4xx-Boot-NSLU2-from-harddrive.patch |  24 ++
 14 files changed, 834 insertions(+), 42 deletions(-)
 create mode 100644 package/boot/apex/Makefile
 create mode 100644 package/firmware/ixp4xx-microcode/Makefile
 create mode 100644 package/firmware/ixp4xx-microcode/src/IxNpeMicrocode.h
 create mode 100644 package/firmware/ixp4xx-microcode/src/LICENSE.IPL
 delete mode 100755 scripts/arm-magic.sh
 create mode 100644 target/linux/ixp4xx/Makefile
 create mode 100644 target/linux/ixp4xx/base-files/etc/board.d/02_network
 create mode 100644 target/linux/ixp4xx/base-files/etc/board.d/03_hdparm
 create mode 100644 target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx
 create mode 100644 target/linux/ixp4xx/config-6.1
 create mode 100644 target/linux/ixp4xx/image/Makefile
 create mode 100644 target/linux/ixp4xx/patches-6.1/0001-mtd-cfi_cmdset_0001-Byte-swap-OTP-info.patch
 create mode 100644 target/linux/ixp4xx/patches-6.1/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch


More information about the openwrt-devel mailing list