PolarFire SoC Auto Update Support
Get series with b4
b4 am 20231020-agreeably-filing-3d48708e6262@spudVersions newest first · linked by author and title
- v3 Latest6 patches 2 repliesIn review 1 of 6 applied
- v16 patches 11 repliesSuperseded
Changes in v3 from the cover letter
- Move the driver to drivers/firmware
- Rename the firmware upload device: s/mpfs_bitstream/mpfs-auto-update/
- Fix the clock parentage for the qspi node added in this series
- https://lore.kernel.org/linux-fpga/ZDlJxrybiWy3Mk4Y@yilunxu-OptiPlex-7050/
Patches in v3 1 of 6 applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | dt-bindings: soc: microchip: add a property for system controller flashDocumentation/ | +10 | 0 replies | |
| 2/6 | soc: microchip: mpfs: enable access to the system controller's flashdrivers/ drivers/ include/ | +23 | 0 replies | |
| 3/6 | soc: microchip: mpfs: print service status in warning messagedrivers/ | +3 | 0 replies | |
| 4/6 | soc: microchip: mpfs: add auto-update subdev to system controllerdrivers/ | +7 | 0 replies | |
| 5/6 | firmware: microchip: add PolarFire SoC Auto Update supportdrivers/ drivers/ drivers/ +2 more | +511 | 0 replies | |
| 6/6 | riscv: dts: microchip: add the mpfs' system controller qspi & associated flasharch/ arch/ | +38 | 1 reply | Applied |
Reviews trailers per patch
1 of 6 patches has a Reviewed-by or Acked-by.
| Patch | Rob Herring |
|---|---|
| 1/6 | R-b |
| 2/6 | |
| 3/6 | |
| 4/6 | |
| 5/6 | |
| 6/6 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/6] PolarFire SoC Auto Update Support
From: Conor Dooley <[email protected]>
Hey all,
This patchset adds support for the "Auto Update" feature on PolarFire SoC that allows for writing an FPGA bistream to the SPI flash connected to the system controller.
On powercycle (or reboot depending on how the firmware implements the openSBI SRST extension) "Auto Update" will take place, and program the FPGA with the contents of the SPI flash - provided that that image is valid and an actual upgrade from that already programmed.
Previously this driver was added to the FPGA subsystem, but as there is no capability for dynamic reconfiguration due to the device reset requirement, the FPGA manager framework is not actually used by the driver. As a result, the FPGA maintainers did not think it belonged in that directory, and after speaking to Arnd, I have put it in drivers/firmware/microchip instead. Otherwise, very little has changed here, compared to the previous submission.
If this is acceptable, I can add this to my eventual SoC drivers pull request for v6.8.
Cheers,
Conor.
Changes in v3:
- Move the driver to drivers/firmware
- Rename the firmware upload device: s/mpfs_bitstream/mpfs-auto-update/
- Fix the clock parentage for the qspi node added in this series
- https://lore.kernel.org/linux-fpga/ZDlJxrybiWy3Mk4Y@yilunxu-OptiPlex-7050/
Changes in v2:
- per Russ' suggestion, the driver has been switched to using the firmware-upload API rather than the fpga one
- as a result of that change, the structure of the driver has changed significantly, although most of that is reshuffling existing code around
- check if the upgrade is possible in probe and fail if it isn't
- only write the image index if it is not already set
- delete the now unneeded debugfs bits
Conor Dooley (6):
dt-bindings: soc: microchip: add a property for system controller
flash
soc: microchip: mpfs: enable access to the system controller's flash
soc: microchip: mpfs: print service status in warning message
soc: microchip: mpfs: add auto-update subdev to system controller
firmware: microchip: add PolarFire SoC Auto Update support
riscv: dts: microchip: add the mpfs' system controller qspi &
associated flash
.../microchip,mpfs-sys-controller.yaml | 10 + .../boot/dts/microchip/mpfs-icicle-kit.dts | 21 + arch/riscv/boot/dts/microchip/mpfs.dtsi | 17 + drivers/firmware/Kconfig | 1 + drivers/firmware/Makefile | 1 + drivers/firmware/microchip/Kconfig | 12 + drivers/firmware/microchip/Makefile | 3 + drivers/firmware/microchip/mpfs-auto-update.c | 494 ++++++++++++++++++ drivers/soc/microchip/Kconfig | 1 + drivers/soc/microchip/mpfs-sys-controller.c | 33 +- include/soc/microchip/mpfs.h | 2 + 11 files changed, 592 insertions(+), 3 deletions(-) create mode 100644 drivers/firmware/microchip/Kconfig create mode 100644 drivers/firmware/microchip/Makefile create mode 100644 drivers/firmware/microchip/mpfs-auto-update.c
Signature · 1 line
2.39.2