[PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

atull
2015-07-17T15:51:10Z

From: Alan Tull <atull@opensource.altera.com>

This patchset adds two chunks plus documentation:
* fpga manager core: exports ABI functions that write an image to a FPGA
* DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay

The core's ABI is minimal to start with: only 6 functions. This gives a
common interface for programming various FPGA such that any higher level
interfaces such as the DT Overlays or anything else that is added can be
shared and not be manufacturor-specific.

The DT Overlays support exists for the usage where the FPGA will contain
some "hardware" that will need drivers. Where that use model is not
appealing, the core ABI can be used to add a different use model such as
using an FPGA as acceleration as has been discussed.

This patchset gets rid of the sysfs controls that allowed direct
control of a FPGA from userspace.

This patchset is under drivers/staging as the interface could change.

The bindings for the socpfga fpga manager already are upstreamed as
1b4e119 Alan Tull : doc: add bindings document for altera fpga manager

The DT Support is dependent on Pantelis's dtc overlay patches from
https://github.com/pantoniou/dtc.git
and his DT overlays configfs interface patches and fixes from
https://github.com/pantoniou/linux-beagle-track-mainline

efb0c04 Pantelis Antoniou : gcl: Fix resource linking
85e785e Pantelis Antoniou : ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is used
af0321f Pantelis Antoniou : OF: DT-Overlay configfs interface (v5)
4c1c675 Pantelis Antoniou : configfs: Implement binary attributes (v4)

Alan Tull (7):
staging: usage documentation for FPGA manager core
staging: usage documentation for simple fpga bus
staging: add bindings document for simple fpga bus
staging: fpga manager: add sysfs interface document
staging: fpga manager core
staging: add simple-fpga-bus
staging: fpga manager: add driver for socfpga fpga manager

drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 1 +
.../Documentation/ABI/sysfs-class-fpga-manager | 26 +
.../Documentation/bindings/simple-fpga-bus.txt | 61 ++
drivers/staging/fpga/Documentation/fpga-mgr.txt | 117 ++++
.../staging/fpga/Documentation/simple-fpga-bus.txt | 48 ++
drivers/staging/fpga/Kconfig | 31 +
drivers/staging/fpga/Makefile | 10 +
drivers/staging/fpga/fpga-mgr.c | 373 ++++++++++++
drivers/staging/fpga/simple-fpga-bus.c | 323 ++++++++++
drivers/staging/fpga/socfpga.c | 616 ++++++++++++++++++++
include/linux/fpga/fpga-mgr.h | 127 ++++
12 files changed, 1735 insertions(+)
create mode 100644 drivers/staging/fpga/Documentation/ABI/sysfs-class-fpga-manager
create mode 100644 drivers/staging/fpga/Documentation/bindings/simple-fpga-bus.txt
create mode 100644 drivers/staging/fpga/Documentation/fpga-mgr.txt
create mode 100644 drivers/staging/fpga/Documentation/simple-fpga-bus.txt
create mode 100644 drivers/staging/fpga/Kconfig
create mode 100644 drivers/staging/fpga/Makefile
create mode 100644 drivers/staging/fpga/fpga-mgr.c
create mode 100644 drivers/staging/fpga/simple-fpga-bus.c
create mode 100644 drivers/staging/fpga/socfpga.c
create mode 100644 include/linux/fpga/fpga-mgr.h

--
1.7.9.5