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
Participant itwa-ost
Participant
154 Views
Registered: ‎03-05-2019

DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

Hi,

I am following the DPU integration tutorial (Link), however, I need to adjust it to a custom board with a xczu3eg-sbva484-2-i FPGA in it. I have built my design in Vivado and added the DPU IP provided by the IP repository folder from the tutorial.

I am stuck at the Petalinux part: when I configure the project with

petalinux-config --get-hw-description=<path_to_exported_hdf_file>

 However, when looking at the u-boot target it is automatically set to: xilinx_zynqmp_zcu102_rev1_0_defconfig. I don't suppose this is correct and after looking at https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841973/Build+U-Boot I am still unsure which value to set.

Emulating Petalinux with QEMU (petalinux-boot --qemu --prebuilt 3) I get the following message before successfully booting into Linux:

Checking DPU signature at addr=0x8ff00000
DPU signature NOT found, fallback to device-tree

As stated in the DPU product guide, the address of the DPU IP in the address map is 0x00_8F00_0000. I also have the ZCU102 evaluation board and checked the installation process for DNNDK 2.08 and there the address lookup is also at addr=0x8ff00000.

Consquently, dexplorer -w doesn't return anything.

Any help with this issue would be appreciated.

Thank you very much in advance!

 

PS: setup is Vivado 2018.2 and Petalinux 2018.2

0 Kudos
1 Solution

Accepted Solutions
Participant itwa-ost
Participant
22 Views
Registered: ‎03-05-2019

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

I have solved all of the problems mentioned in my first post. Within system-user.dtsi the tutorial has the interrupt type as rising edge (0x1), whereas the Vivado interrupt type is auto configured to Level-High (0x4). Changing this solved the irq type mismatch error.

 

Some things that are still left: the dpu module is not loaded successfully by default, although it is present in etc/module. Manually loading it is successful and I have successfully run the resnet50 application on my custom hardware.

0 Kudos
7 Replies
Xilinx Employee
Xilinx Employee
135 Views
Registered: ‎01-21-2014

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

You're right, it makes sense to go update the uboot defconfig to xilinx_zynqmp_zcu100_revC_defconfig.  It will boot fine with the ZCU102 defconfig as well. I'll update that in the next version. 

You say you're "stuck"  at the petalinux-config - what exactly isn't working?

In your custom vivado design, did you put the DPU at 0x8f000000 as required?

QEMU is not going to work with the DPU in the PL since there is not support for the DPU peripheral in QEMU. 

Have you tried booting the real hardware?

 

Terry

 

0 Kudos
Participant itwa-ost
Participant
109 Views
Registered: ‎03-05-2019

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

Yes, the DPU is at address 0x8f000000. With stuck I meant that I can follow the tutorial to the end, just that the QEMU simulation doesn't work as intended. I can boot into the system, but the DPU module is not laoded correctly. I don't have the hardware yet, as it is a newly designed board and I am building a reference design for it, so I can not test it on real hardware as of yet, but hopefully this week.

Thanks for the quick reply and I will post an update as soon as I have tested it with the real hardware.

0 Kudos
Participant itwa-ost
Participant
97 Views
Registered: ‎03-05-2019

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

So I did get a new board fresh out of production testing and tried to boot my built Petalinux system. However, the booting process get's stuck at this point and doesn't continue:

[ 8.457351] [drm] Cannot find any crtc or sizes

I have attached the full log as there are some more problematic messages, namely

[    0.286745] irq: type mismatch, failed to map hwirq-137 for /amba_apu@0/interrupt-controller@f9010000!
...
[ 4.634254] mmc1: error -110 whilst initialising SD card

I am assuming that hwirq-137 is the GIC IRQ and consequently, the Linux IRQ = 105, which is 0x69 in hexadecimal. I have adjusted the system-user.dtsi file accordingly (see attachment).

Here is a picture of the block design in Vivado as specified by pg338:

block_diagram.pngBlock diagramAddress_Map.pngAddress Map

Where the error with mmc1 is coming from I don't know. I assume the SD card is configured correctly in the Vivado project and is at SD1, which is the correct configuration for our custom board.

Thank you very much for any help that can be provided!

 

0 Kudos
Xilinx Employee
Xilinx Employee
90 Views
Registered: ‎01-21-2014

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

At this point, I think you should probably take a step back and work thorugh bringing your system up outside of the context of this tutorial and the DPU.  Start with bare-metal, confirm all the interfaces work, then move through the process of booting Linux.  Please work with your Xilinx or Avnet FAE and/or utilize the embedded linux forum. Once you have linux booting, then come back here and we can try and help you out with DPU-specific issues. 

Terry

 

0 Kudos
Participant itwa-ost
Participant
67 Views
Registered: ‎03-05-2019

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

I already did basic interface tests, like GPIOs, I2C, etc. 

I also build Petalinux successfully for a barebones design just with ZYNQMP and AXI GPIOs.

The only thing I added is the DPU and trying to adjust the Petalinux build according to the tutorial. Maybe you could help figuring out this issue, as this clearly has something to do with DPU integration?

[    0.286745] irq: type mismatch, failed to map hwirq-137 for /amba_apu@0/interrupt-controller@f9010000!

As posted in the screenshots, the DPU interrupt is connected to pl_ps_irq1[1] which is as suggested by the DPU documentation. The system-user.dtsi is also adjusted accordingly, so I don't know where that error might be coming from.

Thank you very much, any help is appreciated. 

0 Kudos
Participant itwa-ost
Participant
23 Views
Registered: ‎03-05-2019

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

I have solved all of the problems mentioned in my first post. Within system-user.dtsi the tutorial has the interrupt type as rising edge (0x1), whereas the Vivado interrupt type is auto configured to Level-High (0x4). Changing this solved the irq type mismatch error.

 

Some things that are still left: the dpu module is not loaded successfully by default, although it is present in etc/module. Manually loading it is successful and I have successfully run the resnet50 application on my custom hardware.

0 Kudos
Xilinx Employee
Xilinx Employee
11 Views
Registered: ‎01-21-2014

Re: DPU integration for custom board DPU signature NOT found, fallback to device-tree

Jump to solution

Can you please elaborate on what specifically you changed?

 

Terry

 

 

0 Kudos