[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251119184708.566461-1-iansdannapel@gmail.com>
Date: Wed, 19 Nov 2025 19:47:03 +0100
From: iansdannapel@...il.com
To: linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org,
linux-fpga@...r.kernel.org,
mdf@...nel.org,
yilun.xu@...el.com,
trix@...hat.com,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
heiko@...ech.de,
neil.armstrong@...aro.org,
mani@...nel.org,
kever.yang@...k-chips.com,
dev@...l-k.io,
iansdannapel@...il.com
Subject: [PATCH v5 0/3] Add Efinix FPGA SPI programming support
From: Ian Dannapel <iansdannapel@...il.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
Powered by blists - more mailing lists