Thread (1 message) 1 message, 1 author, 2015-06-11

Re: DeviceTree FPGA bitstream

From: Walter Goossens <hidden>
Date: 2015-06-11 10:17:05

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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help