Some SH-Mobile SoCs, including sh7372, have an integrated HDMI controller, that can be fed with video data from the LCDC and audio data from the FSI2. A set of
patches has been developed and submitted to the mailing lists to implement initial support for the video function. At the moment the functionality is limited to a fixed 720p format. Monitor hotplug is supported to the extent, that the interface gets suspended without a monitor and woken up with one attached and turned on. The driver reads out the EDID information from the monitor, but so far it is unused. Working with HDMI proved to be difficult due to a number of reasons:
- Different monitors produce different results with equal interface settings.
- There are a lot of timing and electrical parameters to be configured on the interface, which all affect the image quality, and, unfortunately, are not all equally well documented. A slightest change in one of parameters can disturb the image quality or draw the monitor completely out of sync.
- currently there is practically no support for HDMI in the kernel framebuffer subsystem and also no proper support for dynamic geometry reconfiguration, which is, of course, desirable for HDMI monitor hotplug. Specifically, there is no way to inform user-space applications about the geometry change and, respectively, applications are not prepared to handle such changes.
There is, of course, still a lot to be done:
- Add sound support.
- Use monitor EDID information to reconfigure the framebuffer.
- Consider notifying user-space applications about the geometry change