[PATCH v10 0/8] FPGA Manager Framework and Simple FPGA Bus

From: atull
Date: Thu Aug 13 2015 - 13:45:51 EST

From: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx>

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

The FPGA manager core is mature enough to be in the regular kernel.

simple-fpga-bus is proposed for staging.

Changes from v9:
* Move FPGA manager core to drivers/fpga
* Move simple-fpga-bus to staging/simple-fpga-bus
* add TODO
* Improvements in fpga_manager_get/put (call module_try_get)
* Add flags parameter to .write_complete ops as requested
* Documentation improvements
* Other minor cleanup

More info:

The core's API is minimal to start with: only 6 functions. This gives a
manufacturer-agnostic interface for programming FPGA's such that higher
level interfaces (such as DT Overlays) can be shared.

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 API can be used to add a different interface.

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

The core FPGA manager support is standalone. The DT Overlays support
is dependent on Pantelis's dtc overlay patches from
and his DT overlays configfs interface patches and fixes from

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 (8):
usage documentation for FPGA manager core
fpga manager: add sysfs interface document
add fpga manager core
fpga manager: add driver for socfpga fpga manager
staging: usage documentation for simple fpga bus
staging: add bindings document for simple fpga bus
staging: simple-fpga-bus: add TODO document
staging: add simple-fpga-bus

Documentation/ABI/testing/sysfs-class-fpga-manager | 37 ++
Documentation/fpga/fpga-mgr.txt | 171 ++++++
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/fpga/Kconfig | 24 +
drivers/fpga/Makefile | 9 +
drivers/fpga/fpga-mgr.c | 381 ++++++++++++
drivers/fpga/socfpga.c | 616 ++++++++++++++++++++
drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 1 +
.../Documentation/bindings/simple-fpga-bus.txt | 83 +++
.../Documentation/simple-fpga-bus.txt | 58 ++
drivers/staging/simple-fpga-bus/Kconfig | 14 +
drivers/staging/simple-fpga-bus/Makefile | 5 +
drivers/staging/simple-fpga-bus/TODO | 13 +
drivers/staging/simple-fpga-bus/simple-fpga-bus.c | 330 +++++++++++
include/linux/fpga/fpga-mgr.h | 127 ++++
17 files changed, 1874 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-class-fpga-manager
create mode 100644 Documentation/fpga/fpga-mgr.txt
create mode 100644 drivers/fpga/Kconfig
create mode 100644 drivers/fpga/Makefile
create mode 100644 drivers/fpga/fpga-mgr.c
create mode 100644 drivers/fpga/socfpga.c
create mode 100644 drivers/staging/simple-fpga-bus/Documentation/bindings/simple-fpga-bus.txt
create mode 100644 drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt
create mode 100644 drivers/staging/simple-fpga-bus/Kconfig
create mode 100644 drivers/staging/simple-fpga-bus/Makefile
create mode 100644 drivers/staging/simple-fpga-bus/TODO
create mode 100644 drivers/staging/simple-fpga-bus/simple-fpga-bus.c
create mode 100644 include/linux/fpga/fpga-mgr.h


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/