Re: [PATCH 0/3] Yet another stab at a fpga framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Alan,

On Aug 2, 2014, at 1:28 AM, <atull@xxxxxxxxxxxxxxxxxxxxx> wrote:

> 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
> 

Looks very sane and useful. Please let me know if you come across any problems
with the overlays code, especially the removal path. 

Regards

-- Pantelis

--
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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux