On Tue, 2014-04-08 at 15:38 +0200, Steffen Trumtrar wrote:
> Hi!
> 
> On Mon, Apr 07, 2014 at 04:54:07PM -0500, ttha...@altera.com wrote:
> > From: Thor Thayer <ttha...@altera.com>
> > 
> > Addition of the Altera SDRAM controller bindings and device
> > tree changes to the Altera SoC project.
> > 
[snip]
> > +
> > +Required properties:
> > +- compatible : "altr,sdr-ctl", "syscon";
> > +                Note that syscon is invoked for this device to support the 
> > FPGA
> > +           bridge driver, EDAC driver and other devices that share the
> > +           registers.
> > +- reg : Should contain 1 register ranges(address and length)
> 
> I haven't really thought this through, but why would the FPGA bridge driver
> access the sdram controller? For releasing the resets in fpgaportrst ? Or is
> there more?

Hi Steffan. No, not for resets. We need to enable the FPGA to SDRAM
path. Our SDRAM controller allows FPGA master access to the SDRAM.

> Wouldn't it be more appropriate to represent those bits as a reset-controller 
> to
> some hypothetical IP core driver?
> Then you could have something like
> 
>       hps2fpga@c0000000 {
>               ipcore@0 {
>                       resets = <&sdr 1>;
>                       reset-names = "foo";
>                       resets = <&rst 96>;
>                       reset-names = "bar";
>                       (...)
>               };
> 
>               ipcore@1000 {
>                       resets = <&rst 96>;
>                       reset-names = "baz";
>                       (...)
>               };
>       };
> 
> And you would always have the correct bridges released out of reset for your
> IP core. Does the FPGA bridge driver do more? I think that is basically it.
> Where we maybe could run into problems though is the early_init stuff.
> 
> I think syscon is nice for some things, but we should try not to overuse it.

Understood. In this case, syscon seems to be appropriate.
> 
> Regards,
> Steffen
> 
> > +Example:
> > +   sdrctl@ffc25000 {
> > +           compatible = "altr,sdr-ctl", "syscon";
> > +           reg = <0xffc25000 0x1000>;
> > +   };
> > diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi
> > index df43702..6ce912e 100644
> > --- a/arch/arm/boot/dts/socfpga.dtsi
> > +++ b/arch/arm/boot/dts/socfpga.dtsi
> > @@ -676,6 +676,11 @@
> >                     clocks = <&l4_sp_clk>;
> >             };
> >  
> > +           sdrctl@ffc25000 {
> > +                   compatible = "altr,sdr-ctl", "syscon";
> > +                   reg = <0xffc25000 0x1000>;
> > +           };
> > +
> >             rstmgr@ffd05000 {
> >                     compatible = "altr,rst-mgr";
> >                     reg = <0xffd05000 0x1000>;
> 

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

Reply via email to