PYNQ: PYTHON PRODUCTIVITY

ZCU104 - Pynq overlay failed with DMA

Hello all !

Information

  • Board Zcu104
  • Yocto branch Zeus
  • Pynq 2.5
  • Python 3.7.7

We have implemented VDMA with TPG and we would like to use Pynq in order to make some tests.
I’m trying to run a custom Pynq Image ( with Yocto Zeus ) for ZCU104 board but i’m getting following message

ValueError: Could not find UIO device for interrupt pin for IRQ number 0

According to this thread i have added the following node:

But the IRQ “fabric” is missing …

/ {
amba {

	fabric@A0000000 {
		compatible = "generic-uio";
		reg = <0x0 0xA0000000 0x0 0x10000>;
		interrupt-parent = <&gic>;
		interrupts = <0x0 0x59 0x4>;
	};
  };
};


Note that VDMA address is 0xA0000000 (default from Vivado)

Stupid question : How can I update fabric node in order to fix that ? I have to add some block inside the design ?

Hello all,

Little update, i’m still stuck on this issue… any help ?

image

I’m not able to add basic VDMA/TPG IP and get control from Pynq :frowning:

Cheers,

Hmm… if you are trying to use runtime PL reconfiguration with gic it is not possible at this moment (I had a similar question some time ago it is some kernel bug).

Hi @bartokon and thank you for the hint !

Do you have more info about that ? Maybe a worakoud is available ?

Looks strange because it a kind of basic Pynq feature isn’t it ?

Cheers,

Maybe @rock can elaborate on this matter…

Even without gic you could still use pooling method for detecting interrupts.

Yeah, you need to add the same system_interrupts block as what the base overlay has. Make sure the system interrupts are connected similarly as the base overlay.

Hi @rock

Could you please be so kind and be more specific, because i’m not sure to understand what you mean…

There is no simple example on that ? Or maybe a doc ?