UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor gpsat
Visitor
8,024 Views
Registered: ‎11-20-2014

Device Tree Guide?

When I add the axi-dma_0 ip to my block diagram the resulting petalinux image fails after the "Starting Kernel" message.

 

I've attached the pl.dtsi file that petaLinux is generating and I know that if I remove the axi_dma_0 block the petaLinux is fine, just like when I don't put the IP block in the block diagram.

 

Is this something that petaLinux is meant to handle correctly? While I've seen people post solutions to similar problems I haven't seen an explaination of those solutions to help me apply it here. Do I just need to go off and learn about device trees in a generic way and then the solution will become clear?

 

Any and all help and pointers to solutions eagerly awaited.

 

I'm using the 2014.4 versions of Vivado and petaLinux, the target hardware is a microZed.

0 Kudos
3 Replies
Visitor gpsat
Visitor
8,005 Views
Registered: ‎11-20-2014

Re: Device Tree Guide?

I just followed: http://www.wiki.xilinx.com/Build+Device+Tree+Blob and the pl.dtsi it generated is attached.

 

Both channels have "interrupts = <-1>;" added to them, and now the kernel boots.

 

Now to figure out how to to use the DMA :)

0 Kudos
Visitor gpsat
Visitor
7,952 Views
Registered: ‎11-20-2014

Re: Device Tree Guide?

Okay I'm just not getting this. It was working, well at least it was building and booting, and trying to confirm further parts of the process was working I coppied in the parts of a known to work device tree regarding the ethernet controller. This broke things so I undid my edits and it was still broken. So now I've cleaned everything completely and it is still broken. 

 

When I say broken the "petalinux-build" errors when attempting to build the system.dtb:

[ERROR] Error: ~/VivadoProjects/StepByStep/MicroZed_PetaLinux/subsystems/linux/configs/device-tree/pl.dtsi:19.22-23 syntax error

 

After cleaning we are back to the exact pl.dtsi as I attached above. 

 

If I remove the interrupts declarations the build error goes away but the starting kernel bug returns. Why is this interrupts declaration breaking the device tree build tool?

0 Kudos
Scholar stephenm
Scholar
7,889 Views
Registered: ‎05-06-2012

Re: Device Tree Guide?

For information on uisng interrupts on the device tree, you should look at the link below. This has an nice example:

http://devicetree.org/Device_Tree_Usage

 

Im assuming you are uisng an AXI Interrupt controller?

If so, you will need to look at the binding info for this driver. you have this set to interrupts = <-1>, which is incorrect.

 

https://github.com/Xilinx/linux-xlnx/blob/89590ccd978a242819f95e26ea26ee609864bd52/Documentation/devicetree/bindings/interrupt-controller/xilinx%2Cintc.txt

This will likely be 0 -> 32