linux-fpga.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Add Efinix FPGA SPI programming support
@ 2025-11-19 18:47 iansdannapel
  2025-11-19 18:47 ` [PATCH v5 1/3] dt-bindings: vendor-prefix: Add prefix for Efinix, Inc iansdannapel
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: iansdannapel @ 2025-11-19 18:47 UTC (permalink / raw)
  To: linux-kernel, devicetree, linux-fpga, mdf, yilun.xu, trix, robh,
	krzk+dt, conor+dt, heiko, neil.armstrong, mani, kever.yang, dev,
	iansdannapel

From: Ian Dannapel <iansdannapel@gmail.com>

Hi all,

This is the v5 version of the series that adds support for programming
Efinix FPGAs over SPI using the fpga-mgr subsystem.

The driver implements the passive-serial configuration
protocol and allows loading full bitstreams via an SPI controller. The
binding describes the Efinix Trion SPI interface and documents the DT
requirements for enabling the driver.

All v4 remarks should now be adressed.
Please let me know if further adjustments are needed.

Testing:
- Verified on an Efinix Trion T13 custom board
- Tested full bitstream configuration over SPI at 25 MHz

Changelog since v4:

dt-bindings: fpga: Add Efinix SPI programming bindings:
- efinix,spi.yaml: remove unused binding efinix,fpga-spi
- Rename efinix,spi.yaml to match a compatible (efinix,trion-spi.yaml)
- efinix,trion-spi.yaml: remove notes not relevant to hardware description

fpga-mgr: Add Efinix SPI programming driver
- efinix-spi.c: improve driver description header
- efinix-spi.c: replace hardcoded numbers with macros
- efinix-spi.c: use spi_message_init_with_transfers instead of spi message init + tail
- efinix-spi.c: rework write logic to avoid deasserting the cs or resetting the hardware in between write chunks

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-spi.yaml       |  77 ++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 drivers/fpga/Kconfig                          |   7 +
 drivers/fpga/Makefile                         |   1 +
 drivers/fpga/efinix-spi.c                     | 256 ++++++++++++++++++
 5 files changed, 343 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/fpga/efinix,trion-spi.yaml
 create mode 100644 drivers/fpga/efinix-spi.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-11-20 16:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-19 18:47 [PATCH v5 0/3] Add Efinix FPGA SPI programming support iansdannapel
2025-11-19 18:47 ` [PATCH v5 1/3] dt-bindings: vendor-prefix: Add prefix for Efinix, Inc iansdannapel
2025-11-20 14:11   ` Krzysztof Kozlowski
2025-11-19 18:47 ` [PATCH v5 2/3] dt-bindings: fpga: Add Efinix SPI programming bindings iansdannapel
2025-11-19 20:33   ` Rob Herring (Arm)
2025-11-20 14:12   ` Krzysztof Kozlowski
2025-11-20 15:55     ` Ian Dannapel
2025-11-20 16:42       ` Krzysztof Kozlowski
2025-11-19 18:47 ` [PATCH v5 3/3] fpga-mgr: Add Efinix SPI programming driver iansdannapel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).