Debugging the VCU Interface - 2023.1 English

H.264/H.265 Video Codec Unit v1.2 Solutions LogiCORE IP Product Guide (PG252)

Document ID
Release Date
2023.1 English

To debug the VCU interface, perform the following steps:

  1. Ensure VCU init driver probe is successful during boot process. Check init driver with the following command.
    which shows xlnx_vcumodule is inserted.
  2. If PLL fails to lock, VCU initialization driver reports a lock status failure message. Ensure that the PLL input reference clock frequency of VCU AMD LogiCORE™ IP is set properly in the IPI block design. Ensure that the PLL clock source (parent clock) is modelled correctly in device tree node as a fixed clock source. Ensure VCU init driver node properties are proper and phandle for PLL reference clock is passed correctly.
  3. After successful probe of VCU init driver, check VCU drivers with the following command:

    which should show al5d, al5e and Allegro modules as being inserted.

  4. Check if sufficient CMA is allocated. VCU operation requires at least 1000 MB of CMA. You can check for available CMA by using
    cat /proc/meminfo
  5. If CMA size is not sufficient, increase the size either in U-Boot using the following steps:
    1. Stop the boot process at U-Boot level and run the following command to increase the CMA size or while building the Linux kernel using kernel configuration property.
      setenv bootargs ${bootargs} cma=xxxxM
    2. In the kernel config (for PetaLinux, run petalinux-config -c kernel and for standalone compilation, run make menuconfig), change the size of the CMA by selecting Library Routines > DMA Contiguous Memory Allocator > Size in MegaBytes.
  6. Run a VCU sanity test using on of the VCU Control Software sample applications. You can use ctrlsw_encoder and ctrlsw_decoder applications to run a sanity test.