|
|
Log in / Subscribe / Register

Add Efinix FPGA SPI programming support

From:  iansdannapel-AT-gmail.com
To:  linux-fpga-AT-vger.kernel.org
Subject:  [v4 0/3] Add Efinix FPGA SPI programming support
Date:  Fri, 28 Feb 2025 10:47:29 +0100
Message-ID:  <20250228094732.54642-1-iansdannapel@gmail.com>
Cc:  Moritz Fischer <mdf-AT-kernel.org>, Wu Hao <hao.wu-AT-intel.com>, Xu Yilun <yilun.xu-AT-intel.com>, Tom Rix <trix-AT-redhat.com>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Neil Armstrong <neil.armstrong-AT-linaro.org>, Jonathan Cameron <Jonathan.Cameron-AT-huawei.com>, Rafał Miłecki <rafal-AT-milecki.pl>, Aradhya Bhatia <a-bhatia1-AT-ti.com>, Ian Dannapel <iansdannapel-AT-gmail.com>, devicetree-AT-vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-kernel-AT-vger.kernel.org (open list)
Archive-link:  Article

From: Ian Dannapel <iansdannapel@gmail.com>

This patch series introduces support for Efinix FPGA devices
through SPI-based programming.

Currently, only Trion devices are tested. Topaz and Titanium series are 
theoretically supported because of the similarity with Trion, but the
driver is only documentation based.

Changes since v3:
- major rework on the driver spi write approach
    - indirect CS assert using spi_transfer instead of duplicating the
  SPI controller property
  - locked SPI bus transfer to avoid possible conflicts with other
  devices on the bus
- file name and compatible strings renamed to better match device
- minor improvements/fixes


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

 .../devicetree/bindings/fpga/efinix,spi.yaml  |  81 +++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 drivers/fpga/Kconfig                          |   7 +
 drivers/fpga/Makefile                         |   1 +
 drivers/fpga/efinix-spi.c                     | 212 ++++++++++++++++++
 5 files changed, 303 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/fpga/efinix,spi.yaml
 create mode 100644 drivers/fpga/efinix-spi.c

-- 
2.43.0




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds