All of lore.kernel.org
 help / color / mirror / Atom feed
From: <atull@opensource.altera.com>
To: gregkh@linuxfoundation.org, jgunthorpe@obsidianresearch.com,
	hpa@zytor.com, monstr@monstr.eu, michal.simek@xilinx.com,
	rdunlap@infradead.org
Cc: Moritz Fischer <moritz.fischer@ettus.com>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	pantelis.antoniou@konsulko.com, robh+dt@kernel.org,
	grant.likely@linaro.org, iws@ovro.caltech.edu,
	linux-doc@vger.kernel.org, pavel@denx.de, broonie@kernel.org,
	philip@balister.org, rubini@gnudd.com, s.trumtrar@pengutronix.de,
	jason@lakedaemon.net, kyle.teske@ni.com, nico@linaro.org,
	balbi@ti.com, m.chehab@samsung.com, davidb@codeaurora.org,
	rob@landley.net, davem@davemloft.net, cesarb@cesarb.net,
	sameo@linux.intel.com, akpm@linux-foundation.org,
	linus.walleij@linaro.org, pawel.moll@arm.com,
	mark.rutland@arm.com, ijc+devicetree@hellion.org.uk,
	galak@codeaurora.org, devel@driverdev.osuosl.org,
	Petr Cvek <petr.cvek@tul.cz>,
	delicious.quinoa@gmail.com, dinguyen@opensource.altera.com,
	Alan Tull <atull@opensource>
Subject: [PATCH v10 5/8] staging: usage documentation for simple fpga bus
Date: Thu, 13 Aug 2015 12:37:29 -0500	[thread overview]
Message-ID: <1439487452-23977-7-git-send-email-atull@opensource.altera.com> (raw)
In-Reply-To: <1439487452-23977-1-git-send-email-atull@opensource.altera.com>

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

Add a document spelling out usage of the simple fpga bus.

Signed-off-by: Alan Tull <atull@opensource.altera.com>
---
v9:  Initial version of this patch in patchset

v10: s/fpga/FPGA/g
     improve formatting
     some rewriting
     move to staging/simple-fpga-bus
---
 .../Documentation/simple-fpga-bus.txt              |   58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt

diff --git a/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt b/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt
new file mode 100644
index 0000000..c96d705
--- /dev/null
+++ b/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt
@@ -0,0 +1,58 @@
+Simple FPGA Bus
+
+Alan Tull 2015
+
+Overview
+========
+
+The simple FPGA bus adds device tree overlay support for FPGA's.  Loading a
+DT overlay will result in the FPGA getting an image loaded, its bridges will
+be released, and the DT populated for nodes below the simple-fpga-bus.  This
+results in drivers getting probed for the hardware that just got added.  This
+is intended to support the FPGA usage where the FPGA has hardware that
+requires drivers.  Removing the overlay will result in the drivers getting
+removed and the bridges being disabled.
+
+The simple FPGA bus will need to disable and enable bridges that will only
+affect the child devices that are below the bus.  These are pointed to by
+phandles to their resets.  If partial reconfiguration is to be done, then
+bridges will need to be added within the FPGA design to protect the rest of the
+bus when one part of the FPGA design is being reconfigured.
+
+
+Sequence
+========
+
+Load the DT overlay.  One way to do that from user space is to use Pantelis'
+DT-Overlay configfs interface.
+
+This causes the simple FPGA bus go be probed and will do the following:
+ 1. Disable the FPGA bridges.
+ 2. Call the FPGA manager core to program the FPGA.
+ 3. Release the FPGA bridges.
+ 4. Call of_platform_populate resulting in device drivers getting probed.
+
+
+Requirements
+============
+
+ 1. An FPGA image that has a hardware block or blocks that use drivers that are
+    supported in the kernel.
+ 2. A device tree overlay (example is in the simple-fpga-bus bindings document).
+ 3. A FPGA manager driver supporting writing the FPGA.
+ 4. FPGA bridge resets supported as reset controllers.
+
+The DT overlay includes bindings (documented in bindings/simple-fpga-bus.txt)
+that specify:
+ * Which FPGA manager to use.
+ * Which image file to load.
+ * Flags indicating whether this this image is for full reconfiguration or
+   partial.
+ * A list of resets that control the FPGA bridges.
+ * Child nodes specifying the devices that will be added with appropriate
+   compatible strings, etc.
+
+Since this code uses the firmware interface to get the image and DT overlay,
+they currently have to be files on the file system.  It doesn't have to be that
+way forever as DT bindings could be added to point to other sources for the
+image.
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: <atull@opensource.altera.com>
To: <gregkh@linuxfoundation.org>, <jgunthorpe@obsidianresearch.com>,
	<hpa@zytor.com>, <monstr@monstr.eu>, <michal.simek@xilinx.com>,
	<rdunlap@infradead.org>
Cc: Moritz Fischer <moritz.fischer@ettus.com>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<pantelis.antoniou@konsulko.com>, <robh+dt@kernel.org>,
	<grant.likely@linaro.org>, <iws@ovro.caltech.edu>,
	<linux-doc@vger.kernel.org>, <pavel@denx.de>,
	<broonie@kernel.org>, <philip@balister.org>, <rubini@gnudd.com>,
	<s.trumtrar@pengutronix.de>, <jason@lakedaemon.net>,
	<kyle.teske@ni.com>, <nico@linaro.org>, <balbi@ti.com>,
	<m.chehab@samsung.com>, <davidb@codeaurora.org>,
	<rob@landley.net>, <davem@davemloft.net>, <cesarb@cesarb.net>,
	<sameo@linux.intel.com>, <akpm@linux-foundation.org>,
	<linus.walleij@linaro.org>, <pawel.moll@arm.com>,
	<mark.rutland@arm.com>, <ijc+devicetree@hellion.org.uk>,
	<galak@codeaurora.org>, <devel@driverdev.osuosl.org>,
	Petr Cvek <petr.cvek@tul.cz>, <delicious.quinoa@gmail.com>,
	<dinguyen@opensource.altera.com>,
	Alan Tull <atull@opensource.altera.com>
Subject: [PATCH v10 5/8] staging: usage documentation for simple fpga bus
Date: Thu, 13 Aug 2015 12:37:29 -0500	[thread overview]
Message-ID: <1439487452-23977-7-git-send-email-atull@opensource.altera.com> (raw)
In-Reply-To: <1439487452-23977-1-git-send-email-atull@opensource.altera.com>

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

Add a document spelling out usage of the simple fpga bus.

Signed-off-by: Alan Tull <atull@opensource.altera.com>
---
v9:  Initial version of this patch in patchset

v10: s/fpga/FPGA/g
     improve formatting
     some rewriting
     move to staging/simple-fpga-bus
---
 .../Documentation/simple-fpga-bus.txt              |   58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt

diff --git a/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt b/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt
new file mode 100644
index 0000000..c96d705
--- /dev/null
+++ b/drivers/staging/simple-fpga-bus/Documentation/simple-fpga-bus.txt
@@ -0,0 +1,58 @@
+Simple FPGA Bus
+
+Alan Tull 2015
+
+Overview
+========
+
+The simple FPGA bus adds device tree overlay support for FPGA's.  Loading a
+DT overlay will result in the FPGA getting an image loaded, its bridges will
+be released, and the DT populated for nodes below the simple-fpga-bus.  This
+results in drivers getting probed for the hardware that just got added.  This
+is intended to support the FPGA usage where the FPGA has hardware that
+requires drivers.  Removing the overlay will result in the drivers getting
+removed and the bridges being disabled.
+
+The simple FPGA bus will need to disable and enable bridges that will only
+affect the child devices that are below the bus.  These are pointed to by
+phandles to their resets.  If partial reconfiguration is to be done, then
+bridges will need to be added within the FPGA design to protect the rest of the
+bus when one part of the FPGA design is being reconfigured.
+
+
+Sequence
+========
+
+Load the DT overlay.  One way to do that from user space is to use Pantelis'
+DT-Overlay configfs interface.
+
+This causes the simple FPGA bus go be probed and will do the following:
+ 1. Disable the FPGA bridges.
+ 2. Call the FPGA manager core to program the FPGA.
+ 3. Release the FPGA bridges.
+ 4. Call of_platform_populate resulting in device drivers getting probed.
+
+
+Requirements
+============
+
+ 1. An FPGA image that has a hardware block or blocks that use drivers that are
+    supported in the kernel.
+ 2. A device tree overlay (example is in the simple-fpga-bus bindings document).
+ 3. A FPGA manager driver supporting writing the FPGA.
+ 4. FPGA bridge resets supported as reset controllers.
+
+The DT overlay includes bindings (documented in bindings/simple-fpga-bus.txt)
+that specify:
+ * Which FPGA manager to use.
+ * Which image file to load.
+ * Flags indicating whether this this image is for full reconfiguration or
+   partial.
+ * A list of resets that control the FPGA bridges.
+ * Child nodes specifying the devices that will be added with appropriate
+   compatible strings, etc.
+
+Since this code uses the firmware interface to get the image and DT overlay,
+they currently have to be files on the file system.  It doesn't have to be that
+way forever as DT bindings could be added to point to other sources for the
+image.
-- 
1.7.9.5


  parent reply	other threads:[~2015-08-13 17:37 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13 17:37 [PATCH v10 0/8] FPGA Manager Framework and Simple FPGA Bus atull
2015-08-13 17:37 ` atull
2015-08-13 17:37 ` atull
2015-08-13 17:37   ` atull
2015-08-13 17:37 ` [PATCH v10 1/8] usage documentation for FPGA manager core atull
2015-08-13 17:37   ` atull
2015-08-13 23:04   ` Moritz Fischer
2015-08-13 23:04     ` Moritz Fischer
2015-08-14 14:38     ` atull
2015-08-14 14:38       ` atull
2015-08-13 17:37 ` [PATCH v10 2/8] fpga manager: add sysfs interface document atull
2015-08-13 17:37   ` atull
2015-08-13 17:37 ` [PATCH v10 3/8] add fpga manager core atull
2015-08-13 17:37   ` atull
2015-08-14  1:00   ` Moritz Fischer
2015-08-14  1:00     ` Moritz Fischer
2015-08-14 14:33     ` atull
2015-08-14 14:33       ` atull
2015-08-14 15:46       ` atull
2015-08-14 15:46         ` atull
2015-08-14 18:42         ` Moritz Fischer
2015-08-14 18:42           ` Moritz Fischer
     [not found]   ` <1439487452-23977-5-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
2015-08-17 12:02     ` Pavel Machek
2015-08-17 12:02       ` Pavel Machek
2015-08-13 17:37 ` [PATCH v10 4/8] fpga manager: add driver for socfpga fpga manager atull
2015-08-13 17:37   ` atull
     [not found]   ` <1439487452-23977-6-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
2015-08-13 20:50     ` Moritz Fischer
2015-08-13 20:50       ` Moritz Fischer
2015-08-13 17:37 ` atull [this message]
2015-08-13 17:37   ` [PATCH v10 5/8] staging: usage documentation for simple fpga bus atull
     [not found]   ` <1439487452-23977-7-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
2015-08-17 12:03     ` Pavel Machek
2015-08-17 12:03       ` Pavel Machek
2015-08-19 18:28       ` atull
2015-08-19 18:28         ` atull
2015-08-19 18:45         ` Moritz Fischer
2015-08-19 18:45           ` Moritz Fischer
2015-08-13 17:37 ` [PATCH v10 6/8] staging: add bindings document " atull
2015-08-13 17:37   ` atull
2015-08-17 11:52   ` Pavel Machek
2015-08-17 11:52     ` Pavel Machek
2015-08-13 17:37 ` [PATCH v10 7/8] staging: simple-fpga-bus: add TODO document atull
2015-08-13 17:37   ` atull
2015-08-13 17:37 ` [PATCH v10 8/8] staging: add simple-fpga-bus atull
2015-08-13 17:37   ` atull
2015-08-17 11:56   ` Pavel Machek
2015-08-17 11:56     ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1439487452-23977-7-git-send-email-atull@opensource.altera.com \
    --to=atull@opensource.altera.com \
    --cc=akpm@linux-foundation.org \
    --cc=atull@opensource \
    --cc=balbi@ti.com \
    --cc=broonie@kernel.org \
    --cc=cesarb@cesarb.net \
    --cc=davem@davemloft.net \
    --cc=davidb@codeaurora.org \
    --cc=delicious.quinoa@gmail.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@opensource.altera.com \
    --cc=galak@codeaurora.org \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=iws@ovro.caltech.edu \
    --cc=jason@lakedaemon.net \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=kyle.teske@ni.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.chehab@samsung.com \
    --cc=mark.rutland@arm.com \
    --cc=michal.simek@xilinx.com \
    --cc=monstr@monstr.eu \
    --cc=moritz.fischer@ettus.com \
    --cc=nico@linaro.org \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=pavel@denx.de \
    --cc=pawel.moll@arm.com \
    --cc=petr.cvek@tul.cz \
    --cc=philip@balister.org \
    --cc=rdunlap@infradead.org \
    --cc=rob@landley.net \
    --cc=robh+dt@kernel.org \
    --cc=rubini@gnudd.com \
    --cc=s.trumtrar@pengutronix.de \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.