[PATCH net-next v2 0/4] net: dsa: mxl862xx: support firmware update
From: Daniel Golle <daniel@makrotopia.org>
Date: 2026-07-14 00:50:23
Also in:
lkml
The firmware of MxL862xx managed Ethernet switches can be updated in-system via the same MDIO bus which is also used to manage the switch. Wire up the devlink flash_update operation for DSA drivers and implement firmware update and version reporting in the mxl862xx driver. Changes since RFC [1]: - detect a switch stuck in MCUboot rescue mode at probe, register the switch without any ports and report "mcuboot-rescue" as the running firmware version, so devlink flash can recover from a failed or interrupted update (Andrew Lunn) - clarify in the commit message of patch 2 that the per-transaction MDIO bus locking is about other, non-switch devices on the same MDIO bus (Andrew Lunn) - mention in the commit message of patch 3 that closing the ports also stops phylib from polling the switch-internal PHYs during the transfer (Andrew Lunn) - split up run-on sentence and explain the dynamically allocated reprobe work item instead of just pointing at iwlwifi in the commit message of patch 3 (Manuel Ebner) - use kzalloc_obj() (Manuel Ebner) - state the actual duration of a complete flash and reprobe cycle (just under a minute) in comments and the commit message, and clarify that the timeout values are generous upper bounds (Manuel Ebner) [1] https://lore.kernel.org/all/ak0J-HgzMRea53om@makrotopia.org/ (local) Daniel Golle (4): net: dsa: wire flash_update devlink callback to drivers net: dsa: mxl862xx: add SMDIO clause-22 register access net: dsa: mxl862xx: add devlink flash_update and info_get net: dsa: mxl862xx: recover switch stuck in MCUboot rescue mode drivers/net/dsa/mxl862xx/Makefile | 2 +- drivers/net/dsa/mxl862xx/mxl862xx-cmd.h | 1 + drivers/net/dsa/mxl862xx/mxl862xx-fw.c | 439 ++++++++++++++++++++ drivers/net/dsa/mxl862xx/mxl862xx-fw.h | 18 + drivers/net/dsa/mxl862xx/mxl862xx-host.c | 45 ++ drivers/net/dsa/mxl862xx/mxl862xx-host.h | 2 + drivers/net/dsa/mxl862xx/mxl862xx-phylink.c | 2 + drivers/net/dsa/mxl862xx/mxl862xx.c | 41 +- drivers/net/dsa/mxl862xx/mxl862xx.h | 9 + include/net/dsa.h | 3 + net/dsa/devlink.c | 13 + 11 files changed, 571 insertions(+), 4 deletions(-) create mode 100644 drivers/net/dsa/mxl862xx/mxl862xx-fw.c create mode 100644 drivers/net/dsa/mxl862xx/mxl862xx-fw.h base-commit: f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e -- 2.55.0