Driver - 2023.2 English

H.264/H.265 Video Decode Unit Solutions LogiCORE IP Product Guide (PG414)

Document ID
PG414
Release Date
2024-03-29
Version
2023.2 English

There are multiple VDU modules. The VDU Init (xlnx_vdu) which is part of Linux Kernel and which handles PL Registers such as VDU Gasket and the clocking. The other two kernel drivers (al5d, allegro) together are the core VDU driver. The decoder driver is called al5d and the common driver is called allegro.

The allegro driver has the following responsibilities:
  • Loading the MCU firmware
  • Initiating the MCU boot sequence
  • Writing mailbox messages into memory shared between APU and MCU
  • Providing notification of new mailbox messages.

The VDU Init driver source code is at https://github.com/Xilinx/linux-xlnx/blob/xlnx_rebase_v4.19/drivers/soc/xilinx/

The VDU modules (allegro, al5d) source code is at: https://github.com/Xilinx/vdu-modules

All VDU driver modules (xlnx_vdu, allegro, al5d) are compiled as runtime kernel modules and are loaded once kernel boot-up. Modules load in the following sequence.
  1. The VDU Init driver is loaded (xlnx_vdu).
  2. The VDU Init driver loads the Allegro modules.
  3. Allegro modules are loaded in the following order:
    1. allegro
    2. al5d

    You can use the lsmod command to verify whether the VDU modules were loaded properly. To load the modules, use the modprobe<drivername> command and load the drivers in the above mentioned sequence.