2. When the IPU FB driver is initialized,
mxc_dispdrv_init()
is called. This results in an
initialization call to all registered display devices.
3. The
mxc_hdmi_disp_init()
callback is executed. The HDMI driver receives a structure
from the IPU FB driver containing frame buffer information (fbi). The HDMI driver
also provides return information about which IPU and DI to select and the preferred
output format for video data from the IPU. The HDMI driver registers itself to
receive notifications of FB driver events. Finally, the HDMI driver can complete its
initialization by configuring the HDMI to receive a hotplug interrupt.
NOTE
All display device drivers must be initialized before the IPU FB
driver for all display devices to be registered as MXC Display
Driver devices before the IPU FB driver can initialize them.
13.2.4 Hotplug Handling and Video Mode Changes
Once the connection between the IPU and the HDMI has been established through the
MXC Display Driver interface, the HDMI video driver waits for a hotplug interrupt,
indicating that a valid HDMI sink device is connected and ready to receive HDMI video
data. Subsequent communications between the HDMI and IPU FB are conducted through
the Linux Frame Buffer APIs. The following list demonstrates the software flow to
recognize an HDMI sink device and configure the IPU FB driver to drive video output to
it:
1. The HDMI video driver receives a hotplug interrupt and reads the EDID from the
HDMI sink device, constructing a list of video modes from the retrieved EDID
information. Using either the video mode string from the Linux kernel command line
(for the initial connection) or the most recent video mode (for a later HDMI cable
connection), the HDMI driver selects a video mode from the mode list that is the
closest match.
2. The HDMI video driver calls
fb_set_var()
to change the video mode in the IPU FB
driver. The IPU FB driver completes its reconfiguration for the new mode.
3. As a result of calling fb_set_var(), an FB notification is sent back to the HDMI driver
indicating that an FB_EVENT_MODE_CHANGE has occurred. The HDMI driver
configures the HDMI hardware for the new video mode..
4. The HDMI module is enabled to generate output to the HDMI sink device.
Software Operation
i.MX 6Solo/6DualLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
116
Freescale Semiconductor, Inc.