The purpose of this page is to describe the Linux V4L2 drivers for Xilinx Test Pattern Generator (TPG) and Xilinx Video Timing Controller (VTC) soft IPs.


The Linux TPG driver (xilinx-tpg.c) is based on the V4L2 framework, and creates a subdev node(/dev/v4l-subdev*) which can be used to configure the TPG IP core. If the TPG's video timing interface is enabled and connected to a VTC-Generator, the Linux VTC driver (xilinx-vtc.c) is included as well. The general description of V4L2 framework is documented here, v4l2-framework.txt.

Linux Kernel defconfig

CONFIG_VIDEO_XILINX_TPG and CONFIG_VIDEO_XILINX should be enabled. If the TPG's video timing interface is enabled and connected to a VTC-Generator CONFIG_VIDEO_XILINX_VTC should be enabled.

Device tree binding

The dts nodes should be defined with correct hardware configuration. How to define the nodes is documented here, xlnx,axi-tpg.txt and here, xlnx,axi-vtc.txt

Supporting features

All TPG features are supported including:
  • Configuring resolutions
  • Configuring video formats: RGB, YUV422, YUV444, Bayer
  • Changing test patterns using V4L2 controls: Ramp, solid color, color bars, checker board...
  • Configuring patterns: cross hair, moving box, motion speed, stuck pixel, noise level...
  • Configure timing - optional, if VTC interface is enabled and connected

Related Links