From: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> [resend with fixed email settings] The idea of the framework is to provide consistent ways of programming raw images into FPGA's. Programming from device tree overlays is supported. The core (fpga-mgr.c) does not include a userspace interface and just exports kernel functions. This approach separates the core from the interfaces. Each interface can be enabled or disabled in the defconfig. In some production contexts, interfaces that might be used during development can be disabled. The core exports kernel functions to: * write the fpga from a buffer or using the firmware layer * get fpga status * find a particular fpga manager from a device tree phandle * register/unregister lower level fpga drivers. The bus allows us to: * program fpga from a device tree overlay using firmware. * automatically reload firmware and reprogram fpga during resume. The sysfs interface: * read only, get the name and status of fpga manager. I have a configfs interface patch which I haven't included, adds configfs as a separate file. TODO: * Enable bridges after fpga programming, disable during suspend Alan Tull (3): fpga manager framework core fpga bus driver fpga sysfs interface drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/fpga/Kconfig | 27 +++ drivers/fpga/Makefile | 12 ++ drivers/fpga/bus.c | 145 ++++++++++++++++ drivers/fpga/fpga-mgr.c | 431 ++++++++++++++++++++++++++++++++++++++++++++++ drivers/fpga/sysfs.c | 69 ++++++++ include/linux/fpga-mgr.h | 137 +++++++++++++++ 8 files changed, 824 insertions(+) create mode 100644 drivers/fpga/Kconfig create mode 100644 drivers/fpga/Makefile create mode 100644 drivers/fpga/bus.c create mode 100644 drivers/fpga/fpga-mgr.c create mode 100644 drivers/fpga/sysfs.c create mode 100644 include/linux/fpga-mgr.h -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html