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: https://dflund.se/~triad/krad/ixp4xx/ 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. Thanks to Christian Marangi, Robert Marko and Jonas Gorski for reviewing the v2 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.wall...@linaro.org> --- Changes in v3: - Drop applied patch. - Move APEX to build from a git URL (Ansuel) - Add a build rule for lib-chacha20 for armeb - Split microcode firmware resurrection to its own patch - Use AutoProbe on RTC modules and crypto module - Name devices with vendor_device tuples - Fix network script for MAC to use just ip not ifconfig - Add a separate patch for the USRobotics USR8200 router. - Deferring system upgrade for later since it is a major implementation and can be done on top (I still plan to do it!) - Pushed to github and no build complaints. I suppose no news is good news. - Link to v2: https://lore.kernel.org/r/20230928-ixp4xx-v2-0-ce011eef8...@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 (10): boot/apex: Restore the APEX boot loader kernel: crypto: armeb build rules for lib-chacha20 kernel: Add kmod-rtc-x1205 kernel: Add kmod-rtc-r7301 kernel: netdevices: Package AMD PHY firmware: Resurrect the ixp4xx microcode package ixp4xx: Resurrect IXP4xx support using device tree ixp4xx: Add a ixp4xx hardware crypto kernel module ixp4xx: Add USRobotics USR8200 support ixp4xx: Add hdparm script package/boot/apex/Makefile | 61 +++++ 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 | 17 ++ package/kernel/linux/modules/netdevices.mk | 16 ++ package/kernel/linux/modules/other.mk | 31 +++ 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 | 38 +++ 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 | 93 ++++++++ ...003-rtc-rtc7301-Support-byte-addressed-IO.patch | 93 ++++++++ ...ixp4xx-Add-USRobotics-USR8200-device-tree.patch | 260 +++++++++++++++++++++ ...5-net-ixp4xx_eth-Support-changing-the-MTU.patch | 132 +++++++++++ ...06-net-phy-amd-Support-the-Altima-AMI101L.patch | 82 +++++++ ...dog-ixp4xx-Make-sure-restart-always-works.patch | 79 +++++++ ...-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch | 24 ++ 21 files changed, 1663 insertions(+) --- base-commit: 66f6c20e45aa0eb2649d1e0552eab9e138e38601 change-id: 20230928-ixp4xx-a393c84d9468 Best regards, -- Linus Walleij <linus.wall...@linaro.org> _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel