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