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.
- 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
- The VDU Init driver is loaded (
xlnx_vdu
). - The VDU Init driver loads the Allegro modules.
- Allegro modules are loaded in the following order:
- allegro
- al5d
You can use the
lsmod
command to verify whether the VDU modules were loaded properly. To load the modules, use themodprobe<drivername>
command and load the drivers in the above mentioned sequence.