Several SuperH SoCs, including sh7724, contain a Video Output Unit, which can be used to output video data to a TV video encoder in NTSC or PAL mode, or to an LCD. The sh7724 Solution Engine (ms7724se) platform uses the AK8813 NTSC/PAL TV encoder for this purpose. On one hand, developing drivers for these two units hasn't been completely new to me because of my good familiarity with the V4L2 and v4l2-subdev APIs, on the other hand this has been my first experience with video output drivers, all my previous V4L2 development concerned video capture. After all the usual initial issues with the new hardware and coupling of hardware units have been resolved, the system seems to work pretty well.
Testing of the drivers has been problematic too. The only open-source user-space tool, capable of talking to V4L2 output devices is
gstreamer, whose latest version of gst-plugins-bad contains a v4l2sink plugin. However, you need the latest git version of this plugin to work with VOU, besides, using this plugin you can only test 16 and 24-bit RGB image formats, and not NV12 and NV16 formats. To test those I had to use a custom application, written and kindly provided by Laurent Pinchart. With a couple of easy extensions to that program and a
patch for the v4l2sink plugin (a newer but unpublished version of that patch uses an enumeration type instead of strings, as has been suggested in a patch review) I have been able to test the set up with various image formats in PAL and NTSC (only as a monochrome image on a PAL TV set) modes.
Links to V4L2 patches:
01/03:
V4L: SuperH Video Output Unit (VOU) driver
02/03:
V4L: v4l2-subdev driver for AK8813 and AK8814 TV-encoders from AKM
03/03:
sh: add Video Output Unit (VOU) and AK8813 TV-encoder support to ms7724se