[PATCH v6 0/3] Add Efinix FPGA configuration support
From: iansdannapel
Date: Fri Mar 27 2026 - 07:58:11 EST
From: Ian Dannapel <iansdannapel@xxxxxxxxx>
Hi all,
This is v6 of the series adding support for programming Efinix FPGAs
over SPI using the fpga-mgr subsystem.
The series adds DT bindings for the Efinix SPI configuration interface
and a new FPGA manager driver implementing passive SPI configuration.
Testing:
- Verified on a custom board with an Efinix Trion T13 FPGA
- Tested full bitstream configuration over SPI at 25 MHz
Changes since v5:
dt-bindings: vendor-prefix: Add prefix for Efinix, Inc.
- fixed trailer formatting
dt-bindings: fpga: Add Efinix SPI programming bindings
- renamed the binding from efinix,trion-spi.yaml to
efinix,trion-config.yaml
- replaced the generic fallback approach with a family fallback scheme
- made efinix,trion-config the required fallback for Titanium and Topaz
- updated the example to use the new compatible naming
- added an example showing the fallback-compatible form
- removed driver-limitation wording from the binding description
fpga-mgr: Add Efinix SPI programming driver
- renamed compatibles from *-spi to *-config
- aligned the driver with the fallback-compatible scheme
- removed direct OF matching for Titanium and Topaz so binding happens
via the Trion fallback compatible
- moved Kconfig and Makefile entries to the end of the FPGA manager
sections
- fixed kernel-doc style multi-line comments
- documented why chip select must stay asserted across reset and
bitstream transfer
- removed the redundant bus_locked state
- reordered probe initialization
Ian Dannapel (3):
dt-bindings: vendor-prefix: Add prefix for Efinix, Inc.
dt-bindings: fpga: Add Efinix SPI programming bindings
fpga-mgr: Add Efinix SPI programming driver
.../bindings/fpga/efinix,trion-config.yaml | 96 +++++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
drivers/fpga/Kconfig | 7 +
drivers/fpga/Makefile | 1 +
drivers/fpga/efinix-spi.c | 263 ++++++++++++++++++
5 files changed, 369 insertions(+)
create mode 100644 Documentation/devicetree/bindings/fpga/efinix,trion-config.yaml
create mode 100644 drivers/fpga/efinix-spi.c
--
2.43.0