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. 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 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.wall...@linaro.org> _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel