public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: atull <atull@opensource.altera.com>
To: Josh Cartwright <joshc@ni.com>
Cc: Moritz Fischer <moritz.fischer@ettus.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Michal Simek <monstr@monstr.eu>,
	Michal Simek <michal.simek@xilinx.com>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org,
	Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	Alan Tull <delicious.quinoa@gmail.com>,
	"dinguyen@opensource.altera.com" <dinguyen@opensource.altera.com>
Subject: Re: [PATCH v12 3/6] fpga: add simple-fpga-bus
Date: Wed, 28 Oct 2015 13:22:33 -0500	[thread overview]
Message-ID: <alpine.DEB.2.02.1510281313340.32338@linuxheads99> (raw)
In-Reply-To: <20151028175916.GK8245@jcartwri.amer.corp.natinst.com>

On Wed, 28 Oct 2015, Josh Cartwright wrote:

> On Wed, Oct 28, 2015 at 12:03:41PM -0500, atull wrote:
> > On Wed, 28 Oct 2015, Moritz Fischer wrote:
> > 
> > > On Wed, Oct 28, 2015 at 9:18 AM, Josh Cartwright <joshc@ni.com> wrote:
> > > > On Wed, Oct 28, 2015 at 08:37:51AM -0700, Moritz Fischer wrote:
> > > >> On Wed, Oct 28, 2015 at 3:07 AM, Josh Cartwright <joshc@ni.com> wrote:
> > > >> > On Tue, Oct 27, 2015 at 05:09:12PM -0500, atull@opensource.altera.com wrote:
> > > >> >> From: Alan Tull <atull@opensource.altera.com>
> > > >> >>
> > > >> >> The Simple FPGA bus uses the FPGA Manager Framework and the
> > > >> >> FPGA Bridge Framework to provide a manufactorer-agnostic
> > > >> >> interface for reprogramming FPGAs that is Device Tree
> > > >> >> Overlays-based.
> > > >> >
> > > >> > Do you intend the "simple-fpga-bus" to be used on Zynq as well?  The
> > > >> > whole concept of the socfpga's "FPGA Bridge" doesn't map to the Zynq at
> > > >> > all, from what I can tell.
> > > >>
> > > >> For Zynq the zynq-fpga driver takes care of the level shifters on full
> > > >> reconfiguration,
> > > >> and doesn't for partial reconfiguration. Now depending on which parts
> > > >> of the fabric
> > > >> are partial reconfigured (say AXI masters), one might run into issues
> > > >> with a setup like that.
> > > >>
> > > >> My first plan was to counter that by using zynq-reset to hold the
> > > >> reset high during
> > > >> reconfiguration of that part of the FPGA.
> > > >>
> > > >> I'm happy to rethink that part and maybe redo the level shifters and
> > > >> resets together in a bridge
> > > >> driver under devicetree control gives finer grained control.
> > > >
> > > > There is already a framework which is used to describe and manipulate
> > > > level shifting/other IO properties, and that is pinctrl, and if we
> > > > wanted to use an appropriate abstraction, I think pinctrl would be the
> > > > best bet.
> > > 
> > > Alright, I'll investigate that. Again, for the non-partial reconfig
> > > case I'm happy
> > > with the behavior as implemented, for the partial reconfig I just
> > > haven't run into
> > > issues with not dealing with the level shifters.
> > 
> > Are you suggesting pinctrl instead of introducing a FPGA Bridge Framework?
> 
> I'm suggesting that for the set of operations/configuration states that
> need to be managed _for the Zynq[1]_ during reprogramming, I think
> pinctrl might be a good fit.

Hi Josh,

OK, thanks for the clarification.  Communication is hard :)

> 
> But the pinctrl state activation would happen in the context of the zynq
> fpga_mgr_ops write
> 
> I do not think it's a good fit for the socfpga, or for the lower level
> fpga drivers _in general_.  Nor do I think that the FPGA Bridge
> framework, as written, is a good fit for fpgas in general.

OK so about that last sentence...

For full reconfiguration, we could control the hardware bridges from the
FPGA Manager and that would be fine, because the area affected by the bridge
is the whole area, which is what the FPGA Manager will reprogram.

For partial reconfiguration, we can have one FPGA Manager programming
several PR areas.  Each PR area will need its own bridge within the
FPGA.  It no longer makes sense to control bridges from the manager.
So Xilinx may need this yet, for PR.

And again, if you don't need it, you won't have to deal with it.  I'll make
it so that the simple fpga bus works fine with the fpga bridges compiled out
even.

Alan

> 
>   Josh
> 
> [1]: Speaking only of the Zynq 7000-series, I don't know anything about
>      the fancy new Zynq MPSoC :)
> 

  parent reply	other threads:[~2015-10-28 18:22 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 22:09 [PATCH v12 0/6] simple fpga bus and fpga bridge framework atull
2015-10-27 22:09 ` [PATCH v12 1/6] fpga: add usage documentation for simple fpga bus atull
     [not found]   ` <1445983755-24007-2-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
2015-10-28  0:23     ` Moritz Fischer
2015-10-28 14:59       ` atull
2015-10-27 22:09 ` [PATCH v12 2/6] fpga: add bindings document " atull
2015-10-28  9:00   ` Steffen Trumtrar
2015-10-28 14:53     ` atull
2015-10-28 15:18       ` Moritz Fischer
2015-10-28 15:34         ` atull
2015-10-28  9:40   ` Steffen Trumtrar
2015-10-28 19:45     ` atull
2015-10-28 23:40   ` Rob Herring
2015-10-29 16:02     ` atull
2015-10-30 17:58       ` Rob Herring
2015-11-03 16:28         ` atull
2015-11-03 19:56           ` Rob Herring
2015-10-27 22:09 ` [PATCH v12 3/6] fpga: add simple-fpga-bus atull
2015-10-28  9:43   ` Steffen Trumtrar
2015-10-28 15:39     ` atull
2015-10-28 10:07   ` Josh Cartwright
2015-10-28 12:41     ` atull
2015-10-28 15:37     ` Moritz Fischer
2015-10-28 16:18       ` Josh Cartwright
     [not found]         ` <20151028161859.GJ8245-ew3lsbMjNqt5wtABiV/Xjqyly8cj88Ttqxv4g6HH51o@public.gmane.org>
2015-10-28 16:28           ` Moritz Fischer
2015-10-28 17:03             ` atull
2015-10-28 17:41               ` atull
2015-10-28 17:59               ` Josh Cartwright
2015-10-28 18:02                 ` Josh Cartwright
2015-10-28 18:22                 ` atull [this message]
2015-10-28 20:33                 ` Moritz Fischer
2015-10-29  4:04         ` Rob Herring
2015-10-27 22:09 ` [PATCH v12 4/6] fpga: add fpga bridge framework atull
     [not found]   ` <1445983755-24007-5-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
2015-10-28  9:50     ` Steffen Trumtrar
2015-10-28 15:31       ` atull
2015-10-27 22:09 ` [PATCH v12 5/6] ARM: socfpga: add bindings document for fpga bridge drivers atull
2015-10-28  9:29   ` Steffen Trumtrar
2015-10-28 15:53     ` atull
2015-10-28 23:44   ` Rob Herring
2015-10-29 15:04     ` atull
2015-10-27 22:09 ` [PATCH v12 6/6] ARM: socfpga: fpga bridge driver support atull
2015-10-28 10:13   ` Steffen Trumtrar
2015-10-28 12:51     ` atull

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=alpine.DEB.2.02.1510281313340.32338@linuxheads99 \
    --to=atull@opensource.altera.com \
    --cc=corbet@lwn.net \
    --cc=delicious.quinoa@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@opensource.altera.com \
    --cc=galak@codeaurora.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=joshc@ni.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=michal.simek@xilinx.com \
    --cc=monstr@monstr.eu \
    --cc=moritz.fischer@ettus.com \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox