[PATCH v2 0/9] Resurrect OpenWrt IXP4xx support

Linus Walleij linus.walleij at linaro.org
Thu Sep 28 06:28:23 PDT 2023

XP4xx 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 now pretty well supported
using device tree and modern subsystems that didn't exist
20 years ago when the first IXP4xx port was done.

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

With the (suspiciously similarly named!) IPQ4xxx now supporting
v6.1 exclusively, the door should be open for IXP4xx!

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
NAS. We also bring back USRobotics USR8200 because it has
active users and testers.

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 :)

Thanks to Howard Harte and Joseph for stepping in and helping
out with device support and debugging.

Thanks for Hauke for the the in-depth review of the v1
patch set.

I am pretty confident that we can bring back any IXP4xx with
this, they just need some time and focus. I will add more
routers as time permits.

I don't know who can import this from patches or pull request:
it may be best if I just apply for commit access to the
OpenWrt git repository and import it myself perhaps?

Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
Changes in v2:
- See details in patches, most feedback is adressed.
- Link to v1: http://lists.openwrt.org/pipermail/openwrt-devel/2023-June/041193.html

Linus Walleij (9):
      boot/apex: Restore the APEX boot loader
      kernel: Add kmod-rtc-x1205
      kernel: Add kmod-rtc-r7301
      kernel: netdevices: Package AMD PHY
      ixp4xx: Resurrect IXP4xx support using device tree
      ixp4xx: Add a ixp4xx hardware crypto kernel module
      ixp4xx: Add hdparm script
      Delete arm-magic script
      ixp4xx: Add USRobotics USR8200 support

 package/boot/apex/Makefile                         |  55 +++++
 package/firmware/ixp4xx-microcode/Makefile         |  77 ++++++
 .../firmware/ixp4xx-microcode/src/IxNpeMicrocode.h | 148 ++++++++++++
 package/firmware/ixp4xx-microcode/src/LICENSE.IPL  |  27 +++
 package/kernel/linux/modules/crypto.mk             |  13 +
 package/kernel/linux/modules/netdevices.mk         |  16 ++
 package/kernel/linux/modules/other.mk              |  31 +++
 scripts/arm-magic.sh                               |  42 ----
 target/linux/ixp4xx/Makefile                       |  28 +++
 .../linux/ixp4xx/base-files/etc/board.d/02_network |  26 ++
 .../linux/ixp4xx/base-files/etc/board.d/03_hdparm  |  14 ++
 .../base-files/lib/preinit/05_set_ether_mac_ixp4xx |  45 ++++
 target/linux/ixp4xx/config-6.1                     | 253 +++++++++++++++++++
 target/linux/ixp4xx/image/Makefile                 |  90 +++++++
 ...01-mtd-cfi_cmdset_0001-Byte-swap-OTP-info.patch |  74 ++++++
 ...p4xx-Handle-clock-output-on-pin-14-and-15.patch |  98 ++++++++
 ...003-rtc-rtc7301-Support-byte-addressed-IO.patch |  93 +++++++
 ...ixp4xx-Add-USRobotics-USR8200-device-tree.patch | 268 +++++++++++++++++++++
 ...5-net-ixp4xx_eth-Support-changing-the-MTU.patch | 135 +++++++++++
 ...06-net-phy-amd-Support-the-Altima-AMI101L.patch |  89 +++++++
 ...dog-ixp4xx-Make-sure-restart-always-works.patch |  84 +++++++
 ...-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch |  24 ++
 22 files changed, 1688 insertions(+), 42 deletions(-)
base-commit: 10867ec4bc170709f89595ec4c3a2c7d9a7b13d2
change-id: 20230928-ixp4xx-a393c84d9468

Best regards,
Linus Walleij <linus.walleij at linaro.org>

More information about the openwrt-devel mailing list