[PATCH v6 0/3] Add Efinix FPGA configuration support

iansdannapel@gmail.com posted 3 patches 6 days, 2 hours ago
.../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
[PATCH v6 0/3] Add Efinix FPGA configuration support
Posted by iansdannapel@gmail.com 6 days, 2 hours ago
From: Ian Dannapel <iansdannapel@gmail.com>

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
Re: [PATCH v6 0/3] Add Efinix FPGA configuration support
Posted by Xu Yilun 3 days, 3 hours ago
On Fri, Mar 27, 2026 at 12:48:38PM +0100, iansdannapel@gmail.com wrote:
> From: Ian Dannapel <iansdannapel@gmail.com>
> 
> Hi all,
> 
> This is v6 of the series adding support for programming Efinix FPGAs
> over SPI using the fpga-mgr subsystem.

Sorry, I'm on vacation and cannot make it in v7.0-rc, though I assume it
should be neat as a v6.

Will try to merge it in v7.1-rc, thanks.