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

Ionut Nechita (Wind River) posted 1 patch 1 week, 3 days ago
.../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(-)
[PATCH v1 0/1] fpga: m10bmc-sec: add image_load sysfs for N3000/D5005
Posted by Ionut Nechita (Wind River) 1 week, 3 days ago
From: Ionut Nechita <ionut.nechita@windriver.com>

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

Re: [PATCH v1 0/1] fpga: m10bmc-sec: add image_load sysfs for N3000/D5005
Posted by Xu Yilun 2 days, 13 hours ago
On Wed, Jul 15, 2026 at 10:38:53AM +0300, Ionut Nechita (Wind River) wrote:
> From: Ionut Nechita <ionut.nechita@windriver.com>
> 
> 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

The concern is, what's the impact to the system and the bmc driver.

And this is the FPGA re-programing, I don't want specific FPGA
re-programing interfaces per device. Let's figure out a meaningful
set of interfaces and a graceful flow for FPGA re-programing.