Re: DeviceTree FPGA bitstream

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

 




Hi Federico,

On 06/09/2015 04:49 PM, Federico Vaga wrote:
> Hello,
>
> I'm evaluating the DeviceTree to describe the content of an FPGA.
> I noticed that Xilinx is already doing it:
>
> https://www.kernel.org/doc/Documentation/devicetree/bindings/xilinx.txt
>

So is Altera, both for the Nios2 and arm-soc architectures.
They're using this tool: https://github.com/wgoossens/sopc2dts to go
from their design software (qsys) to a dts file.
> I admit that I didn't read the code yet, but before doing it I want to
> ask you some simple questions that may save me a lot of time.
> My questions are:
>
> - is there any reccomandation about DeviceTree for FPGA content
> description?
> If yes, are they documented somewhere?
>

FPGA's are just like other "hardware" from the device-tree point of
view. If there's a UART in your FPGA, then you describe a UART in the
devicetree :)

For Altera FPGA's some info is described here:
http://rocketboards.org/foswiki/Documentation/DeviceTreeGenerator141 and
I think the xilinx flow is similar.

> - it looks like the DeviceTree is disable for x86 architecture except for
> some specific platform. Is it possible to enable it for the entire x86
> architecture? Are there any reason to disable it by default?
>
> - I read that since versione 3.17 it should be possible to dynamically
> add
> portion of DeviceTree from configfs. Is it possible on all architecture?
>
> - I'm working on x86_64 and my FPGA can be on a pluggable board (e.g.
> PCIe).
> Is there a way to describe this situation with DeviceTree? Is there
> any tool
> that dynamically computes the addresses (interrupts) translation to use
> (e.g. on PCIe) ?
>

I've been using this scheme on PPC for quite some time (before
devicetree overlays) by creating a custom pcie driver (that knows the
bar addresses and irqs) which then instantiates a "virtual platformbus"
at the pcie bar the fpga is located in.
You can adopt this scheme for x86 by creating a bus and using the
devicetree code to probe the inside of your FPGA but this is all a bit
hackish.
The correct approach (in my opinion) would be to use an overlay
describing the contents of the FPGA and loading that when probing the
pcie-device. This would however require a base devicetree to apply the
overlay to, and I'm not sure how much effort this is going to be on x86_64

Walter

> Thank you :)
> -- 
> 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
>

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