[PATCH v1 0/1] fpga: m10bmc-sec: add image_load sysfs for N3000/D5005

"Ionut Nechita (Wind River)" <[email protected]> Wed, 15 Jul 2026 10:38:53 +0300
Newsgroups org.kernel.vger.linux-fpga,dev.linux.lists.mfd,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
From: Ionut Nechita <[email protected]>

The mainline Intel MAX10 BMC secure-update driver can stage and flash a
new image through the firmware-upload ABI, but it has no way to trigger a
reload of an image that is already resident in FLASH or EEPROM. OPAE
userspace needs that trigger to switch between the BMC factory/user
images and to reload the PKVL retimer firmware without running a full
firmware-upload cycle.

This series adds the control/available_images and control/image_load
sysfs attributes for the N3000 and D5005 cards, restoring image-reload
parity with linux-dfl for those two boards:

  - N3000: bmc_factory, bmc_user, retimer_fw
  - D5005: bmc_factory, bmc_user (config-select polarity inverted vs
    N3000, hence a separate ops/handler table)

The control group is only visible when the device ops provide an
image_load table, so N6000 (.image_load = NULL) is unaffected. The N6000
PMCI and SDM image-load handlers are deliberately not included here; they
depend on the wider PMCI stack that has not been upstreamed yet.

The code is derived from the linux-dfl commits 604ad4f48cee and
e1b885714f68 by Russ Weight, Tianfei Zhang, Xu Yilun and Ilpo Järvinen,
adapted to the current mainline driver structure. New sysfs attributes
are documented under Documentation/ABI/testing/.

No functional change for N6000/PMCI/SDM devices. checkpatch --strict is
clean and the driver builds as a module on x86_64.

Ionut Nechita (1):
  fpga: m10bmc-sec: add image_load sysfs for N3000 and D5005

 .../sysfs-driver-intel-m10-bmc-sec-update     |  23 ++
 drivers/fpga/intel-m10-bmc-sec-update.c       | 286 +++++++++++++++++-
 include/linux/mfd/intel-m10-bmc.h             |  31 ++
 3 files changed, 339 insertions(+), 1 deletion(-)


base-commit: cc2b5f627e8ccbae1188ef2d8be3e451d7f933a5
-- 
2.55.0