You are on page 1of 15

HDMI

High-Definition Multimedia
Interface
Mythri P K
September 2010
Introduction
• HDMI is a compact audio/video interface
for transmitting digital data.
HDMI communication channels
• HDMI has three physically separate
communication channels, which are the
DDC, TMDS, and the optional CEC
– The HDMI cable and connectors carry four
differential pairs that make up the TMDS data
and clock channels.
» Audio, video and auxiliary data is transmitted across
the three TMDS data channels.
» A TMDS clock, typically running at the video pixel
rate, is transmitted on the TMDS clock channel
HDMI communication channels
contd..
– HDMI carries a VESA DDC channel. The
DDC is used for configuration and status
exchange between a single transmitter and a
single receiver.
» The DDC is used by the transmitter to read the
receiver’s Enhanced Extended Display Identification
Data (E-EDID) in order to discover the receiver’s
configuration and capabilities.
– The optional CEC protocol provides high-level
control functions between all of the various
audiovisual products in a user’s environment.
HDMI connector
• There are 3 Types of HDMI connector, Type A , B and C.
All three connectors carry all required HDMI signals,
including a TMDS link.
• The Type B connector is slightly larger and carries a
second TMDS link, which is necessary to support very
high resolution displays using dual link.
• The Type C connector carries the same signals as the
Type A but is more compact and intended for mobile
applications.
• The HDMI connector provides a pin allowing the
transmitter to supply +5.0 Volts to the cable and receiver.
• All HDMI transmitters shall assert the +5V Power signal
whenever the transmitter is using the DDC or TMDS
signals
HDMI Link
• The HDMI link operates in one of three modes:
• Video Data Period - the active pixels of an active
video line are transmitted
• Data Island period - audio and auxiliary data are
transmitted using a series of packets.
– This auxiliary data includes InfoFrames and other
data describing the active audio or video stream or
describing the transmitter.
• Control period- It is used when no video, audio,
or auxiliary data needs to be transmitted. It is
required between any two periods that are not
control periods.
Video Data on HDMI
• Video data can have a pixel size of 24, 30, 36 or 48 bits.
Color depths greater than 24 bits are defined to be
“Deep Color” modes.
• Video at the default 24-bit color depth is
carried at a TMDS clock rate equal to the pixel clock rate.
• Video Pixels Video Data Coding is such that the 8 bits
converted to 10 bits by HDMI transmitter.
• The video pixels can be encoded in either RGB, YCBCR
4:4:4 or YCBCR 4:2:2 formats.
• Deep Color modes are optional though if an HDMI
transmitter or receiver supports any Deep Color mode*,
it shall support 36-bit mode.
AVI Infoframe
• An InfoFrame packet carries one InfoFrame. The
InfoFrame provided by HDMI is limited to 30
bytes plus a checksum byte.
• HDMI transmitter shall always transmit an AVI
InfoFrame at least once per two video fields if
the transmitter supports.
• The AVI InfoFrame shall be transmitted even
while such a transmitter is transmitting RGB and
non pixel-repeated video.
• For AVI infoframe format refer : Section 8.2 in
HDMI 1.3 specification
EDID
Extended display identification data
• HDMI transmitter shall read the EDID and first CEA
Extension to determine the capabilities supported by the
receiver.
• HDMI transmitter shall check the E-EDID for the
presence of an HDMI Vendor Specific Data Block within
the first CEA Extension to determine whether it is an
HDMI/DVI device.
• All the receiver supports 640 * 480P video format by
default.
• For detailed information on EDID format refer to

http://en.wikipedia.org/wiki/Extended_display_identificati
on_data
Hot-Plug detect
• An HDMI receiver shall assert high voltage
level on its Hot Plug Detect pin when the
E-EDID is available for reading.
• HDMI receiver shall indicate any change
to the contents of the E-EDID by driving a
low voltage level pulse on the Hot Plug
Detect pin.
Code flow in OMAP4
• hdmi_init-
– It is called during bootup during the DSS
probe along with other blocks like dispc, dsi ,
dpi etc.
– This registers the HDMI driver to DSS and
registers HDMI IRQ handler.
• hdmi_exit –
– Called from omapdss_remove , it will free IRQ
handler.
• Call flow when
echo 1 > sys/devices/platform/omapdss/display*/enabled
Is called

• hdmi_enable_display
– Does the GPIO configuration for DDC and hot-plug detect level
shifter (GPIO60 and 41).
– Enabled dss clk -> hdmi_enable_clocks
– Reads EDID by calling hdmi_read_edid to determine the timing
supported by TV. See http://omappedia.org/wiki/RFCs RFC for
autodetect for more information/
– Computes PLL based on the timing that is selected after reading
EDID.
– Configures the HDMI PLL and PHY blocks hdmi_pll_program and
hdmi_phy_init
– Configures the video and auxillary infoframe inforamtion based
on the EDID by calling hdmi_lib_enable.
– Configures the dispc(display controller) gamma table and HDMI
switch.
• Call flow when
echo 0 > sys/devices/platform/omapdss/display*/enabled
Is called

• hdmi_disable_display
– Disabled the dss_clk requested by HDMI.
Hdmi_enable_clocks(0).
– Sets the power state of the HDMI PLL block to
ALL_OFF HDMI_W1_SetWaitPllPwrState
– Set the PHY block to off hdmi_phy_off
– GPIO configurations are pulled down.
References
• TI OMAP4 TRM

http://focus.ti.com/general/docs/wtbu/wtbudocumentcenter.ts
p?templateId=6123&navigationId=12667
• HDMI 1.3 specification
http://www.hdmi.org/learningcenter/faq.aspx
• EDID information

http://en.wikipedia.org/wiki/Extended_display_identification_
data
http://www.hdmi.org/learningcenter/presentations.aspx
(Implementing EDID that works)
• Connector
http://pinouts.ru/Video/hdmi_pinout.shtml

You might also like