PDF User Guides

Hardware User Guide
UG-438
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
Advantiv ADV7610 HDMI Receiver Functionality and Features
SCOPE
This user guide provides a detailed description of the Advantiv® ADV7610 HDMI® receiver functionality and features.
DISCLAIMER
Information furnished by Analog Devices, Inc., is believed to be accurate and reliable. However, no responsibility is assumed by Analog
Devices for its use, nor any infringements of patents or other rights of third parties that may result from its use.
Specifications are subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of
Analog Devices. Trademarks and registered trademarks are the property of their respective owners.
FUNCTIONAL BLOCK DIAGRAM
12
SCL
SDA
CEC
CEC
CONTROLLER
RXA_5V
HPA_A/INT2*
5V DETECT
AND HPD
CONTROLLER
DDCA_SDA
DDCA_SCL
RXA_C±
RXA_0±
RXA_1±
RXA_2±
BACKEND
COLOR SPACE
CONVERSION
CONTROL
INTERFACE
I2C
CONTROL
AND DATA
12
12
P0 TO P7
P8 TO P15
P16 TO P23
LLC
HS
VS/FIELD/ALSB
DE
INTERRUPT
CONTROLLER
(INT1, INT2)
HDMI
PROCESSOR
EDID
REPEATER
CONTROLLER
INT1
INT2*
COMPONENT
PROCESSOR
HDCP
EEPROM
PLL
EQUALIZER
OUTPUT FORMATTER
DPLL
EQUALIZER
HDCP
ENGINE
DATA
PREPROCESSOR
AND COLOR
SPACE
CONVERSION
A
B
C
PACKET/
INFOFRAME
MEMORY
PACKET
PROCESSOR
MUTE
AUDIO
PROCESSOR
AUDIO OUTPUT FORMATTER
XTALP
XTALN
I2S0 TO I2S3
LRCLK
SCLK/INT2*
MCLK/INT2*
*INT2 CAN BE ONLY OUTPUT ON ONE OF THE PINS: SCLK/INT2, MCLK/INT2, OR HPA_A/INT2.
Figure 1.
PLEASE SEE THE LAST PAGE FOR AN IMPORTANT
WARNING AND LEGAL TERMS AND CONDITIONS.
Rev. 0 | Page 1 of 184
10884-001
ADV7610
UG-438
Hardware User Guide
TABLE OF CONTENTS
Scope .................................................................................................. 1
Video 3D Detection ................................................................... 32
Disclaimer .......................................................................................... 1
TMDS Measurement.................................................................. 33
Functional Block Diagram .............................................................. 1
Deep Color Mode Support ........................................................ 34
Revision History ............................................................................... 3
Video FIFO.................................................................................. 34
Using the ADV7610 Hardware User Guide .................................. 4
Pixel Repetition .......................................................................... 36
Number Notations ........................................................................ 4
HDCP Support ........................................................................... 37
Register Access Conventions ...................................................... 4
HDMI Synchronization Parameters ........................................ 41
Acronyms and Abbreviations ..................................................... 4
Audio Control and Configuration ........................................... 46
Field Function Descriptions........................................................ 6
Audio FIFO ................................................................................. 48
References ...................................................................................... 6
Audio Packet Type Flags ........................................................... 49
Introduction to the ADV7610 ........................................................ 7
Audio Output Interface ............................................................. 51
HDMI Receiver ............................................................................. 7
MCLKOUT Setting .................................................................... 57
Component Processor ................................................................. 7
Audio Channel Mode ................................................................ 57
Main Features of ADV7610 ........................................................ 7
Audio Muting.............................................................................. 58
Pin Configuration and Function Descriptions......................... 9
Audio Clock Regeneration Parameters ................................... 62
Global Control Registers ............................................................... 11
Channel Status ............................................................................ 63
ADV7610 Revision Identification ............................................ 11
Packets and InfoFrames Registers ............................................ 67
Power-Down Controls ............................................................... 11
Packet Registers .......................................................................... 74
Global Pin Control ..................................................................... 13
Customizing Packet/InfoFrame Storage Registers ................. 78
Primary Mode and Video Standard ............................................. 18
Repeater Support ........................................................................ 79
Primary Mode and Video Standard Controls......................... 18
Interface to DPP Section ........................................................... 86
HDMI Decimation Modes ........................................................ 20
Pass Through Mode ................................................................... 87
Primary Mode and Video Standard Configuration for HDMI
Free Run ....................................................................................... 20
Color Space Information Sent to the DPP and CP Sections 88
Recommended Settings for HDMI Inputs .............................. 21
HDMI Section Reset Strategy ................................................... 91
Pixel Port Configuration................................................................ 23
HDMI Packet Detection Flag Reset ......................................... 91
Pixel Port Output Modes ........................................................... 23
LLC Controls ............................................................................... 24
Data Preprocessor and Color Space Conversion and Color
Controls ........................................................................................... 92
DLL on LLC Clock Path ............................................................ 24
Color Space Conversion Matrix ............................................... 92
HDMI Receiver ............................................................................... 26
Color Controls .......................................................................... 101
+5 V Cable Detect ...................................................................... 26
Component Processor ................................................................. 103
Hot Plug Assert ........................................................................... 27
Introduction to the Component Processor........................... 103
E-EDID/Repeater Controller .................................................... 29
Clamp Operation ...................................................................... 103
E-EDID Data Configuration ..................................................... 29
CP Gain Operation .................................................................. 105
Transitioning of Power Modes.................................................. 30
CP Offset Block ........................................................................ 109
Structure of Internal E-EDID ................................................... 30
AV Code Block ......................................................................... 110
TMDS Equalization .................................................................... 31
CP Data Path for HDMI Modes ............................................. 112
Port Selection .............................................................................. 31
Sync Processed by CP Section ................................................ 115
TMDS Clock Activity Detection .............................................. 31
CP Output Synchronization Signal Positioning ................... 122
HDMI/DVI Status Bits .............................................................. 32
CP HDMI Controls .................................................................. 134
Status Registers ........................................................................... 88
Rev. 0 | Page 2 of 184
Hardware User Guide
UG-438
Free Run Mode ......................................................................... 134
Register Access and Serial Ports Description ............................174
CP Status ................................................................................... 138
Main I2C Port .............................................................................174
CP Core Bypassing .................................................................... 138
DDC Ports..................................................................................177
Consumer Electronics Control ................................................... 139
Appendix A ....................................................................................178
Main Controls ........................................................................... 139
PCB Layout Recommendations ..............................................178
CEC Transmit Section ............................................................. 140
Power Supply Bypassing ...........................................................178
CEC Receive Section................................................................ 142
Digital Outputs (Data and Clocks) .........................................178
Antiglitch Filter Module.......................................................... 147
Digital Inputs .............................................................................179
Typical Operation Flow ........................................................... 148
XTAL and Load Cap Value Selection .....................................179
Low Power CEC Message Monitoring .................................. 151
Appendix B ....................................................................................180
Interrupts ....................................................................................... 153
Recommended Unused Pin Configurations .........................180
Interrupt Architecture Overview ........................................... 153
Appendix C ....................................................................................182
Interrupt Pins ............................................................................ 156
Pixel Output Formats ...............................................................182
Description of Interrupt Bits .................................................. 159
Additional Explanations .......................................................... 160
REVISION HISTORY
2/13—Revision 0: Initial Version
Rev. 0 | Page 3 of 184
UG-438
Hardware User Guide
USING THE ADV7610 HARDWARE USER GUIDE
NUMBER NOTATIONS
Table 1.
Notation
Bit N
V[X:Y]
0xNN
0bNN
NN
Description
Bits are numbered in little endian format, that is, the least significant bit of a number is referred to as Bit 0.
Bit field representation covering Bit X to Bit Y of a value or a field (V).
Hexadecimal (base-16) numbers are preceded by the prefix ‘0x’.
Binary (base-2) numbers are preceded by the prefix ‘0b’.
Decimal (base-10) are represented using no additional prefixes or suffixes.
REGISTER ACCESS CONVENTIONS
Table 2.
Mode
R/W
R
W
Description
Memory location has read and write access.
Memory location is read access only. A read always returns 0 unless otherwise specified.
Memory location is write access only.
ACRONYMS AND ABBREVIATIONS
Table 3.
Acronym/Abbreviation
ACP
AGC
Ainfo
AKSV
An
AP
AVI
BCAPS
BKSV
CP
CSC
DDR
DE
DLL
DPP
DVI
EAV
EMC
EQ
HD
HDCP
HDMI
HDTV
HPA
HPD
HSync
IC
ISRC
I2 S
I2 C
Description
Audio content protection.
Automatic gain control.
HDCP register. Refer to digital content protection documentation in the References section.
HDCP transmitter key selection vector. Refer to digital content protection documentation in the References section.
64-bit pseudo-random value generated by HDCP cipher function of Device A.
Audio output pin.
Auxiliary video information.
HDCP register. Refer to digital content protection documentation in the References section.
HDCP receiver key selection vector. Refer to digital content protection documentation in the References section.
Component processor.
Color space converter/conversion.
Double data rate.
Data enable.
Delay locked loop.
Data preprocessor.
Digital visual interface.
End of active video.
Electromagnetic compatibility.
Equalizer.
High definition.
High bandwidth digital content protection.
High bandwidth multimedia interface.
High definition television.
Hot plug assert.
Hot plug detect.
Horizontal synchronization.
Integrated circuit.
International standard recording code.
Inter IC sound.
Inter integrated circuit.
Rev. 0 | Page 4 of 184
Hardware User Guide
Acronym/Abbreviation
KSV
LLC
LSB
L-PCM
Mbps
MPEG
ms
MSB
NC
OTP
Pj’
Ri’
Rx
SAV
SDR
SHA-1
SMPTE
SOG
SOY
SPA
SPD
STDI
TMDS
Tx
VBI
VSync
XTAL
UG-438
Description
Key selection vector.
Line locked clock.
Least significant bit.
Linear pulse coded modulated.
Megabit per second.
Moving picture expert group.
Millisecond.
Most significant bit.
No connect.
One-time programmable.
HDCP enhanced link verification response. Refer to digital content protection documentation in the References section.
HDCP link verification response. Refer to digital content protection documentation in the References section.
Receiver.
Start of active video.
Single data rate.
Refer to HDCP documentation.
Society of Motion Picture and Television Engineers.
Sync on green.
Sync on Y.
Source physical address.
Source production descriptor.
Standard detection and identification.
Transition minimized differential signaling.
Transmitter.
Video blanking interval.
Vertical synchronization.
Crystal oscillator.
Rev. 0 | Page 5 of 184
UG-438
Hardware User Guide
FIELD FUNCTION DESCRIPTIONS
Throughout this user guide, a series of function tables are provided. The function of a field is described in a table preceded by the bit
name, a short function description, the I2C map, the register location within the I2C map, and a detailed description of the field.
The detailed description consists of:
•
•
For a readable field, the values the field can take
For a writable field, the values the field can be set to
Example Field Function Description
This section provides an example of a field function table followed by a description of each part of the table.
PRIM_MODE[3:0], IO Map, Address 0x01[3:0].
A control to select the primary mode of operation of the decoder.
Function
PRIM_MODE[3:0]
0000
0001
0010
0011
0100
0101
0110 (default)
0111 to 1111
Description
Reserved
Reserved
Reserved
Reserved
Reserved
HDMI-Comp
HDMI-GR
Reserved
In this example
•
The name of the field is PRIM_MODE and it is four bit long.
•
Address 0x01 is the I2C location of the field in big endian format (MSB first, LSB last).
•
The address is followed by a detailed description of the field.
•
The first column of the table lists values the field can take or can be set to. These values are in binary format if not preceded by 0x or
in hexadecimal format if preceded by 0x.
•
The second column describes the function of each field for each value the field can take or can be set to. Values are in binary format.
REFERENCES
CEA, CEA-861-D, A DTV Profile for Uncompressed High Speed Digital Interfaces, Revision D, July 18, 2006.
Digital Content Protection (DCP) LLC, High-Bandwidth Digital Content Protection System, Revision 1.4, July 8, 2009.
HDMI Licensing and LLC, High-Definition Multimedia Interface, Revision 1.4a, March 4, 2010.
ITU, ITU-R BT.656-4, Interface for Digital Component Video Signals in 525-Line and 625-Line Television Systems Operating
at the 4:2:2 Level of Recommendation ITU-R BT.601, February 1998.
Rev. 0 | Page 6 of 184
Hardware User Guide
UG-438
INTRODUCTION TO THE ADV7610
The ADV7610 is a high quality, single input, high definition multimedia interface (HDMI®) receiver. It incorporates an HDMI receiver
that supports all mandatory HDMI 1.4a 3D TV formats up to 1080 p60@8-bit. It integrates a CEC controller that supports the capability
discovery and control (CDC) feature.
The ADV7610 has an audio output port for the audio data extracted from the HDMI stream. The receiver has an advanced mute
controller that prevents audible extraneous noise in the audio output.
Fabricated in an advanced CMOS process, the ADV7610 is provided in a 6 mm × 6 mm, 76-ball surface-mount chip-scale package BGA,
RoHS-compliant package and is specified over the −40°C to +85°C temperature range.
HDMI RECEIVER
The ADV7610 HDMI receiver incorporates equalization of the HDMI data signals to compensate for the losses inherent in HDMI and
DVI cabling, especially at longer lengths and higher frequencies. The equalizer is highly effective and is capable of equalizing for long
cables to achieve robust receiver performance.
With the inclusion of high-bandwidth digital content protection (HDCP), displays can receive encrypted video content. The HDMI
interface of the ADV7610 allows a video receiver to authenticate, decrypt encoded data and renew that authentication during
transmission, as specified by the HDCP v1.4 protocol.
The ADV7610 offers a flexible audio output port for audio data extraction from the HDMI stream. HDMI audio formats, including super
audio CD (SACD) via direct stream digital (DSD and high bit rate (HBR) are supported by the ADV7610. The HDMI receiver has
advanced audio functionality, such as a mute controller, that prevents audible extraneous noise in the audio output.
COMPONENT PROCESSOR
The component processor (CP) is located behind the HDMI receiver. It processes the video data received from the HDMI receiver. The
CP section provides color adjustment features, such as brightness, saturation, and hue. The color space conversion (CSC) matrix allows
the color space to be changed as required. The standard detection and identification (STDI) block allows the detection of video timings.
MAIN FEATURES OF ADV7610
HDMI Receiver
•
•
•
•
•
•
•
•
•
HDMI 1.4a features supported
• 3D HDMI 1.4a video format support
• Full colorimetry, including sYCC601, Adobe RGB, Adobe YCC601, and xvYCC extended gamut color
• CEC 1.4-compatible
HDCP v1.4-compliant receiver
Supports all display resolutions up to UXGA 60 Hz 8-bit
Supports multichannel audio with sampling frequency up to 192 kHz
Programmable front-end equalization for long cable lengths
Audio mute for removing extraneous noise
Programmable interrupt generator to detect HDMI packets
Internal EDID support
Repeater support
Component Video Processing
•
•
•
•
An any-to-any 3 × 3 CSC matrix support YCrCb to RGB and RGB to YCrCb
Provides color controls, such as saturation, brightness, hue, and contrast
STDI block that enables format detection
Free run output mode provides stable timing when no video input is present
Rev. 0 | Page 7 of 184
UG-438
Hardware User Guide
Video Output Formats
•
•
•
•
•
Double data rate (DDR) 8-/12-bit 4:2:2 YCrCb.
• DDR supported only up to 50 MHz (an equivalent to data rate clocked with 100 MHz clock in SDR mode)
Pseudo DDR (CCIR-656 type stream) 8-/12-bit 4:2:2 YCrCb for 525i, 625i, 525P, and 625P
SDR 16-/24-bit 4:2:2 YCrCb for all standards
SDR 24-bit 4:4:4 YCrCb/RGB for all HDMI standards
DDR 24-bit 4:4:4 RGB
Additional Features
•
•
•
•
HS, VS, FIELD, and DE output signals with programmable position, polarity, and width
Numerous interrupt sources available for the INT1 and INT2 interrupt request output pins, available via one of the selected pins, that
is, SCLK/INT2, MCLK/INT2, or HPA_A/INT2
Temperature range of −40°C to +85°C
6 mm × 6 mm, 76-ball surface-mount chip-scale package BGA
Rev. 0 | Page 8 of 184
Hardware User Guide
UG-438
PIN CONFIGURATION AND FUNCTION DESCRIPTIONS
1
2
3
4
5
6
7
8
9
10
A
HPA_A/
INT2
RXA_5V
DDCA_SCL
PVDD
XTALN
XTALP
INT1
MCLK/
INT2
SCLK/
INT2
DVDD
B
TVDD
TVDD
DDCA_SDA
CEC
CS
RESET
SDA
SCL
LRCLK
DVDD
C
RXA_C+
RXA_C–
I2S3
I2S1
D
RXA_0+
RXA_0–
GND
DVDD
I2S2
I2S0
E
RXA_1+
RXA_1–
GND
DVDD
VS/
FIELD/
ALSB
DE
F
RXA_2+
RXA_2–
GND
DVDDIO
HS
P0
G
CVDD
CVDD
GND
DVDDIO
P1
P2
H
P23
P22
P3
P4
J
P21
P18
P16
P15
P13
P11
P9
P7
P5
DVDDIO
K
P20
P19
P17
LLC
P14
P12
P10
P8
P6
DVDDIO
GND
GND
10884-100
GND
GND
Figure 2. Pin Configuration
Table 4. Pin Function Descriptions
Ball No.
D4, D5, D6, E4,
F4, G4, G5, G6
A1
Mnemonic
GND
Type
Ground
Description
Ground.
HPA_A/INT2
Miscellaneous digital
G1, G2
B1, B2
F7, G7, J10, K10
A10, B10, D7, E7
A4
C2
C1
D2
D1
E2
E1
F2
F1
H1
H2
CVDD
TVDD
DVDDIO
DVDD
PVDD
RXA_C−
RXA_C+
RXA_0−
RXA_0+
RXA_1−
RXA_1+
RXA_2−
RXA_2+
P23
P22
Power
Power
Power
Power
Power
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
Digital video output
Digital video output
A dual function pin that can be configured to output a hot plug assert signal (for
HDMI Port A) or an Interrupt 2 signal.
HDMI Analog Block Supply Voltage (1.8 V).
Terminator Supply Voltage (3.3 V).
Digital I/O Supply Voltage (3.3 V).
Digital Core Supply Voltage (1.8 V).
PLL Supply Voltage (1.8 V).
Digital Input Clock Complement of Port A in the HDMI Interface.
Digital Input Clock True of Port A in the HDMI Interface.
Digital Input Channel 0 Complement of Port A in the HDMI Interface.
Digital Input Channel 0 True of Port A in the HDMI Interface.
Digital Input Channel 1 Complement of Port A in the HDMI Interface.
Digital Input Channel 1 True of Port A in the HDMI Interface.
Digital Input Channel 2 Complement of Port A in the HDMI Interface.
Digital Input Channel 2 True of Port A in the HDMI Interface.
Video Pixel Output Port.
Video Pixel Output Port.
Rev. 0 | Page 9 of 184
UG-438
Hardware User Guide
Ball No.
J1
K1
K2
J2
K3
J3
K4
J4
K5
J5
K6
J6
K7
J7
K8
J8
K9
J9
H10
H9
G10
G9
F10
E10
F9
E9
Mnemonic
P21
P20
P19
P18
P17
P16
LLC
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
DE
HS
VS/FIELD/ALSB
Type
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Miscellaneous digital
Digital video output
Digital input/output
D10, C10,
D9, C9
A9
I2S0 to I2S3
Miscellaneous digital
SCLK/INT2
Miscellaneous digital
B9
A8
LRCLK
MCLK/INT2
Miscellaneous digital
Miscellaneous digital
B8
B7
A7
SCL
SDA
INT1
Miscellaneous digital
Miscellaneous digital
Miscellaneous digital
B6
RESET
Miscellaneous digital
A6
XTALP
A5
XTALN
B4
B5
A3
B3
A2
CEC
CS
DDCA_SCL
DDCA_SDA
RXA_5V
Miscellaneous
analog
Miscellaneous
analog
Digital input/output
Miscellaneous digital
HDMI input
HDMI input
HDMI input
Description
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Line-Locked Output Clock for the Pixel Data (Range = 13.5 MHz to 162.5 MHz).
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Video Pixel Output Port.
Data enable (DE) is a signal that indicates active pixel data.
Horizontal Synchronization Output Signal.
Vertical Synchronization Output Signal. FIELD is a field synchronization output
signal in all interlaced video modes. VS or FIELD can be configured for this pin.
The ALSB allows selection of the I2C address.
Audio Output Pins. Pins can be configured to output S/PDIF digital audio output
(S/PDIF) or I2S.
A dual function pin that can be configured to output an audio serial clock or an
Interrupt 2 signal.
Audio Left/Right Clock.
A dual function pin that can be configured to output an audio master clock or an
Interrupt 2 signal.
I2C Port Serial Clock Input Pin. SCL is the clock line for the control port.
I2C Port Serial Data Input/Output Pin. SDA is the data line for the control port.
Interrupt. This pin can be active low or active high. When status bits change, this
pin is triggered. The events that trigger an interrupt are under user configuration.
System Reset Input. Active low. A minimum low reset pulse width of 5 ms is
required to reset the ADV7610 circuitry.
Input Pin for a 28.63636 MHz Crystal, or an External 1.8 V, 28.63636 MHz Clock
Oscillator Source to Clock the ADV7610.
Crystal Input. Input pin for 28.63636 MHz crystal.
Consumer Electronic Control Channel.
Chip Select. Pulling this line up causes I2C state machine to ignore I2C transmission.
HDCP Slave Serial Clock Port A. DDCA_SCL is a 3.3 V input that is 5 V tolerant.
HDCP Slave Serial Data Port A. DDCA_SDA is a 3.3 V input that is 5 V tolerant.
5 V Detect Pin for Port A in the HDMI Interface.
Rev. 0 | Page 10 of 184
Hardware User Guide
UG-438
GLOBAL CONTROL REGISTERS
The register control bits described in this section deal with the general control of the chip, and the CP and the HDMI receiver sections of
the ADV7610.
ADV7610 REVISION IDENTIFICATION
RD_INFO[15:0], IO, Address 0xEA[7:0]; Address 0xEB[7:0] (Read Only)
Chip revision code.
Function
RD_INFO[15:0]
0x2051 = Final Silicon ADV7610
Description
ADV7610
POWER-DOWN CONTROLS
Primary Power-Down Controls
POWER_DOWN is the main power-down control. It is the main control for power-down Mode 0 and Mode 1. See the Power-Down
Modes section for more details.
POWER_DOWN, IO, Address 0x0C[5]
A control to enable power-down mode. This is the main I2C power-down control.
Function
POWER_DOWN
0
1 (default)
Description
Chip operational
Enables chip power down
Secondary Power-Down Controls
The following controls allow various sections of the ADV7610 to be powered down.
It is possible to stop the clock to the CP to reduce power for a power-sensitive application. The CP_PWRDN bit enables this power-save
mode. The HDMI block is not affected by this power-save mode. This allows the use of limited HDMI, STDI monitoring features while
reducing the power consumption. For full processing of the HDMI input, the CP core needs to be powered up.
CP_PWRDN, IO, Address 0x0C[2]
A power-down control for the CP core.
Function
CP_PWRDN
0 (default)
1
Description
Powers up clock to CP core.
Powers down clock to CP core. HDMI block not affected by this bit.
XTAL_PDN
XTAL_PDN allows the user to power down the XTAL clock in the following sections:
•
•
•
•
STDI blocks
Free run synchronization generation block
I2C sequencer block, which is used for the configuration of the gain, clamp, and offset
CP and HDMI section
The XTAL clock is also provided to the HDCP engine, EDID, and the repeater controller within the HDMI receiver. The XTAL clock
within these sections is not affected by XTAL_PDN.
XTAL_PDN, IO, Address 0x0B[0]
A power-down control for the XTAL in the digital blocks.
Function
XTAL_PDN
0 (default)
1
Description
Powers up XTAL buffer to digital core
Powers down XTAL buffer to digital core
Rev. 0 | Page 11 of 184
UG-438
Hardware User Guide
CORE_PDN
CORE_PDN allows the user to power down clocks, with the exception of the XTAL clock, in the following sections:
•
•
CP block
Digital section of the HDMI block
CORE_PDN, IO, Address 0x0B[1]
A power-down control for the DPP, CP core, and digital sections of the HDMI core.
Function
CORE_PDN
0 (default)
1
Description
Powers up CP and digital sections of HDMI block
Powers down CP and digital section of HDMI block
Power-Down Modes
The ADV7610 supports the following power-down modes:
•
•
Power-Down Mode 0
Power-Down Mode 1
Table 5 shows the power-down and normal modes of ADV7610.
Table 5. Power-Down Modes
POWER_DOWN Bit
0
0
1
1
1
CEC_POWER_UP Bit
0
1
0
1
CEC
Disabled
Enabled
Disabled
Enabled
EDID
Enabled
Enabled
Enabled1
Enabled1
Power-Down Mode
Power-Down Mode 0
Power-Down Mode 1
Normal mode
Normal mode
Dependent on the values of EDID_X_ENABLE_CPU and EDID_X_ENABLE for the HDMI port (where X is A).
Power-Down Mode 0
In Power-Down Mode 0, selected sections and pads are kept active to provide EDID and +5 V antiglitch filter functionality.
In Power-Down Mode 0, the sections of the ADV7610 are disabled except for the following blocks:
•
•
•
I2C slave section.
EDID/repeater controller.
EDID ring oscillator.
The ring oscillator provides a clock to the EDID/repeater controller (refer to the E-EDID/Repeater Controller section) and the +5 V
power supply antiglitch filter. The clock output from the ring oscillator runs at approximately 50 MHz.
The following pads only are enabled in Power-Down Mode 0:
•
•
•
•
I2C pads
• SDA
• SCL
+5 V pads
• RXA_5V
• HPA_A
DDC pads
• DDCA_SCL
• DDCA_SDA
Reset pad RESET
Power-Down Mode 0 is initiated through a software (I2C register) configuration.
Rev. 0 | Page 12 of 184
Hardware User Guide
UG-438
Entering Power-Down Mode 0 via Software
The ADV7610 can be put into Power-Down Mode 0 by setting POWER_DOWN to 1 (default value) and CEC_POWER_UP to 0. This
method allows an external processor to put the system in which the ADV7610 is integrated into standby mode. In this case, the CP and
HDMI cores of the ADV7610 are kept powered up from the main power (for example, ac power) and set in or out of power-down Mode 0
through the POWER_DOWN bit.
Power-Down Mode 1
Power-Down Mode 1 is enabled when the following conditions are met:
•
•
POWER_DOWN bit is set to 1
CEC section is enabled by setting CEC_POWER_UP to 1
Power-Down Mode 1 provides the same functionality as Power-Down Mode 0, with the addition of the following sections:
•
•
•
XTAL clock
CEC section
Interrupt controller section
The following pads are enabled in Power-Down Mode 1:
•
•
•
Same pads as enabled in Power-Down Mode 0
CEC pad
INT1 and INT2 interrupt pads
The internal EDID is also accessible through the DDC bus for Port A in Power-Down Mode 0 and Power-Down Mode 1.
GLOBAL PIN CONTROL
Reset Pin
The ADV7610 can be reset by a low reset pulse on the reset pin with a minimum width of 5 ms. It is recommended to wait 5 ms after the
low pulse before an I2C write is performed to the ADV7610.
Reset Controls
MAIN_RESET, IO, Address 0xFF[7] (Self-Clearing)
Main reset where I2C registers are reset to their default values.
Function
MAIN_RESET
0 (default)
1
Description
Normal operation
Applies main I2C reset
Tristate Output Drivers
PADS_PDN, IO, Address 0x0C[0]
A power-down control for pads of the digital output s. When enabled, the pads are tristated and the input path is disabled. This control
applies to the DE, HS, VS/FIELD/ALSB, INT1, and LLC pads and to the P0 to P23 pixel pads.
Function
PADS_PDN
0 (default)
1
Description
Powers up pads of digital output pins
Powers down pads of digital output pins
DDC_PWRDN[7:0], Addr 68 (HDMI), Address 0x73[7:0]
A power-down control for DDC pads.
Function
DDC_PWRDN[7:0]
0 (default)
1
Description
Powers up DDC pads
Powers down DDC pads
Rev. 0 | Page 13 of 184
UG-438
Hardware User Guide
TRI_PIX
This bit allows the user to tristate the output driver of pixel outputs. Upon setting TRI_PIX, the pixel output P[23:0] is tristated.
TRI_PIX, IO, Address 0x15[1]
A control to tristate the pixel data on the pixel pins, P[23:0].
Function
TRI_PIX
0
1 (default)
Description
Pixel bus active
Tristates pixel bus
Tristate LLC Driver
TRI_LLC, IO, Address 0x15[2]
A control to tristate the output pixel clock on the LLC pin.
Function
TRI_LLC
0
1 (default)
Description
LLC pin active
Tristates LLC pin
Tristate Synchronization Output Drivers
The following output synchronization signals are tristated when TRI_SYNCS is set:
•
•
•
VS/FIELD/ALSB
HS
DE
The drive strength controls for these signals are provided via the DR_STR_SYNC bits. The ADV7610 does not support tristating via a
dedicated pin.
TRI_SYNCS, IO, Address 0x15[3]
Synchronization output pins tristate control. The synchronization pins under this control are HS, VS/FIELD/ALSB, and DE.
Function
TRI_SYNCS
0
1 (default)
Description
Sync output pins active
Tristates sync output pins
Tristate Audio Output Drivers
TRI_AUDIO, IO Map, Address 0x15[4]
TRI_AUDIO allows the user to tristate the drivers of the following audio output signals:
•
•
•
•
AP
SCLK/INT2
LRCLK
MCLK/INT2
The drive strength for the output pins can be controlled by the DR_STR[1:0] bits. The ADV7610 does not support tristating via a
dedicated pin.
TRI_AUDIO, IO, Address 0x15[4]
A control to tristate the audio output interface pins (AP).
Function
TRI_AUDIO
0
1 (default)
Description
Audio output pins active
Tristates audio output pins
Rev. 0 | Page 14 of 184
Hardware User Guide
UG-438
Drive Strength Selection
DR_STR
It may be desirable to strengthen or weaken the drive strength of the output drivers for electromagnetic compatibility (EMC)
and crosstalk reasons. This section describes the controls to adjust the output drivers used by the CP and HDMI modes.
The drive strength DR_STR_SYNC[1:0] bits allow the user to select the strength of the following synchronization signals:
•
•
•
DE
HS
VS/FIELD
The DR_STR[1:0] drive strength bits affect output drivers for the following output pins:
• P[23:0]
• AP
• SCLK
• SDA
• SCL
The drive strength DR_STR_CLK[1:0] bits affect output driver for LLC line.
DR_STR[1:0], IO, Address 0x14[5:4]
A control to set the drive strength of the data output drivers.
Function
DR_STR[1:0]
00
01
10 (default)
11
Description
Reserved
Medium low (2×)
Medium high (3×)
High (4×)
DR_STR_CLK[1:0], IO, Address 0x14[3:2]
A control to set the drive strength control for the output pixel clock out signal on the LLC pin.
Function
DR_STR_CLK[1:0]
00
01
10 (default)
11
Description
Reserved
Medium low (2×) for LLC up to 60 MHz
Medium high (3×) for LLC from 44 MHz to 105 MHz
High (4×) for LLC greater than 100 MHz
DR_STR_SYNC[1:0], IO, Address 0x14[1:0]
A control to set the drive strength of the synchronization pins, HS, VS/FIELD/ALSB, and DE.
Function
DR_STR_SYNC[1:0]
00
01
10 (default)
11
Description
Reserved
Medium low (2×)
Medium high (3×)
High (4×)
Output Synchronization Selection
VS_OUT_SEL, IO, Address 0x06[7]
A control to select the VSync or FIELD signal to be output on the VS/FIELD/ALSB pin.
Function
VS_OUT_SEL
0
1 (default)
Description
Selects FIELD output on VS/FIELD/ALSB pin
Selects VSync output on VS/FIELD/ALSB pin
Rev. 0 | Page 15 of 184
UG-438
Hardware User Guide
F_OUT_SEL, IO, Address 0x05[4]
A control to select the DE or FIELD signal to be output on the DE pin.
Function
F_OUT_SEL
0 (default)
1
Description
Selects DE output on DE pin
Selects FIELD output on DE pin
Output Synchronization Signals Polarity
INV_LLC_POL, IO Map, Address 0x06, [0]
The polarity of the pixel clock provided by the ADV7610 via the LLC pin can be inverted using the INV_LLC_POL bit. Note that this
inversion affects only the LLC output pin. The other output pins are not affected by INV_LLC_POL.
Changing the polarity of the LLC clock output may be necessary in order to meet the setup and hold time expectations of the downstream
devices processing the output data of the ADV7610. It is expected that these parameters must be matched regardless of the type of video
data that is transmitted. Therefore, INV_LLC_POL is designed to be mode independent.
INV_LLC_POL, IO, Address 0x06[0]
A control to select the polarity of the LLC.
Function
INV_LLC_POL
0 (default)
1
Description
Does not invert LLC
Inverts LLC
The output synchronization signals HS, VS/FIELD/ALSB, and DE can be inverted using the following control bits:
•
•
•
INV_HS_POL
INV_VS_POL
INV_F_POL
INV_HS_POL, IO, Address 0x06[1]
A control to select the polarity of the HS signal.
Function
INV_HS_POL
0 (default)
1
Description
Negative polarity HS
Positive polarity HS
INV_VS_POL, IO, Address 0x06[2]
A control to select the polarity of the VS/FIELD/ALSB signal.
Function
INV_VS_POL
0 (default)
1
Description
Negative polarity VS/FIELD/ALSB
Positive polarity VS/FIELD/ALSB
INV_F_POL, IO, Address 0x06[3]
A control to select the polarity of the DE signal.
Function
INV_F_POL
0 (default)
1
Description
Negative FIELD/DE polarity
Positive FIELD/DE polarity
Rev. 0 | Page 16 of 184
Hardware User Guide
UG-438
Digital Synthesizer Controls
The ADV7610 features two digital encoder synthesizers that generate the following clocks:
•
•
Video DPLL: this clock synthesizer generates the pixel clock. It undoes the effect of deep color and pixel repetition that are inherent
to HDMI streams. The output of the LLC pin is either this pixel clock or a divided down version, depending on the datapath
configuration. It takes less than one video frame for this synthesizer to lock.
Audio DPLL: this clock synthesizer generates the audio clock. As per HDMI specifications, the incoming HDMI clock is divided
down by CTS and then multiplied up by N. This audio clock is used as the main clock in the audio stream section. The output of
MCLK represents this clock. It takes less than 5 ms after a valid ACR packet for this synthesizer to lock.
Crystal Frequency Selection
The ADV7610 supports 27.0, 28.63636, 24.576, and 24.0 MHz frequency crystals. The control described here allows selection of crystal
frequency.
XTAL_FREQ_SEL[1:0], IO, Address 0x04[2:1]
A control to set the XTAL frequency.
Function
XTAL_FREQ_SEL[1:0]
00
01 (default)
10
11
Description
27 MHz
28.63636 MHz
24.576 MHz
24.0 MHz
Rev. 0 | Page 17 of 184
UG-438
Hardware User Guide
PRIMARY MODE AND VIDEO STANDARD
Setting the primary mode and choosing a video standard are the most fundamental settings when configuring the ADV7610. There
are two primary modes for the ADV7610: HDMI-component and HDMI-graphic modes. The appropriate mode should be set with
PRIM_MODE[3:0].
In HDMI modes, the ADV7610 can receive and decode HDMI or DVI data throughout the DVI/HDMI receiver front end. Video data
from the HDMI receiver is routed to the CP block while audio data is available on the audio interface. One of these modes is enabled by
selecting either the HDMI-component or the HDMI-graphics primary mode.
Note: The HDMI receiver decodes and processes any applied HDMI stream irrespective of the video resolution. However, many primary
mode and video standard combinations can be used to define how the decoded video data routed to the DPP and CP blocks is processed.
This allows for free run features and data decimation modes that some systems may require.
If free run and decimation are not required, it is recommended to set the following configuration for HDMI mode:
•
•
PRIM_MODE[3:0]: 0x06
VID_STD[5:0]: 0x02
PRIMARY MODE AND VIDEO STANDARD CONTROLS
PRIM_MODE[3:0], IO, Address 0x01[3:0]
A control to select the primary mode of operation of the decoder. Setting the appropriate HDMI mode is important for free run mode to
work properly. This control is used with VID_STD[5:0].
Function
PRIM_MODE[3:0]
0000
0001
0010
0011
0100
0101
0110 (default)
0111 to 1111
Description
Reserved
Reserved
Reserved
Reserved
Reserved
HDMI component
HDMI graphics
Reserved
VID_STD[5:0], IO, Address 0x00[5:0]
Sets the input video standard mode. Configuration is dependent on PRIM_MODE[3:0]. Setting the appropriate mode is important for
free run mode to work properly.
Function
VID_STD[5:0]
000010
Description
Default value
PRIM_MODE[3:0] should be used with VID_STD[5:0] to select the required video mode. These controls are set according to Table 6.
Table 6. Primary Mode and Video Standard Selection
Code
0000
0001
0010
0100
0011
PRIM_MODE[3:0]
Description
Reserved
Reserved
Reserved
Reserved
Reserved
Processor
Code
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
VID_STD[5:0]
Input Video
Output Resolution
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Rev. 0 | Page 18 of 184
Comment
Hardware User Guide
Code
0101
PRIM_MODE[3:0]
Description
HDMI-COMP
(Component video)
UG-438
Processor
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
0110
HDMI-GR
(Graphics)
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
CP
0111
1000
1001
Reserved
Reserved
Reserved
Code
000000
000001
000010
000011
000100
000101
000110
000111
001000
001001
001010
001011
001100
001101
001110
001111
010000
010001
010010
010011
010100
010101
010110
010111
011000
011001
011010
011011
011100
011101
011110
011111
000000
000001
000010
000011
000100
000101
000110
000111
001000
001001
001010
001011
001100
001101
001110
001111
01xxxx
xxxxxx
xxxxxx
xxxxxx
VID_STD[5:0]
Input Video
Output Resolution
SD 1×1 525i
720 × 480
SD 1×1 625i
720 × 576
SD 2×1 525i
720 × 480
SD 2×1 625i
720 × 576
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
PR 1×1 525p
720 × 480
PR 1×1 625p
720 × 576
PR 2×1 525p
720 × 480
PR 2×1 625p
720 × 576
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
HD 1×1
1280 × 720
HD 1×1
1920 × 1080
HD 1×1
1920 × 1035
HD 1×1
1920 × 1080
HD 1×1
1920 × 1152
Reserved
Reserved
HD 2×1 720p 1280 × 720
HD 2×1 1125
1920 × 1080
HD 2×1 1125
1920 × 1035
HD 2×1 1250
1920 × 1080
HD 2×1 1250
1920 × 1152
HD 1×1
1920 × 1080
HD 1×1
1920 × 1080
SVGA
800 × 600 @ 56
SVGA
800 × 600 @ 60
SVGA
800 × 600 @ 72
SVGA
800 × 600 @ 75
SVGA
800 × 600 @ 85
SXGA
1280 × 1024 @ 60
SXGA
1280 × 1024 @ 75
Reserved
Reserved
VGA
640 × 480 @ 60
VGA
640 × 480 @ 72
VGA
640 × 480 @ 75
VGA
640 × 480 @ 85
XGA
1024 × 768 @ 60
XGA
1024 × 768 @ 70
XGA
1024 × 768 @ 75
XGA
1024 × 768 @ 85
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Rev. 0 | Page 19 of 184
Comment
HDMI receiver support
HDMI receiver support
UG-438
Code
1010
1011
1100
1101
1110
1111
PRIM_MODE[3:0]
Description
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Hardware User Guide
Processor
Code
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
VID_STD[5:0]
Input Video
Output Resolution
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Comment
V_FREQ
This control is set to allow free run to work correctly (refer to Table 7).
V_FREQ[2:0], IO, Address 0x01[6:4]
A control to set vertical frequency.
Function
V_FREQ[2:0]
000 (default)
001
010
011
100
101
110
111
Description
60 Hz
50 Hz
30 Hz
25 Hz
24 Hz
Reserved
Reserved
Reserved
HDMI DECIMATION MODES
Some of the modes defined by VID_STD have an inherent 2×1 decimation. For these modes, the main clock generator and the decimation filters in the DPP block are configured automatically. This ensures the correct data rate at the input to the CP block. Refer to the
Data Preprocessor and Color Space Conversion and Color Controls section for more information on the automatic configuration of the
DPP block.
The ADV7610 correctly decodes and processes any incoming HDMI stream with the required decimation, irrespective of its video
resolution:
•
•
In 1×1 mode (that is, without decimation), as long the PRIM_MODE and VID_STD registers are programmed for any HDMI mode
without decimation.
For example:
• Set PRIM_MODE to 0x5 and VID_STD to 0x00
• Set PRIM_MODE to 0x5 and VID_STD to 0x13
• Set PRIM_MODE to 0x6 and VID_STD to 0x02
In 2×1 decimation mode, as long the PRIM_MODE and VID_STD registers are programmed for any HDMI mode with 2×1
decimation. For example:
• Set PRIM_MODE to 0x5 and VID_STD to 0x0C
• Set PRIM_MODE to 0x5 and VID_STD to 0x19
Note: Decimating the video data from an HDMI stream is optional and should be performed only if it is required by the downstream
devices connected to the ADV7610.
PRIMARY MODE AND VIDEO STANDARD CONFIGURATION FOR HDMI FREE RUN
If free run is enabled in HDMI mode, PRIM_MODE[3:0] and VID_STD[5:0] specify the input resolution expected by the ADV7610 (for
free run Mode 1) and/or the output resolution to which the ADV7610 free runs (for free run Mode 0 and Mode 1). Refer to the Free Run
Mode section for additional details on the free run feature for HDMI inputs and to HDMI_FRUN_MODE.
Rev. 0 | Page 20 of 184
Hardware User Guide
UG-438
RECOMMENDED SETTINGS FOR HDMI INPUTS
This section provides the recommended settings for an HDMI input encapsulating a video resolution corresponding to a selection Video
ID Code described in the 861 specification.
Table 7 provides the recommended settings for the following registers:
•
•
•
•
•
PRIM_MODE
VID_STD
V_FREQ (V_FREQ should be set to 0x0 if not specified in Table 7.)
INV_HS_POL = 1 (INV_HS_POL should be set to 1 if not specified in Table 7.)
INV_VS_POL = 1 (INV_VS_POL should be set to 1 if not specified in Table 7.)
Table 7. Recommended Settings for HDMI Inputs
Recommended Settings
if Free Run Used and
DIS_AUTO_PARAM_BUFF = 0
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
Video ID Codes
(861 Specification)
2, 3
Formats
720 × 480p @ 60 Hz
Pixel
Repetition
0
4
1280 × 720p @ 60 Hz
0
5
1920 × 1080i @ 60 Hz
0
6, 7
720 (1440) × 480i @ 60 Hz
1
10, 11
2880 × 480i @ 60 Hz
3
14, 15
1440 × 480p @ 60 Hz
1
16
1920 × 1080p @ 60 Hz
0
17, 18
720 × 576p @ 60 Hz
0
19
1280 × 720p @ 50 Hz
0
20
1920 × 1080i @ 50 Hz
0
PRIM_MODE = 0x6
VID_STD = 0x2
21, 22
720 (1440) ×576i @ 60 Hz
1
25, 26
2880 × 480i @ 60 Hz
3
29, 30
144 0× 576p @ 60 Hz
1
31
1920 × 1080p @ 50 Hz
0
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
32
1920 × 1080p @ 24 Hz
0
PRIM_MODE = 0x6
VID_STD = 0x2
33
1920 × 1080p @ 25 Hz
0
PRIM_MODE = 0x6
VID_STD = 0x2
35, 36
2880 × 480p @ 60 Hz
3
37, 38
2880 × 576p @ 60 Hz
3
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x2
Rev. 0 | Page 21 of 184
Recommended Settings
if Free Run Not Used
or Free Run Used and
DIS_AUTO_PARAM_BUFF = 1
PRIM_MODE = 0x5
VID_STD = 0xA
PRIM_MODE = 0x5
VID_STD = 0x13
PRIM_MODE = 0x5
VID_STD = 0x14
PRIM_MODE = 0x5
VID_STD = 0x0
PRIM_MODE = 0x5
VID_STD = 0x0
PRIM_MODE=0x5
VID_STD = 0xA
PRIM_MODE = 0x5
VID_STD = 0x1E
PRIM_MODE = 0x5
VID_STD = 0xB
PRIM_MODE = 0x5
VID_STD = 0xA3
V_FREQ = 0x1
PRIM_MODE = 0x5
VID_STD = 0x14
V_FREQ = 0x1
PRIM_MODE = 0x5
VID_STD = 0x1
PRIM_MODE=0x5
VID_STD = 0x1
PRIM_MODE = 0x5
VID_STD = 0xA
PRIM_MODE = 0x5
VID_STD = 0x1E
V_FREQ = 0x1
PRIM_MODE = 0x5
VID_STD = 0x1E
V_FREQ = 0x4
PRIM_MODE = 0x5
VID_STD = 0x1E
V_FREQ = 0x3
PRIM_MODE = 0x5
VID_STD = 0xA
PRIM_MODE = 0x5
VID_STD = 0xA
UG-438
Hardware User Guide
Video ID Codes
(861 Specification)
Not applicable
Formats
SVGA 800 × 600p @ 56
Pixel
Repetition
0
Not applicable
SVGA 800 × 600p @ 60
0
Not applicable
SVGA 800 × 600p @ 72
0
Not applicable
SVGA 800 × 600p @ 75
0
Not applicable
SVGA 800 × 600p @ 85
0
Not applicable
SXGA 1280 × 1024p @ 60
0
Not applicable
SXGA 1280 × 1024p @ 75
0
Not applicable
VGA 640 × 480p @ 60
0
Not applicable
VGA 640 × 480p @ 72
0
Not applicable
VGA 640 × 480p @ 75
0
Not applicable
VGA 640 × 480p @ 85
0
Not applicable
VGA 1024 × 768p @ 60
0
Not applicable
VGA 1024 × 768p @ 70
0
Not applicable
VGA 1024 × 768p @ 75
0
Not applicable
VGA 1024 × 768p @ 85
0
Recommended Settings
if Free Run Used and
DIS_AUTO_PARAM_BUFF = 0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x0
Rev. 0 | Page 22 of 184
Recommended Settings
if Free Run Not Used
or Free Run Used and
DIS_AUTO_PARAM_BUFF = 1
PRIM_MODE = 0x6
VID_STD = 0x0
PRIM_MODE = 0x6
VID_STD = 0x1
PRIM_MODE = 0x6
VID_STD = 0x2
PRIM_MODE = 0x6
VID_STD = 0x3
PRIM_MODE = 0x6
VID_STD = 0x04
PRIM_MODE = 0x6
VID_STD = 0x05
PRIM_MODE = 0x6
VID_STD = 0x06
PRIM_MODE = 0x6
VID_STD = 0x08
PRIM_MODE = 0x6
VID_STD = 0x09
PRIM_MODE = 0x6
VID_STD = 0x0A
PRIM_MODE = 0x6
VID_STD = 0x0B
PRIM_MODE = 0x6
VID_STD = 0x0C
PRIM_MODE = 0x6
VID_STD = 0x0D
PRIM_MODE = 0x6
VID_STD = 0x0E
PRIM_MODE = 0x6
VID_STD = 0x0F
Hardware User Guide
UG-438
PIXEL PORT CONFIGURATION
The ADV7610 has a very flexible pixel port, which can be configured in a variety of formats to accommodate downstream ICs. The
ADV7610 can provide output modes up to 24 bits.
This section details the controls required to configure the ADV7610 pixel port. Appendix C contains tables describing pixel port
configurations.
PIXEL PORT OUTPUT MODES
OP_FORMAT_SEL[7:0], IO, Address 0x03[7:0]
A control to select the data format and pixel bus configuration. Refer to the pixel port configuration for full information on pixel port
modes and configuration settings.
Function
OP_FORMAT_SEL[7:0]
0x00 (default) 1
0x0A1
0x20
0x2A
0x40
0x60
0x80
0x8A
1
Description
8-bit SDR ITU-656 mode
12-bit SDR ITU Mode 2
8-bit 4:2:2 DDR mode
12-bit DDR 4:2:2 Mode 2
24-bit 4:4:4 SDR mode
24-bit 4:4:4 DDR mode
16-bit ITU-656 SDR mode
24-bit ITU-656 SDR Mode 2
Refer to the DLL settings for 656, 8-/10-/12-bit modes in the DLL on LLC Clock Path section.
Bus Rotation and Reordering Controls
Bus reordering controls are available for ADV7610. OP_CH_SEL[2:0] allows the three output buses to be rearranged, thus providing six
different output possibilities.
OP_CH_SEL[2:0], IO, Address 0x04[7:5]
A control to select the configuration of the pixel data bus on the pixel pins. Refer to the pixel port configuration for full information on
pixel port modes and configuration settings.
Function
OP_CH_SEL[2:0]
000
001
010
011 (default)
100
101
110
111
Description
P[23:16] Y/G, P[15:8] U/CrCb/B, P[7:0] V/R
P[23:16] Y/G, P[15:8] V/R, P[7:0] U/CrCb/B
P[23:16] U/CrCb/B, P[15:8] Y/G, P[7:0] V/R
P[23:16] V/R, P[15:8] Y/G, P[7:0] U/CrCb/B
P[23:16] U/CrCb/B, P[15:8] V/R, P[7:0]Y/G
P[23:16] V/R, P[15:8] U/CrCb/B, P[7:0] Y/G
Reserved
Reserved
Pixel Data and Synchronization Signals Control
The polarity of the LLC and synchronization signals can be inverted, and the LLC, the synchronization signals, and the pixel data output
can be tristated. Refer to the information on the following controls:
•
•
•
•
•
•
INV_F_POL
INV_VS_POL
INV_HS_POL
TRI_PIX
TRI_LLC
TRI_SYNCS
Rev. 0 | Page 23 of 184
UG-438
Hardware User Guide
OP_SWAP_CB_CR, IO, Address 0x05[0]
A control for the swapping of Cr and Cb data on the pixel buses.
Function
OP_SWAP_CB_CR
0 (default)
1
Description
Outputs Cr and Cb as per OP_FORMAT_SEL
Inverts the order of Cb and Cr in the interleaved data stream
OP_SWAP_CB_CR swaps the order in which Cb and Cr are interleaved in the output data stream. It caters for cases in which the data on
Channels B and C are swapped. It is effective only if OP_FORMAT_SEL[7:0] is set to a 4:2:2 compatible output mode.
Note: It has no effect for 24-bit SDR modes and DDR modes.
LLC CONTROLS
The ADV7610 has a limited number of adjustment features available for the line locked clock (LLC) output. The polarity of the LLC can
be inverted and the LLC of the output driver can be tristated. Controls also exist to skew the LLC versus the output data to achieve
suitable setup and hold times for any back end device.
The LLC controls are as follows:
• INV_LLC_POL
• TRI_LLC
• LLC_DLL_EN
• LLC_DLL_MUX
• LLC_DLL_PHASE[4:0]
DLL ON LLC CLOCK PATH
A delay locked loop (DLL) block is implemented on the LLC clock path. This DLL allows the changing of the phase of the output pixel
clock on the LLC pin.
LLC_DLL_DOUBLE, IO, Address 0x19[6]
A control to double LLC frequency.
Function
LLC_DLL_DOUBLE
0 (default)
1
Description
Normal LLC frequency
Double LLC frequency
Adjusting DLL Phase in All Modes
LLC_DLL_EN, IO, Address 0x19[7]
A control to enable the DLL for the output pixel clock.
Function
LLC_DLL_EN
1
0 (default)
Description
Enables LLC DLL
Disables LLC DLL
LLC_DLL_MUX, IO, Address 0x33[6]
A control to apply the pixel clock DLL to the pixel clock output on the LLC pin.
Function
LLC_DLL_MUX
0 (default)
1
Description
Bypasses the DLL
Muxes the DLL output on LLC output
Rev. 0 | Page 24 of 184
Hardware User Guide
UG-438
LLC_DLL_PHASE[4:0], IO, Address 0x19[4:0]
A control to adjust LLC DLL phase in increments of 1/32 of a clock period.
Function
LLC_DLL_PHASE[4:0]
00000 (default)
xxxxx
Description
Default
Sets one of 32 phases of DLL to vary LLC CLK
DLL Settings for 656, 8-/10-/12-Bit Modes
The following table shows the settings that must be used to enable 8-/10-/12-bit, 656 output.
Address
IO Map Address 0x19[7]
IO Map Address 0x33[6]
IO Map Address 0x19[6]
Setting
1
1
1
Description
Enables LLC DLL
Muxes the DLL output on LLC output
Doubles the clock
Rev. 0 | Page 25 of 184
UG-438
Hardware User Guide
HDMI RECEIVER
HPA_A/INT2
RXA_5V
5V DETECT
AND HPA
CONTROLLER
TO INTERRUPT
CONTROLLER
DEEP COLOR
CONVERSION
CEC
CONTROLLER
DATA
DDCA_SDA/DDCA_SCL
TO DPP
HS
EDID/
REPEATER
CONTROLLER
4:2:2 TO 4:4:4
CONVERSION
TO DPP
VS
TO DPP
RXA_C±
RXA_0±
RXA_1±
RXA_2±
PLL
EQUALIZER
HDCP
BLOCK
SAMPLER
TO DPP
FILTER
PACKET/
INFOFRAME
MEMORY
PACKET
PROCESSOR
AUDIO
PROCESSOR
AUDIO OUTPUT FORMATTER
HDCP
EEPROM
HDMI DECODE + PORT MEASUREMENT
DE
I2S0 TO I2S3
SCLK/INT2
MCLK/INT2
10884-004
CEC
Figure 3. Functional Block Diagram of HDMI Core
+5 V CABLE DETECT
The HDMI receiver in the ADV7610 can monitor the level on the +5 V power signal pin of the HDMI port. The results of this detection
can be read back from the following I2C registers. These readbacks are valid even when the part is not configured for HDMI mode.
CABLE_DET_A_RAW, IO, Address 0x6F[0] (Read Only)
Raw status of Port A +5 V cable detection signal.
Function
CABLE_DET_A_RAW
0 (default)
1
Description
No cable detected on Port A
Cable detected on Port A (high level on RXA_5V)
The ADV7610 provides a digital glitch filter on the +5 V power signals from the HDMI port. The output of this filter is used to reset the
HDMI block (refer to the HDMI Section Reset Strategy section).
The +5 V power signal must be constantly high for the duration of the timer (controlled by FILT_5V_DET_TIMER[6:0]), otherwise the
output of the filter is low. The output of the filter returns low as soon as any change in the +5 V power signal is detected.
FILT_5V_DET_DIS, Addr 68 (HDMI), Address 0x56[7]
This control is used to disable the digital glitch filter on the HDMI 5 V detect signals. The filtered signals are used as interrupt flags and
used to reset the HDMI section. The filter works from an internal ring oscillator clock and, therefore, is available in power-down mode.
The clock frequency of the ring oscillator is 42 MHz ± 10%.
Function
FILT_5V_DET_DIS
0 (default)
1
Description
Enabled
Disabled
Note: If the +5 V pins are not used and are left unconnected, the +5 V detect circuitry must be disconnected from the HDMI reset signal
by setting DIS_CABLE_DET_RST to 1. This avoids holding the HDMI section in reset.
Rev. 0 | Page 26 of 184
Hardware User Guide
UG-438
FILT_5V_DET_TIMER[6:0], Addr 68 (HDMI), Address 0x56[6:0]
This control is used to set the timer for the digital glitch filter on the HDMI +5 V detect inputs. The unit of this parameter is two clock
cycles of the ring oscillator (~ 47 ns). The input must be constantly high for the duration of the timer; otherwise, the filter output remains
low. The output of the filter returns low as soon as any change in the +5 V power signal is detected.
Function
FILT_5V_DET_TIMER[6:0]
1011000 (default)
xxxxxxx
Description
Approximately 4.2 µs
Time duration of +5 V deglitch filter. Unit of this parameter is 2 clock cycles of the ring oscillator (~47 ns).
DIS_CABLE_DET_RST, Addr 68 (HDMI), Address 0x48[6]
This control disables the reset effects of cable detection. DIS_CABLE_DET_RST must be set to 1 if the +5 V pins are unused and left
unconnected.
Function
DIS_CABLE_DET_RST
0 (default)
1
Description
Resets HDMI section if 5 V input pin corresponding to selected HDMI port (for example, RXA_5V for Port A)
is inactive
Does not use 5 V input pins as reset signal for HDMI section
HOT PLUG ASSERT
The ADV7610 features hot plug assert (HPA) control for its HDMI port. The purpose of the control and its corresponding output pin is
to communicate to an HDMI transmitter that it is possible to access the enhanced-extended display identification (E-EDID) connected to
the DDC bus.
HPA_MANUAL, Addr 68 (HDMI), Address 0x6C[0]
Manual control enable for the HPA output pins. Automatic control of these pins is disabled by setting this bit. Manual control is
determined by the HPA_MAN_VALUE_X (where X = A).
Function
HPA_MANUAL
0 (default)
1
Description
HPA takes its value based on HPA_AUTO_INT_EDID
HPA takes its value from HPA_MAN_VALUE_X
HPA_MAN_VALUE_A, IO, Address 0x20[7]
A manual control for the value of HPA on Port A. Valid only if HPA_MANUAL is set to 1.
Function
HPA_MAN_VALUE_A
0
1 (default)
Description
0 V applied to HPA_A pin
High level applied to HPA_A pin
Note: The HPA_A pin is open drain. An external pull-up resistor is required to pull it high.
Rev. 0 | Page 27 of 184
UG-438
Hardware User Guide
HPA_AUTO_INT_EDID[1:0], Addr 68 (HDMI), Address 0x6C[2:1]
This control selects the type of automatic control on the HPA output pins. This bit has no effect when HPA_MANUAL is set to 1.
Function
HPA_AUTO_INT_EDID[1:0]
00
01 (default)
10
11
Description
HPA of an HDMI port asserted high immediately after internal EDID activated for that port. HPA of a specific
HDMI port deasserted low immediately after internal E-EDID is de-activated for that port.
HPA of an HDMI port asserted high following a programmable delay after part detects an HDMI cable plug
on that port. HPA of an HDMI port immediately deasserted after part detects a cable disconnect on that
HDMI port.
HPA of an HDMI port asserted high after two conditions met.
1. Internal EDID is active for that port.
2. Delayed version of cable detect signal CABLE_DET_X_RAW for that port is high.
HPA of an HDMI port immediately deasserted after either of these two conditions are met:
1. Internal EDID is de-activated for that port.
2. Cable detect signal CABLE_DET_X_RAW for that port is low.
HPA of an HDMI port is asserted high after three conditions met:
1. Internal EDID is active for that port.
2. Delayed version of cable detect signal CABLE_DET_X_RAW for that port is high.
3. User has set manual HPA control for that port to 1 via HPA_MAN_VALUE_X controls.
HPA of an HDMI port immediately deasserted after any of these three conditions met:
1. Internal EDID de-activated for that port.
2. Cable detect signal CABLE_DET_X_RAW for that port is low.
3. User sets the manual HPD control for that port to 0 via HPA_MAN_VALUE_X controls
Note: The delay is programmable via HPA_DELAY_SEL[3:0]. Refer to EDID_ENABLE for details on enabling the internal E-EDID for an
HDMI port. In HPA_MAN_VALUE_X and CABLE_DET_X_RAW, X refers to A.
HPA_DELAY_SEL[3:0], Addr 68 (HDMI), Address 0x6C[7:4]
Sets a delay between +5 V detection and hot plug assertion on the HPA output pins, in increments of 100 ms per bit.
Function
HPA_DELAY_SEL[3:0]
0000
0001
0010
1010 (default)
1111
Description
No delay
100 ms delay
200 ms delay
1 sec delay
1.5 sec delay
HPA_TRISTATE_A, IO, Address 0x20[3]
Tristates HPA output pin for Port A.
Function
HPA_TRISTATE_A
0 (default)
1
Description
HPA_A pin active
Tristates HPA_A pin
HPA_STATUS_PORT_A, IO, Address 0x21[3] (Read Only)
Readback of HPA status for Port A.
Function
HPA_STATUS_PORT_A
0 (default)
1
Description
+5 V not applied to HPA_A pin by chip
+5 V applied to HPA_A pin by chip
Rev. 0 | Page 28 of 184
Hardware User Guide
UG-438
HPA_OVR_TERM, Addr 68 (HDMI), Address 0x6C[3]
A control to set the termination control to be overridden by the HPA setting. When this bit is set, termination on a specific port is set
according to the HPA status of that port.
Function
HPA_OVR_TERM
0 (default)
1
Description
Automatic or manual I2C control of port termination
Termination controls disabled and overridden by HPA controls
E-EDID/REPEATER CONTROLLER
The HDMI section incorporates an E-EDID/repeater controller, which performs the following tasks:
•
•
Computes the E-EDID checksum
Performs the repeater routines described in the Repeater Support section
The E-EDID/repeater controller is powered from the DVDD supply and clocked by an internal ring oscillator. The controller and the
internal DDC bus arbiter are kept active in power-down Mode 0 and power-down Mode 1. This allows the internal E-EDID to be
functional and accessible through the DDC port, even when the part is powered down (refer to the Power-Down Modes section).
These HDMI transmitters can then read the capabilities of the powered-down application integrating the ADV7610 by accessing its
internal E-EDID through the DDC ports.
The E-EDID/repeater controller is reset when the DVDD supplies go low or when HDCP_REPT_EDID_RESET is set high. When the
E-EDID/repeater controller reboots, it performs the following tasks:
•
•
Clears the internal E-EDID and Key Selection Vector (KSV) RAM (refer to E-EDID Data Configuration section and the Internal
HDCP Key OTP ROM section )
Computes a checksum for port
HDCP_REPT_EDID_RESET, Addr 68 (HDMI), Address 0x5A[3] (Self-Clearing)
A reset control for the E-EDID/repeater controller. When asserted, it resets the E-EDID/repeater controller.
Function
HDCP_REPT_EDID_RESET
0 (default)
1
Description
Normal operation
Resets the E-EDID/repeater controller
E-EDID DATA CONFIGURATION
The ADV7610 features a RAM that can store an E-EDID. This internal E-EDID feature can be used for the HDMI port. It is also possible
to use an external device storage for the E-EDID data.
The following controls are provided to enable the internal E-EDID for each of the four HDMI ports.
EDID_A_ENABLE, Addr 64 (Repeater), Address 0x74[0]
Enables I2C access to the internal EDID RAM from DDC Port A.
Function
EDID_A_ENABLE
0 (default)
1
Description
Disables E-EDID for Port A
Enables E-EDID for Port A
When the internal E-EDID is enabled, the ADV7610 must first calculate the E-EDID checksums for that port before the E-EDID is
actually enabled.
The following read only flags can be utilized to determine if the E-EDID is actually enabled on the HDMI ports.
EDID_A_ENABLE_CPU, Addr 64 (Repeater), Address 0x76[0] (Read Only)
Flags internal EDID enabling on Port A.
Function
EDID_A_ENABLE_CPU
0 (default)
1
Description
Disabled
Enabled
Rev. 0 | Page 29 of 184
UG-438
Hardware User Guide
Notes
•
•
•
•
If the internal E-EDID RAM is enabled, an external E-EDID storage device must not be connected on the DDC bus of that port.
The internal E-EDID can be read by current address read sequences on the DDC port.
The ADV7610 supports the segment pointer, which is set at Register Address 0x60 through the DDC bus, and used in combination
with the internal E-EDID address (0xA0) to access the internal E-EDID.
The contents of the EDID RAM are not to be trusted after power-up or hardware reset. Users should write the proper contents to the
EDID RAM memory inside the ADV7610 via an external MCU.
E-EDID Support for Power-Down Modes
The ADV7610 supports E-EDID access in Power-Down Mode 0 and Power-Down Mode 1. Using this feature, an application that
integrates the ADV7610 in standby can make its E-EDID available to the HDMI transmitter. This allows support of CEC and provides
compatibility with HDMI transmitters that require the E-EDID to be available when the HDMI receiver is powered down.
In Power-Down Mode 0, the part operates in a very low power state with only the minimum of internal circuitry enabled for the
internal E-EDID.
For more details on E-EDID accessibility in power-down modes, refer to the Power-Down Modes section.
TRANSITIONING OF POWER MODES
If the part starts in Power-Down Mode 0 and then transitions into a different power mode (that is, Power-Down Mode 1 or normal
operation mode), the information in the internal E-EDID is not overwritten. The internal E-EDID remains active on the HDMI port for
which the E-EDID has been accessed. This prevents disturbing E-EDID read requests from HDMI sources connected to the ADV7610
while it is being powered on, or while the power mode is transitioning.
It is possible to disable the automatic enable of internal EDID on the HDMI port when the part comes out of power-down mode, by
setting the DISABLE_AUTO_EDID bit.
DISABLE_AUTO_EDID, Addr 64 (Repeater), Address 0x7A[1]
Disables all automatic enables for internal E-EDID.
Function
DISABLE_AUTO_EDID
0 (default)
1
Description
Automatic enable of internal E-EDID on HDMI port when the part comes out of Power-Down Mode 0
Disable automatic enable of internal E-EDID on HDMI port when the part comes out of Power-Down Mode 0
STRUCTURE OF INTERNAL E-EDID
This section describes the structure of the internal E-EDID accessible through the DDC bus. This section describes the structure
and configuration for of the internal E-EDID accessed through Port A. The internal E-EDID is enabled for Port A by setting the
EDID_A_ENABLE bit to 1.
The structure of the internal E-EDID image for Port A is shown in Figure 4.
Rev. 0 | Page 30 of 184
Hardware User Guide
UG-438
PORT A E-EDID STRUCTURE
0x1FF
BLOCK 2 CHECKSUM
0x1FE
BLOCK 3
0x180
0x17F
BLOCK 2 CHECKSUM
0x17E
BLOCK 2
0x100
0xFF
BLOCK 1 CHECKSUM
0xFE
BLOCK 1
0x80
0x7F
BLOCK 0 CHECKSUM
0x7E
10884-005
BLOCK 0
0x00
Figure 4. Port A E-EDID Structure and Mapping for SPA Located in EDID Block 1
Notes
•
•
•
•
•
After EDID_A_ENABLE is set to 1, the ADV7610 EDID/repeater controller computes the checksums and updates the internal RAM
address locations 0x7F, 0xFF, 0X17F, and 0x1FF in the internal EDID RAM with the computed checksums.
After power up, the ADV7610 E-EDID controller sets all bytes in the internal EDID RAM to 0, this operation takes less than 1 ms. It
is recommended to wait for at least 1 ms before initializing the EDID map with E-EDID.
When internal E-EDID is enabled on Port A, the hot plug should not be asserted until the EDID map has been completely initialized
with E-EDID.
The internal E-EDID can be accessed in read-only mode through the DDC interface at the I2C address 0xA0.
The internal E-EDID can be accessed in read/write mode through the general I2C interface at the EDID map I2C address.
TMDS EQUALIZATION
The ADV7610 incorporates active equalization of the HDMI data signals. This equalization compensates for the high frequency losses
inherent in HDMI and DVI cabling, especially at long lengths and higher frequencies. The ADV7610 is capable of equalizing for cable
lengths up to 30 meters and for pixel clock frequencies up to 225 MHz.
PORT SELECTION
HDMI_PORT_SELECT allows the selection of the active HDMI port. The only port on ADV7610 is Port A.
HDMI_PORT_SELECT[2:0], Addr 68 (HDMI), Address 0x00[2:0]
This two bit control is used for HDMI primary port selection.
Function
HDMI_PORT_SELECT[2:0]
000 (default)
Description
Port A
TMDS CLOCK ACTIVITY DETECTION
The ADV7610 provides circuitry to monitor TMDS clock activity on HDMI port. The firmware can poll the appropriate registers for
TMDS clock activity detection and configure the ADV7610 as desired. TMDS clock detection control is active as soon as the ADV7610
detects activity above 25 MHz on the TMDS clock input.
Rev. 0 | Page 31 of 184
UG-438
Hardware User Guide
TMDS_CLK_A_RAW, IO, Address 0x6A[4] (Read Only)
Raw status of Port A TMDS clock detection signal.
Function
TMDS_CLK_A_RAW
0 (default)
1
Description
No TMDS clock detected on Port A
TMDS clock detected on Port A
Important
•
•
The clock detection flag is valid if the part is powered up or in Power Down Mode 1. Refer to the Power-Down Mode 1 section.
The clock detection flags is valid, irrespective of the mode the part is set into via the PRIM_MODE[3:0] register.
Clock and Data Termination Control
The ADV7610 provides controls for the TMDS clock and data termination on the HDMI port.
Note: The clock termination of the port by HDMI_PORT_SELECT[2:0] must always be enabled.
This part does not support HDMI streams with a clock lower than 25 MHz.
TERM_AUTO, Addr 68 (HDMI), Address 0x01[0]
This bit allows the user to select automatic or manual control of clock termination. If automatic mode termination is enabled, then the
termination on the port selected via HDMI_PORT_SELECT[1:0] is enabled.
Function
TERM_AUTO
0 (default)
1
Description
Disable termination automatic control
Enable termination automatic control
Note: When manual mode is enabled, the termination for each port is set individually by the CLOCK_TERMA_DISABLE control bits
CLOCK_TERMA_DISABLE, Addr 68 (HDMI), Address 0x83[0]
Disable clock termination on Port A. Can be used when TERM_AUTO set to 0
Function
CLOCK_TERMA_DISABLE
0
1 (default)
Description
Enable Termination Port A
Disable Termination Port A
HDMI/DVI STATUS BITS
HDMI/DVI status mode is available through HDMI_MODE.
HDMI_MODE_RAW, Addr 68 (HDMI), Address 0x65[3] (Read Only)
Raw status signal of HDMI mode signal.
Function
HDMI_MODE_RAW
0 (default)
1
Description
DVI mode detected
HDMI mode detected
HDMI_MODE, Addr 68 (HDMI), Address 0x05[7] (Read Only)
A readback to indicate whether the stream processed by the HDMI core is a DVI or an HDMI stream.
Function
HDMI_MODE
0 (default)
1
Description
DVI mode detected
HDMI mode detected
VIDEO 3D DETECTION
Status of 3D video is available through the VIDEO_3D_RAW bit.
VIDEO_3D_RAW, Addr 68 (HDMI), Address 0x6A[2] (Read Only)
Raw status of the video 3D signal.
Rev. 0 | Page 32 of 184
Hardware User Guide
Function
VIDEO_3D_RAW
0
1
UG-438
Description
Video 3D not detected (read only)
Video 3D detected
TMDS MEASUREMENT
The ADV7610 contains logic that measures the frequency of the TMDS clock transmitted. The TMDS frequency can be read back via the
TMDSFREQ[8:0] and TMDSFREQ_FRAC[6:0] registers.
TMDS Measurement after TMDS PLL
The TMDSFREQ measurement is provided by a clock measurement circuit located after the TMDS PLL. The TMDS PLL must, therefore,
be locked to the incoming TMDS clock in order for the TMDSFREQ and TMDSFREQ_FRAC registers to return a valid measurement.
The TMDS frequency can be obtained using Equation 1, TMDS Frequency in MHz (Measured after TMDS PLL).
FTMDS = TMDSFREQ +
TMDSFREQ _ FRAC
128
(1)
Notes
•
•
•
The TMDS PLL lock status can be monitored via TMDS_PLL_LOCKED.
The TMDS_PLL_LOCKED flag should be considered valid if a TMDS clock is input on the HDMI port selected via
HDMI_PORT_SELECT[2:0].
The NEW_TMDS_FRQ_RAW flag can be used to monitor if the TMDS frequency on the selected HDMI port changes by a
programmable threshold.
The ADV7610 can be configured to trigger an interrupt when the bit NEW_TMDS_FRQ_RAW changes from 0 to 1. In that
configuration, the interrupt status NEW_TMDS_FRQ_ST indicates that NEW_TMDS_FRQ_RAW has changed from 0 to 1. Refer to the
Interrupts section for additional information on the configuration of interrupts.
TMDSFREQ[8:0], Addr 68 (HDMI), Address 0x51[7:0]; Address 0x52[7] (Read Only)
This register provides a full precision integer TMDS frequency measurement.
Function
TMDSFREQ[8:0]
000000000 (default)
xxxxxxxxx
Description
Outputs 9-bit TMDS frequency measurement in MHz
Outputs 9-bit TMDS frequency measurement in MHz
TMDSFREQ_FRAC[6:0], Addr 68 (HDMI), Address 0x52[6:0] (Read Only)
A readback to indicate the fractional bits of measured frequency of PLL recovered TMDS clock. The unit is 1/128 MHz.
Function
TMDSFREQ_FRAC[6:0]
0000000 (default)
xxxxxxx
Description
Outputs 7-bit TMDS fractional frequency measurement in 1/128 MHz
Outputs 7-bit TMDS fractional frequency measurement in 1/128 MHz
TMDS_PLL_LOCKED, Addr 68 (HDMI), Address 0x04[1] (Read Only)
A readback to indicate if the TMDS PLL is locked to the TMDS clock input to the selected HDMI port.
Function
TMDS_PLL_LOCKED
0 (default)
1
Description
The TMDS PLL is not locked.
The TMDS PLL is locked to the TMDS clock input to the selected HDMI port.
TMDSPLL_LCK_A_RAW, IO, Address 0x6A[6] (Read Only)
A readback to indicate the raw status of the Port A TMDS PLL lock signal.
Function
TMDSPLL_LCK_A_RAW
0 (default)
1
Description
TMDS PLL on Port A is not locked.
TMDS PLL on Port A is locked to the incoming clock.
Rev. 0 | Page 33 of 184
UG-438
Hardware User Guide
NEW_TMDS_FRQ_RAW, IO, Address 0x83[1] (Read Only)
Status of new TMDS frequency interrupt signal. When set to 1, it indicates the TMDS Frequency has changed by more than the tolerance
set in FREQTOLERANCE[3:0]. Once set, this bit will remain high until it is cleared via NEW_TMDS_FREQ_CLR.
Function
NEW_TMDS_FRQ_RAW
0 (default)
1
Description
TMDS frequency has not changed by more than tolerance set in FREQTOLERANCE[3:0] in the HDMI map.
TMDS frequency has changed by more than tolerance set in FREQTOLERANCE[3:0] in the HDMI map.
FREQTOLERANCE[3:0], Addr 68 (HDMI), Address 0x0D[3:0]
Sets the tolerance in MHz for new TMDS frequency detection. This tolerance is used for the audio mute mask MT_MSK_VCLK_CHNG
and the HDMI status bit NEW_TMDS_FRQ_RAW.
Function
FREQTOLERANCE[3:0]
0100 (default)
xxxx
Description
Default tolerance in MHz for new TMDS frequency detection
Tolerance in MHz for new TMDS frequency detection
DEEP COLOR MODE SUPPORT
The Deep Color mode information that the ADV7610 extracts from the general control packet can be read back from
DEEP_COLOR_MODE[1:0].
DEEP_COLOR_MODE[1:0], Addr 68 (HDMI), Address 0x0B[7:6] (Read Only)
A readback of the Deep Color mode information extracted from the general control packet
Function
DEEP_COLOR_MODE[1:0]
00 (default)
01
10
Description
8-bits per channel
10-bits per channel
12-bits per channel
Notes
•
•
Deep Color mode can be monitored via DEEP_COLOR_CHNG_RAW, which indicates if the color depth of the processed HDMI
stream has changed.
The ADV7610 can be configured to trigger an interrupt when the DEEP_COLOR_CHNG_RAW bit changes from 0 to 1. In that
configuration, the interrupt status DEEP_COLOR_CHNG_ST indicates that DEEP_COLOR_CHNG_RAW has changed from 0 to 1.
Refer to the Interrupts section for additional information on the configuration of interrupts.
DEEP_COLOR_CHNG_RAW, IO, Address 0x83[7] (Read Only)
Status of Deep Color mode changed interrupt signal. When set to 1 it indicates a change in the deep color mode has been detected. Once
set, this bit will remain high until it is cleared via DEEP_COLOR_CHNG_CLR.
Function
DEEP_COLOR_CHNG_RAW
0 (default)
1
Description
Deep color mode has not changed
Change in deep color triggered this interrupt
VIDEO FIFO
The ADV7610 contains a FIFO located between the incoming TMDS data and the CP core (refer to Figure 5). Data arriving over the
HDMI link will be at 1X for non-Deep Color mode (8 bits per channel), and 1.25X, 1.5X, or 2X for deep color modes (30, 36, and 48 bits,
respectively). Data unpacking and data rate reduction must be performed on the incoming HDMI data to provide the CP core with the
correct data rate and data bit width. The video FIFO is used to pass data safely across the clock domains.
The video FIFO also provides extreme robustness to jitter on the TMDS clock. The CP clock is generated by a DPLL running on the
incoming TMDS clock, and the CP clock may contain less jitter than the incoming TMDS clock. The video FIFO provides immunity to
the incoming jitter and the resultant clock phase mismatch between the CP clock and the TMDS clock.
Rev. 0 | Page 34 of 184
Hardware User Guide
TMDS
PLL
DPLL
DIVIDER
R
TMDS
CHANNEL 1
R
TMDS CH0
TMDS
CHANNEL 0
12
TMDS
SAMPLING
AND
DATA
RECOVERY
B
TMDS CH1
TMDS
DECODING
10
TMDS CH2
TMDS
CHANNEL 2
12
G
10
10
G
12
12
HS
B
FIFO
12
12
HS
VS
VS
DE
DE
10884-009
TMDS
CLOCK
UG-438
Figure 5. HDMI Video FIFO
The video FIFO is designed to operate completely autonomously. It automatically resynchronizes the read and write pointers if they are
about to point to the same location. However, it is also possible for the user to observe and control the FIFO operation with a number of
FIFO status and control registers.
DCFIFO_LEVEL[2:0], Addr 68 (HDMI), Address 0x1C[2:0] (Read Only)
A readback that indicates the distance between the read and write pointers. Overflow/underflow would read as Level 0. Ideal centered
functionality would read as 0b100.
Function
DCFIFO_LEVEL[2:0]
000 (default)
001
010
011
100
101
110
111
Description
FIFO has underflowed or overflowed.
FIFO is about to overflow.
FIFO has some margin.
FIFO has some margin.
FIFO perfectly balanced
FIFO has some margin.
FIFO has some margin.
FIFO is about to underflow.
DCFIFO_LOCKED, Addr 68 (HDMI), Address 0x1C[3] (Read Only)
A readback to indicate if video FIFO is locked.
Function
DCFIFO_LOCKED
0 (default)
1
Description
Video FIFO is not locked. Video FIFO had to resynchronize between previous two VSyncs.
Video FIFO is locked. Video FIFO did not have to resynchronize between previous two VSyncs.
DCFIFO_RECENTER, Addr 68 (HDMI), Address 0x5A[2] (Self-Clearing)
A reset to recenter the video FIFO. This is a self-clearing bit.
Function
DCFIFO_RECENTER
0 (default)
1
Description
Video FIFO normal operation
Video FIFO to recenter
Rev. 0 | Page 35 of 184
UG-438
Hardware User Guide
DCFIFO_KILL_DIS, Addr 68 (HDMI), Address 0x1B[2]
The video FIFO output is zeroed if there is more than one resynchronization of the pointers within two FIFO cycles. This behavior can be
disabled with this bit.
Function
DCFIFO_KILL_DIS
0 (default)
1
Description
FIFO output set to zero if more than one resynchronization is necessary during two FIFO cycles
FIFO output never set to zero regardless of how many resynchronizations occur
DCFIFO_KILL_NOT_LOCKED, Addr 68 (HDMI), Address 0x1B[3]
DCFIFO_KILL_NOT_LOCKED controls whether or not the output of the Video FIFO is set to zero when the video PLL is unlocked.
Function
DCFIFO_KILL_NOT_LOCKED
0
1 (default)
Description
FIFO data is output regardless of video PLL lock status.
FIFO output is zeroed if video PLL is unlocked.
The DCFIFO is programmed to reset itself automatically when the video PLL transitions from unlocked to locked. Note that the video
PLL transition does not necessarily indicate that the overall system is stable.
DCFIFO_RESET_ON_LOCK, Addr 68 (HDMI), Address 0x1B[4]
Enables the reset/recentering of video FIFO on video PLL unlock
Function
DCFIFO_RESET_ON_LOCK
0
1 (default)
Description
Do not reset on video PLL lock
Reset FIFO on video PLL lock
PIXEL REPETITION
In HDMI mode, video formats with TMDS rates below 25 M pixels/sec require pixel repetition in order to be transmitted over the TMDS
link. When the ADV7610 receives this type of video format, it discards repeated pixel data automatically, based on the pixel repetition
field available in the AVI InfoFrame.
When HDMI_PIXEL_REPETITION is nonzero, video pixel data is discarded and the pixel clock frequency is divided by
(HDMI_PIXEL_REPETITION) + 1.
HDMI_PIXEL_REPETITION[3:0], Addr 68 (HDMI), Address 0x05[3:0] (Read Only)
A readback to provide the current HDMI pixel repetition value decoded from the AVI InfoFrame received. The HDMI receiver
automatically discards repeated pixel data and divides the pixel clock frequency appropriately as per the pixel repetition value.
Function
HDMI_PIXEL_REPETITION[3:0]
0000 (default)
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010 to 1111
Description
1×
2×
3×
4×
5×
6×
7×
8×
9×
10×
Reserved
Rev. 0 | Page 36 of 184
Hardware User Guide
UG-438
DEREP_N_OVERRIDE, Addr 68 (HDMI), Address 0x41[4]
This control allows the user to override the pixel repetition factor. The ADV7610 then uses DEREP_N instead of
HDMI_PIXEL_REPETITION[3:0] to discard video pixel data from the incoming HDMI stream.
Function
DEREP_N_OVERRIDE
0 (default)
1
Description
Automatic detection and processing of procession of pixel repeated modes using the AVI InfoFrame
information.
Enables manual setting of the pixel repetition factor as per DEREP_N[3:0].
DEREP_N[3:0], Addr 68 (HDMI), Address 0x41[3:0]
Sets the derepetition value if derepetition is overridden by setting DEREP_N_OVERRIDE.
Function
DEREP_N[3:0]
0000 (default)
xxxx
Description
DEREP_N+1 indicates the pixel and clock discard factor
DEREP_N+1 indicates the pixel and clock discard factor
The following registers allow forcing YCrCb 444 and YCrCb 422 regardless of the AVI Infoframe. This feature is useful when the source
switches between YCrCb 444 and YCrCb 422 modes without sending appropriate update in AVI InfoFrame.
FORCE_YCRCB_444, Addr 68 (HDMI), Address 0x46[4]
Forces a 4:4:4 interpretation of the video contents, regardless of the description in the AVI InfoFrame. This bit carries higher priority than
FORCE_YCRCB_422.
Function
FORCE_YCRCB_444
0 (default)
1
Description
Not forced
Forced
FORCE_YCRCB_422, Addr 68 (HDMI), Address 0x47[4]
Forces a 4:2:2 interpretation of the video contents, regardless of the description in the AVI InfoFrame. This bit is only valid if
FORCE_YCRCB_444 is zero.
Function
FORCE_YCRCB_422
0 (default)
1
Description
Not forced
Forced
HDCP SUPPORT
HDCP Decryption Engine
The HDCP decryption engine allows for the reception and decryption of HDCP content-protected video and audio data. In the HDCP
authentication protocol, the transmitter authenticates the receiver by accessing the HDCP registers of the ADV7610 over the DDC bus.
Once the authentication is initiated, the HDCP decryption integrated in the ADV7610 computes and updates a decryption mask for every
video frame. This mask is applied to the incoming data at every clock cycle to yield decrypted video and audio data.
HDCP_A0, Addr 68 (HDMI), Address 0x00[7]
A control to set the second LSB of the HDCP port I2C address.
Function
HDCP_A0
0 (default)
1
Description
I2C address for HDCP port is 0x74. Used for single-link mode or 1st Receiver in dual-link mode.
I2C address for HDCP port is 0x76. Used only for a second receiver dual-link mode.
Rev. 0 | Page 37 of 184
UG-438
Hardware User Guide
HDMI_CONTENT_ENCRYPTED, Addr 68 (HDMI), Address 0x05[6] (Read Only)
A readback to indicate the use of HDCP encryption.
Function
HDMI_CONTENT_ENCRYPTED
0 (default)
1
Description
The input stream processed by the HDMI core is not HDCP encrypted.
The input stream processed by the HDMI core is HDCP encrypted.
HDMI_ENCRPT_X_RAW reports the encryption status of the data present on each individual HDMI port (where X = A).
Note: These bits are reset to 0 if an HDMI packet detection reset occurs. (Refer to the HDMI Packet Detection Flag Reset section.)
HDMI_ENCRPT_A_RAW, IO, Address 0x6F[2] (Read Only)
Raw status of Port A encryption detection signal.
Function
HDMI_ENCRPT_A_RAW
0 (default)
1
Description
Current frame in Port A is not encrypted.
Current frame in Port A is encrypted.
Notes
•
•
The ADV7610 supports the 1.1_FEATURES, FAST_REAUTHENTICATION, and FAST_I2C speed HDCP features. The BCAPS
register must be initialized appropriately if these features are to be supported by the application integrating the ADV7610, for
example, set BCAPS[0] to 1 to support FAST_REAUTHENTICATION.
It is recommended to set BCAPS[7:0] Bit [7] to 1 if the ADV7610 is used as the front end of an HDMI receiver. This bit should be set
to 0 for DVI applications.
Internal HDCP Key OTP ROM
The ADV7610 features an on-chip nonvolatile memory that is preprogrammed with a set of HDCP keys.
HDCP Keys Access Flags
The ADV7610 accesses the internal HDCP key OTP ROM (also referred to as HDCP ROM) on two different occasions:
•
•
After a power up, the ADV7610 reads the KSV from the internal HDCP ROM (refer to Figure 6).
After a KSV update from an HDCP transmitter, the ADV7610 reads the KSV and all keys in order to carry out the link verification
response (refer to Figure 7).
The host processor can read the HDCP_KEYS_READ and HDCP_KEY_ERROR flags to check that the ADV7610 successfully accessed
the HDCP ROM.
HDCP_KEYS_READ, Addr 68 (HDMI), Address 0x04[5] (Read Only)
A readback to indicate a successful read of the HDCP keys and/or KSV from the internal HDCP Key OTP ROM. A logic high is returned
when the read is successful.
Function
HDCP_KEYS_READ
0 (default)
1
Description
HDCP keys and/or KSV not yet read
HDCP keys and/or KSV HDCP keys read
HDCP_KEY_ERROR, Addr 68 (HDMI), Address 0x04[4] (Read Only)
A readback to indicate if a checksum error occurred while reading the HDCP and/or KSV from the HDCP Key ROM Returns 1 when
HDCP Key master encounters an error while reading the HDCP Key OTP ROM
Function
HDCP_KEY_ERROR
0 (default)
1
Description
No error occurred while reading HDCP keys
HDCP keys read error
Rev. 0 | Page 38 of 184
Hardware User Guide
UG-438
START
(AFTER POWER-UP)
HDCP_KEY_READ = 0
HDCP_KEY_ERROR = 0
READ KSV AND CHECKSUM
CS1 FROM HDCP OTP ROM
DERIVE CHECKSUM CS1'
FROM KSV
CS1 = CS1'
NO
HDCP_KEY_ERROR = 1
YES
SET BKSV (HDCP REGISTER
ADDRESS 0x00
BKSV = KSV
10884-010
HDCP_KEY_READ = 1
HDCP_KEY_ERROR = 0
END
Figure 6. HDCP ROM Access After Power-Up
Rev. 0 | Page 39 of 184
UG-438
Hardware User Guide
START
(AKSV UPDATE
FROM TRANSMITTER)
HDCP_KEY_READ = 0
HDCP_KEY_ERROR = 0
READ KSV, HDCP KEYS AND
CHECKSUM CS2 FROM HDCP PROM
DERIVE CHECKSUM CS2'
FROM KSV AND HDCP KEYS
CS1 = CS1'
NO
HDCP_KEY_ERROR = 1
YES
DERIVE LINK VERIFICATION Ri'
UPDATE BKSV AND Ri' IN
HDCP RESGISTERS
10884-011
HDCP_KEY_READ = 1
END
HDCP_KEY_ERROR = 0
END
Figure 7. HDCP ROM Access After KSV Update from the Transmitter
Notes
•
•
•
•
•
•
After the part has powered up, it is recommended to wait for 1 ms before checking the HDCP_KEYS_READ and
HDCP_KEY_ERROR flag bits. This ensures that the ADV7610 had sufficient time to access the internal HDCP ROM and set the
HDCP_KEYS_READ and HDCP_KEY_ERROR flag bits.
After an AKSV update from the transmitter, it is recommended to wait for 2 ms before checking the HDCP_KEYS_READ and
HDCP_KEY_ERROR flag bits. This ensures that the ADV7610 had sufficient time to access the internal HDCP ROM, and set the
HDCP_KEYS_READ and HDCP_KEY_ERROR flag bits.
When the ADV7610 successfully retrieves the HDCP keys and/or KSV from the internal HDCP ROM, the HDCP_KEYS_READ flag
bit is set to 1 and the HDCP_KEY_ERROR flag bit is set to 0.
The I2C controllers for the main I2C lines and the HDCP lines are independent of each other. It is, therefore, possible to access the
internal registers of the ADV7610 while it reads the HDCP keys and/or the KSV from the internal HDCP ROM.
A hardware reset (that is, reset via the reset pin) does not lead the ADV7610 to read the KSV or the keys from the HDCP ROM.
The ADV7610 takes 1.8 ms to read the keys from the HDCP ROM
HDCP Ri Expired
Following register allows early detection of HDMI TX failure. Also refer to interrupt status controls RI_EXPIRED_A_ST.
HDCP_RI_EXPIRED, Addr 68 (HDMI), Address 0x04[3] (Read Only)
Readback high when a calculated Ri has not been read by the source TX, on the active port. It remains high until next Aksv update.
Function
HDCP_RI_EXPIRED
0 (default)
1
Description
Calculated Ri has been read by the source TX
Calculated Ri has not been read by the source TX
Rev. 0 | Page 40 of 184
Hardware User Guide
UG-438
HDMI SYNCHRONIZATION PARAMETERS
The ADV7610 contains the logic required to measure the details of the incoming video resolution. The HDMI synchronization
parameters readback registers from the HDMI Map can be used, in addition to the STDI registers from the CP (refer to the Standard
Detection and Identification section), to estimate the video resolution of the incoming HDMI stream.
Notes
•
•
The synchronization parameters are valid if the part is configured in HDMI mode via PRIM_MODE[3:0].
The HDMI synchronization filter readback parameters are valid even while the part free runs (refer to the Free Run Mode section)
on the condition that the measurement filters have locked.
Horizontal Filter and Measurements
The HDMI horizontal filter performs measurements on the DE and HSync of the HDMI stream on the selected port. These
measurements are available in the HDMI Map and can be used to determine the resolution of the incoming video data stream.
Primary Port Horizontal Filter Measurements
The HDMI horizontal filter performs the measurements described in this section on the HDMI port selected by
HDMI_PORT_SELECT[2:0].
Notes
•
•
•
The horizontal measurements are valid only if DE_REGEN_LCK_RAW is set to 1.
The HDMI horizontal filter is used solely to measure the horizontal synchronization signals decoded from the HDMI stream. The
HDMI horizontal filter is not in the main path of the synchronization processed by the part and does not delay the overall HDMI
data into video data out latency.
The unit for horizontal filter measurement is a pixel, that is, the actual element of the picture content encapsulated in the HDMI/DVI
stream which the ADV7610 processes. A pixel has a duration TPIXEL, which is provided in Equation 2, unit time of horizontal filter
measurements.
TPixel = TFTMDS × DEEP_COLOR_RATIO × (PIXEL_REPETITION + 1)
(2)
where:
TFTMDS is the TMDS frequency.
DEEP_COLOR_RATIO = 1 for 24-bit deep color.
DEEP_COLOR_RATIO = 5/4 for 30-bit deep color.
DEEP_COLOR_RATIO = 3/2 for 36-bit deep color.
DEEP_COLOR_RATIO = 2 for 48-bit deep color.
PIXEL_REPETITION is the number of repeated pixels in the input HDMI stream.
DE_REGEN_FILTER_LOCKED, Addr 68 (HDMI), Address 0x07[5] (Read Only)
DE regeneration filter lock status. Indicates that the DE regeneration section has locked to the received DE and horizontal
synchronization parameter measurements are valid for readback.
Function
DE_REGEN_FILTER_LOCKED
0 (default)
1
Description
DE regeneration not locked
DE regeneration locked to incoming DE
DE_REGEN_LCK_RAW, IO, Address 0x6A[0] (Read Only)
Raw status of the DE regeneration lock signal.
Function
DE_REGEN_LCK_RAW
0 (default)
1
Description
DE regeneration block has not been locked.
DE regeneration block has been locked to the incoming DE signal.
Rev. 0 | Page 41 of 184
UG-438
Hardware User Guide
TOTAL_LINE_WIDTH[13:0], Addr 68 (HDMI), Address 0x1E[5:0]; Address 0x1F[7:0] (Read Only)
Total line width is a horizontal synchronization measurement. This gives the total number of pixels per line. This measurement is valid
only when the DE regeneration filter has locked.
Function
TOTAL_LINE_WIDTH[13:0]
xxxxxxxxxxxxx
Description
Total number of pixels per line
LINE_WIDTH[12:0], Addr 68 (HDMI), Address 0x07[4:0]; Address 0x08[7:0] (Read Only)
Line width is a horizontal synchronization measurement, which gives the number of active pixels in a line. This measurement is only valid
when the DE regeneration filter is locked.
Function
LINE_WIDTH[12:0]
00000000000 (default)
xxxxxxxxxxx
Description
Total number of active pixels per line
Total number of active pixels per line
HSYNC_FRONT_PORCH[12:0], Addr 68 (HDMI), Address 0x20[4:0]; Address 0x21[7:0] (Read Only)
HSync front porch width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement
is valid only when the DE regeneration filter has locked.
Function
HSYNC_FRONT_PORCH[12:0]
xxxxxxxxxxx
Description
Total number of pixels in the front porch
HSYNC_PULSE_WIDTH[12:0], Addr 68 (HDMI), Address 0x22[4:0]; Address 0x23[7:0] (Read Only)
HSync pulse width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement is
valid only when the DE regeneration filter has locked.
Function
HSYNC_PULSE_WIDTH[12:0]
xxxxxxxxxxx
Description
Total number of pixels in the hsync pulse
HSYNC_BACK_PORCH[12:0], Addr 68 (HDMI), Address 0x24[4:0]; Address 0x25[7:0] (Read Only)
HSync back porch width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement
is valid only when the DE regeneration filter has locked.
Function
HSYNC_BACK_PORCH[12:0]
xxxxxxxxxxx
Description
Total number of pixels in the back porch
DVI_HSYNC_POLARITY, Addr 68 (HDMI), Address 0x05[5] (Read Only)
A readback to indicate the polarity of the HSync encoded in the input stream
Function
DVI_HSYNC_POLARITY
0 (default)
1
Description
The HSync is active low.
The HSync is active high.
Rev. 0 | Page 42 of 184
Hardware User Guide
UG-438
A
DATA
ENABLE
B
D
C
E
NOTE:
A TOTAL NUMBER OF PIXELS PER LINE
B ACTIVE NUMBER OF PIXELS PER LINE
C HSYNC FRONT PORCH WIDTH IN PIXEL UNIT
D HSYNC WIDTH IN PIXEL UNIT
E HSYNC BACK PORCH WIDTH IN PIXEL UNIT
10884-012
HSYNC
Figure 8. Horizontal Timing Parameters
Horizontal Filter Locking Mechanism
The locking/unlocking mechanism of the HDMI horizontal filter is as follows:
•
•
The HDMI horizontal filter locks if the following two conditions are met:
• The DE transitions occur at the exact same pixel count for eight consecutive video lines
• The HSync transitions occur at the exact same pixel count for eight consecutive video lines
The HDMI horizontal filter unlocks if either of the two following conditions are met:
• The DE transitions occur on different pixels count for 15 consecutive video lines
• The HSync transitions occur on different pixels count for 15 consecutive video lines
Vertical Filters and Measurements
The ADV7610 integrates a HDMI vertical filter, which performs measurements on the VSync of the HDMI stream on the selected port.
These measurements are available in the HDMI map and can be used to determine the resolution of the incoming video data stream.
Primary Port Vertical Filter Measurements
The HDMI vertical filter performs the measurements on the HDMI port selected by HDMI_PORT_SELECT[2:0].
The Field 0 measurements are adequate to determine the standard of incoming progressive modes. A combination of Field 0 and field 1
measurements should be used to determine the standard of interlaced modes.
Notes
•
•
The vertical measurements are valid only if V_LOCKED_RAW is set to 1.
The HDMI vertical filter is used solely to measure the vertical synchronization signals decoded from the HDMI stream. This filter is
not in the main path of the synchronization processed by the part and does not delay the overall HDMI data into video data out
latency.
VERT_FILTER_LOCKED, Addr 68 (HDMI), Address 0x07[7] (Read Only)
Vertical filter lock status. Indicates whether the vertical filter is locked and vertical synchronization parameter measurements are valid for
readback.
Function
VERT_FILTER_LOCKED
0
1
Description
Vertical filter has not locked.
Vertical filter has locked.
V_LOCKED_RAW, IO, Address 0x6A[1] (Read Only)
Raw status of the vertical sync filter locked signal.
Function
V_LOCKED_RAW
0
1
Description
Vertical sync filter has not locked and vertical sync parameters are not valid
Vertical sync filter has locked and vertical sync parameters are valid
Note: Field 0 measurements are used to determine the video modes that are progressive.
Rev. 0 | Page 43 of 184
UG-438
Hardware User Guide
FIELD0_TOTAL_HEIGHT[13:0], Addr 68 (HDMI), Address 0x26[5:0]; Address 0x27[7:0] (Read Only)
Field 0 total height is a vertical synchronization measurement. This readback gives the total number of half lines in Field 0. This
measurement is valid only when the vertical filter has locked.
Function
FIELD0_TOTAL_HEIGHT[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in Field 0 (divide readback by 2 to get number of lines)
FIELD0_HEIGHT[12:0], Addr 68 (HDMI), Address 0x09[4:0]; Address 0x0A[7:0] (Read Only)
Field 0 height is a vertical filter measurement. This readback gives the number of active lines in Field 0. This measurement is valid only
when the vertical filter has locked.
Function
FIELD0_HEIGHT[12:0]
xxxxxxxxxxxxx
Description
The number of active lines in Field 0
FIELD0_VS_FRONT_PORCH[13:0], Addr 68 (HDMI), Address 0x2A[5:0]; Address 0x2B[7:0] (Read Only)
Field 0 VSync front porch width is a vertical synchronization measurement. The unit of this measurement is half lines. This measurement
is valid only when the vertical filter has locked.
Function
FIELD0_VS_FRONT_PORCH[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in the VSync front porch of Field 0 (divide readback by 2 to get
number of lines)
FIELD0_VS_PULSE_WIDTH[13:0], Addr 68 (HDMI), Address 0x2E[5:0]; Address 0x2F[7:0] (Read Only)
Field 0 VSync width is a vertical synchronization measurement. The unit for this measurement is half lines. This measurement is valid
only when the vertical filter has locked.
Function
FIELD0_VS_PULSE_WIDTH[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in the VSync pulse of Field 0 (divide readback by 2 to get number of
lines)
FIELD0_VS_BACK_PORCH[13:0], Addr 68 (HDMI), Address 0x32[5:0]; Address 0x33[7:0] (Read Only)
Field 0 VSync back porch width is a vertical synchronization measurement. The unit for this measurement is half lines.
Function
FIELD0_VS_BACK_PORCH[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in the VSync Back Porch of Field 0 (divide readback by 2 to get number
of lines)
DVI_VSYNC_POLARITY, Addr 68 (HDMI), Address 0x05[4] (Read Only)
A readback to indicate the polarity of the VSync encoded in the input stream
Function
DVI_VSYNC_POLARITY
0
1
Description
The VSync is active low.
The VSync is active high.
Rev. 0 | Page 44 of 184
Hardware User Guide
UG-438
A
B
DATA
ENABLE
HSYNC
C
D
E
NOTE:
A TOTAL NUMBER OF LINES IN FIELD 0. UNIT IS IN HALF LINES.
B ACTIVES NUMBER OF LINES IN FIELD 0. UNIT IS IN HALF LINES.
C VSYNC FRONT PORCH WIDTH IN FIELD 0. UNIT IS IN HALF LINES.
D VSYNC PULSE WIDTH IN FIELD 0. UNIT IS IN HALF LINES.
E VSYNC BACK PORCH WIDTH IN FIELD 0. UNIT IS IN HALF LINES.
10884-013
VSYNC
Figure 9. Vertical Parameters for FIELD 0
Note: Field 1 measurements should not be used for progressive video modes.
FIELD1_TOTAL_HEIGHT[13:0], Addr 68 (HDMI), Address 0x28[5:0]; Address 0x29[7:0] (Read Only)
Field 1 total height is a vertical synchronization measurement. This readback gives the total number of half lines in Field 1.
This measurement is valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED
is set to 1.
Function
FIELD1_TOTAL_HEIGHT[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in Field 1 (divide readback by 2 to get number of lines)
FIELD1_HEIGHT[12:0], Addr 68 (HDMI), Address 0x0B[4:0]; Address 0x0C[7:0] (Read Only)
Field 1 height is a vertical filter measurement. This readback gives the number of active lines in field. This measurement is valid only
when the vertical filter has locked. Field 1 measurements are only valid when HDMI_INTERLACED is set to 1.
Function
FIELD1_HEIGHT[12:0]
xxxxxxxxxxxxx
Description
The number of active lines in Field 1
FIELD1_VS_FRONT_PORCH[13:0], Addr 68 (HDMI), Address 0x2C[5:0]; Address 0x2D[7:0] (Read Only)
Field 1 VSync front porch width is a vertical synchronization measurement. The unit of this measurement is half lines. This measurement is
valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1.
Function
FIELD1_VS_FRONT_PORCH[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in the VSync front porch of Field 1 (divide readback by 2 to get
number of lines)
FIELD1_VS_PULSE_WIDTH[13:0], Addr 68 (HDMI), Address 0x30[5:0]; Address 0x31[7:0] (Read Only)
Field 1 VSync width is a vertical synchronization measurement. The unit for this measurement is half lines. This measurement is valid
only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1.
Function
FIELD1_VS_PULSE_WIDTH[13:0]
xxxxxxxxxxxxxx
Description
The total number of half lines in the VSync pulse of Field 1 (divide readback by 2 to get number
of lines)
FIELD1_VS_BACK_PORCH[13:0], Addr 68 (HDMI), Address 0x34[5:0]; Address 0x35[7:0] (Read Only)
Field 1 VSync back porch width is a vertical synchronization measurement. The unit for this measurement is half lines. This measurement is
valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1.
Function
FIELD1_VS_BACK_PORCH[13:0]
xxxxxxxxxxxxx
Description
The number of half lines in the VSync back porch of Field 1 (divide readback by 2 to get number
of lines)
Rev. 0 | Page 45 of 184
UG-438
Hardware User Guide
A
B
DATA
ENABLE
HSYNC
E
D
C
VSYNC
10884-014
NOTE:
A TOTAL NUMBER OF LINES IN FIELD 1. UNIT IS IN HALF LINES.
B ACTIVES NUMBER OF LINES IN FIELD 1. UNIT IS IN HALF LINES.
C VSYNC FRONT PORCH WIDTH IN FIELD 1. UNIT IS IN HALF LINES.
D VSYNC PULSE WIDTH IN FIELD 1. UNIT IS IN HALF LINES.
E VSYNC BACK PORCH WIDTH IN FIELD 1. UNIT IS IN HALF LINES.
Figure 10. Vertical Parameters for FIELD 1
The vertical filter provides the interlaced status of the video stream. The interlaced status INTERLACED_HDMI is valid only if the
vertical filter is locked and V_LOCKED_RAW is set to 1.
HDMI_INTERLACED, Addr 68 (HDMI), Address 0x0B[5] (Read Only)
HDMI input Interlace status, a vertical filter measurement.
Function
HDMI_INTERLACED
0
1
Description
Progressive Input
Interlaced Input
Vertical Filter Locking Mechanism
The HDMI vertical filter locks if the input VSync comes at exactly the same line count for two consecutive frames. The HDMI vertical
filter unlocks if the VSync comes at a different pixels count for two consecutive frames.
AUDIO CONTROL AND CONFIGURATION
The ADV7610 extracts an L-PCM, IEC 61937 compressed or DST audio data stream from their corresponding audio packets (that is,
audio sample or DST) encapsulated inside the HDMI data stream.
The ADV7610 also regenerates an audio master clock along with the extraction of the audio data. The clock regeneration is performed by
an integrated DPLL. The regenerated clock is used to output audio data from the 64 stereo sample depth FIFO to the audio interface
configuration pins.
Important
•
•
The ADV7610 supports the extraction of stereo audio data (noncompressed or compressed) at audio sampling frequency up to 192 kHz.
The ADV7610 supports the extraction of multichannel audio data.
TMDS CLOCK
N
AUDIO DPLL
MCLK/INT2
CTS
128fs
ACR PACKET
DATA
AUDIO
FIFO
AUDIO DATA
DELAY
LINE
RAMPED
MUTE/UNMUTE
PACKET PROCESSOR
(DISPATCH BLOCK)
DATA FROM HDCP
ENGINE/MASK
VIDEO DATA
AUDIO
RECONSTRUCTION,
SERIALIZATION AND
MUXING
I2S0 TO I2S3
SCLK/
INT2
TO DPP
BLOCK
CHANNEL STATUS
BITS COLLECTION
Figure 11. Audio Processor Block Diagram
Rev. 0 | Page 46 of 184
10884-015
TMDS CLOCK
Hardware User Guide
UG-438
Audio DPLL
The audio DPLL generates an internal audio master clock with a frequency of 128 times the audio sampling frequency, usually called fs.
The audio master clock is used to clock the audio processing section.
Locking Mechanism
When the upstream HDMI transmitter outputs a stable TMDS frequency and consistent audio clock regeneration values, the audio DPLL
locks within two cycles of the audio master clock after the following two conditions are met:
•
•
TMDS PLL is locked (refer to TMDS_PLL_LOCKED)
ADV7610 has received an ACR packet with N and CTS parameters within a valid range
The audio DPLL lock status can be monitored via AUDIO_PLL_LOCKED.
AUDIO_PLL_LOCKED, Addr 68 (HDMI), Address 0x04[0] (Read Only)
A readback to indicate the Audio DPLL lock status.
Function
AUDIO_PLL_LOCKED
0 (default)
1
Description
The audio DPLL is not locked.
The audio DPLL is locked.
ACR Parameters Loading Method
The N and CTS parameters from the ACR packets are used to regenerate the audio clock and are reloaded into the DPLL anytime they
change. The self-clearing bit FORCE_N_UPDATE provides a means to reset the audio DPLL by forcing a reload of the N and CTS
parameters from the ACR packet into the audio DPLL.
FORCE_N_UPDATE, Addr 68 (HDMI), Address 0x5A[0] (Self-Clearing)
A control to force an N and CTS value update to the audio DPLL. The audio DPLL regenerates the audio clock.
Function
FORCE_N_UPDATE
0 (default)
1
Description
No effect
Forces an update on the N and CTS values for audio clock regeneration
Audio DPLL Coast Feature
The audio DPLL incorporates a coast feature that allows it to indefinitely output a stable audio master clock when selectable events occur.
The coast feature allows the audio DPLL to provide an audio master clock when the audio processor mutes the audio following a mute
condition (refer to the Audio Muting section). The events that cause the audio DPLL to coast are selected via the coasts masks listed in
Table 8.
Table 8. Selectable Coast Conditions
Bit Name
AC_MSK_VCLK_CHNG
HDMI Map
Address
0x13[6]
AC_MSK_VPLL_UNLOCK
AC_MSK_NEW_CTS
0x13[5]
0x13[3]
AC_MSK_NEW_N
AC_MSK_CHNG_PORT
AC_MSK_VCLK_DET
0x13[2]
0x13[1]
0x13[0]
Description
When set to 1, audio DPLL coasts if TMDS clock has any
irregular/missing pulses
When set to 1, audio DPLL coasts if TMDS PLL unlocks
When set to 1, audio DPLL coasts if CTS changes by more
than threshold set in CTS_CHANGE_THRESHOLD[5:0]
When set to 1, audio DPLL coasts if N changes
When set to 1, audio DPLL coasts if active port is changed
When set to 1, audio DPLL coasts if no TMDS clock is detected
on the active port
Rev. 0 | Page 47 of 184
Corresponding Status
Register(s)
VCLK_CHNG_RAW
TMDS_PLL_LOCKED
CTS_PASS_THRSH_RAW
CHANGE_N_RAW
HDMI_PORT_SELECT[2:0]
TMDS_CLK_A_RAW
UG-438
Hardware User Guide
AUDIO FIFO
The audio FIFO can store up to 128 audio stereo data from the audio sample or DST packets. Stereo audio data are added into the FIFO
from the audio packet received. Stereo audio data are retrieved from the FIFO at a rate corresponding to 128 times the audio sampling
frequency, fs.
The status of the audio FIFO can be monitored through the status flags FIFO_UNDERFLO_RAW, FIFO_OVERFLO_RAW,
FIFO_NEAR_OVFL_RAW, and FIFO_NEAR_UFLO_RAW.
ADDRESS ORDER
EMPTY
ADDRESS 63
…
…
…
WRITE POINTER
EMPTY
ADDRESS N + 2
STEREO DATA N – 1
STEREO DATA N – 2
ADDRESS N + 1
ADDRESS N
…
…
…
STEREO DATA 1
ADDRESS 3
STEREO DATA 0
ADDRESS 2
EMPTY
ADDRESS 1
EMPTY
ADDRESS 0
10884-016
READ POINTER
Figure 12. Audio FIFO
FIFO_UNDERFLO_RAW, IO, Address 0x7E[6] (Read Only)
Status of audio FIFO underflow interrupt signal. When set to 1, it indicates the audio FIFO read pointer has reached the write pointer
causing the audio FIFO to underflow. Once set, this bit will remain high until it is cleared via AUDIO_FIFO_UNDERFLO_CLR.
Function
FIFO_UNDERFLO_RAW
0 (default)
1
Description
Audio FIFO has not underflowed.
Audio FIFO has underflowed.
FIFO_OVERFLO_RAW, IO, Address 0x7E[5] (Read Only)
Status of audio FIFO overflow interrupt signal. When set to 1, it indicates audio FIFO write pointer has reached the read pointer causing
the audio FIFO to overflow. Once set, this bit will remain high until it is cleared via AUDIO_FIFO_OVERFLO_CLR.
Function
FIFO_OVERFLO_RAW
0 (default)
1
Description
Audio FIFO has not overflowed.
Audio FIFO has overflowed.
FIFO_NEAR_UFLO_RAW, IO, Address 0x83[0] (Read Only)
Status of audio FIFO near underflow interrupt signal. When set to 1, it indicates the audio FIFO is near underflow as the number of FIFO
registers containing stereo data is less or equal to value set in AUDIO_FIFO_ALMOST_EMPTY_THRESHOLD. Once set, this bit will
remain high until it is cleared via FIFO_NEAR_UFLO_CLR.
Function
FIFO_NEAR_UFLO_RAW
0 (default)
1
Description
Audio FIFO has not reached low threshold defined in AUDIO_FIFO_ALMOST_EMPTY_THRESHOLD [5:0].
Audio FIFO has reached low threshold defined in AUDIO_FIFO_ALMOST_EMPTY_THRESHOLD [5:0].
Rev. 0 | Page 48 of 184
Hardware User Guide
UG-438
FIFO_NEAR_OVFL_RAW, IO, Address 0x7E[7] (Read Only)
Status of audio FIFO near overflow interrupt signal. When set to 1, it indicates the audio FIFO is near overflow as the number FIFO
registers containing stereo data is greater or equal to value set in AUDIO_FIFO_ALMOST_FULL_THRESHOLD. Once set, this bit will
remain high until it is cleared via FIFO_NEAR_OVFL_CLR.
Function
FIFO_NEAR_OVFL_RAW
0 (default)
1
Description
Audio FIFO has not reached high threshold defined in AUDIO_FIFO_ALMOST_FULL_THRESHOLD [5:0]
Audio FIFO has reached high threshold defined in AUDIO_FIFO_ALMOST_FULL_THRESHOLD [5:0]
AUDIO_FIFO_ALMOST_EMPTY_THRESHOLD[6:0], Addr 68 (HDMI), Address 0x12[6:0]
Sets the threshold used for FIFO_NEAR_UFLO_RAW. FIFO_NEAR_UFLO_ST interrupt is triggered if audio FIFO goes below this level.
Function
AUDIO_FIFO_ALMOST_EMPTY_THRESHOLD[6:0]
0x02 (default)
Description
Default value
AUDIO_FIFO_ALMOST_FULL_THRESHOLD[6:0], Addr 68 (HDMI), Address 0x11[6:0]
Sets the threshold used for FIFO_NEAR_OVRFL_RAW. FIFO_NEAR_OVRFL_ST interrupt is triggered if audio FIFO reaches this level.
Function
AUDIO_FIFO_ALMOST_FULL_THRESHOLD[6:0]
0x7D (default)
Description
Default value
AUDIO PACKET TYPE FLAGS
The ADV7610 can receive the following audio packets:
•
•
•
•
Audio sample packets
HBR packets
DSD packets
DST packets
The following flags are provided to monitor the type of audio packets received by the ADV7610. Figure 13 shows the algorithm that can
be implemented to monitor the type of audio packet processed by the ADV7610.
AUDIO_MODE_CHNG_RAW, IO, Address 0x83[5] (Read Only)
Status of audio mode change interrupt signal. When set to 1, it indicates that the type of audio packet received has changed. The following
are considered audio modes, no audio packets, audio sample packet, DSD packet, HBR packet or DST packet. Once set, this bit remains
high until it is cleared via AUDIO_MODE_CHNG_CLR.
Function
AUDIO_MODE_CHNG_RAW
0 (default)
1
Description
Audio mode has not changed.
Audio mode has changed.
AUDIO_SAMPLE_PCKT_DET, Addr 68 (HDMI), Address 0x18[0] (Read Only)
Audio sample packet detection bit. This bit resets to zero on the 11th HSync leading edge following an audio packet if a subsequent audio
sample packet has not been received or if a DSD, DST, or HBR audio packet sample packet has been received.
Function
AUDIO_SAMPLE_PCKT_DET
0 (default)
1
Description
No L_PCM or IEC 61937 compressed audio sample packet received within the last 10 HSyncs
L_PCM or IEC 61937 compressed audio sample packet received within the last 10 HSyncs
Rev. 0 | Page 49 of 184
UG-438
Hardware User Guide
DSD_PACKET_DET, Addr 68 (HDMI), Address 0x18[1] (Read Only)
DSD audio packet detection bit. This bit resets to zero on the 11th HSync leading edge following a DSD packet or if an audio, DST, or
HBR packet sample packet has been received or after an HDMI reset condition.
Function
DSD_PACKET_DET
0 (default)
1
Description
No DSD packet received within the last 10 HSync
DSD packet received within the last 10 HSync
DST_AUDIO_PCKT_DET, Addr 68 (HDMI), Address 0x18[2] (Read Only)
DST audio packet detection bit. This bit resets to zero on the 11th HSync leading edge following a DST packet if a subsequent DST has
not been received. Or, if an audio, DSD, or HBR packet sample packet has been received or after an HDMI reset condition.
Function
DST_AUDIO_PCKT_DET
0 (default)
1
Description
No DST packet received within the last 10 HSync
DST packet received within the last 10 HSync
HBR_AUDIO_PCKT_DET, Addr 68 (HDMI), Address 0x18[3] (Read Only)
HBR Packet detection bit. This bit resets to zero on the 11th HSync leading edge following an HBR packet if a subsequent HBR packet has
not been detected. It also resets if an Audio, DSD or DST packet sample packet has been received and after an HDMI reset condition.
Function
HBR_AUDIO_PCKT_DET
0 (default)
1
Description
No HBR audio packet received within the last 10 HSync
HBR audio packet received within the last 10 HSync
Notes
•
•
•
•
The ADV7610 processes only one type of audio packet at a time.
The ADV7610 processes the latest type of audio packet that it received.
AUDIO_SAMPL_PCKT_DET, DSD_PACKET_DET, DST_AUDIO_PCKT_DET, and HBR_AUDIO_PCKT_DET are reset to 0
when a HDMI packet detect reset condition occurs.
A corresponding interrupt can be enabled for AUDIO_MODE_CHNG_RAW by setting the mask AUDIO_MODE_CHNG_MB1 or
AUDIO_MODE_CHNG_MB2. Refer to the Interrupts section for additional information on the interrupt feature.
Rev. 0 | Page 50 of 184
Hardware User Guide
UG-438
START
ENABLE THE AUDIO_MODE_CHNG_ST
INTERRUPT
YES
AUDIO_MODE_CH
NG_ST INTERRUPT?
NO AUDIO SAMPLE PACKETS ARE
BEING RECEIVED
NO
IS
AUDIO_SAMPLE
PCKT_DET?
YES
AUDIO SAMPLE PACKETS ARE
BEING RECEIVED
NO DSD PACKETS ARE
BEING RECEIVED
NO
IS
DSD_PACKET_DET?
YES
DSD PACKETS ARE
BEING RECEIVED
NO DST PACKETS ARE
BEING RECEIVED
NO
IS
DST_PACKET_DET?
YES
DST PACKETS ARE
BEING RECEIVED
NO HBR PACKETS ARE
BEING RECEIVED
NO
IS
HBR_PACKET_DET?
YES
HBR PACKETS ARE
BEING RECEIVED
Figure 13. Monitoring Audio Packet Type Processed by ADV7610
AUDIO OUTPUT INTERFACE
The ADV7610 has a dedicated 3-pin audio output interface. The output pin names and descriptions are shown in Table 9.
Table 9. Audio Outputs and Clocks
Output Pixel Port
I2S0
I2S1
I2S2
I2S3
SCLK/INT2
MCLK/INT2
LRCLK
Description
Audio Output Port 0
Audio Output Port 1
Audio Output Port 2
Audio Output Port 2
Bit Clock
Audio Master Clock
LRCLK
Rev. 0 | Page 51 of 184
10884-017
SET AUDIO_MODE_CHNG_CLR TO 1
UG-438
Hardware User Guide
Table 10 shows the default configurations for the various possible output interfaces.
Table 10. Default Audio Output Pixel Port Mapping
Output Pixel Port
I2S0
I2S1
I2S2
I2S3
I2S /SPDIF Interface
I2S 0/SDPIF0
I2S 1/SDPIF1
I2S 2/SDPIF2
I2S 3/SDPIF3
Note: It is possible to tristate the audio pins using the global controls, as described in the Tristate Audio Output Drivers section. It is
possible to output SPDIF signal to the I2S pins (AP) using MUX_SPDIF_TO_I2S_ENABLE.
MUX_SPDIF_TO_I2S_ENABLE, Addr 68 (HDMI), Address 0x6E[3]
Enables muxing SPDF data into I2S pins (AP)
Function
MUX_SPDIF_TO_I2S_ENABLE
0 (default)
1
Description
Don’t modify I2S outputs
Mux SPDIF into I2S pins
I2S/SPDIF Audio Interface and Output Controls
Two controls are provided to change the mapping between the audio output ports and the I2S and SPDIF (IEC60958) signals.
I2S_SPDIF_MAP_ROT[1:0], Addr 68 (HDMI), Address 0x6D[5:4]
A control to select the arrangement of the I2S/SPDIF interface on the audio output port pins.
Function
I2S_SPDIF_MAP_ROT[1:0]
00 (default)
01
10
11
Description
I2S0/SPDIF0 on I2S0, I2S1/SPDIF1 on I2S1, I2S2/SPDIF2 on I2S2, I2S3/SPDIF3 on I2S3
I2S3/SPDIF3 on I2S0, I2S0/SPDIF0 on I2S1, I2S1/SPDIF1 on I2S2, I2S2/SPDIF2 on I2S3
I2S2/SPDIF2 on I2S0, I2S3/SPDIF3 on I2S1, I2S0/SPDIF0 on I2S2, I2S1/SPDIF1 on I2S3
I2S1/SPDIF1 on I2S0, I2S2/SPDIF2 on I2S1, I2S3/SPDIF3 on I2S2, I2S0/SPDIF0 on I2S3
I2SBITWIDTH[4:0], Addr 68 (HDMI), Address 0x03[4:0]
A control to adjust the bit width for right justified mode on the I2S interface.
Function
I2SBITWIDTH[4:0]
00000
00001
00010
…
11000 (default)
11110
11111
Description
0 bit
1 bit
2 bits
…
24 bits
30 bits
31 bits
I2SOUTMODE[1:0], Addr 68 (HDMI), Address 0x03[6:5]
A control to configure the I2S output interface.
Function
I2SOUTMODE[1:0]
00 (default)
01
10
11
Description
I2S mode
Right justified
Left justified
Raw SPDIF (IEC60958) mode
Rev. 0 | Page 52 of 184
Hardware User Guide
UG-438
Notes
•
I2SOUTMODE is effective when the ADV7610 is configured to output I2S streams or AES3 streams. This is the case in the situation
where the ADV7610 receives audio sample packets
•
The ADV7610 receives HBR packets, OVR_MUX_HBR is set to 1, and MUX_HBR_OUT is set to 2’b00, 2’b01, 2’b10 or 2’b11.
•
In HBR mode, it is required that the part outputs four SPDIF, I2S, or raw IEC60958 streams encapsulating a 24-bit audio sample
word. Therefore, 12SBITWIDTH[4:0] must always be set to 0b11000.
The following audio formats can be output when the ADV7610 receives audio sample packets:
•
•
•
•
•
•
L-PCM audio data is output on the audio output pins if the part receives the audio sample packets with L-PCM encoded audio data.
Each audio output pin carries stereo data that can be output in I2S, right justified, or left justified mode (see Figure 14, Figure 15, and
Figure 16). The I2SOUTMODE[1:0] control must be set to 0x0, 0x01, or 0x2 to output I2S, right justified, and left justified
respectively, on the audio output pins.
A stream conforming to the IEC60958 specification when the part receives audio sample packets with L-PCM encoded data (refer to
Figure 17).
An AES3 stream if the I2SOUTMODE[1:0] control is set to 0x3 (refer to Figure 18 and Figure 19). Note that AES3 is also referred to
as raw SPDIF. Each AES3 stream may encapsulate stereo L-PCM audio data or multichannel non L-PCM audio data (for example,
5.1 Dolby Digital).
Binary stream on the audio output pins when the part receives audio sample packets with non L-PCM encoded audio data (that is,
AC-3 compressed audio) and if the following configuration is used:
I2SOUTMODE must be set to 0x0, 0x01, or 0x2 for I2S, right justified, and left justified format, respectively (see Figure 14, Figure 15,
and Figure 16).
MT_MSK_COMPRS_AUD is set to 0.
Note that no audio flags are output by the part in that configuration. Each binary stream output by the part may encapsulate stereo LPCM audio data or multichannel non L-PCM audio data (for example, 5.1 Dolby Digital).
Table 11. I2S/SPDIF Interface Description
I2S/SPDIF Interface IO
I2S0/SDPIF0
I2S1/SDPIF1
I2S2/SDPIF2
I2S3/SDPIF3
SCLK
LRCLK
MCLKOUT
LRCLK
Function
I2S audio (Channel 1, Channel 2)/SPDIF0
I2S audio (Channel 3, Channel 4)/SPDIF1
I2S audio (Channel 5, Channel 6)/SPDIF2
I2S audio (Channel 7, Channel 8)/SPDIF3
Bit clock
Data output clock for left and right channel
Audio master clock output
LEFT
RIGHT
SCLK
MSB
LSB
MSB
LSB
32 CLOCK SLOTS
32 CLOCK SLOTS
2
Figure 14. Timing Audio Data Output in I S Mode
Rev. 0 | Page 53 of 184
10884-018
ISx
UG-438
Hardware User Guide
LEFT
RIGHT
MSB
MSB
MSB
MSB – 1
LSB
MSB
MSB
MSB
MSB
LSB
MSB – 1
MSB EXTENDED
MSB EXTENDED
32 CLOCK SLOTS
10884-019
MSB
32 CLOCK SLOTS
Figure 15. Timing Audio Data Output in Right Justified Mode
RIGHT
MSB
LSB
MSB
LSB
32 CLOCK SLOTS
10884-020
LEFT
32 CLOCK SLOTS
Figure 16. Timing Audio Data Output in Left Justified Mode
0
3 4
SYNC
PREAMBLE
27 28
L
S
B
M
S
B
AUDIO SAMPLE WORD
V
31
U
C
P
VALIDITY FLAG
USER DATA
10884-021
CHANNEL STATUS
PARITY BIT
Figure 17. IEC60958 Subframe Timing Diagram
0
23
24
L
S
B
M
S
B
V
DATA
VALIDITY FLAG
27
U
C
B
31
0
0
0
0
ZERO PADDING
CHANNEL STATUS
BLOCK START FLAG
Figure 18. AES3 Subframe Timing Diagram
Rev. 0 | Page 54 of 184
10884-022
USER DATA
Hardware User Guide
UG-438
CHANNEL A
MSB
V
U
C
B
LSB
32 CLOCK SLOTS
MSB
V
U
C
B
32 CLOCK SLOTS
FRAME N
FRAME N + 1
10884-023
LSB
CHANNEL B
Figure 19. AES3 Stream Timing Diagram
DSD Audio Interface and Output Controls
The ADV7610 incorporates a four DSD channel interface used to output the audio stream extracted from DSD packets. Each of the DSD
channels carries an oversampled 1-bit representation of the audio signal as delivered on SACDs.
Table 12. DSD Interface Description
DSD Interface IO
DSD0A
DSD0B
DSD1A
DSD1B
SCLK
MCLKOUT
Function
First DSD data channel
Second DSD data channel
Third DSD data channel
Fourth DSD data channel
Bit clock
Audio master clock output
Two controls are provided to change the mapping between the audio output ports and DSD signals.
DSD_MAP_ROT[2:0], Addr 68 (HDMI), Address 0x6D[2:0]
A control to select the arrangement of the DSD interface on the audio output port pins.
Function
DSD_MAP_ROT[2:0]
000 (default)
001
010
011 to 111
Description
Reserved
DSD0A on I2S0, DSD0B on I2S1, DSD1A on I2S2, DSD1B on I2S3
DSD0A on I2S1, DSD0B on I2S2, DSD1A on I2S3, DSD1B on LRCLK
Reserved
DSD_MAP_INV, Addr 68 (HDMI), Address 0x6D[3]
A control to invert the arrangement of the DSD interface on the audio output port pins. Note the arrangement of the DSD interface on
the audio output port pins is determined by DSD_MAP_ROT[2:0].
Function
DSD_MAP_INV
0 (default)
1
Description
Do not invert arrangement of the DSD channels on the audio output port pins
Invert arrangement of the DSD channels on the audio output port pins
Note that DSD0A and DSD0B output must be used when in stereo mode only. DSD0A and DSD0B always carry the main 2-channel
audio data. DSD1A and DSD1B are the surround channels where: xx is the channel, for example, 0A, 0B.
10884-101
SCLK
DSDxx
Figure 20. DSD Timing Diagram
By default, the ADV7610 automatically enables the DSD interface if it receives DSD packets. The ADV7610 also automatically enables the
I2S interface if it receives audio sample packets or if it does not receive any audio packets. However, it is possible to override the audio
interface that is used via the OVR_AUTO_MUX_DSD_OUT and MUX_DSD_OUT controls.
Rev. 0 | Page 55 of 184
UG-438
Hardware User Guide
OVR_AUTO_MUX_DSD_OUT, Addr 68 (HDMI), Address 0x01[3]
DSD/DST override control. In automatic control, DSD or I2S interface is selected according to the type of packet received. DSD/DST
interface is enabled if the part receives DSD or DST audio sample packet. I2S interface is enabled when part receives audio sample packets
or when no packet is received. In manual mode, MUX_DSD_OUT selects the output interface.
Function
OVR_AUTO_MUX_DSD_OUT
0 (default)
1
Description
Automatic DSD/DST output control
Override DSD/DST output control
MUX_DSD_OUT, Addr 68 (HDMI), Address 0x01[4]
An override control for the DSD output.
Function
MUX_DSD_OUT
0 (default)
1
Description
Override by outputting I2S data
Override by outputting DSD/DST data
HBR Interface and Output Controls
The ADV7610 can receive HBR audio stream packets. The ADV7610 outputs HBR data over four of the audio output pins in any of the
following formats:
•
•
•
An SDPIF stream conforming to the IEC60958 specification (refer to Figure 17). The following configuration is required to output
an SPDIF stream on the HBR output pins:
• OVR_MUX_HBR is set to 0 or
• OVR_MUX_HBR is set to 1 and MUX_HBR_OUT is set to 1.
A binary stream if one of the following configurations is used:
• OVR_MUX_HBR is set to 1, MUX_HBR_OUT is set to 0, and I2SOUTMODE[1:0] is set to 0x0 for an I2S mode binary stream
(refer to Figure 14).
• OVR_MUX_HBR is set to 1, MUX_HBR_OUT is set to 0, and I2SOUTMODE[1:0] is set to 0x1 for a right justified stream
(refer to Figure 15).
• OVR_MUX_HBR is set to 1, MUX_HBR_OUT is set to 0, and I2SOUTMODE[1:0] is set to 0x2 for a left justified stream (refer
to Figure 16).
• No audio flags are output by the part in these configuration.
An AES3 stream on each HBR interface output pin (refer to Figure 18 and Figure 19). The following configuration is required to
output AES3 streams:
• OVR_MUX_HBR is set to 1.
• I2SOUTMODE[1:0] is set to 0b11.
It is important to note that:
•
•
Each of the four HBR outputs carry one of four consecutive blocks of the HBR stream.
The four streams on the four HBR pin are output at one quarter of the audio sample rate, fS.
Table 13. HBR Interface Description
HBR Interface IO
I2S0
I2S1
I2S2
I2S3
SCLK
LRCLK
MCLKOUT
Function
First block of HBR stream.
Second block of HBR stream
Third block of HBR stream
Fourth block of HBR stream
Bit clock
Data output clock for left and right channel
Audio master clock output
Note that the audio output mapping controls I2S_SPDIF_MAP_ROT[1:0] also apply to the HBR output signals.
Rev. 0 | Page 56 of 184
Hardware User Guide
UG-438
OVR_MUX_HBR, Addr 68 (HDMI), Address 0x01[2]
A control to select automatic or manual configuration for HBR outputs. Automatically, HBR outputs are encoded as SPDIF streams. In
manual mode, MUX_HBR_OUT selects the audio output interface.
Function
OVR_MUX_HBR
0 (default)
1
Description
Automatic HBR output control
Manual HBR output control
MUX_HBR_OUT, Addr 68 (HDMI), Address 0x01[1]
A control to manually select the audio output interface for HBR data. Valid when OVR_MUX_HBR is set to 1.
Function
MUX_HBR_OUT
0 (default)
1
Description
Override by outputting I2S data
Override by outputting SPDIF data
MCLKOUT SETTING
The frequency of audio master clock MCLKOUT is set using the MCLK_FS_N[2:0] register, as shown in Equation 3, relationship between
MCLKOUT, MCLKFS_N, and fs.
MCLKOUT = (MCLKFS_N[2:0] + 1) × 128 × fS
(3)
MCLK_FS_N[2:0], Addr 4C (DPLL), Address 0xB5[2:0]
Selects the frequency of MCLK out as multiple of 128 fs.
Function
MCLK_FS_N[2:0]
000
001 (default)
010
011
100
101
110
111
Description
128 fs
256 fs
384 fs
512 fs
640 fs
768 fs
Not valid
Not valid
AUDIO CHANNEL MODE
AUDIO_CH_MD_RAW indicates if 2-channel audio data or multichannel audio data is received.
AUDIO_CH_MD_RAW, IO, Address 0x65[4] (Read Only)
Raw status signal indicating the layout value of the audio packets that were last received.
Function
AUDIO_CH_MD_RAW
0
1
Description
The last audio packets received have a layout value of 1. (For example, Layout-1 corresponds to
2-channel audio when audio sample packets are received).
The last audio packets received have a layout value of 0. (For example, Layout-0 corresponds to
8-channel audio when audio sample packets are received.)
Note that the audio CH_MD_RAW flag is valid for audio sample packets and DSD packets.
AUDIO_CHANNEL_MODE, Addr 68 (HDMI), Address 0x07[6] (Read Only)
Flags stereo or multichannel audio packets. Note stereo packets may carry compressed multichannel audio.
Function
AUDIO_CHANNEL_MODE
0
1
Description
Stereo audio (may be compressed multichannel)
Multichannel uncompressed audio detected (Channel 3 to Channel 8).
Rev. 0 | Page 57 of 184
UG-438
Hardware User Guide
AUDIO MUTING
The ADV7610 integrates an advanced audio mute function that is designed to remove all extraneous noise and pops from a 2-channel
L-PCM audio stream at sample frequencies up to 48 kHz.
The hardware for audio mute function is composed of the following three blocks:
•
•
•
Audio delay line that delays Channel 1 and Channel 2 by 512 stereo samples.
Audio mute controller takes in event detection signals that can be used to determine when an audio mute is needed. The controller
generates a mute signal to the ramped audio block and a coast signal to the digital PLL generating the audio clock.
Ramped audio mute block that can mute the audio over the course of 512 stereo samples.
Note that the ADV7610 mutes only the noncompressed data from the audio sample packets output through the I2S and the SPDIF
interface.
Delay Line Control
The audio delay line should be enabled when the ADV7610 is configured for automatic mute. The audio delay line is controlled by the
MAN_AUDIO_DL_BYPASS and AUDIO_DELAY_LINE_BYPASS bits.
MAN_AUDIO_DL_BYPASS, Addr 68 (HDMI), Address 0x0F[7]
Audio delay bypass manual enable. The audio delay line is automatically active for stereo samples and bypassed for multichannel samples.
By setting MAN_AUDIO_DL_BYPASS to 1, the audio delay bypass configuration can be set by the user with the AUDIO_DELAY_
LINE_BYPASS control.
Function
MAN_AUDIO_DL_BYPASS
0 (default)
1
Description
Audio delay line is automatically bypassed if multichannel audio is received. The audio delay line is
automatically enabled if stereo audio is received.
Overrides automatic bypass of audio delay line. Audio delay line is applied depending on the
AUDIO_DELAY_LINE_BYPASS control.
AUDIO_DELAY_LINE_BYPASS, Addr 68 (HDMI), Address 0x0F[6]
Manual bypass control for the audio delay line. Only valid if MAN_AUDIO_DL_BYPASS is set to 1.
Function
AUDIO_DELAY_LINE_BYPASS
0 (default)
1
Description
Enables the audio delay line
Bypasses the audio delay line
Audio Mute Configuration
The ADV7610 can be configured to automatically mute an L-PCM audio stream when selectable mute conditions occur. The audio
muting is configured as follows:
•
•
•
•
Set the audio muting speed via AUDIO_MUTE_SPEED[4:0].
Set NOT_AUTO_UNMUTE, as follows:
• Set AUDIO_UNMUTE[2:0] to 0 if the audio must be unmuted automatically after a delay set in WAIT_UNMUTE[2:0] after all
selected mute conditions have become inactive.
• Set NOT_AUTO_UNMUTE to 1 if the audio must be unmuted manually (for example, by an external controller) when all
selected mute conditions have become inactive.
• Select the mute conditions that trigger an audio mute (refer to Table 14).
Select the Audio PLL coast conditions (refer to the Audio DPLL Coast Feature section).
Set WAIT_UNMUTE[2:0] to configure the audio counter that triggers the audio unmute when it has timed out after all selected
mute conditions have become inactive.
The ADV7610 internally unmutes the audio if the following three conditions (listed in order of priority) are met:
•
•
•
Mute conditions are inactive.
NOT_AUTO_UNMUTE is set to 0.
Audio unmute counter has finished counting down or is disabled.
Rev. 0 | Page 58 of 184
Hardware User Guide
UG-438
Notes
•
•
•
•
•
Both Table 8 and Table 14 provide a column with the heading ‘Corresponding Status Register(s)’. This column lists the status registers
that convey information related to their corresponding audio mute masks or coast masks.
The ADV7610 mute works differently for compressed audio data. In the case of compressed audio, mute outputs a constant stream of 0.
For the best audio muting performance, the following setting is recommended when the ADV7610 receives multichannel sample
packets:
• Set AUDIO_MUTE_SPEED to 1
For best audio muting performance, the following settings are recommended when the audio sampling frequency of the audio stream
is greater than 48 kHz:
• Set AUDIO_MUTE_SPEED to 1
• Set MAN_AUDIO_DL_BYPASS to 1
• Set AUDIO_DELAY_LINE_BYPASS to 1
For best audio muting performance, the following settings are recommended when the audio sampling frequency of the audio stream
is equal to or lower than 48 kHz:
• Set AUDIO_MUTE_SPEED to 0x1F
• Set MAN_AUDIO_DL_BYPASS to 0
MUTE_AUDIO, Addr 68 (HDMI), Address 0x1A[4]
A control to force an internal mute independently of the mute mask conditions.
Function
MUTE_AUDIO
0 (default)
1
Description
Audio in normal operation
Force audio mute
AUDIO_MUTE_SPEED[4:0], Addr 68 (HDMI), Address 0x0F[4:0]
Number of samples between each volume change of 1.5 dB when muting and unmuting.
Function
AUDIO_MUTE_SPEED[4:0]
0x1F (default)
Description
Default value
NOT_AUTO_UNMUTE, Addr 68 (HDMI), Address 0x1A[0]
A control to disable the auto unmute feature. When set to 1, audio can be unmuted manually if all mute conditions are inactive by setting
NOT_AUTO_UNMUTE to 0 and then back to 1.
Function
NOT_AUTO_UNMUTE
0 (default)
1
Description
Audio unmutes following a delay set by WAIT_UNMUTE after all mute conditions have become inactive
Prevents audio from unmuting automatically
WAIT_UNMUTE[2:0], Addr 68 (HDMI), Address 0x1A[3:1]
A control to delay audio unmute. Once all mute conditions are inactive WAIT_UNMUTE[2:0] can specify a further delay time before
unmuting. NOT_AUTO_UNMUTE must be set to 0 for this control to be effective.
Function
WAIT_UNMUTE[2:0]
000 (default)
001
010
011
100
Description
Disables/cancels delayed unmute. Audio unmutes directly after all mute conditions become inactive.
Unmutes 250 ms after all mute conditions become inactive.
Unmutes 500 ms after all mute conditions become inactive.
Unmutes 750 ms after all mute conditions become inactive.
Unmutes 1 sec after all mute conditions become inactive.
Rev. 0 | Page 59 of 184
UG-438
Hardware User Guide
Table 14. Selectable Mute Conditions
Bit Name
MT_MSK_COMPRS_AUD
MT_MSK_AUD_MODE_CHNG
HDMI Map
Address
0x14[5]
0x14[4]
MT_MSK_PARITY_ERR
0x14[1]
MT_MSK_VCLK_CHNG
0x14[0]
MT_MSK_APLL_UNLOCK
MT_MSK_VPLL_UNLOCK
MT_MSK_ACR_NOT_DET
0x15[7]
0x15[6]
0x15[5]
MT_MSK_FLATLINE_DET
MT_MSK_FIFO_UNDERFLOW
MT_MSK_FIFO_OVERFLOW
MT_MSK_AVMUTE
0x15[3]
0x15[1]
0x15[0]
0x16[7]
MT_MSK_NOT_HDMIMODE
MT_MSK_NEW_CTS
0x16[6]
0x16[5]
MT_MSK_NEW_N
MT_MSK_CHMODE_CHNG
0x16[4]
0x16[3]
MT_MSK_APCKT_ECC_ERR
0x16[2]
MT_MSK_CHNG_PORT
MT_MSK_VCLK_DET
0x16[1]
0x16[0]
Description
Causes audio mute if audio is compressed
Causes audio mute if audio mode changes between
PCM, DSD, DST, or HBR formats
Causes audio mute if parity bits in audio samples are
not correct
Causes audio mute if TMDS clock has irregular/missing
pulses
Causes audio mute if audio PLL unlocks
Causes audio mute if TMDS PLL unlocks
Causes audio mute if ACR packets are not received
within one VSync
Causes audio mute if flatline bit in audio packets is set
Causes audio mute if audio FIFO underflows
Causes audio mute if audio FIFO overflows
Causes audio mute if AVMute is set in the general
control packet
Causes audio mute if HDMI_MODE bit goes low
Causes audio mute if CTS changes by more than the
threshold set in CTS_CHANGE_THRESHOLD[5:0]
Causes audio mute if N changes
Causes audio mute if the channel mode changes from
stereo to multichannel, or vice versa
Causes audio mute if uncorrectable error is detected in
the audio packets by the ECC block
Causes audio mute if HDMI port is changed
Causes audio mute if TMDS clock is not detected
Rev. 0 | Page 60 of 184
Corresponding Status
Register(s)
CS_DATA[1]
AUDIO_SAMPLE_PCKT_DET
PARITY_ERROR_RAW
VCLK_CHNG_RAW
AUDIO_PLL_LOCKED
TMDS_PLL_LOCKED
AUDIO_C_PCKT_RAW
AUDIO_FLT_LINE_RAW
FIFO_UNDERFLO_RAW
FIFO_OVERFLO_RAW
AV_MUTE_RAW
HDMI_MODE
CTS_PASS_THRSH_RAW
CHANGE_N_RAW
AUDIO_MODE_CHNG_RAW
AUDIO_PCKT_ERR_RAW
HDMI_PORT_SELECT[2:0]
TMDS_CLK_A_RAW
Hardware User Guide
UG-438
Internal Mute Status
The internal mute status is provided through the INTERNAL_MUTE_RAW bit.
INTERNAL_MUTE_RAW, IO, Address 0x65[6] (Read Only)
Raw status signal of internal mute signal.
Function
INTERNAL_MUTE_RAW
0 (default)
1
Description
Audio is not muted
Audio is muted
AV Mute Status
AV_MUTE, Addr 68 (HDMI), Address 0x04[6] (Read Only)
Readback of AVMUTE status received in the last general control packet received.
Function
AV_MUTE
0 (default)
1
Description
AVMUTE not set
AVMUTE set
Audio Mute Signal
The ADV7610 can output an audio mute signal that can be used to control the muting in a back end audio device processing the audio
data output by the ADV7610 (for example, DSP).
The audio mute signal is output on the INT1 pin by setting EN_MUTE_RAW_INTRQ to 1. The active level of the mute signal on INT1
and INT2 is set via the INTRQ_OP_SEL[1:0] and INT2_POL controls, respectively.
The audio mute signal can also be output on the INT2 signal (via one of the following pins: SCLK/INT2, HPA_A/INT2 or MCLK/INT2)
by setting INTRQ2_MUX_SEL[1:0] to 1 and EN_MUTE_OUT_INTRQ2 to 1. The active level of the mute signal output on the INT2 pin
is set via INT2_POL.
Important
The ADV7610 may interface with an audio processor (for example, DSP) in which the muting of the audio is implemented. In this case,
the audio processor typically features a delay line followed by a mute block for audio mute and unmuting purposes. The following
hardware and software configuration is recommended for optimum muting performance of the ADV7610 and audio processor system:
•
•
Connect the mute signal of the ADV7610 to the audio processor mute input. The ADV7610 mute signal can now drive the
muting/unmuting of the audio data inside the audio processor.
Bypass the audio delay line of the ADV7610 with the following settings:
• Set MAN_AUDIO_DL_BYPASS to 1.
• Set AUDIO_DELAY_LINE_BYPASS to 1.
• Configure the ADV7610 to mute the audio over one audio sample clock as follows:
• Set AUDIO_MUTE_SPEED[4:0] to 1. This ensures that the ADV7610 never outputs invalid audio data out to the audio
processor.
EN_MUTE_RAW_INTRQ, IO Map, Address 0x40[3]
A control to apply the internal audio mute signal on INT1 interrupt pin.
Function
EN_MUTE_RAW_INTRQ
0 (default)
1
Description
Does not output audio mute signal on INT1
Outputs audio mute signal on INT1
EN_MUTE_RAW_INTRQ2, IO Map, Address 0x41[3]
A control to apply the internal audio mute signal on INT2 interrupt pin.
Function
EN_MUTE_RAW_INTRQ2
0 (default)
1
Description
Does not output audio mute signal on INT2
Outputs audio mute signal on INT2
Rev. 0 | Page 61 of 184
UG-438
Hardware User Guide
Audio Stream with Incorrect Parity Error
The ADV7610 discards audio sample packets that have an incorrect parity bit. When these samples are received, the ADV7610 repeats the
previous audio sample with a valid parity bit. The audio stream out of the ADV7610 can be muted in this situation if the audio mute mask
MT_MSK_PARITY_ERR is set.
It is possible to configure the ADV7610 so that it processes audio sample packets that have an incorrect parity bit and corrects the parity
bit. The ADV7610 can then output an audio stream even when the parity bits from the audio sample packet are invalid. This
configuration is activated by setting MT_MSK_PARITY_ERR to 0 and IGNORE_PARITY_ERR to 1.
IGNORE_PARITY_ERR, Addr 68 (HDMI), Address 0x1A[6]
A control to select the processing of audio samples even when they have a parity error.
Function
IGNORE_PARITY_ERR
0 (default)
1
Description
Discard audio sample packets that have an invalid parity bit
Process audio sample packets that have an invalid parity bit
MT_MSK_PARITY_ERR, Addr 68 (HDMI), Address 0x14[1]
Audio mute mask for a parity error. It sets the audio mutes if an audio sample packet is received with an incorrect parity bit.
Function
MT_MSK_PARITY_ERR
1 (default)
Description
Audio mute occurs if an audio sample packet is received with an incorrect parity bit
AUDIO CLOCK REGENERATION PARAMETERS
The ADV7610 recreates an internal audio master clock using audio clock regeneration (ACR) values transmitted by the HDMI source.
ACR Parameters Readbacks
The registers N and CTS can be read back from the HDMI map.
CTS[19:0], Addr 68 (HDMI), Address 0x5B[7:0]; Address 0x5C[7:0]; Address 0x5D[7:4] (Read Only)
A readback for the CTS value received in the HDMI data stream.
Function
CTS[19:0]
00000000000000000000 (default)
xxxxxxxxxxxxxxxxxxxx
Description
Default CTS value readback from HDMI stream
CTS value readback from HDMI stream
N[19:0], Addr 68 (HDMI), Address 0x5D[3:0]; Address 0x5E[7:0]; Address 0x5F[7:0] (Read Only)
A readback for the N value received in the HDMI data stream.
Function
N[19:0]
00000000000000000000 (default)
xxxxxxxxxxxxxxxxxxxx
Description
Default N value readback from HDMI stream
N value readback from HDMI stream
Note: A buffer has been implemented for the N and CTS readback registers. A read of the HDMI map, Address 0x5B register updates the
buffer that stores the N and CTS readback registers. The buffer implemented for N and CTS readback allows the reading of both N and
CTS registers within an I2C block read.
Monitoring ACR Parameters
The reception of ACR packets can be notified via the AUDIO_C_PCKT_RAW flag. Changes in N and CTS can be monitored via the
CHANGE_N_RAW and CTS_PASS_THRSH_RAW flags, as described in this section.
AUDIO_C_PCKT_RAW, IO, Address 0x65[1] (Read Only)
Raw status signal of audio clock regeneration packet detection signal.
Function
AUDIO_C_PCKT_RAW
0 (default)
1
Description
No audio clock regeneration packets received since the last HDMI reset condition
Audio clock regeneration packets received
Rev. 0 | Page 62 of 184
Hardware User Guide
UG-438
CHANGE_N_RAW, IO, Address 0x7E[3] (Read Only)
Status of the ACR N Value changed interrupt signal. When set to 1 it indicates the N Value of the ACR packets has changed. Once set, this
bit will remain high until it is cleared via CHANGE_N_CLR.
Function
CHANGE_N_RAW
0 (default)
1
Description
Audio clock regeneration N value has not changed.
Audio clock regeneration N value has changed.
CTS_PASS_THRSH_RAW, IO, Address 0x7E[4] (Read Only)
Status of the ACR CTS value exceed threshold interrupt signal. When set to 1, it indicates the CTS Value of the ACR packets has exceeded
the threshold set by CTS_CHANGE_THRESHOLD. Once set, this bit will remain high until it is cleared via CTS_PASS_THRSH_CLR.
Function
CTS_PASS_THRSH_RAW
0 (default)
1
Description
Audio clock regeneration CTS value has not passed the threshold.
Audio clock regeneration CTS value has changed more than threshold.
CTS_CHANGE_THRESHOLD[5:0], Addr 68 (HDMI), Address 0x10[5:0]
Sets the tolerance for change in the CTS value. This tolerance is used for the audio mute mask MT_MSK_NEW_CTS and the HDMI
status bit CTS_PASS_THRSH_RAW and the HDMI interrupt status bit CTS_PASS_THRSH_ST. This register controls the amounts of
LSBs that the CTS can change before an audio mute, status change or interrupt is triggered.
Function
CTS_CHANGE_THRESHOLD[5:0]
100101 (default)
xxxxxx
Description
Tolerance of CTS value for CTS_PASS_THRSH_RAW and MT_MSK_NEW_CTS
Tolerance of CTS value for CTS_PASS_THRSH_RAW and MT_MSK_NEW_CTS
CHANNEL STATUS
Channel status bits are extracted from the HDMI audio packets of the first audio channel (that is, Channel 0) and stored in registers
CHANNEL_STATUS_DATA_X of the HDMI Map (where X = 1, 2, 3, 4, and 5).
Validity Status Flag
The channel status readback described in the Channel Status section should be considered valid if CS_DATA_VALID_RAW is set to 1.
Figure 21 shows the algorithm that can be implemented to monitor the read valid channel status bit using the CS_DATA_VALID_RAW flag.
CS_DATA_VALID_RAW, IO, Address 0x65[7] (Read Only)
Raw status signal of channel status data valid signal.
Function
CS_DATA_VALID_RAW
0 (default)
1
Description
Channel status data is not valid.
Channel status data is valid.
Rev. 0 | Page 63 of 184
UG-438
Hardware User Guide
START
ENABLE THE CS_DATA_VALID_ST
INTERRUPT
INITIALIZATION
NO
CHECK IF THE CS_DATA_VALID
INTERRUPT HAS TRIGGERED
IS
CS_DATA_VALID_S
T SET TO 1?
NO
SET CS_DATA_VALID_CLR TO 1
IS
CS_DATA_VALID_R
AW SET TO 1?
YES
READ THE CHANNEL STATUS BITS IN
HDMI MAP 0x36 TO 0x3A
THE CHANNEL STATUS BITS PREVIOUSLY
READ ARE NOT VALID
IS
CS_DATA_VALID_S
T SET TO 1?
YES
READ THE CHANNEL STATUS BITS
AND DECIDE IF THEY ARE VALID
THE CHANNEL STATUS BITS PREVIOUSLY
READ ARE VALID
10884-027
NO
Figure 21. Reading Valid Channel Status Flags
Notes
•
•
CS_DATA_VALID_RAW indicates that the first 40 of the channel status bits sent by the upstream transmitter have been correctly
collected. This bit does not indicate if the content of the channel status bit is corrupted because this is indeterminable.
A corresponding interrupt can be enabled for CS_DATA_VALID_RAW by setting the mask CS_DATA_VALID_MB1 or
CS_DATA_VALID_MB2. Refer to the Interrupts section for additional information on the interrupt feature.
General Control and Mode Information
The general control and mode information are specified in Byte 0 of the channel status. For more information, refer to the IEC60958
standards.
CS_DATA[0], Consumer/Professional Application, HDMI Map, Address 0x36[0]
Function
CS_DATA[0]
0 (default)
1
Description
Consumer application
Professional application
Rev. 0 | Page 64 of 184
Hardware User Guide
UG-438
CS_DATA[1], PCM/non-PCM Audio Sample, HDMI Map, Address 0x36[1]
Function
CS_DATA[1]
0 (default)
1
Description
Audio sample word represents linear PCM samples
Audio sample word used for other purposes
CS_DATA[2], Copyright, HDMI Map, Address 0x36[2]
Function
CS_DATA[2]
0 (default)
1
Description
Software for which copyright is asserted
Software for which no copyright is asserted
CS_DATA[5:3], Emphasis, HDMI Map, Address 0x36[5:3]
Function
CS_DATA[5:3]1
000 (default)
001
1
Description
Two audio channels without pre-emphasis
Two audio channels with 50/15 pre-emphasis
Unspecified values are reserved.
CS_DATA[7:6], Channel Status Mode, HDMI Map, Address 0x36[7:6]
Function
CS_DATA[7:6]1
00 (default)
1
Description
Mode 0
Unspecified values are reserved.
Category Code
The category code is specified in Byte 1 of the channel status. The category code indicates the type of equipment that generates the digital
audio interface signal. For more information, refer to the IEC60958 standards.
CS_DATA[15:8], Category Code, HDMI Map, Address 0x37[7:0]
Function
CS_DATA[15:8]
xxxx xxxx
0000 0000 (default)
1
Description
Category code1
Reset value
Refer to IEC60958-3 standards.
Source Number and Channel Number
CS_DATA[19:16], Source Number, HDMI Map, Address 0x38[3:0]
Function
CS_DATA[19:16]
xxxx
0000 (default)
1
Description
Source number1
Reset value
Refer to IEC60958-3 standards.
CS_DATA[23:20], Channel Number, HDMI Map, Address 0x38[7:4]
Function
CS_DATA[23:20]
xxxxx
00000 (default)
1
Description
Channel number1
Reset value
Refer to IEC60958-3 standards.
Rev. 0 | Page 65 of 184
UG-438
Hardware User Guide
Sampling and Frequency Accuracy
The sampling frequency and clock accuracy are specified by Byte 3 of the channel status. For additional information, refer to the
IEC60958 standards.
CS_DATA[27:24], Sampling Frequency, HDMI Map, Address 0x39[3:0]
Function
CS_DATA[27:24]1
0000 (default)
0010
0011
1000
1001
1010
1100
1110
1
Description
44.1 kHz
48 kHz
32 kHz
88.2 kHz
768 kHz
96 kHz
176 kHz
192 kHz
Unspecified values are reserved.
CS_DATA[29:28], Clock Accuracy, HDMI Map, Address 0x39[5:4]
Function
CS_DATA[29:28]
00 (default)
01
10
11
Description
Level II, ±1000 ppm
Level I, ±50 ppm
Level III, variable pitch shifted
Reserved
CS_DATA[31:30], Reserved Register, HDMI Map, Address 0x39[7:6]
Function
CS_DATA[31:30]
XX
00 (default)
Description
Reserved
Reset value
Word Length
Word length information is specified in Byte 4 of the channel status bit. For more information, refer to the IEC60958 standards.
CS_DATA[32], Maximum Word Length Size, HDMI Map, Address 0x3A, [0]
Function
CS_DATA[32]
0 (default)
1
Description
Maximum audio sample word length is 20 bits.
Maximum audio sample word length is 24 bits.
CS_DATA[35:33], Word Length, HDMI Map, Address 0x3A, [3:1]
Function
CS_DATA[35:33]1
000 (default)
001
010
100
101
110
1
Description
Audio sample word length if maximum length is 24 as
indicated by CS_DATA_[32]
Word length not indicated
20 bits
22 bits
23 bits
24 bits
21 bits
Unspecified values are reserved.
Rev. 0 | Page 66 of 184
Audio sample word length if maximum length is 20 as
indicated by CS_DATA_[32]
Word length not indicated
16 bits
18 bits
19 bits
20 bits
21 bits
Hardware User Guide
UG-438
Channel Status Copyright Value Assertion
It is possible to overwrite the copyright value of the channel status bit that is passed to the SPDIF output. This is done via the
CS_COPYRIGHT_MANUAL and CS_COPYRIGHT_VALUE controls.
CS_COPYRIGHT_MANUAL, Addr 68 (HDMI), Address 0x50[1]
A control to select automatic or manual setting of the copyright value of the channel status bit that is passed to the SPDIF output. Manual
control is set with the CS_COPYRIGHT_VALUE bit.
Function
CS_COPYRIGHT_MANUAL
0 (default)
1
Description
Automatic CS copyright control.
Manual CS copyright control. Manual value is set by CS_COPYRIGHT_VALUE.
CS_COPYRIGHT_VALUE, Addr 68 (HDMI), Address 0x50[0]
A control to set the CS copyright value when in manual configuration of the CS copyright bit that is passed to the SPDIF output.
Function
CS_COPYRIGHT_VALUE
0 (default)
1
Description
Copyright value of channel status bit is 0. Valid only if CS_COPYRIGHT_MANUAL is set to 1.
Copyright value of channel status bit is 1. Valid only if CS_COPYRIGHT_MANUAL is set to 1.
Monitoring Change of Audio Sampling Frequency
The ADV7610 features the NEW_SAMP_RT_RAW flag to monitor changes in the audio sampling frequency field of the channel status bits.
NEW_SAMP_RT_RAW, IO, Address 0x83[3] (Read Only)
Status of new sampling rate interrupt signal. When set to 1, it indicates that audio sampling frequency field in channel status data has
changed. Once set, this bit will remain high until it is cleared via NEW_SAMP_RT _CLR.
Function
NEW_SAMP_RT_RAW
0 (default)
1
Description
Sampling rate bits of the channel status data on audio Channel 0 have not changed.
Sampling rate bits of the channel status data on audio Channel 0 have changed.
Important
The NEW_SAMP_RT_RAW flag does not trigger if CS_DATA_VALID_RAW is set to 0. This prevents the notification of a change from a
valid to an invalid audio sampling frequency readback in the channel status bits, and vice versa.
PACKETS AND INFOFRAMES REGISTERS
In HDMI, auxiliary data is carried across the digital link using a series of packets. The ADV7610 automatically detects and stores the
following HDMI packets:
•
•
•
•
InfoFrames
Audio content protection (ACP)
International standard recording code (ISRC)
Gamut metadata
When the ADV7610 receives one of these packets, it computes the packet checksum and compares it with the checksum available in the
packet. If these checksums are the same, the packets are stored in the corresponding registers. If the checksums are not the same, the
packets are discarded. Refer to the EIA/CEA-861D specifications for more information on the packets fields.
InfoFrames Registers
The ADV7610 can store the following InfoFrames:
•
•
•
•
Auxiliary video information (AVI) InfoFrame
Source production descriptor (SPD) InfoFrame
Audio InfoFrame
Moving picture expert group (MPEG) source InfoFrame
Rev. 0 | Page 67 of 184
UG-438
Hardware User Guide
InfoFrame Collection Mode
The ADV7610 has two modes for storing the InfoFrame packet sent from the source into the internal memory. By default, the ADV7610
only stores the InfoFrame packets received if the checksum is correct for each InfoFrame.
The ADV7610 also provides a mode to store every InfoFrame sent from the source, regardless of a InfoFrame packet checksum error.
ALWAYS_STORE_INF, Addr 68 (HDMI), Address 0x47[0]
A control to force InfoFrames with checksum errors to be stored.
Function
ALWAYS_STORE_INF
0 (default)
1
Description
Stores data from received InfoFrames only if their checksum is correct
Always store the data from received InfoFrame regardless of their checksum
InfoFrame Checksum Error Flags
The following checksum error status registers flag when the last InfoFrame received has a checksum error. Once set, these bits remain
high until the interrupt is cleared via their corresponding clear bits.
AVI_INF_CKS_ERR_RAW, IO, Address 0x88[4] (Read Only)
Status of AVI InfoFrame checksum error interrupt signal. When set to 1, it indicates that a checksum error has been detected for an AVI
InfoFrame. Once set, this bit remains high until it is cleared via AVI_INF_CKS_ERR_CLR.
Function
AVI_INF_CKS_ERR_RAW
0 (default)
1
Description
No AVI InfoFrame checksum error has occurred.
An AVI InfoFrame checksum error has occurred.
AUD_INF_CKS_ERR_RAW, IO, Address 0x88[5] (Read Only)
Status of audio InfoFrame checksum error interrupt signal. When set to 1, it indicates that a checksum error has been detected for an
audio InfoFrame. Once set, this bit remains high until it is cleared via AUDIO_INF_CKS_ERR_CLR.
Function
AUD_INF_CKS_ERR_RAW
0 (default)
1
Description
No audio InfoFrame checksum error has occurred.
An audio InfoFrame checksum error has occurred.
SPD_INF_CKS_ERR_RAW, IO, Address 0x88[6] (Read Only)
Status of SPD InfoFrame checksum error interrupt signal. When set to 1, it indicates that a checksum error has been detected for an SPD
InfoFrame. Once set, this bit remains high until it is cleared via ASPD_INF_CKS_ERR_CLR.
Function
SPD_INF_CKS_ERR_RAW
0 (default)
1
Description
No SPD InfoFrame checksum error has occurred.
An SPD InfoFrame checksum error has occurred.
MS_INF_CKS_ERR_RAW, IO, Address 0x88[7] (Read Only)
Status of MPEG source InfoFrame checksum error interrupt signal. When set to 1. it indicates that a checksum error has been detected for
an MPEG source InfoFrame. Once set, this bit remains high until it is cleared via MS_INF_CKS_ERR_CLR.
Function
MS_INF_CKS_ERR_RAW
0 (default)
1
Description
No MPEG source InfoFrame checksum error has occurred.
An MPEG source InfoFrame checksum error has occurred.
Rev. 0 | Page 68 of 184
Hardware User Guide
UG-438
VS_INF_CKS_ERR_RAW, IO, Address 0x8D[0] (Read Only)
Status of vendor specific InfoFrame checksum error interrupt signal. When set to 1, it indicates that a checksum error has been detected
for an Vendor Specific InfoFrame. Once set, this bit will remain high until it is cleared via VS_INF_CKS_ERR_CLR.
Function
VS_INF_CKS_ERR_RAW
0 (default)
1
Description
No VS InfoFrame checksum error has occurred
A VS InfoFrame checksum error has occurred
AVI InfoFrame Registers
Table 15 provides a list of readback registers for the AVI InfoFrame data. Refer to the EIA/CEA-861D specifications for a detailed
explanation of the AVI InfoFrame fields.
Table 15. AVI InfoFrame Registers
InfoFrame Map Address
0xE0
0xE1
0xE2
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
1
Access Type
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
AVI_PACKET_ID[7:0]
AVI_INF_VER
AVI_INF_LEN
AVI_INF_PB_0_1
AVI_INF_PB_0_2
AVI_INF_PB_0_3
AVI_INF_PB_0_4
AVI_INF_PB_0_5
AVI_INF_PB_0_6
AVI_INF_PB_0_7
AVI_INF_PB_0_8
AVI_INF_PB_0_9
AVI_INF_PB_0_10
AVI_INF_PB_0_11
AVI_INF_PB_0_12
AVI_INF_PB_0_13
AVI_INF_PB_0_14
AVI_INF_PB_0_15
AVI_INF_PB_0_16
AVI_INF_PB_0_17
AVI_INF_PB_0_18
AVI_INF_PB_0_19
AVI_INF_PB_0_20
AVI_INF_PB_0_21
AVI_INF_PB_0_22
AVI_INF_PB_0_23
AVI_INF_PB_0_24
AVI_INF_PB_0_25
AVI_INF_PB_0_26
AVI_INF_PB_0_27
AVI_INF_PB_0_28
Byte Name1
Packet type value
InfoFrame version number
InfoFrame length
Checksum
Data Byte 1
Data Byte 2
Data Byte 3
Data Byte 4
Data Byte 5
Data Byte 6
Data Byte 7
Data Byte 8
Data Byte 9
Data Byte 10
Data Byte 11
Data Byte 12
Data Byte 13
Data Byte 14
Data Byte 15
Data Byte 16
Data Byte 17
Data Byte 18
Data Byte 19
Data Byte 20
Data Byte 21
Data Byte 22
Data Byte 23
Data Byte 24
Data Byte 25
Data Byte 26
Data Byte 27
As defined by the EIA/CEA-861D specifications.
The AVI InfoFrame registers are considered valid if the following two conditions are met:
•
•
AVI_INFO_RAW is 1.
AVI_INF_CKS_ERR_RAW is 0. This condition applies only if ALWAYS_STORE_INF is set to 1.
AVI_INFO_RAW is described in the Interrupt Architecture Overview section.
Rev. 0 | Page 69 of 184
UG-438
Hardware User Guide
Audio InfoFrame Registers
Table 16 provides the list of readback registers available for the Audio InfoFrame. Refer to the EIA/CEA-861D specifications for a detailed
explanation of the audio InfoFrame fields.
Table 16. Audio InfoFrame Registers
InfoFrame Map Address
0xE3
0xE4
0xE5
0x1C
0x1D
0x1E
0x1F
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
1
Access Type
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
AUD_PACKET_ID[7:0]
AUD_INF_VERS
AUD_INF_LEN
AUD_INF_PB_0_1
AUD_INF_PB_0_2
AUD_INF_PB_0_3
AUD_INF_PB_0_4
AUD_INF_PB_0_5
AUD_INF_PB_0_6
AUD_INF_PB_0_7
AUD_INF_PB_0_8
AUD_INF_PB_0_9
AUD_INF_PB_0_10
AUD_INF_PB_0_11
AUD_INF_PB_0_12
AUD_INF_PB_0_13
AUD_INF_PB_0_14
Byte Name1
Packet type value
InfoFrame version number
InfoFrame length
Checksum
Data Byte 1
Data Byte 2
Data Byte 3
Data Byte 4
Data Byte 5
Data Byte 6
Data Byte 7
Data Byte 8
Data Byte 9
Data Byte 10
Data Byte 11
Data Byte 12
Data Byte 13
As defined by the EIA/CEA-861D specifications.
The audio InfoFrame registers are considered valid if the following two conditions are met:
•
•
AUDIO_INFO_RAW is 1.
AUD_INF_CKS_ERR_RAW is 0. This condition applies only if ALWAYS_STORE_INF is set to 1.
AUDIO_INFO_RAW, IO, Address 0x60[1] (Read Only)
Raw status of audio InfoFrame detected signal.
Function
AUDIO_INFO_RAW
0 (default)
1
Description
No AVI InfoFrame has been received within the last three VSyncs or since the last HDMI packet detection reset.
An Audio InfoFrame has been received within the last three VSyncs. This bit will reset to zero on the fourth VSync
leading edge following an Audio InfoFrame, after an HDMI packet detection reset or upon writing to
AUD_PACKET_ID.
Rev. 0 | Page 70 of 184
Hardware User Guide
UG-438
SPD InfoFrame Registers
Table 17 provides a list of readback registers available for the SPD InfoFrame. Refer to the EIA/CEA-861D specifications for a detailed
explanation of the SPD InfoFrame fields.
Table 17. SPD InfoFrame Registers
InfoFrame Map Address
0xE6
0xE7
0xE8
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
0x30
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x38
0x39
0x3A
0x3B
0x3C
0x3D
0x3E
0x3F
0x40
0x41
0x42
0x43
0x44
0x45
1
Access Type
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
SPD_PACKET_ID[7:0]
SPD_INF_VER
SPD_INF_LEN
SPD_INF_PB_0_1
SPD_INF_PB_0_2
SPD_INF_PB_0_3
SPD_INF_PB_0_4
SPD_INF_PB_0_5
SPD_INF_PB_0_6
SPD_INF_PB_0_7
SPD_INF_PB_0_8
SPD_INF_PB_0_9
SPD_INF_PB_0_10
SPD_INF_PB_0_11
SPD_INF_PB_0_12
SPD_INF_PB_0_13
SPD_INF_PB_0_14
SPD_INF_PB_0_15
SPD_INF_PB_0_16
SPD_INF_PB_0_17
SPD_INF_PB_0_18
SPD_INF_PB_0_19
SPD_INF_PB_0_20
SPD_INF_PB_0_21
SPD_INF_PB_0_22
SPD_INF_PB_0_23
SPD_INF_PB_0_24
SPD_INF_PB_0_25
SPD_INF_PB_0_26
SPD_INF_PB_0_27
SPD_INF_PB_0_28
Byte Name1
Packet type value
InfoFrame version number
InfoFrame length
Checksum
Data Byte 1
Data Byte 2
Data Byte 3
Data Byte 4
Data Byte 5
Data Byte 6
Data Byte 7
Data Byte 8
Data Byte 9
Data Byte 10
Data Byte 11
Data Byte 12
Data Byte 13
Data Byte 14
Data Byte 15
Data Byte 16
Data Byte 17
Data Byte 18
Data Byte 19
Data Byte 20
Data Byte 21
Data Byte 22
Data Byte 23
Data Byte 24
Data Byte 25
Data Byte 26
Data Byte 27
As defined by the EIA/CEA-861D specifications.
The Source Product Descriptor InfoFrame registers are considered valid if the following two conditions are met:
•
•
SPD_INFO_RAW is 1.
SPD_INF_CKS_ERR_RAW is 0. This condition only applies if ALWAYS_STORE_INF is set to 1.
SPD_INFO_RAW, IO, Address 0x60[2] (Read Only)
Raw status of SPD InfoFrame detected signal.
Function
SPD_INFO_RAW
0 (default)
1
Description
No source product description InfoFrame received since the last HDMI packet detection reset.
Source product description InfoFrame received. This bit resets to zero after an HDMI packet detection reset
or upon writing to SPD_PACKET_ID.
Rev. 0 | Page 71 of 184
UG-438
Hardware User Guide
MPEG Source InfoFrame Registers
Table 18 provides a list of readback registers available for the MPEG InfoFrame. Refer to the EIA/CEA-861D specifications for a detailed
explanation of the MPEG InfoFrame fields.
Table 18. MPEG InfoFrame Registers
InfoFrame Map Address
0xE9
0xEA
0xEB
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x4E
0x4F
0x50
0x51
0x52
0x53
1
Access Type
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
MS_PACKET_ID[7:0]
MS_INF_VERS
MS_INF_LEN
MS_INF_PB_0_1
MS_INF_PB_0_2
MS_INF_PB_0_3
MS_INF_PB_0_4
MS_INF_PB_0_5
MS_INF_PB_0_6
MS_INF_PB_0_7
MS_INF_PB_0_8
MS_INF_PB_0_9
MS_INF_PB_0_10
MS_INF_PB_0_11
MS_INF_PB_0_12
MS_INF_PB_0_13
MS_INF_PB_0_14
Byte Name1
Packet type value
InfoFrame version number
InfoFrame length
Checksum
Data Byte 1
Data Byte 2
Data Byte 3
Data Byte 4
Data Byte 5
Data Byte 6
Data Byte 7
Data Byte 8
Data Byte 9
Data Byte 10
Data Byte 11
Data Byte 12
Data Byte 13
As defined by the EIA/CEA-861D specifications.
The MPEG InfoFrame registers are considered valid if the following two conditions are met:
•
•
MS_INFO_RAW is 1.
MS_INF_CKS_ERR_RAW is 0. This condition applies only if ALWAYS_STORE_INF is set to 1.
MS_INFO_RAW, IO, Address 0x60[3] (Read Only)
Raw status signal of MPEG source InfoFrame detection signal.
Function
MS_INFO_RAW
0 (default)
1
Description
No source product description InfoFrame received within the last three VSyncs or since the last HDMI packet
detection reset.
MPEG Source InfoFrame received. This bit resets to zero after an HDMI packet detection reset or upon
writing to MS_PACKET_ID.
Rev. 0 | Page 72 of 184
Hardware User Guide
UG-438
Vendor Specific InfoFrame Registers
Table 19 provides a list of readback registers available for the vendor specific InfoFrame.
Table 19. VS InfoFrame Registers
InfoFrame Map Address
0xEC
0xED
0xEE
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
VS_PACKET_ID[7:0]
VS_INF_VERS
VS_INF_LEN
VS_INF_PB_0_1
VS_INF_PB_0_2
VS_INF_PB_0_3
VS_INF_PB_0_4
VS_INF_PB_0_5
VS_INF_PB_0_6
VS_INF_PB_0_7
VS_INF_PB_0_8
VS_INF_PB_0_9
VS_INF_PB_0_10
VS_INF_PB_0_11
VS_INF_PB_0_12
VS_INF_PB_0_13
VS_INF_PB_0_14
VS_INF_PB_0_15
VS_INF_PB_0_16
VS_INF_PB_0_17
VS_INF_PB_0_18
VS_INF_PB_0_19
VS_INF_PB_0_20
VS_INF_PB_0_21
VS_INF_PB_0_22
VS_INF_PB_0_23
VS_INF_PB_0_24
VS_INF_PB_0_25
VS_INF_PB_0_26
VS_INF_PB_0_27
VS_INF_PB_0_28
Byte Name
Packet type value
InfoFrame version number
InfoFrame length
Checksum
Data Byte 1
Data Byte 2
Data Byte 3
Data Byte 4
Data Byte 5
Data Byte 6
Data Byte 7
Data Byte 8
Data Byte 9
Data Byte 10
Data Byte 11
Data Byte 12
Data Byte 13
Data Byte 14
Data Byte 15
Data Byte 16
Data Byte 17
Data Byte 18
Data Byte 19
Data Byte 20
Data Byte 21
Data Byte 22
Data Byte 23
Data Byte 24
Data Byte 25
Data Byte 26
Data Byte 27
The vendor specific InfoFrame registers are considered valid if the following two conditions are met:
•
•
VS_INFO_RAW is 1.
VS_INF_CKS_ERR_RAW is 0. This condition applies only if ALWAYS_STORE_INF is set to 1.
VS_INFO_RAW, IO, Address 0x60[4] (Read Only)
Raw status signal of vendor specific InfoFrame detection signal.
Function
VS_INFO_RAW
0 (default)
1
Description
No new VS InfoFrame has been received since the last HDMI packet detection reset.
A new VS InfoFrame has been received. This bit resets to zero after an HDMI packet detection reset or
upon writing to VS_PACKET_ID.
Rev. 0 | Page 73 of 184
UG-438
Hardware User Guide
PACKET REGISTERS
ACP Packet Registers
Table 20 provides the list of readback registers available for the ACP packets. Refer to the HDMI specifications for a detailed explanation
of the ACP packet fields.
Table 20. ACP Packet Registers
InfoFrame Map Address
0xEF
0xF0
0xF1
0x70
0x71
0x72
0x73
0x74
0x75
0x76
0x77
0x78
0x79
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
0x88
0x89
0x8A
0x8B
1
R/W
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
ACP_PACKET_ID[7:0]
ACP_TYPE
ACP_HEADER2
ACP_PB_0_1
ACP_PB_0_2
ACP_PB_0_3
ACP_PB_0_4
ACP_PB_0_5
ACP_PB_0_6
ACP_PB_0_7
ACP_PB_0_8
ACP_PB_0_9
ACP_PB_0_10
ACP_PB_0_11
ACP_PB_0_12
ACP_PB_0_13
ACP_PB_0_14
ACP_PB_0_15
ACP_PB_0_16
ACP_PB_0_17
ACP_PB_0_18
ACP_PB_0_19
ACP_PB_0_20
ACP_PB_0_21
ACP_PB_0_22
ACP_PB_0_23
ACP_PB_0_24
ACP_PB_0_25
ACP_PB_0_26
ACP_PB_0_27
ACP_PB_0_28
Packet Byte No.1
Packet type value
HB1
HB2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PB8
PB9
PB10
PB11
PB12
PB13
PB14
PB15
PB16
PB17
PB18
PB19
PB20
PB21
PB22
PB23
PB24
PB25
PB26
PB27
As defined by the HDMI specifications.
The ACP InfoFrame registers are considered valid if ACP_PCKT_RAW is set to 1.
ACP_PCKT_RAW, IO, Address 0x60[5] (Read Only)
Raw status signal of audio content protection packet detection signal.
Function
ACP_PCKT_RAW
0 (default)
1
Description
No ACP packet received within the last 600 ms or since the last HDMI packet detection reset.
ACP packets have been received within the last 600 ms. This bit resets to zero after an HDMI packet detection
reset or upon writing to ACP_PACKET_ID.
Rev. 0 | Page 74 of 184
Hardware User Guide
UG-438
ISRC Packet Registers
Table 21 and Table 22 provide lists of readback registers available for the ISRC packets. Refer to the HDMI specifications for a detailed
explanation of the ISRC packet fields.
Table 21. ISRC1 Packet Registers
InfoFrame Map Address
0xF2
0xF3
0xF4
0x8C
0x8D
0x8E
0x8F
0x90
0x91
0x92
0x93
0x94
0x95
0x96
0x97
0x98
0x99
0x9A
0x9B
0x9C
0x9D
0x9E
0x9F
0xA0
0xA1
0xA2
0xA3
0xA4
0xA5
0xA6
0xA7
1
R/W
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
ISRC1_PACKET_ID[7:0]
ISRC1_HEADER1
ISRC1_HEADER2
ISRC1_PB_0_1
ISRC1_PB_0_2
ISRC1_PB_0_3
ISRC1_PB_0_4
ISRC1_PB_0_5
ISRC1_PB_0_6
ISRC1_PB_0_7
ISRC1_PB_0_8
ISRC1_PB_0_9
ISRC1_PB_0_10
ISRC1_PB_0_11
ISRC1_PB_0_12
ISRC1_PB_0_13
ISRC1_PB_0_14
ISRC1_PB_0_15
ISRC1_PB_0_16
ISRC1_PB_0_17
ISRC1_PB_0_18
ISRC1_PB_0_19
ISRC1_PB_0_20
ISRC1_PB_0_21
ISRC1_PB_0_22
ISRC1_PB_0_23
ISRC1_PB_0_24
ISRC1_PB_0_25
ISRC1_PB_0_26
ISRC1_PB_0_27
ISRC1_PB_0_28
As defined by the HDMI specifications.
Rev. 0 | Page 75 of 184
Packet Byte No.1
Packet type value
HB1
HB2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PB8
PB9
PB10
PB11
PB12
PB13
PB14
PB15
PB16
PB17
PB18
PB19
PB20
PB21
PB22
PB23
PB24
PB25
PB26
PB27
UG-438
Hardware User Guide
The ISRC1 packet registers are considered valid if ISRC1_PCKT_RAW is set to 1.
ISRC1_PCKT_RAW, IO, Address 0x60[6] (Read Only)
Raw status signal of International Standard Recording Code 1 (ISRC1) packet detection signal.
Function
ISRC1_PCKT_RAW
0 (default)
1
Description
No ISRC1 packets received since the last HDMI packet detection reset.
ISRC1 packets have been received. This bit resets to zero after an HDMI packet detection reset or
upon writing to ISRC1_PACKET_ID.
Table 22. ISRC2 Packet Registers
InfoFrame Map Address
0xF5
0xF6
0xF7
0xA8
0xA9
0xAA
0xAB
0xAC
0xAD
0xAE
0xAF
0xB0
0xB1
0xB2
0xB3
0xB4
0xB5
0xB6
0xB7
0xB8
0xB9
0xBA
0xBB
0xBC
0xBD
0xBE
0xBF
0xC0
0xC1
0xC2
0xC3
1
R/W
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
ISRC2_PACKET_ID[7:0]
ISRC2_HEADER1
ISRC2_HEADER2
ISRC2_PB_0_1
ISRC2_PB_0_2
ISRC2_PB_0_3
ISRC2_PB_0_4
ISRC2_PB_0_5
ISRC2_PB_0_6
ISRC2_PB_0_7
ISRC2_PB_0_8
ISRC2_PB_0_9
ISRC2_PB_0_10
ISRC2_PB_0_11
ISRC2_PB_0_12
ISRC2_PB_0_13
ISRC2_PB_0_14
ISRC2_PB_0_15
ISRC2_PB_0_16
ISRC2_PB_0_17
ISRC2_PB_0_18
ISRC2_PB_0_19
ISRC2_PB_0_20
ISRC2_PB_0_21
ISRC2_PB_0_22
ISRC2_PB_0_23
ISRC2_PB_0_24
ISRC2_PB_0_25
ISRC2_PB_0_26
ISRC2_PB_0_27
ISRC2_PB_0_28
Packet Byte No.1
Packet type value
HB1
HB2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PB8
PB9
PB10
PB11
PB12
PB13
PB14
PB15
PB16
PB17
PB18
PB19
PB20
PB21
PB22
PB23
PB24
PB25
PB26
PB27
As defined by the HDMI specifications.
The ISRC2 packet registers are considered valid if, and only, if ISRC1_PCKT_RAW is set to 1.
ISRC2_PCKT_RAW, IO, Address 0x60[7] (Read Only)
Raw status signal of International Standard Recording Code 2 (ISRC2) packet detection signal.
Function
ISRC2_PCKT_RAW
0 (default)
1
Description
No ISRC2 packets received since the last HDMI packet detection reset.
ISRC2 packets have been received. This bit resets to zero after an HDMI packet detection reset or
upon writing to ISRC2_PACKET_ID.
Rev. 0 | Page 76 of 184
Hardware User Guide
UG-438
Gamut Metadata Packets
Refer to the HDMI specifications for a detailed explanation of the gamut metadata packet fields.
Table 23. Gamut Metadata Packet Registers
HDMI Map Address
0xF8
0xF9
0xFA
0xC4
0xC5
0xC6
0xC7
0xC8
0xC9
0xCA
0xCB
0xCC
0xCD
0xCE
0xCF
0xD0
0xD1
0xD2
0xD3
0xD4
0xD5
0xD6
0xD7
0xD8
0xD9
0xDA
0xDB
0xDC
0xDD
0xDE
0xDF
1
R/W
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Register Name
GAMUT_PACKET_ID[7:0]
GAMUT_HEADER1
GAMUT_HEADER2
GAMUT_MDATA_PB_0_1
GAMUT_MDATA_PB_0_2
GAMUT_MDATA_PB_0_3
GAMUT_MDATA_PB_0_4
GAMUT_MDATA_PB_0_5
GAMUT_MDATA_PB_0_6
GAMUT_MDATA_PB_0_7
GAMUT_MDATA_PB_0_8
GAMUT_MDATA_PB_0_9
GAMUT_MDATA_PB_0_10
GAMUT_MDATA_PB_0_11
GAMUT_MDATA_PB_0_12
GAMUT_MDATA_PB_0_13
GAMUT_MDATA_PB_0_14
GAMUT_MDATA_PB_0_15
GAMUT_MDATA_PB_0_16
GAMUT_MDATA_PB_0_17
GAMUT_MDATA_PB_0_18
GAMUT_MDATA_PB_0_19
GAMUT_MDATA_PB_0_20
GAMUT_MDATA_PB_0_21
GAMUT_MDATA_PB_0_22
GAMUT_MDATA_PB_0_23
GAMUT_MDATA_PB_0_24
GAMUT_MDATA_PB_0_25
GAMUT_MDATA_PB_0_26
GAMUT_MDATA_PB_0_27
GAMUT_MDATA_PB_0_28
Packet Byte No.1
Packet type value
HB1
HB2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PB8
PB9
PB10
PB11
PB12
PB13
PB14
PB15
PB16
PB17
PB18
PB19
PB20
PB21
PB22
PB23
PB24
PB25
PB26
PB27
As defined by the HDMI specifications.
The gamut metadata packet registers are considered valid if GAMUT_MDATA_RAW is set to 1.
GAMUT_MDATA_RAW, IO, Address 0x65[0] (Read Only)
Raw status signal of gamut metadata packet detection signal.
Function
GAMUT_MDATA_RAW
0 (default)
1
Description
No gamut metadata packet has been received in the last video frame or since the last HDMI packet detection reset.
A gamut metadata packet has been received in the last video frame. This bit resets to zero after an HDMI packet
detection reset or upon writing to GAMUT_PACKET_ID.
GAMUT_IRQ_NEXT_FIELD, Addr 68 (HDMI), Address 0x50[4]
A control set the NEW_GAMUT_MDATA_RAW interrupt to detect when the new contents are applicable to next field or to indicate that
the gamut packet is new. This is done using header information of the gamut packet.
Function
GAMUT_IRQ_NEXT_FIELD
0 (default)
1
Description
Interrupt flag indicates that gamut packet is new.
Interrupt flag indicates that gamut packet is to be applied next field.
Rev. 0 | Page 77 of 184
UG-438
Hardware User Guide
CUSTOMIZING PACKET/INFOFRAME STORAGE REGISTERS
The packet type value of each set of packet and InfoFrame registers in the InfoFrame Map is programmable. This allows the user to
configure the ADV7610 to store the payload data of any packet and InfoFrames sent by the transmitter connected on the selected
HDMI port.
Note: Writing to any of the nine following packet ID registers also clears the corresponding raw InfoFrame/Packet detection bit. For
example, writing 0x82, or any other value, to AVI_PACKET_ID clears AVI_INFO_RAW.
AVI_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xE0[7:0]
AVI InfoFrame ID.
Function
AVI_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x00 to 0x1B
Packet type value of InfoFrame stored in InfoFrame map, Address 0x00 to 0x1B
AUD_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xE3[7:0]
Audio InfoFrame ID.
Function
AUD_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x1C to 0x29
Packet type value of InfoFrame stored in InfoFrame map, Address 0x1C to 0x29
SPD_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xE6[7:0]
Source Prod InfoFrame ID.
Function
SPD_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x2A to 0x45
Packet type value of InfoFrame stored in InfoFrame map, Address 0x2A to 0x45
MS_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xE9[7:0]
MPEG source InfoFrame ID.
Function
MS_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x46 to 0x53
Packet type value of InfoFrame stored in InfoFrame map, Address 0x46 to 0x53
VS_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xEC[7:0]
Vendor specific InfoFrame ID.
Function
VS_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x54 to 0x6F
Packet type value of packet stored in InfoFrame map, Address 0x54 to 0x6F
ACP_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xEF[7:0]
ACP InfoFrame ID.
Function
ACP_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame Map, Address 0x70 to 0x8B
Packet type value of InfoFrame stored in InfoFrame Map, Address 0x70 to 0x8B
Rev. 0 | Page 78 of 184
Hardware User Guide
UG-438
ISRC1_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xF2[7:0]
ISRC1 InfoFrame ID.
Function
ISRC1_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0x8C to 0xA7
Packet type value of InfoFrame stored in InfoFrame map, Address 0x8C to 0xA7
ISRC2_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xF5[7:0]
ISRC2 InfoFrame ID.
Function
ISRC2_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0xA8 to 0xC3
Packet type value of InfoFrame stored in InfoFrame map, Address 0xA8 to 0xC3
GAMUT_PACKET_ID[7:0], Addr 7C (InfoFrame), Address 0xF8[7:0]
Gamut InfoFrame ID.
Function
GAMUT_PACKET_ID[7:0]
0xxxxxxx
1xxxxxxx
Description
Packet type value of packet stored in InfoFrame map, Address 0xC4 to 0xDF
Packet type value of InfoFrame stored in InfoFrame map, Address 0xC4 to 0xDF
Note: The packet type values and corresponding packets should not be programmed in the packet type values registers. These packets are
always processed internally and cannot be stored in the packet/InfoFrame registers in the InfoFrame map:
•
•
•
•
•
•
0x01: audio clock regeneration packet
0x02: audio sample packet
0x03: general control packet
0x07: DSD audio sample packet
0x08: DST audio packet
0x09: HBR audio stream packet
REPEATER SUPPORT
The ADV7610 incorporates an EDID/repeater controller that provides all the features required for a receiver front end of a fully
HDCP 1.4 compliant repeater system. The ADV7610 has a RAM that can store up to 127 KSVs, which allows it to handle up to
127 downstream devices in repeater mode (refer to Table 24).
The ADV7610 features a set of HDCP registers, defined in the HDCP specifications, which are accessible through the DDC bus (refer to
the DDC Ports section) of the selected port. A subset of the HDCP registers (defined in the following subsections) are also available in the
Repeater Map and are accessible through the main I2C port (refer to the Main I2C Port section).
Repeater Routines Performed by the EDID/Repeater Controller
Power-Up
A power-on reset circuitry on the DVDD supply is used to reset the EDID/repeater controller when the ADV7610 is powered up. When
the EDID/repeater controller reboots after reset, it resets all the KSV registers listed in Table 24 to 0x00.
AKSV Update
The EDID/repeater controller resets automatically the BCAPS [5] bit to 0 when an HDCP transmitter writes its AKSV into the ADV7610
HDCP registers through the DDC bus of the HDMI port.
Note: Writing a value in the AKSV[39:32] triggers an AKSV update and AKSV_UPDATE_ST interrupt if AKSV_UPDATE_MB1 or
AKSV_UPDATE_MB2 has been set to 1 This triggers the EDID/repeater controller to reset the BCAPS [5] bit back to 0.
KSV List Ready
The KSV_LIST_READY bit is set by an external controller driving the ADV7610. This notifies the ADV7610 on-chip EDID/repeater
controller that the KSV list registers have been updated with the KSV’s of the attached and active downstream HDCP devices.
Rev. 0 | Page 79 of 184
UG-438
Hardware User Guide
When KSV_LIST_READY is set to 1, the EDID/repeater controller computes the SHA-1 hash value V’, updates the corresponding V’
registers (refer to Table 25), and sets the READY bit (that is, BCAPS[5]) to 1. This indicates to the transmitter attached to the ADV7610
that the KSV FIFO and SHA-1 hash value V’ are ready to be read.
KSV_LIST_READY, Addr 64 (Repeater), Address 0x71[7]
The system sets this bit in order to indicate that the KSV list has been read from the Tx IC(s) and written into the repeater map. The
system must also set Bits[11:0] of BSTATUS before setting this bit.
Function
KSV_LIST_READY
0 (default)
1
Description
Not ready
Ready
Notes
•
•
The SHA-1 hash value will be computed if the bit KSV_LIST_READY is set after the part has received an AKSV update from the
upstream source. The external controller should therefore set KSV_LST_READY to 1 only after the part has received an AKSV
update from the upstream source.
The ADV7610 does not automatically clear KSV_LIST_READY to 0, after it has finished computed the SHA-1 has value. Therefore,
the external controller needs to clear KSV_LIST_READY.
HDMI Mode
The BSTATUS[12]bit is updated automatically by the ADV7610 and follows the HDMI mode status of the HDMI/DVI stream input
on the active HDMI port. BSTATUS [12] is set to 1 if the ADV7610 receives an HDMI stream, and set to 0 if the ADV7610 receives a
DVI stream.
Repeater Actions Required by External Controller
The external controller must set the BCAPS register and notify the ADV7610 when the KSV list is updated, as described in the following
sections: Repeater Bit, KSV FIFO Read from HDCP Registers, First AKSV Update, and Second and Subsequent AKSV Updates.
Note that many more routines must be implemented into the external controller driving the ADV7610 to implement a full repeater. Such
routines are described in the HDCP and HDMI specifications (for example, copying InfoFrame and packet data image from the HDMI
receiver into the HDMI transmitter, momentarily deasserting the hot plug detect and disabling the clock termination on a change of
downstream topology, and so on).
Repeater Bit
The REPEATER bit (that is, BCAPS[7:0][6]) must be set to 1 by the external controller in the routine that initializes the ADV7610. The
repeater bit must be left as such as long as the ADV7610 is configured as the front end of a repeater system.
Note: The registers in the KSV list (refer to Table 24) should always be set to 0x0 if the REPEATER bit is set to 0. The firmware running
on the external controller, therefore, always sets the registers in the KSV list to 0x0 if the repeater bit is changed from 1 to 0.
KSV FIFO Read from HDCP Registers
The KSV FIFO read at address 0x43 through the HDCP port of the selected HDMI port is dependent on the value of the REPEATER bit
(that is, BCAPS[6]):
•
•
When the REPEATER bit is set to 0, the KSV FIFO read from the HDCP port always returns 0x0
When the REPEATER bit is set to 1, the KSV FIFO read from the HDCP port matches the KSV list which is set in the Repeater Map
at addresses 0x80 to 0xF7 (refer to Table 24)
First AKSV Update
When the upstream transmitter writes its AKSV for the first time into the ADV7610 HDCP registers, the external controller driving the
ADV7610 should perform the following tasks:
•
•
•
•
Update BSTATUS[11:0] according to the topology of the downstream device attached to the repeater.
Update the KSV list (refer to Table 24) with the KSV from the transmitter on the back end of the repeater as well as the KSV from all
the downstream devices connected to the repeater.
Set KSV_LIST_READY to 1.
The external controller can monitor the AKSV_UPDATE_A_RAW bits to be notified when the transmitter writes its AKSV into the
HDCP registers of the ADV7610.
Rev. 0 | Page 80 of 184
Hardware User Guide
UG-438
AKSV_UPDATE_A_RAW, IO, Address 0x88[0] (Read Only)
Status of Port A AKSV update interrupt signal. When set to 1 it indicates that transmitter has written its AKSV into HDCP registers for
Port A. Once set, this bit will remain high until it is cleared via AKSV_UPDATE_A_CLR.
Function
AKSV_UPDATE_A_RAW
0 (default)
1
Description
No AKSV updates on Port A
Detected a write access to the AKSV register on Port A
Second and Subsequent AKSV Updates
When the upstream transmitter writes its AKSV for the second time or more into the ADV7610 HDCP registers, the external controller
driving the ADV7610 should set KSV_LIST_READY to 1.
HDCP Registers Available in Repeater Map
AUTO_HDCP_MAP_ENABLE and HDCP_MAP_SELECT[2:0] determine which port is currently visible to the user.
AUTO_HDCP_MAP_ENABLE, Addr 64 (Repeater), Address 0x79[3]
Selects which port will be accessed for HDCP addresses: the HDMI active port (selected by HDMI_PORT_SELECT, HDMI map) or the
one selected in HDCP_MAP_SELECT.
Function
AUTO_HDCP_MAP_ENABLE
0
1 (default)
Description
HDCP data read from port given by HDCP_MAP_SELECT
HDCP data read from the active HDMI port
HDCP_MAP_SELECT[2:0], Addr 64 (Repeater), Address 0x79[2:0]
Selects which port will be accessed for HDCP addresses (0x00 to 0x42 in Repeater map). This only takes effect when AUTO HDCP MAN
ENABLE is 0.
Function
HDCP_MAP_SELECT[2:0]
000 (default)
Description
Select Port A
BKSV[39:0], Addr 64 (Repeater), Address 0x04[7:0]; Address 0x03[7:0]; Address 0x02[7:0]; Address 0x01[7:0]; Address 0x00[7:0] (Read Only)
The receiver key selection vector (BKSV) can be read back once the part has successfully accessed the HDCP ROM. The following
registers contain the BKSV read from the EEPROM.
Function
BKSV[39:0]
0x00[7:0]
0x01[7:0]
0x02[7:0 ]
0x03[7:0]
0x04[7:0]
Description
BKSV[7:0]
BKSV[15:8]
BKSV[23:16]
BKSV[31:24]
BKSV[39:32]
AKSV[39:0], Addr 64 (Repeater), Address 0x14[7:0]; Address 0x13[7:0]; Address 0x12[7:0]; Address 0x11[7:0]; Address 0x10[7:0]
The AKSV of the transmitter attached to the active HDMI port can be read back after an AKSV update. The following registers contain
the AKSV written by the Tx.
Function
AKSV[39:0]
0x10[7:0]
0x11[7:0]
0x12[7:0]
0x13[7:0]
0x14[7:0]
Description
AKSV[7:0]
AKSV[15:8]
AKSV[23:16]
AKSV[31:24]
AKSV[39:32]
Rev. 0 | Page 81 of 184
UG-438
Hardware User Guide
BCAPS[7:0], Addr 64 (Repeater), Address 0x40[7:0]
This is the BCAPS register presented to the Tx attached to the active HDMI port.
Function
BCAPS[7:0]
10000011 (default)
xxxxxxxx
Description
Default BCAPS register value presented to the Tx
BCAPS register value presented to the Tx
BSTATUS[15:0], Addr 64 (Repeater), Address 0x42[7:0]; Address 0x41[7:0]
These registers contain the BSTATUS information presented to the Tx attached to the active HDMI port. Bits [11:0] must be set by the
system software acting as a repeater.
Function
BSTATUS[15:0]
xxxxxxxxxxxxxxxx
0000000000000000 (default)
0x41[7:0]
0x42[7:0]
Description
BSTATUS register presented to Tx.
Reset value. BSTATUS register is reset only after power up.
BSTATUS[7:0].
BSTATUS[15:8].
KSV registers are stored consecutively in RAM, which is split into 5x128 bytes bank maps. Maps are accessible through KSV_BYTE_0 to
KSV_BYTE_127. Proper segment can be selected via KSV_MAP_SELECT[2:0] register, as shown in Figure 22.
0x00 TO 0x04 KSV0
0x05 TO 0x09 KSV1
0x0A TO 0x0E KSV2
0x00
0x80 KSV_BYTE_0
KSV_MAP_SELECT = 0
KSV_MAP_SELECT = 0
…
0x7D TO 0x81 KSV25
0x79
0x82 TO 0x86 KSV26
0x80
…
0xF5 TO 0xF9 KSV49
0xFA TO 0xFE KSV50
0xFF TO 0x103 KSV51
…
0xFF KSV_BYTE_127
KSV_MAP_SELECT = 1
0xFF
0x100
KSV_MAP_SELECT = 2
0x17C TO 0x180 KSV76
0x17F
0x181 TO 0x185 KSV77
0x186 TO 0x18A KSV78
…
0x180
KSV_MAP_SELECT = 3
0x1FE TO 0x202 KSV102
0x200
0x203 TO 0x207 KSV103
0x208 TO 0x20C KSV104
0x201
0x276 TO 0x27A KSV126
KSV_MAP_SELECT = 4
10884-028
…
0x27A
Figure 22. Addressing Block Using KSV_MAP_SELECT and Register KSV_BYTE_0 to Register KSV_BYTE_127
Rev. 0 | Page 82 of 184
Hardware User Guide
UG-438
KSV_MAP_SELECT[2:0], Addr 64 (Repeater), Address 0x79[6:4]
Selects which 128 bytes of KSV list will be accessed when reading or writing to addresses 0x80 to 0xFF in this map. Values from 5 and
upwards are not valid.
Function
KSV_MAP_SELECT[2:0]
000 (default)
001
010
011
100
101
110
111
Description
KSV Map 0 selected
KSV Map 1 selected
KSV Map 2 selected
KSV Map 3 selected
KSV Map 4 selected
Reserved
Reserved
Reserved
Table 24. KSV Byte Registers Location
KSV Byte Number
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Register Name
KSV_BYTE_0[7:0]
KSV_BYTE_1[7:0]
KSV_BYTE_2[7:0]
KSV_BYTE_3[7:0]
KSV_BYTE_4[7:0]
KSV_BYTE_5[7:0]
KSV_BYTE_6[7:0]
KSV_BYTE_7[7:0]
KSV_BYTE_8[7:0]
KSV_BYTE_9[7:0]
KSV_BYTE_10[7:0]
KSV_BYTE_11[7:0]
KSV_BYTE_12[7:0]
KSV_BYTE_13[7:0]
KSV_BYTE_14[7:0]
KSV_BYTE_15[7:0]
KSV_BYTE_16[7:0]
KSV_BYTE_17[7:0]
KSV_BYTE_18[7:0]
KSV_BYTE_19[7:0]
KSV_BYTE_20[7:0]
KSV_BYTE_21[7:0]
KSV_BYTE_22[7:0]
KSV_BYTE_23[7:0]
KSV_BYTE_24[7:0]
KSV_BYTE_25[7:0]
KSV_BYTE_26[7:0]
KSV_BYTE_27[7:0]
KSV_BYTE_28[7:0]
KSV_BYTE_29[7:0]
KSV_BYTE_30[7:0]
KSV_BYTE_31[7:0]
KSV_BYTE_32[7:0]
KSV_BYTE_33[7:0]
KSV_BYTE_34[7:0]
KSV_BYTE_35[7:0]
KSV_BYTE_36[7:0]
KSV_BYTE_37[7:0]
Rev. 0 | Page 83 of 184
Register Addresses1
0x80[7:0]
0x81[7:0]
0x82[7:0]
0x83[7:0]
0x84[7:0]
0x85[7:0]
0x86[7:0]
0x87[7:0]
0x88[7:0]
0x89[7:0]
0x8A[7:0]
0x8B[7:0]
0x8C[7:0]
0x8D[7:0]
0x8E[7:0]
0x8F[7:0]
0x90[7:0]
0x91[7:0]
0x92[7:0]
0x93[7:0]
0x94[7:0]
0x95[7:0]
0x96[7:0]
0x97[7:0]
0x98[7:0]
0x99[7:0]
0x9A[7:0]
0x9B[7:0]
0x9C[7:0]
0x9D[7:0]
0x9E[7:0]
0x9F[7:0]
0xA0[7:0]
0xA1[7:0]
0xA2[7:0]
0xA3[7:0]
0xA4[7:0]
0xA5[7:0]
UG-438
KSV Byte Number
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Hardware User Guide
Register Name
KSV_BYTE_38[7:0]
KSV_BYTE_39[7:0]
KSV_BYTE_40[7:0]
KSV_BYTE_41[7:0]
KSV_BYTE_42[7:0]
KSV_BYTE_43[7:0]
KSV_BYTE_44[7:0]
KSV_BYTE_45[7:0]
KSV_BYTE_46[7:0]
KSV_BYTE_47[7:0]
KSV_BYTE_48[7:0]
KSV_BYTE_49[7:0]
KSV_BYTE_50[7:0]
KSV_BYTE_51[7:0]
KSV_BYTE_52[7:0]
KSV_BYTE_53[7:0]
KSV_BYTE_54[7:0]
KSV_BYTE_55[7:0]
KSV_BYTE_56[7:0]
KSV_BYTE_57[7:0]
KSV_BYTE_58[7:0]
KSV_BYTE_59[7:0]
KSV_BYTE_60[7:0]
KSV_BYTE_61[7:0]
KSV_BYTE_62[7:0]
KSV_BYTE_63[7:0]
KSV_BYTE_64[7:0]
KSV_BYTE_65[7:0]
KSV_BYTE_66[7:0]
KSV_BYTE_67[7:0]
KSV_BYTE_68[7:0]
KSV_BYTE_69[7:0]
KSV_BYTE_70[7:0]
KSV_BYTE_71[7:0]
KSV_BYTE_72[7:0]
KSV_BYTE_73[7:0]
KSV_BYTE_74[7:0]
KSV_BYTE_75[7:0]
KSV_BYTE_76[7:0]
KSV_BYTE_77[7:0]
KSV_BYTE_78[7:0]
KSV_BYTE_79[7:0]
KSV_BYTE_80[7:0]
KSV_BYTE_81[7:0]
KSV_BYTE_82[7:0]
KSV_BYTE_83[7:0]
KSV_BYTE_84[7:0]
KSV_BYTE_85[7:0]
KSV_BYTE_86[7:0]
KSV_BYTE_87[7:0]
KSV_BYTE_88[7:0]
KSV_BYTE_89[7:0]
KSV_BYTE_90[7:0]
Rev. 0 | Page 84 of 184
Register Addresses1
0xA6[7:0]
0xA7[7:0]
0xA8[7:0]
0xA9[7:0]
0xAA[7:0]
0xAB[7:0]
0xAC[7:0]
0xAD[7:0]
0xAE[7:0]
0xAF[7:0]
0xB0[7:0]
0xB1[7:0]
0xB2[7:0]
0xB3[7:0]
0xB4[7:0]
0xB5[7:0]
0xB6[7:0]
0xB7[7:0]
0xB8[7:0]
0xB9[7:0]
0xBA[7:0]
0xBB[7:0]
0xBC[7:0]
0xBD[7:0]
0xBE[7:0]
0xBF[7:0]
0xC0[7:0]
0xC1[7:0]
0xC2[7:0]
0xC3[7:0]
0xC4[7:0]
0xC5[7:0]
0xC6[7:0]
0xC7[7:0]
0xC8[7:0]
0xC9[7:0]
0xCA[7:0]
0xCB[7:0]
0xCC[7:0]
0xCD[7:0]
0xCE[7:0]
0xCF[7:0]
0xD0[7:0]
0xD1[7:0]
0xD2[7:0]
0xD3[7:0]
0xD4[7:0]
0xD5[7:0]
0xD6[7:0]
0xD7[7:0]
0xD8[7:0]
0xD9[7:0]
0xDA[7:0]
Hardware User Guide
KSV Byte Number
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
1
UG-438
Register Name
KSV_BYTE_91[7:0]
KSV_BYTE_92[7:0]
KSV_BYTE_93[7:0]
KSV_BYTE_94[7:0]
KSV_BYTE_95[7:0]
KSV_BYTE_96[7:0]
KSV_BYTE_97[7:0]
KSV_BYTE_98[7:0]
KSV_BYTE_99[7:0]
KSV_BYTE_100[7:0]
KSV_BYTE_101[7:0]
KSV_BYTE_102[7:0]
KSV_BYTE_103[7:0]
KSV_BYTE_104[7:0]
KSV_BYTE_105[7:0]
KSV_BYTE_106[7:0]
KSV_BYTE_107[7:0]
KSV_BYTE_108[7:0]
KSV_BYTE_109[7:0]
KSV_BYTE_110[7:0]
KSV_BYTE_111[7:0]
KSV_BYTE_112[7:0]
KSV_BYTE_113[7:0]
KSV_BYTE_114[7:0]
KSV_BYTE_115[7:0]
KSV_BYTE_116[7:0]
KSV_BYTE_117[7:0]
KSV_BYTE_118[7:0]
KSV_BYTE_119[7:0]
KSV_BYTE_120[7:0]
KSV_BYTE_121[7:0]
KSV_BYTE_122[7:0]
KSV_BYTE_123[7:0]
KSV_BYTE_124[7:0]
KSV_BYTE_125[7:0]
KSV_BYTE_126[7:0]
KSV_BYTE_127[7:0]
Register Addresses1
0xDB[7:0]
0xDC[7:0]
0xDD[7:0]
0xDE[7:0]
0xDF[7:0]
0xE0[7:0]
0xE1[7:0]
0xE2[7:0]
0xE3[7:0]
0xE4[7:0]
0xE5[7:0]
0xE6[7:0]
0xE7[7:0]
0xE8[7:0]
0xE9[7:0]
0xEA[7:0]
0xEB[7:0]
0xEC[7:0]
0xED[7:0]
0xEE[7:0]
0xEF[7:0]
0xF0[7:0]
0xF1[7:0]
0xF2[7:0]
0xF3[7:0]
0xF4[7:0]
0xF5[7:0]
0xF6[7:0]
0xF7[7:0]
0xF8[7:0]
0xF9[7:0]
0xFA[7:0]
0xFB[7:0]
0xFC[7:0]
0xFD[7:0]
0xFE[7:0]
0xFF[7:0]
All KSVs are located in the repeater map.
Table 25. Registers Location for SHA-1 Hash Value V’
Register Name
SHA_A[31:0]
SHA_B[31:0]
SHA_C[31:0]
Address Location1
0x20[7:0]: SHA_A[7:0]
0x21[7:0]: SHA_A[15:8]
0x22[7:0]: SHA_A[23:16]
0x23[7:0]: SHA_A[31:24]
0x24[7:0]: SHA_B[7:0]
0x25[7:0]: SHA_B[15:8]
0x26[7:0]: SHA_B[23:16]
0x27[7:0]: SHA_B[31:24]
0x28[7:0]: SHA_C[7:0]
0x29[7:0]: SHA_C[15:8]
0x2A[7:0]: SHA_C[23:16]
0x2B[7:0]: SHA_C[31:24]
Function
H0 part of SHA-1 hash value V’. Register also called (V’.H1)2
H1 part of SHA-1 hash value V’. Register also called (V’.H1)2
H2 part of SHA-1 hash value V’. Register also called (V’.H2)2
Rev. 0 | Page 85 of 184
UG-438
Register Name
SHA_D[31:0]
SHA_E[31:0]
1
2
Hardware User Guide
Address Location1
0x2C[7:0]: SHA_D[7:0]
0x2D[7:0]: SHA_D[15:8]
0x2E[7:0]: SHA_D[23:16]
0x2F[7:0]: SHA_D[31:24]
0x30[7:0]: SHA_E[7:0]
0x31[7:0]: SHA_E[15:8]
0x32[7:0]: SHA_E[23:16]
0x33[7:0]: SHA_E[31:24]
Function
H3 part of SHA-1 hash value V’. Register also called (V’.H3)2
H4 part of SHA-1 hash value V’. Register also called (V’.H4)2
All registers specified in Table 25 are located in the repeater map.
Refer to HDCP protection system Standards.
INTERFACE TO DPP SECTION
The video data from the HDMI section is sent to the CP section via the DPP block. The video data output by the HDMI section is always
in a 4:4:4 format with 36 bits per pixel. This is irrespective of the encoding format of the video data encapsulated in the HDMI/DVI
stream input to the HDMI receiver section (that is, 4:2:2 or 4:4:4).
Y0/Cb0
Y1/Cr0
Y2/Cb2
Y3/Cr2
Y4/Cb2
…
TMDS
CHANNEL
BITS[3:0]
Y0 BITS[3:0]
Y1 BITS[3:0]
Y2 BITS[3:0]
Y3 BITS[3:0]
Y4 BITS[3:0]
…
BITS[7:4]
Cb0 BITS[3:0]
Cr0 BITS[3:0]
Cb2 BITS[3:0]
Cr2 BITS[3:0]
Cb4 BITS[3:0]
…
1
BITS[7:0]
Y0 BITS[11:4]
Y1 BITS[11:4]
Y2 BITS[11:4]
Y3 BITS[11:4]
Y4 BITS[11:4]
…
2
BITS[7:0]
Cb0 BITS[11:4]
Cr0 BITS[11:4]
Cb2 BITS[11:4]
Cr2 BITS[11:4]
Cb4 BITS[11:4]
…
0
10884-029
•
If the HDMI section receives a stream with video encoded in a 4:4:4 format, it passes the video data to the DPP section.
If the HDMI section receives a stream with video encoded in a 4:2:2 format (refer to Figure 23), the HDMI section upconverts the
video data into a 4:4:4 format, according to the UP_CONVERSION_MODE bit, and passes the upconverted video data to the DPP
section (refer to Figure 24).
If the HDMI receiver receives video data with fewer than 12 bits used per channel, the valid bits are left-shifted on each component
channel with zeroes padding the bit below the LSB, before being sent to the DPP section.
Figure 23. YCbCr 4:2:2 Video Data Encapsulated in HDMI Stream
Y0/Cb0/Cr0
Y1/CR0/CR0
Y2/Cb2/Cr2
Y3/Cb2/Cr2
Y4/Cb4/Cr4
…
COMPONENT
CHANNEL
Y
BITS[12:0]
Y0
Y1
Y2
Y3
Y4
…
Cb
BITS[12:0]
Cb0
Cb0
Cb2
Cb2
Cb4
…
Cr
BITS[12:0]
Cr0
Cr0
Cr2
Cr2
Cr4
…
Figure 24. Video Stream Output by HDMI Core for YCbCr 4:2:2 Input and UP_CONVERSION = 0
Rev. 0 | Page 86 of 184
10884-030
•
•
Hardware User Guide
UG-438
UP_CONVERSION_MODE, Addr 68 (HDMI), Address 0x1D[5]
A control to select linear or interpolated 4:2:2 to 4:4:4 conversion. A 4:2:2 incoming stream is upconverted to a 4:4:4 stream before being
sent to the CP.
Function
UP_CONVERSION_MODE
0 (default)
1
Description
Cr and Cb samples are repeated in their respective channel
Interpolate Cr and Cb values
Notes
When the ADV7610 pixel output format is set to 4:2:2 (refer to the Pixel Port Output Modes section), the DPP section down converts the
4:4:4 stream from the HDMI section according to DS_WITHOUT_FILTER.
•
•
For a 4:4:4 HDMI input stream to the ADV7610
• The DPP section filters and downsamples the video data from 4:4:4 to 4:2:2 format if DS_WITHOUT_FILTER is set to 0. The
DPP section only downsamples, without filtering, the video data from the HDMI section if DS_WITHOUT_FILTER is set to 1.
For a 4:2:2 HDMI input stream, the functionality of DS_WITHOUT_FILTER is reversed.
• This inversion ensures that for a 4:2:2 HDMI input stream no filtering will be applied if DS_WITHOUT_FILTER is left to its
default value 0. When a 4:2:2 HDMI input stream is input to the ADV7610, the DPP section downsamples, without filtering, the
video data from 4:4:4 to 4:2:2 format if DS_WITHOUT_FILTER is set to 0. If DS_WITHOUT_FILTER is set to 1, the DPP
filters and downsamples the video data from 4:4:4 to 4:2:2 format.
DS_WITHOUT_FILTER, Addr 40 (IO), Address 0xE0[7]
Disables the chroma filters on Channel B and Channel C while keeping the downsampler functional.
Function
DS_WITHOUT_FILTER
0 (default)
1
Description
Filters and downsamples
Downsamples only (no filtering)
PASS THROUGH MODE
The ADV7610 can pass through the video data of an HDMI stream with no formatting. The video is passed from the HDMI section
through the DPP and CP cores, out through the pixel output formatter without filtering or alteration. This can be achieved with the
following settings:
4:2:2 Pass Through
•
•
•
•
Set DPP_BYPASS_EN to 1 to use the CP CSC
Set UP_CONVERSION_MODE to 0
Set DS_WITHOUT_FILTER to 0
Configure the pixel output formatter to output a 4:2:2 stream (refer to the Pixel Port Output Modes section)
4:4:4 Pass Through
Set UP_CONVERSION_MODE to 0 or to 1
Set DS_WITHOUT_FILTER to 0 or to 1
Configure the pixel output formatter to output a 4:4:4 stream (refer to the Pixel Port Output Modes section)
Y0/Cb0
Y0/Cr0
Y0/Cb2
Y0/Cr2
Y0/Cb4
…
COMPONENT
CHANNEL
Y
BITS[12:0]
Y0
Y1
Y2
Y3
Y4
…
Cb/Cr
BITS[12:0]
Cb0
Cr0
Cb2
Cr2
Cb4
…
Figure 25. Video Data Output by DPP in 4:2:2 Pass Through Mode
Rev. 0 | Page 87 of 184
10884-031
•
•
•
UG-438
Hardware User Guide
DPP_BYPASS_EN, Addr 44 (CP), Address 0xBD[4]
Manual control to enable DPP block.
Function
DPP_BYPASS_EN
1 (default)
0
Description
DPP bypassed
DPP enabled
COLOR SPACE INFORMATION SENT TO THE DPP AND CP SECTIONS
The HDMI section sends information regarding the color space of the video it outputs to the DPP and the CP sections. This color space
information is derived from the DVI/HDMI status of the input stream the HDMI section processes and from the AVI InfoFrame that the
HDMI section decodes from the input stream.
The color space information sent by the HDMI section to the DDP and CP sections can be read via HDMI_COLORSPACE[3:0].
HDMI_COLORSPACE[3:0], Addr 68 (HDMI), Address 0x53[3:0] (Read Only)
A readback of the HDMI input color space decoded from several fields in the AVI InfoFrame.
Function
HDMI_COLORSPACE[3:0]
0000 (default)
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
Description
RGB_LIMITED
RGB_FULL
YUV_601
YUV_709
XVYCC_601
XVYCC_709
YUV_601_FULL
YUV_709_FULL
sYCC 601
Adobe YCC 601
Adobe RGB
STATUS REGISTERS
Many status bit are available throughout the IO and HDMI maps. These status bits are listed in Table 26 to Table 35.
Table 26. HDMI Flags in IO Map Register 0x60
Bit Name
AVI_INFO_RAW
Bit Position
0 (LSB)
AUDIO_INFO_RAW
1
SPD_INFO_RAW
2
MS_INFO_RAW
3
VS_INFO_RAW
4
ACP_PCKT_RAW
5
ISRC1_PCKT_RAW
6
ISRC2_PCKT_RAW
7 (MSB)
Description
Returns 1 if an AVI InfoFrame was received within last seven VSync. For additional information,
see the Interrupt Architecture Overview section.
Returns 1 if an AVI InfoFrame was received within last three VSyncs. For additional information,
see the Audio InfoFrame Registers section.
Returns 1 if a Source Product Descriptor InfoFrame has been received. For additional information,
see the SPD InfoFrame Registers section.
Returns 1 if a MPEG InfoFrame was received within the last three VSyncs. For additional
information, see the MPEG Source InfoFrame Registers section.
Returns 1 if a Vendor Specific InfoFrame has been received. For additional information, see the
Vendor Specific InfoFrame Registers section.
Returns 1 if an ACP packet was received within last 600 ms. For additional information, see the
ACP Packet Registers section.
Returns 1 if an ISRC1 packet was received. For additional information, see the ISRC Packet
Registers section.
Returns 1 if an ISRC2 packet was received. For additional information, see the ISRC Packet
Registers section.
Rev. 0 | Page 88 of 184
Hardware User Guide
UG-438
Table 27. HDMI Flags in IO Map Register 0x65
Bit Name
GAMUT_MDATA_RAW
Bit Position
0 (LSB)
AUDIO_C_PCKT_RAW
1
GEN_CTL_PCKT_RAW
2
HDMI_MODE_RAW
3
AUDIO_CH_MD_RAW
4
AV_MUTE_RAW
5
INTERNAL_MUTE_RAW
6
CS_DATA_VALID_RAW
7 (MSB)
Description
Returns 1 if a Gamut Metadata packet was received. For additional information, see the Gamut
Metadata Packets section.
Returns 1 if an audio clock regeneration packet has been received. Reset to 0 following a packet
detection flag reset condition.
Returns 1 if general control packet has been received. Reset to 0 following a packet detection flag
reset condition.
Returns 1 if a HDMI stream is being received. For additional information, see the HDMI/DVI Status
Bits section.
Returns 1 if the audio channel mode is multichannel (2-, 4-, 6-, or 8-channel) audio. Reset to 0
following a packet detection flag reset condition. For additional information, see the Audio
Channel Mode section.
Returns 1 if the latest general control packet received has AV_MUTE asserted. Reset to 0 following
packet detection flag reset condition.
Returns 1 if ADV7610 has internally muted the audio data. For additional information, see the
Internal Mute Status section.
Returns 1 if channel status bit readback registers in HDMI Map, Address 0x36 to 0x3A are valid. For
additional information, see the Validity Status Flag section.
Table 28. HDMI Flags in IO Map Register 0x6A
Bit Name
DE_REGEN_LCK_RAW
Bit Position
0 (LSB)
V_LOCKED_RAW
1
VIDEO_3D_RAW
TMDS_CLK_A_RAW
TMDSPLL_LCK_A_RAW
2
6
7
Description
Description available in the Primary Port Horizontal Filter Measurements
section.
Description available in the Primary Port Horizontal Filter Measurements
section.
Description available in the Video 3D Detection section.
Description available in the TMDS Clock Activity Detection section.
Description available in the TMDS Measurement section.
Table 29. HDMI Flags in IO Map Register 0x6F
Bit Name
CABLE_DET_A_RAW
HDMI_ENCRPT_A_RAW
Bit Position
0
2
Description
Description available in the +5 V Cable Detect section.
Description available in the HDCP Decryption Engine section.
Table 30. HDMI Flags in IO Map Register 0x79
Bit Name
NEW_AVI_INFO_RAW
NEW_AUDIO_INFO_RAW
NEW_SPD_INFO_RAW
NEW_MS_INFO_RAW
NEW_VS_INFO_RAW
NEW_ACP_PCKT_RAW
NEW_ISRC1_PCKT_RAW
NEW_ISRC2_PCKT_RAW
Bit Position
0 (LSB)
1
2
3
4
5
6
7 (MSB)
Rev. 0 | Page 89 of 184
UG-438
Hardware User Guide
Table 31. HDMI Flags in IO Map Register 0x7E
Bit Name
NEW_GAMUT_MDATA_RAW
Bit Position
0 (LSB)
AUDIO_PCKT_ERR_RAW
1
PACKET_ERROR_RAW
2
CHANGE_N_RAW
3
CTS_PASS_THRSH_RAW
4
FIFO_OVERFLO_RAW
5
FIFO_UNDERFLO_RAW
6
FIFO_NEAR_OVFL_RAW
7 (MSB)
Description
When set to 1 indicates that a gamut metadata packet with new content has been received.
Once set, this bit remains high until the interrupt is cleared via NEW_GAMUT_
MDATA_PCKT_CLR. (IO Map 0x80[0]).
When set to 1 indicates that an uncorrectable error was detected in the body of an audio
packet. Once set, this bit remains high until the interrupt is cleared via
AUDIO_PCKT_ERR_CLR (IO Map 0x80[1]).
When set to 1 it indicates an uncorrectable EEC error was detected in the body or header of
any packet. Once set, this bit remains high until the interrupt is cleared via
PACKET_ERROR_CLR (IO Map 0x80[2]).
When set to 1 it indicates the N value of the ACR packets has changed. Once set, this bit
remains high until the interrupt is cleared via CHANGE_N_CLR (IO Map 0x80 [3]).
When set to 1 it indicates the CTS value of the ACR packets has exceeded the threshold set
by CTS_CHANGE_THRESHOLD. Once set, this bit remains high until the interrupt is cleared
via CTS_PASS_THRSH_CLR (IO Map 0x80[4]).
When set to 1 it indicates the audio FIFO write pointer has reached the read pointer causing
the audio FIFO to overflow. Once set, this bit remains high until the interrupt is cleared via
FIFO_OVERFLO_CLR (IO Map 0x80[5]).
When set to 1 it indicates the audio FIFO read pointer has reached the write pointer causing
the audio FIFO to underflow. Once set, this bit remains high until the interrupt is cleared via
FIFO_UNDERFLO_CLR (IO Map 0x80[6]).
When set to 1 it indicates the audio FIFO is near overflow as the number FIFO registers
containing stereo data is greater or equal to value set in AUDIO_FIFO_ALMOST_FULL_
THRESHOLD. Once set, this bit remains high until the interrupt is cleared via
FIFO_NEAR_OVFL_CLR (IO Map 0x80[7]).
Table 32. HDMI Flags in IO Map Register 0x83
Bit Name
FIFO_NEAR_UFLO_RAW
Bit Position
0 (LSB)
NEW_TMDS_FRQ_RAW
1
AUDIO_FLT_LINE_RAW
2
NEW_SAMP_RT_RAW
3
PARITY_ERROR_RAW
4
AUDIO_MODE_CHNG_RAW
5
VCLK_CHNG_RAW
6
DEEP_COLOR_CHNG_RAW
7 (MSB)
Description
When set to 1 it indicates the audio FIFO is near underflow as the number of FIFO registers
containing stereo data is less or equal to value set in AUDIO_FIFO_ALMOST_EMPTY_
THRESHOLD. Once set, this bit remains high until the interrupt is cleared via
FIFO_NEAR_UFLO_CLR (IO Map 0x85[0]).
When set to 1 it indicates the TMDS frequency has changed by more than the tolerance set
in FREQTOLERANCE[3:0] Once set, this bit remains high until the interrupt is cleared via
NEW_TMDS_FREQ_CLR (IO Map 0x85[1]).
When set to 1 it indicates audio sample packet has been received with the flat line bit set to
1. Once set, this bit remains high until the interrupt is cleared via AUDIO_FLT_LINE_
CLR (IO Map 0x85[2]).
When set to 1 it indicates that audio sampling frequency field in channel status data has
changed. Once set, this bit remains high until the interrupt is cleared via NEW_SAMP_
RT_CLR (IO Map 0x85[3]).
When set to 1 it indicates an audio sample packet has been received with parity error. Once
set, this bit remains high until the interrupt is cleared via PARITY_ERROR_CLR (IO Map 0x85
[4]).
When set to 1 it indicates that the type of audio packet received has changed. The following
are considered audio modes, no audio, PCM, DSD, HBR, or DST. AUDIO_SAMPL_PCKT_DET,
DSD_PACKET_DET, DST_AUDIO_PCKT_DET, and HBR_AUDIO_PCKT_DET used identify type
of audio packet currently received. Once set, this bit remains high until the interrupt is
cleared via AUDIO_MODE_CHNG_CLR (IO Map 0x85[5]).
When set to 1 it indicates that irregular or missing pulses are detected in the TMDS clock.
Once set, this bit remains high until the interrupt is cleared via VCLK_CHNG_CLR (IO Map
0x85[6]).
When set to 1 it indicates a change in the deep color mode has been detected. Once set, this
bit remains high until the interrupt is cleared via DEEP_COLOR_CHNG_CLR (IO Map 0x85[7]).
Rev. 0 | Page 90 of 184
Hardware User Guide
UG-438
Table 33. HDMI InfoFrame Checksum Error Flags in IO Map
Bit Name
AVI_INF_CKS_ERR_RAW
AUD_INF_CKS_ERR_RAW
SPD_INF_CKS_ERR_RAW
MS_INF_CKS_ERR_RAW
VS_INF_CKS_ERR_RAW
IO Map Location
0x88[4]
0x88[5]
0x88[6]
0x88[7]
0x8D[0]
Description
Description available in the InfoFrame Checksum Error Flags section
Description available in the InfoFrame Checksum Error Flags section
Description available in the InfoFrame Checksum Error Flags section
Description available in the InfoFrame Checksum Error Flags section
Description available in the InfoFrame Checksum Error Flags section
Table 34. AKSV Update Flags in IO Map Register 0x88
Bit Name
AKSV_UPDATE_A_RAW
Bit Position
0
RI_EXPIRED_A_RAW
2
Description
When set to 1 it indicates that transmitter has written its AKSV into HDCP
registers for Port A. Once set, this bit remains high until the interrupt is cleared
via AKSV_UPDATE_A_CLR (IO Map 0x8A[1]).
Status of Port A RI_EXPIRED interrupt signal. When set to 1, it indicates that HDCP
cipher Ri value for Port A is expired. Once set, this bit remains high until it is
cleared via RI_EXPIRED_A_CLR (HDMI Map, 0x8A[2]).
Table 35. HDMI Flags in HDMI Map
Bit Name
AUDIO_PLL_LOCKED
AUDIO_SAMPLE_PCKT_DET
DSD_PACKET_DET
DST_AUDIO_PCKT_DET
HBR_AUDIO_PCKT_DET
DCFIFO_LOCKED
HDMI Map Location
0x04[0]
0x18[0]
0x18[1]
0x18[2]
0x18[3]
0x1C[3]
Description
Description available in the Locking Mechanism section
Description available in the Audio Packet Type Flags section
Description available in the Audio Packet Type Flags section
Description available in the Audio Packet Type Flags section
Description available in the Audio Packet Type Flags section
Description available in the Video FIFO section
HDMI SECTION RESET STRATEGY
The reset strategy implemented for the HDMI section is as follows:
•
•
•
•
Global chip reset
A global chip reset is triggered by asserting the reset pin to a low level. The HDMI section, excluding the EDID/repeater controller, is
reset when a global reset is triggered.
Loss of TMDS clock or 5 V signal reset
A loss of TMDS clock or 5 V signal on the HDMI port selected via HDMI_PORT_SELECT[2:0] resets the entire HDMI section
except for the EDID/repeater controller and the audio section.
The loss of a 5 V signal condition is discarded if DIS_CABLE_DET_RST is set high.
DVI mode reset
The packet processing block, including InfoFrame memory is held in reset when the HDMI section processes a DVI stream.
EDID/repeater controller reset
The EDID/repeater controller is reset when the DVDD supplies go low or when HDCP_REPT_EDID_RESET is set high.
HDMI PACKET DETECTION FLAG RESET
A packet detection flag reset is triggered when any of the following events occur:
•
•
•
•
•
The ADV7610 is powered up.
The ADV7610 is reset.
A TMDS clock is detected, after a period of no clock activity, on the selected HDMI port.
The selected HDMI port is changed.
The signal from the 5 V input pin of the HDMI port selected through HDMI_PORT_SELECT transitions to a high. This condition is
discarded if DIS_CABLE_DET_RST is set high.
Rev. 0 | Page 91 of 184
UG-438
Hardware User Guide
DATA PREPROCESSOR AND COLOR SPACE CONVERSION AND COLOR CONTROLS
COLOR SPACE CONVERSION MATRIX
The ADV7610 provides any-to-any color space support. It supports formats such as RGB, YUV, YCbCr and many other color spaces.
The ADV7610 features a 3×3 CSC in the CP block (CP CSC), as shown in Figure 26. The CP CSC also provides color controls for
brightness, contrast, saturation and hue adjustments. The DPP block features an automatic CSC. The ADV7610 automatically configures
the DPP CSC depending on the input and output formats and the use of the color control feature.
DATA PRE-PROCESSOR
(DPP)
FIRST STAGE
DECIMATION
FILTER
SECOND STAGE
DECIMATION
FILTER
CP COLOR SPACE
CONVERSION MATRIX
(CP CSC)
10884-032
DPP COLOR SPACE
CONVERSION MATRIX
(DPP CSC)
COMPONENT PROCESSOR
(CP)
Figure 26. DPP/CP CSC Block Diagram
The configuration of the color space conversion using the CP CSC block and a description of the adjustable register bits are provided in
Figure 27.
CSC_COEFF_SEL
MANUAL CSC MODE
0000
CSC_SCALE
A1-A4[12:0]
B1-B4[12:0]
C1-C4[12:0]
AUTOMATIC CSC MODE
1111
RGB_OUT
INP_COLOR_SPACE
ALT_GAMMA
CHANNEL A, B, AND C
FROM DPP
CHANNEL A, B, AND C
TO CP CORE
CP COLOR CONTROL
CP COLOR SPACE
CONVERSION MATRIX
(CP CSC)
CP_BRIGHTNESS
CP_SATURATION
CP_CONTRAST
CP_HUE
1
VID_ADJ_EN
10884-033
0
Figure 27. Configuring CP CSC Block
CP CSC Selection
MAN_CP_CSC_EN, Addr 44 (CP), Address 0x69[4]
A control to manually enable the CP CSC. By default the CP CSC will be automatically enabled in the case that either a color-space
conversion or video-adjustments (hue, saturation, contrast, brightness) is determined to be required due to other I2C settings. If
MAN_CP_CSC_EN is set to 1, the CP CSC is forced into the enabled state.
Function
MAN_CP_CSC_EN
0 (default)
1
Description
CP CSC will be automatically enabled if required. For example, if either a color-space conversion or videoadjustments (hue, saturation, contrast, brightness) is determined to be required due to other I2C settings.
Manual override to force CP-CSC to be enabled.
Rev. 0 | Page 92 of 184
Hardware User Guide
UG-438
Selecting Auto or Manual CP CSC Conversion Mode
The ADV7610 CP CSC provides two modes for the CSC configuration: automatic CSC mode and manual CSC mode.
In automatic CSC mode, the user is required to program the input color space and the output color space for the correct operation of the
CSC matrix. Manual CSC mode allows the user to program all the color space conversion by manually programming CSC coefficients.
CSC_COEFF_SEL[3:0], Addr 44 (CP), Address 0x68[7:4]
A control to select the mode the CP CSC operates in.
Function
CSC_COEFF_SEL[3:0]
0000
1111 (default)
xxxx
Description
CP CSC configuration in manual mode
CP CSC configured in automatic mode
Reserved
The selection of the CSC is automated in the ADV7610. Automatic or manual CSC mode can be selected by setting the
CSC_COEFF_SEL[3:0] bits. When CSC_COEFF_SEL[3:0] is set to 0b1111, the CSC mode is automatically selected, based on the input
color space and output color space required and set through the following registers:
•
•
•
INP_COLOR_SPACE[3:0]
RGB_OUT
ALT_GAMMA
Auto Color Space Conversion Matrix
The CSC matrix, AGC target gain values, and offset values can be configured automatically via the following set of registers:
•
•
•
•
INP_COLOR_SPACE[3:0]
RGB_OUT
ALT_GAMMA
OP_656_RANGE_SEL
INP_COLOR_SPACE[3:0], IO, Address 0x02[7:4]
A control to set the colorspace of the input video. To be used in conjunction with ALT_GAMMA and RGB_OUT to configure the color
space converter. A value of 4'b1111 selects automatic setting of the input color space base on the primary mode and video standard
settings. Setting 1000 to Setting 1110 are undefined.
Function
INP_COLOR_SPACE[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1111 (default)
Description
Forces RGB (range 16 to 235) input
Forces RGB (range 0 to 255) input
Forces YCrCb input (601 color space) (range 16 to 235)
Forces YCrCb input (709 color space) (range 16 to 235)
Forces XVYCC 601
Forces XVYCC 709
Forces YCrCb input (601 color space) (range 0 to 255)
Forces YCrCb input (709 color space) (range 0 to 255)
Input color space depends on color space reported by HDMI block.
Table 36. Automatic Input Color Space Selection
PRIM_MODE[3:0]
0101
VID_STD[5:0]
xxxx
Input Color Space
Dependent on AVI InfoFrame
0110
xxxx
Dependent on AVI InfoFrame
Input Range
0:255 for YUV
Dependent on AVI InfoFrame for RGB
0:255 for YUV
Dependent on AVI InfoFrame for RGB
Rev. 0 | Page 93 of 184
Comments
HDMI component modes
HDMI graphic modes
UG-438
Hardware User Guide
RGB_OUT, IO, Address 0x02[1]
A control to select output color space and the correct digital blank level and offsets on the RGB or YPrPb outputs. It is used in
conjunction with the INP_COLOR_SPACE[3:0] and ALT_GAMMA bits to select the applied CSC.
Function
RGB_OUT
0 (default)
1
Description
YPbPr color space output
RGB color space output
ALT_GAMMA, IO, Address 0x02[3]
A control to set the colorspace of the input video. To be used in conjunction with ALT_GAMMA and RGB_OUT to configure the color
space converter. A value of 4'b1111 selects automatic setting of the input color space base on the primary mode and video standard
settings. Setting 1000 to Setting 1110 are undefined.
Function
ALT_GAMMA
0 (default)
1
Description
No conversion
YUV601 to YUV709 conversion applied if input is YUV601. YUV709 to YUV601 conversion applied if input is YUV709
Table 37. Automatic CSC Selection
INP_COLOR_SPACE[3:0] (Input Color Space)
00 = RGB
01 = (YCbCr /YUV 601)
10 = (YCbCr /YUV 709)
RGB_OUT
0
1
0
1
0
1
CSC Mode Used (Output)
ALT_GAMMA = 0
ALT_GAMMA = 1
YCbCr 601
YCbCr 709
RGB
RGB
YCbCr 601
YCbCr 709
RGB
RGB
YCbCr 709
YCbCr 601
RGB
RGB
CSC_COEFF_SEL_RB[3:0], Addr 44 (CP), Address 0xF4[7:4] (Read Only)
Readback of the CP CSC conversion when configured in automatic mode.
Function
CSC_COEFF_SEL_RB[3:0]
0000 (default)
0001
0011
0101
0111
1001
1010
1111
xxxx
Description
CSC is bypassed
YPbPr 601 to RGB
YPbPr 709 to RGB
RGB to YPbPr 601
RGB to YPbPr 709
YPbPr 709 to YPbPr 601
YPbPr 601 to YPbPr 709
CSC in manual mode
Reserved
Table 38. CSC Configuration for All CSC Modes Reported by CSC_COEFF_SEL_RB
CSC
Mode
0b0000
0b0001
0b0011
0b0101
0b0111
0b1001
0b1010
CSC_
SCALE
[1:0]
A1
A2
A3
A4
B1
B2
B3
B4
C1
C2
C3
C4
CSC in bypass mode. In this mode the CSC effectively performs a color conversion based on the CSC coefficients set in registers CSC_SCALE, A1,
A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, and C4.
0b01
0x0800
0x1A6A
0x1D50
0x0423
0x0800
0x0AF8
0x0000
0x1A84
0x0800
0x0000
0x0DDB
0x1912
0b01
0x0800
0x1C54
0x1E89
0x0291
0x0800
0x0C52
0x0000
0x19D7
0x0800
0x0000
0x0E87
0x18BC
0b00
0x0964
0x04C9
0x01D3
0x0000
0x1927
0x082D
0x1EAC
0x0800
0x1A93
0x1D3F
0x082D
0x0800
0b00
0x0B71
0x0368
0x0127
0x0000
0x1893
0x082D
0x1F3F
0x0800
0x19B2
0x1E21
0x082D
0x0800
0b01
0x0800
0x0188
0x00CB
0x1ED7
0x0000
0x07DE
0x1F6C
0x005B
0x0000
0x1F1D
0x07EB
0x007B
0b01
0x0800
0x1E56
0x1F14
0x014A
0x0000
0x0834
0x009A
0x1F9A
0x0000
0x00EB
0x0826
0x1F78
Rev. 0 | Page 94 of 184
Hardware User Guide
UG-438
HDMI Automatic CSC Operation
In HDMI mode, the ADV7610 provides an automatic CSC function based on the AVI InfoFrame sent from the source. The flowchart in
Figure 28 shows the mechanism of the ADV7610 auto CSC functionality in HDMI mode.
Note: In the following flowcharts, a red dashed line represents a state that is undefined according to the CEA-861D specification, and
therefore should never happen. In the event that it did somehow occur, the ADV7610 retains the previous colorimetry.
START
Y[1:0] = 00b
RGB MODE
Y[1:0] = 01b
YCbCr MODE
Y[1:0] = 10b
YCbCr MODE
Y[1:0] = 11b
YCbCr MODE
10884-034
DETECT YCbCr/RGB
Y[1:0] = xxb?
Figure 28. HDMI Auto CSC Flowchart
Y[1:0] = 00b
RGB
MODE
START
DETECT QUANTIZATION RANGE
Q[1:0] = xxb?
Q[1:0] = 01b
Q[1:0] = 00b
Q[1:0] = 10b
Q[1:0] = 11b
REMAIN CURRENT CS
OR RGB LIMITED RANGE
RGB LIMITED RANGE
CHECK ITC IN AVI
(ITC = 1?)
TRUE
RGB FULL RANGE
Figure 29. HDMI Auto CSC Flowchart (Case RGB)
Rev. 0 | Page 95 of 184
10884-035
FALSE
UG-438
Hardware User Guide
Y[1:0] = 01b, 10b, 11b
YCbCr
MODE
START
YCbCr COLORIMETRY
C[1:0] = xxb?
C[1:0] = 10b
C[1:0] = 10b
C[1:0] = 11b
C[1:0] = 00b
YUV709
YUV601
EC[2:0] = 001b
xvYCC709
EC[2:0] = 000b
xvYCC601
EC[2:0] != (001 OR 000)
REMAIN CURRENT STATUS
10884-036
EXTENDED COLORIMETRY
EC[2:0] = xxxb?
Figure 30. HDMI Auto CSC Flowchart (Case YCbCr-1)
YCbCr COLORIMETRY
C[1:0] = 00b
VIDEO FORMAT IDENTIFICATION CODE
CHECK VIC[6:0] VALUES IN AVI INFOFRAME
VIC[6:0] == 0d
VIC[6:0] == 1d
VIC[6:0] == 4d
VIC[6:0] == 5d
VIC[6:0] == 16d
VIC[6:0] == 19d
VIC[6:0] == 20d
VIC[6:0] == 31d
VIC[6:0] == 32d
VIC[6:0] == 33d
VIC[6:0] == 34d
VIC[6:0] == 39d
VIC[6:0] == 40d
VIC[6:0] == 46d
VIC[6:0] == 47d
VIC[6:0] >= 60d
FALSE
YUV601
10884-037
TRUE
YUV709
Figure 31. HDMI Auto CSC Flowchart (Case YCbCr-2)
In the RGB case (refer to Figure 32), the ADV7610 has the programmability to control manually the RGB limited/full range regardless of
the ITC bit.
Rev. 0 | Page 96 of 184
Hardware User Guide
UG-438
Y[1:0] = 00b
RGB START
4:4:4 MODE
DETECT QUANTIZATION RANGE
Q[1:0] = xxb?
Q[1:0] = 01b
Q[1:0] = 10b
QZERO_RGB_FULL = 1
1-BIT CONTROL
TO SELECT FULL/LIMITED
RGB/RANGE
RGB FULL RANGE
RGB LIMITED RANGE
10884-038
QZERO_RGB_FULL = 0
(DEFAULT)
Q[1:0] = 00b
Figure 32. Manual RGB Range Control Flowchart for Auto CSC (Case RGB)
QZERO_ITC_DIS, Addr 68 (HDMI), Address 0x47[2]
A control to select manual control of the RGB colorimetry when the AVI InfoFrame field Q[1:0] = 00. To be used in conjunction with
QZERO_RGB_FULL.
Function
QZERO_ITC_DIS
0 (default)
1
Description
AVI InfoFrame ITC bit decides RGB-full or limited range in case Q[1:0] = 00
Manual RGB range as per QZERO_RGB_FULL
QZERO_RGB_FULL, Addr 68 (HDMI), Address 0x47[1]
A control to manually select the HDMI colorimetry when AVI InfoFrame field Q[1:0] = 00. Valid only when QZERO_ITC_DIS is set to 1.
Function
QZERO_RGB_FULL
0 (default)
1
Description
RGB-limited range when Q[1:0] = 00
RGB-full when Q[1:0] = 00
Manual Color Space Conversion Matrix
The CP CSC matrix in the ADV7610 is a 3 × 3 matrix with full programmability of all coefficients in the matrix in manual mode. Each
coefficient is 12-bits wide to ensure signal integrity is maintained in the CP CSC section. The CP CSC contains three identical processing
channels, one of which is shown in Figure 33. The main inputs labeled In_A, In_B, and In_C come from the 36-bit digital input from the
HDMI section. Each input to the individual channels to the CSC is multiplied by a separate coefficient for each channel.
In Figure 33, these coefficients are marked A1, A2 and A3. The variable labeled A4 is used as an offset control for channel A in the CSC.
There is also a further CP CSC control bit labeled CSC_SCALE[1:0]; this control can be used to accommodate coefficients that extend the
supported range. The functional diagram for a single channel in the CP CSC as per Figure 33 is repeated for the other two remaining
channels, B and C. The coefficients for these channels are called B1, B2, B3, B4, C1, C2, C3, and C4.
Rev. 0 | Page 97 of 184
UG-438
Hardware User Guide
CSC_SCALE
A1[12:0]
A4[12:0]
×2
1
OUT_A[11:0]
IN_A[11:0]
×
+
+
+
0
A2[12:0]
IN_B[11:0]
×
IN_C[11:0]
10884-039
A3[12:0]
×
Figure 33. Single CSC Channel
The coefficients mentioned previously are detailed in Table 39 along with the default values for these coefficients.
Table 39. CSC Coefficients
Function Bit
A1[12:0]
A2[12:0]
A3[12:0]
B1[12:0]
B2[12:0]
B3[12:0]
C1[12:0]
C2[12:0]
C3[12:0]
CSC_SCALE[1:0]
A4[12:0]
B4[12:0]
C4[12:0]
CP Map Address
0x57[4:0], 0x58[7:0]
0x55[1:0], 0x56[7:0], 0x57[7:5]
0x54[6:0], 0x55[7:2]
0x5E[4:0], 0x5F[7:0]
0x5C[1:0], 0x5D[7:0], 0x5E[7:5]
0x5B[6:0], 0x5C[7:2]
0x65[4:0], 0x66[7:0]
0x63[1:0], 0x64[7:0], 0x65[7:5]
0x62[6:0], 0x63[7:2]
0x52[7:6]
0x52[4:0], 0x53[7:0]
0x59[4:0], 0x5A[7:0]
0x60[4:0], 0x61[7:0]
Reset Value (Hex)
0x800
0x000
0x000
0x000
0x800
0x000
0x000
0x000
0x800
0x01
0x000
0x000
0x000
CSC_SCALE[1:0], Addr 44 (CP), Address 0x52[7:6]
A control to set the CSC coefficient scalar.
Function
CSC_SCALE[1:0]
00
01 (default)
10
11
Description
CSC scalar set to 1.
CSC scalar set to 2.
Reserved. Do not use.
Reserved. Do not use.
Rev. 0 | Page 98 of 184
Description
Coefficient for Channel A
Coefficient for Channel A
Coefficient for Channel A
Coefficient for Channel B
Coefficient for Channel B
Coefficient for Channel B
Coefficient for Channel C
Coefficient for Channel C
Coefficient for Channel C
Scaling for CSC formula
Offset for Channel A
Offset for Channel B
Offset for Channel C
Hardware User Guide
UG-438
CSC Manual Programming
The equations performed by the CP CSC are as follows:
CSC Channel A
A1[12 : 0]
A2[12 : 0]
A3[12 : 0]


Out _ A =  In _ A ×
+ In _ B ×
+ In _ C ×
+ A4[12 : 0] × 2 CSC _ scale
4096
4096
4096


(4)
CSC Channel B
B1[12 : 0]
B2[12 : 0]
B3[12 : 0]


Out _ B =  In _ A ×
+ In _ B ×
+ In _ C ×
+ B4[12 : 0] × 2 CSC _ scale
4096
4096
4096


(5)
CSC Channel C
C1[12 : 0]
C2[12 : 0]
C3[12 : 0]


Out _ C =  In _ A ×
+ In _ B ×
+ In _ C ×
+ C4[12 : 0] × 2 CSC _ scale
4096
4096
4096


(6)
As can be seen from Equation 4, Equation 5, and Equation 6, the A1, A2, A3; B1, B2, B3; and C1, C2, C3 coefficients are used to scale the
primary inputs. The values of A4, B4, and C4 are added as offsets. The CSC_SCALE[1:0] bits allows the user to implement conversion
formulae in which the coefficients exceed the standard range of [−4096/+4096 ... 4095/4096]. The overall range of the CSC is [0..1] for
unipolar signals (for example, Y, R, G, and B) and [−0.5 … +0.5] for bipolar signals (for example, Pr and Pb).
Note: The bipolar signals must be offset to midrange, for example, 2048.
To arrive at programming values from typical formulas, the following steps are performed:
1.
2.
3.
4.
5.
6.
Determine the dynamic range of the equation.
The dynamic range of the CSC is [0 … 1] or [−0.5 … +0.5]. Equations with a gain larger than 1 need to be scaled back. Errors in the
gain can be compensated for in the gain stages of the follow on blocks.
• Scale the equations, if necessary.
Check the value of each coefficient. The coefficients can only be programmed in the range [−0.99 … +0.99].
To support larger coefficients, the CSC_SCALE[1:0] function should be used.
Determine the setting for CSC_SCALE[1:0] and adjust coefficients, if necessary.
Program the coefficient values. Convert the float point coefficients into 12-bit fixed decimal format. Convert into binary format,
using twos complement for negative values.
• Program A1 to A3, B1 to B3, C1 to C3.
Program the offset values. Depending on the type of CSC, offsets may have to be used.
• Program A4, B4, C4.
CSC Example
The following set of equations gives an example of a conversion from a gamma corrected RGB signal into a YCbCr color space signal.
A1[12 : 0]
A2[12 : 0]
A3[12 : 0]


+ In _ B ×
+ In _ C ×
+ A4[12 : 0] × 2 CSC _ scale
Out _ A =  In _ A ×
4096
4096
4096


B1[12 : 0]
B2[12 : 0]
B3[12 : 0]


Out _ B =  In _ A ×
+ In _ B ×
+ In _ C ×
+ B4[12 : 0] × 2 CSC _ scale
4096
4096
4096


C1[12 : 0]
C2[12 : 0]
C3[12 : 0]


Out _ C =  In _ A ×
+ In _ B ×
+ In _ C ×
+ C4[12 : 0] × 2 CSC _ scale
4096
4096
4096


Note: The original equations give offset values of 128 for the Pr and Pb components. The value of 128 equates to half the range on an 8-bit
system. It must be noted that the CSC operates on a 12-bit range. The offsets, therefore, must be changed from 128 to half the range of a
12-bit system, which equates to 2048.
The maximum range for each equation, that is, each output data path, can only be [0 ... 1] or [−0.5 ... +0.5]. Equations with a larger gain
must be scaled back into range. The gain error can be compensated for in the gain stage of the follow on blocks.
Rev. 0 | Page 99 of 184
UG-438
Hardware User Guide
The ranges of the three equations are shown in Table 40.
Table 40. Equation Ranges
Equation
Y
Pb
Pr
Minimum Value
0+0+0=0
(−0.34) + (−0.17) = −0.51
(−0.43) + (−0.08) = −0.51
Maximum Value
0.59 + 0.3 + 0.11 = 1
0.51
0.51
Range
[0 … 1] = 1
[−0.51 …+ 0.51] = 1.02
[−0.51 … +0.51] = 1.02
As can be seen from this table, the range for the Y component fits into the CSC operating range. However, the Pb and Pr ranges slightly
exceed the range. To bring all equations back into the supported range, they should be scaled back by 1/1.02.
If equations fall outside the supported range, overflow or underflow can occur and undesirable wrap around effects (large number
overflowing to small ones) can happen.
Y=
0.59
0. 3
0.11
×G +
×R +
× B = 0.58 × G + 0.29 × R + 0.11× B
1.02
1.02
1.02
Pb =
−0.34
−0.17
0.51
×G +
×R +
× B + 2048 = −0.33 × G − 0.17 × R + 0.5 × B + 2048
1.02
1.02
1.02
Pr =
−0.43
0.51
−0.08
×G +
×R +
× B + 2048 = −0.42 × G + 0.5 × R − 0.08 × B + 2048
1.02
1.02
1.02
Note that the scaling of the dynamic range does not affect the static offset.
Check the Value of Each Coefficient
The maximum value for each coefficient on its own can only be within the range of −4096/+4096 to 4095/4096, which equals
[−1... +0.999755859375]. Values outside this range do not fit into the 12-bit fixed point format used to program the coefficients.
If the value of one or more coefficients after scaling of the overall equation exceeds the supported coefficient range, the CSC_SCALE[1:0]
should be set.
With the CSC_SCALE[1:0] set high, all coefficients must be scaled by half, which makes them fit into the given coefficient range. The
overall outputs of the CSC are gained up by a fixed value of two, thus compensating for the scaled down coefficients.
In the preceding example, each coefficient on its own is within the range of
− 4096
4095
≤ Coeff ≤
4096
4096
Therefore, all coefficients can be programmed directly, and the CSC_SCALE[1:0] bits should be set to 0.
Notes
•
•
•
To achieve a coefficient value of 1.0 for any given coefficient, CSC_SCALE should be set high and the coefficient should actually be
programmed to a value of 0.5. Otherwise, the largest value would be 4095/4096 = 0.9997, which is not exactly 1. While this value
could be interpreted as a 1, it is recommended to use the value of 0.5 and the CSC_SCALE bit for maximum accuracy.
For very large coefficient values, for example, 2.58, a combination of CSC_SCALE[1:0] and equation scaling should be used.
Set CSC_SCALE high (2.58/2 = 1.29) and scale the overall equation by slightly more than 1.28 (coefficient falls within the supported
range of [−0.999 … +0.999]).
Rev. 0 | Page 100 of 184
Hardware User Guide
UG-438
CSC in Pass-Through Mode
It is possible to configure the CP CSC in a pass-through mode. In this mode, the CP CSC is used but does not alter the data it processes.
The CP CSC pass-through mode is obtained using the following settings:
1.
2.
3.
Set MAN_CP_CSC_EN to 1’b1.
Set CSC_COEFF_SEL[3:0] to 4’b0000.
Leave the following registers from the CP map at the default:
CSC_SCALE = 1 (default value)
A4 = A3 = A2 = 0x000 (default value)
B4 = B3 = B1 = 0x000 (default value)
C4 = C2 = C1 = 0x000 (default value)
A1 = B2 = C3 = 0x800 (default value)
Note: The DPP CSC is always in pass-through mode unless the ADV7610 is processing an RGB input, outputting this input in the RGB
color space and VID_ADJ_EN is enabled.
COLOR CONTROLS
The ADV7610 has a color control feature that can adjust the brightness, contrast, saturation, and hue properties.
VID_ADJ_EN, Addr 44 (CP), Address 0x3E[7]
Video adjustment enable. This control selects whether or not the color controls feature is enabled. The color controls feature is configured
via the parameters CP_CONTRAST[7:0], CP_SATURATION[7:0], CP_BRIGHTNESS[7:0] and CP_HUE[7:0]. The CP CSC must also be
enabled for the color controls to be effective.
Function
VID_ADJ_EN
0 (default)
1
Description
Disable color controls
Enable color controls
CP_CONTRAST[7:0], Addr 44 (CP), Address 0x3A[7:0]
A control to set the contrast. This field is a unsigned value represented in a 1.7 binary format. The MSB represents the integer part of the
contrast value, which is either 0 or 1. The seven LSBs represent the fractional part of the contrast value. The fractional part has the range
[0 to 0.99]. This control is functional if VID_ADJ_EN is set to 1.
Function
CP_CONTRAST[7:0]
00000000
10000000 (default)
11111111
Description
Contrast set to minimum
Default
Contrast set to maximum
CP_SATURATION[7:0], Addr 44 (CP), Address 0x3B[7:0]
A control to set the saturation. This field is an unsigned value represented in a 1.7 binary format. The MSB represents the integer part of
the contrast value, which is either 0 or 1. The seven LSBs represent the fractional part of the saturation value. The fractional part has a [0
to 0.99] range. This control is functional if VID_ADJ_EN is set to 1.
Function
CP_SATURATION[7:0]
00000000
10000000 (default)
11111111
Description
Saturation set to minimum
Default
Saturation set to maximum
Rev. 0 | Page 101 of 184
UG-438
Hardware User Guide
CP_BRIGHTNESS[7:0], Addr 44 (CP), Address 0x3C[7:0]
A control to set the brightness. This field is a signed value. The effective brightness value applied to the luma is obtained by multiplying
the programmed value CP_BRIGHTNESS with a gain of 4. The brightness applied to the luma has a range of [−512 to +508]. This control
is functional if VID_ADJ_EN is set to 1.
Function
CP_BRIGHTNESS[7:0]
00000000 (default)
01111111
11111111
Description
The offset applied to the luma is 0.
The offset applied to the luma is 508. This value corresponds to the brightness setting.
The offset applied to the luma is −512. This value corresponds to the darkest setting.
CP_HUE[7:0], Addr 44 (CP), Address 0x3D[7:0]
A control to set the hue. This register represents an unsigned value that provides hue adjustment. Following the control processes, Cb and
Cr stream as follows:
Cb_out = Cb × cos(hue) + Cr × sin(hue)
Cr_out = Cr × cos(hue) − Cb × sin(hue)
It allows for rotating hue by any angle <0°; 360°); that is, by any angle from 0° up to 360°, excluding 360°. This control is functional if
VID_ADJ_EN is set to 1.
Function
CP_HUE[7:0]
0x00 (default)
0x40
0x80
0xC0
Description
A hue of 0° is applied to the chroma
A hue of 90° is applied to the chroma
A hue of 180° is applied to the chroma
A hue of 270° is applied to the chroma
Rev. 0 | Page 102 of 184
Hardware User Guide
UG-438
COMPONENT PROCESSOR
COMPONENT PROCESSING
STANDARD
IDENTIFICATION
(STDI)
SYNC PROCESSING
CHANNEL
HS/VS/F
OUTPUT
SYNC EXTRACTOR
VIDEO DATA
CHA, CHB, AND
CHC OUTPUT
DELAY
DIGITAL
FINE
CLAMP
GAIN
CONTROL
OFFSET
ADDER
CP CSC
AV CODE
INSERTION
MEASUREMENT
BLOCK (≥I2C)
VIDEO DATA
PROCESSING BLOCK
ACTIVE PEAK
AND HSYNC DEPTH
10884-040
VIDEO DATA
CHA, CHB, AND
CHC INPUT
Figure 34. Component Processor Block Diagram
INTRODUCTION TO THE COMPONENT PROCESSOR
A simplified block diagram of the component processor (CP) on the ADV7610 is shown in Figure 34. Data is supplied to the CP from the
data preprocessor (DPP). The CP circuitry is activated under the control of PRIM_MODE[3:0] and VID_STD[5:0].
The CP is activated for the following modes of operation:
•
•
•
•
Manual and automatic gain control
Manual offset correction
Saturation
Insertion of timing codes and blanking data
The CP also has the following capabilities:
•
•
•
Generates HSync, VSync, FIELD, and data enable (DE) timing reference outputs
Color space conversion
Color control adjustment
CLAMP OPERATION
The CP contains a digital fine clamp block. Its main purposes is to allow a clamp to operate even if the input signal is coming from a
digital source
The digital fine clamp operates in three separate feedback loops, one for each channel. The incoming video signal level is measured at the
back porch. The level error, that is, clamp error, is compensated for by subtracting or adding a digital number to the data stream.
The digital clamp loop can be operated in an automatic or a manual mode with the following options:
•
•
•
•
The clamp values for Channel B and Channel C can be set manually. This is the recommended mode.
The clamp value is determined automatically on a line-by-line basis.
The clamp loops can be frozen. This means that the currently active offsets will no longer be updated but will be applied
permanently.
The clamp value for channel A can be set manually (static value).
Note: The target clamp level for black input is a digital code of 0. This is to facilitate the highest possible signal to noise ratio (SNR).
Some interfaces, for example, ITU-R. BT656, require black to correspond to a value other than 0. To facilitate this, there is an additional
independent offset adder block after the gain multipliers for which separate fixed offset values can be supplied. Refer to the CP Offset
Block section for additional information.
Rev. 0 | Page 103 of 184
UG-438
Hardware User Guide
CLMP_FREEZE, Addr 44 (CP), Address 0x6C[5]
Stops the digital fine clamp loops for Channel A, Channel B, and Channel C from updating.
Function
CLMP_FREEZE
0 (default)
1
Description
Clamp value updated on every active video line
Clamp loops are stopped and not updated
CLMP_A_MAN, Addr 44 (CP), Address 0x6C[7]
Manual clamping enable for Channel A.
Function
CLMP_A_MAN
0 (default)
1
Description
Ignore internal digital fine clamp loop result. Use CLMP_A[11:0].
Use the digital fine clamp value determined by the on-chip clamp loop.
CLMP_A[11:0], Addr 44 (CP), Address 0x6C[3:0]; Address 0x6D[7:0]
Manual clamp value for Channel A. This field is an unsigned 12-bit value to be subtracted from the incoming video signal. This value
programmed in this register is effective if the CLMP_A_MAN is set to 1. To change the CLMP_A[11:0], Register Address 0x6C and
Register Address 0x6D must be updated with the desired clamp value written to in this order and with no other I2C access in between.
Function
CLMP_A[11:0]
0x000 (default)
…
0xFFF
Description
Minimum range
…
Maximum range
To facilitate an external clamp loop for Channel B and Channel C, the internal clamp value determined by the digital fine clamp block can
be overridden by manual values programmed in the CP map. Both Channel B and Channel C are either in manual or automatic mode.
There is no individual control for them.
The corresponding control values are CLMP_BC_MAN, CLMP_B[11:0], CLMP_C[11:0].
CLMP_BC_MAN, Addr 44 (CP), Address 0x6C[6]
Manual clamping enable for Channel B and Channel C.
Function
CLMP_BC_MAN
0 (default)
1
Description
Ignore internal digital fine clamp loop result. Use CLMP_B[11:0] for Channel B and CLMP_C[11:0] for Channel C.
Use the digital fine clamp value determined by the on-chip clamp loop.
CLMP_B[11:0], Addr 44 (CP), Address 0x6E[7:0]; Address 0x6F[7:4]
Manual clamp value for Channel B. This field is an unsigned 12-bit value to be subtracted from the incoming video signal. This value
programmed in this register is effective if the CLMP_BC_MAN is set to 1. To change the CLMP_B[11:0], Register Address 0x6E and
Register Address 0x6F must be updated with the desired clamp value written to in this order and with no other I2C access in between.
Function
CLMP_B[11:0]
0x000 (default)
…
0xFFF
Description
Minimum range
…
Maximum range
Rev. 0 | Page 104 of 184
Hardware User Guide
UG-438
CLMP_C[11:0], Addr 44 (CP), Address 0x6F[3:0]; Address 0x70[7:0]
Manual clamp value for Channel C. This field is an unsigned 12-bit value to be subtracted from the incoming video signal. This value
programmed in this register is effective if the CLMP_BC_MAN is set to 1. To change the CLMP_C[11:0], Register Address 0x6F and
Register Address 0x70 must be updated with the desired clamp value written to in this order and with no other I2C access in between.
Function
CLMP_C[11:0]
0x000 (default)
…
0xFFF
Description
Minimum range
…
Maximum range
CP GAIN OPERATION
The digital gain block of the CP consists of three multipliers in the data paths of Channel A, Channel B, and Channel C, as well as one
single automatic gain control loop. The gain control can be operated in manual or automatic mode.
Features of Manual Gain Control
The gain values for the three channels can be programmed separately via I2C registers. This is the recommended mode.
Features of Automatic Gain Control
The gain value is determined automatically, based on a signal with an embedded horizontal synchronization pulse on Channel A. The
automatic gain control loop can be frozen, for example, after settling.
The gain value inputs are controlled via the OP_656_RANGE bit.
Manual Gain and Automatic Gain Control Selection
Figure 35 shows how the gain is applied to the video data processed by the CP section. The following gain configurations are available:
•
•
Automatic gain configuration in HDMI mode
This configuration is enabled by setting AGC_MODE_MAN to 0 and by setting the part in HDMI mode via PRIM_MODE[3:0] and
VID_STD[5:0]. In that case, the gain applied to the video data depends on the input and output range configuration. The input range
is set by control register INP_COLOR_SPACE and the read back register HDMI_COLORSPACE[3:0] as per Table 41. The output
color space is determined the control bit OP_656_RANGE.
Manual gain configuration
This configuration is enabled by setting AGC_MODE_MAN to 1 and GAIN_MAN to 1. In this case the gain applied to the video
data processed by the CP core is configured via the control registers A_GAIN[9:0], B_GAIN[9:0] and C_GAIN[9:0].
Table 41. Input Ranges for HDMI Modes
INP_COLOR_SPACE
0b0000
0b0001
0b0010
0b0011
0b0100
0b0101
0b0110
0b0111
0b1111
0b1000 to 0b1110
Input Range
16 to 235
0 to 255
16 to 235
16 to 235
0 to 255
0 to 255
0 to 255
0 to 255
16 to 235 if HDMI_COLORSPACE = 0b000
0 to 255 if HDMI_COLORSPACE = 0b001
16 to 235 if HDMI_COLORSPACE = 0b010
16 to 235 if HDMI_COLORSPACE = 0b011
0 to 255 if HDMI_COLORSPACE = 0b100
0 to 255 if HDMI_COLORSPACE = 0b101
0 to 255 if HDMI_COLORSPACE = 0b110
0 to 255 if HDMI_COLORSPACE = 0b111
Reserved
Rev. 0 | Page 105 of 184
UG-438
Hardware User Guide
NO
YES
AGC_MODE_MAN
GAIN_MAN
NO
HDMI_MODE
YES
NO
YES
INPUT
RANGE
OP_656_RANGE
GAIN
OP_656_RANGE
GAIN
0 (0 TO 255 OUTPUT)
1
0 (0 TO 255 OUTPUT)
(255 – 0 + 1) ×
16/1344 = 3.047
1 (16 TO 235 Y/RGB
16 TO 240 CrCb)
(235 – 16 + 1) ×
16/1344 = 2.617
0 TO 255
1 (16 TO 235 Y/RGB (235 – 16)/255
= 0.859
16 TO 240 CrCb)
SET GAIN BASED ON
A/B/C_GAIN[9:0] VALUE
AGC
ACTIVE
SSPD DETECTED
EMBEDDED SYNCS??
OP_656_RANGE
GAIN
0 (0 TO 255 OUTPUT)
(255 – 0 + 1) ×
16/1344 = 3.047
1 (16 TO 235 Y/RGB
16 TO 240 CrCb)
(235 – 16 + 1) ×
16/1344 = 2.617
255(255 – 16)
0 (0 TO 255 OUTPUT)
= 1.164
16 TO 235
1 (16 TO 235 Y/RGB
16 TO 240 CrCb)
NO
1
Figure 35. CP Automatic Gain Controls
AGC_MODE_MAN, Addr 44 (CP), Address 0x73[6]
A control to set how the gains for all three channels are configured.
Function
AGC_MODE_MAN
0 (default)
1
Description
The gain is dependent on the type of input and OP_656_RANGE.
Gain operation controlled by GAIN_MAN.
Manual Gain Control
By setting the GAIN_MAN bit, the gain factors for Channel A, Channel B, and Channel C are no longer taken from the AGC, but are
replaced by three dedicated I2C registers.
Using these factors with the HSD_FB[11:0] register, it is possible to implement an off-chip AGC if desired. The range for the gain is
[0…3.999]. The A_GAIN[9:0], B_GAIN[9:0], C_GAIN[9:0] registers are in 2.8 binary format and can be set as shown in Equation 8, CP
manual gain.
X_GAIN[9:0] = floor(GAIN × 256)
(7)
where:
0 ≤ GAIN < 4.
floor( ) is the floor function that returns the largest integer not greater than its input parameter.
X refers to A, B, and C.
Table 42. Example
Example Gaindec
0.5
0.98887
2.5
A_GAIN[9:0]
0x80
0xFD
0x280
GAIN_MAN, Addr 44 (CP), Address 0x73[7]
Enables the gain factor to be set by the AGC or manually.
Function
GAIN_MAN
0 (default)
1
Description
AGC controls the gain for all three channels.
Manual gains are used for all three channels.
Rev. 0 | Page 106 of 184
10884-041
YES
Hardware User Guide
UG-438
A_GAIN[9:0], Addr 44 (CP), Address 0x73[5:0]; Address 0x74[7:4]
A control to set the manual gain value for Channel A.
This register is an unsigned value in a 2.8 binary format. To change A_GAIN[9:0], the register at Address 0x73 and Address 0x74 must be
written to in this order with no I2C access in between.
Function
A_GAIN[9:0]
0x000
0x100 (default)
0x3FF
Description
Gain of 0
Unity gain
Gain of 3.99
B_GAIN[9:0], Addr 44 (CP), Address 0x74[3:0]; Address 0x75[7:2]
A control to set the manual gain value for Channel B.
This register stores an unsigned value in a 2.8 binary format. To change B_GAIN[9:0], the register at Address 0x74 and Address 0x75
must be written to in this order with no I2C access in between.
Function
B_GAIN[9:0]
0x000
0x100 (default)
0x3FF
Description
Gain of 0
Unity gain
Gain of 3.99
C_GAIN[9:0], Addr 44 (CP), Address 0x75[1:0]; Address 0x76[7:0]
A control to set the manual gain value for Channel C.
This register stores an unsigned value in a 2.8 binary format. To change C_GAIN[9:0], the register at Address 0x75 and Address 0x76
must be written to in this order with no I2C access in between.
Function
C_GAIN[9:0]
0x000
0x100 (default)
0x3FF
Description
Gain of 0
Unity gain
Gain of 3.99
HSD_FB[11:0], Addr 44 (CP), Address 0xEB[3:0]; Address 0xEC[7:0] (Read Only)
A readback for the measured value of HSync depth on Channel A, after gain multiplier, for external feedback loop.
The value is presented in twos complement form. This means that only a standard adder is needed to subtract the actual HSync depth (as
per HSD_FB) from a nominal value, as the HSD_FB value is already in negative format.
Function
HSD_FB[11:0]
xxxxxxxxxxxx
Description
Readback value
Rev. 0 | Page 107 of 184
UG-438
Hardware User Guide
Manual Gain Filter Mode
The ADV7610 provides a special filter option for the manual gain mode. This is functional only when manual gain is enabled. The
purpose of this filter is a smoothing mechanism when the manual gain value is updated continuously by an external system based on
either external or readback conditions in the ADV7610. The filter designed is an IIR filter with a transfer function of the form:
YN = (1 − A) × YN − 1 + A × XN
where A is the filter coefficient.
The values possible for A can vary from 1 (no filtering) to 1/128K (K = 1024). The value of coefficient A is chosen by programming
CP_GAIN_FILT[3:0].
CP_GAIN_FILT[3:0], Addr 44 (CP), Address 0x84[7:4]
A control to set the coefficient A of the IIF filter to filter the gain applied to the video signal when the gain is manually set. The value set
in this register is effective only when manual gain is enabled. The filter is designed as an IIR filter with a transfer function of the form
Y[N] = (1 − A) × y[N − 1] + A × X[N]
Function
CP_GAIN_FILT[3:0]
0000 (default)
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
All other values
Description
No filtering, that is, coefficient A = 1.
Coefficient A = 1/128 lines.
Coefficient A = 1/256 lines.
Coefficient A = 1/512 lines.
Coefficient A = 1/1024 lines.
Coefficient A = 1/2048 lines.
Coefficient A = 1/4096 lines.
Coefficient A = 1/8192 lines.
Coefficient A = 1/16,384 lines.
Coefficient A = 1/32,768 lines.
Coefficient A = 1/65,536 lines.
Coefficient A = 1/131,072 lines.
Reserved. Do not use.
Other Gain Controls
OP_656_RANGE, IO, Address 0x02[2]
A control to set the output range of the digital data. It also automatically the data saturator setting.
Function
OP_656_RANGE
0 (default)
1
Description
Enables full output range (0 to 255)
Enables limited output range (16 to 235)
Table 43. OP_656_RANGE Description for HDMI Receiver Input Mode
Input Range
0 to 255
16 to 235
OP_656_RANGE
0 (0 to 255 output)
1 (16 to 235 RGB output, 16 to 240 CrCb output)
0 (0 to 255 output)
1 (16 to 235 RGB output, 16 to 240 CrCb output)
Gain
1
(235 − 16)/255 = 0.859
255/(235 − 16) = 1.164
1
Table 44. OP_656_RANGE Description for Analog Front-End Input Mode
OP_656_RANGE
0 (0 to 255 output)
1 (16 to 235 RGB output, 16 to 240 CrCb output)
Gain
(255 − 0 + 1) × 16/1792 = 2.29
(235 − 16 + 1) × 16/1792 = 1.96
Rev. 0 | Page 108 of 184
Hardware User Guide
UG-438
ALT_DATA_SAT, IO, Address 0x02[0]
A control to disable the data saturator that limits the output range independently of OP_656_RANGE. This bit is used to support
extended data range modes.
Function
ALT_DATA_SAT
0 (default)
1
Description
Data saturator enabled or disabled according to OP_656_RANGE setting
Reverses OP_656_RANGE decision to enable or disable the data saturator
CP OFFSET BLOCK
The offset block consists of three independent adders, one for each channel. Using the A_OFFSET, B_OFFSET, and C_OFFSET registers,
a fixed offset value can be added to the data. The actual offset used can come from two different sources:
The ADV7610 includes an automatic selection of the offset value, dependent on the CSC mode that is programmed by the user. The
RGB_OUT and OP_656_RANGE bits are used to derive offset values.
A manual, user defined value can be programmed.
When the offset registers (A_OFFSET, B_OFFSET, and C_OFFSET) contain the value 0x3FF (reset default), the offset used is determined
using the automatic selection process. For any other value in the offset registers, the automatic selection is disabled and the userprogrammed offset value is applied directly to the video. Refer to the flowchart in Figure 36.
NO
YES
I2C REGISTER VALUE
OFFSET_A/B/C[9:0] ==
0x3FF
USE VALUE FROM I2C REGISTER
OFFSET_A/B/C[9:0] DIRECTLY
OFFSET
RGB_OUT = 1
RGB_OUT = 0
OP_656_RANGE = 1
OP_656_RANGE = 0
OP_656_RANGE = 1
OP_656_RANGE = 0
A
64dec
0dec
64dec
0dec
B
64dec
0dec
512dec
512dec
C
64dec
0dec
512dec
512dec
10884-042
CHANNEL
Figure 36. Channel A, Channel B, and Channel C Automatic Value Selection
For RGB type output data, the three offset values should be programmed to 0 or 64 (desired code output for black video). For YPbPr type
output data, A_OFFSET[9:0] should be set to 64 (desired code for black); B_OFFSET[9:0] and C_OFFSET[9:0] (for Pr and Pb) are
typically set to 512 (midrange).
Notes
•
•
•
•
Adding an excessive offset onto the data will result in clipping of the signal.
The offset value can only be positive; it is an unsigned number.
ADV7610 employs sequencers for the offset values that prohibit intermediate wrong values to be applied.
The I2C sequencer treats the three offset values as separate entities. To update all three offset values, a single sweep of I2C writes to
the CP map, Register 0x77, Register 0x78, Register 0x79, and Register 0x7A is sufficient.
Rev. 0 | Page 109 of 184
UG-438
Hardware User Guide
A_OFFSET[9:0], Addr 44 (CP), Address 0x77[5:0]; Address 0x78[7:4]
A control to set the manual offset for Channel A.
This field stores an unsigned value. To change A_OFFSET[9:0], Register Address 0x77 and Register Address 0x78 must be written to in
this order with no I2C access in between.
Function
A_OFFSET[9:0]
0x3FF (default)
Any other value
Description
Auto offset to Channel A
Channel A offset
Note that to change the A_OFFSET[9:0] value, Register 0x77 and Register 0x78 must be written to in this order with no other I2C access
in between.
B_OFFSET[9:0], Addr 44 (CP), Address 0x78[3:0]; Address 0x79[7:2]
A control to set the manual offset for Channel B.
This field stores an unsigned value. To change B_OFFSET[9:0], Register Addresses 0x78 and Register Address 0x79 must be written to in
this order with no I2C access in between.
Function
B_OFFSET[9:0]
0x3FF (default)
Any other value
Description
Auto offset to Channel B
Channel B offset
Note: To change the A_OFFSET[9:0] value, register 0x77 and 0x78 must be written to in this order with no other I2C access in between.
C_OFFSET[9:0], Addr 44 (CP), Address 0x79[1:0]; Address 0x7A[7:0]
A control to set the manual offset for Channel C.
This field stores an unsigned value. To change C_OFFSET[9:0], Register Address 0x79 and Register Address 0x7A must be written to in
this order with no I2C access in between.
Function
C_OFFSET[9:0]
0x3FF (default)
Any other value
Description
Auto offset to Channel C
Channel C offset
Note: To change the A_OFFSET[9:0] value, Register 0x77 and Register 0x78 must be written to in this order with no other I2C access in
between.
AV CODE BLOCK
The AV code block is used to insert AV codes into the video data stream. The codes follow the standards outlined in ITU-R BT.656-4.
The following functions are supported by this block:
•
•
•
•
•
AV code insertion can be enabled or disabled.
Data between the end of active video (EAV) and the start of active video (SAV) can be blanked, for example, overwritten with default
values. This function can be enabled or disabled. In addition, the default blanking value can be set for RGB or YPbPr.
AV codes can be output on all channels or spread across the Y and PrPb buses for 20-bit output modes.
F and V bits within the codes can be inserted directly or can be inverted before insertion.
The position of the codes within the data stream (timing of the insertion) can be set to a default or can be slaved off the signal from
the selected HS input pin.
The insertion point for the AV codes is predetermined by default and is adjusted automatically to suit the current video standard as per
the PRIM_MODE[3:0] and VID_STD[5:0] settings. To cater for nonstandard signals, however, the AV code insertion point can also be
taken off the HSync signal before it goes to the selected HS input pin. This gives the user great flexibility since the HSync signal position
can be programmed to quite a wide range with LLC accuracy.
Rev. 0 | Page 110 of 184
Hardware User Guide
UG-438
AVCODE_INSERT_EN, IO, Address 0x05[2]
A control to select AV code insertion into the data stream.
Function
AVCODE_INSERT_EN
0
1 (default)
Description
Does not insert AV codes into data stream
Inserts AV codes into data stream
AV_POS_SEL, Addr 44 (CP), Address 0x7B[2]
A control to select AV codes position.
Function
AV_POS_SEL
0
1 (default)
Description
SAV code at HS falling edge and EAV code at HS rising edge
Uses predetermined (default) positions for AV codes
AV_INV_V, Addr 44 (CP), Address 0x7B[6]
A control to invert V bit in AV codes.
Function
AV_INV_V
0 (default)
1
Description
Do not invert V bit polarity before inserting it into the AV code
Invert V bit polarity before inserting it into the AV code
AV_INV_F, Addr 44 (CP), Address 0x7B[7]
A control to invert the F bit in the AV codes.
Function
AV_INV_F
0 (default)
1
Description
Inserts the F bit with default polarity
Inverts the F bit before inserting it into the AV code
DATA_BLANK_EN, IO, Address 0x05[3]
A control to blank data during video blanking sections.
Function
DATA_BLANK_EN
0
1 (default)
Description
Do not blank data during horizontal and vertical blanking periods
Blank data during horizontal and vertical blanking periods
DE_WITH_AVCODE, Addr 44 (CP), Address 0x7B[0]
A control to insert AV codes in relation to the DE output signal.
Function
DE_WITH_AVCODE
0
1 (default)
Description
AV codes locked to default values. DE position can be moved independently of AV codes.
Inserted AV codes moves in relation to DE position change.
REPL_AV_CODE, IO, Address 0x05[1]
A control to select the duplication of the AV codes and insertion on all data channels of the output data stream.
Function
REPL_AV_CODE
0 (default)
1
Description
Outputs complete SAV/EAV codes on all channels, Channel A, Channel B, and Channel C.
Spreads AV code across the three channels. Channel B and Channel C contain the first two ten bit words, 0x3FF
and 0x000. Channel A contains the final two 10-bit words 0x00 and 0xXYZ.
Rev. 0 | Page 111 of 184
UG-438
Hardware User Guide
REPL_AV_CODE = 1
CHANNEL A
3FF
000
000
AV
Y
000
AV
Y
CHANNEL B
3FF
000
000
AV
Pb
3FF
000
Pb
CHANNEL C
3FF
000
000
AV
Pr
3FF
000
Pr
AV CODE SECTION
AV CODE SECTION
10884-043
REPL_AV_CODE = 0
Figure 37. AV Code Output Options (CP)
SWAP_SPLIT_AV, Addr 44 (CP), Address 0xC9[2]
A control to swap the luma and chroma AV codes in DDR modes.
Function
SWAP_SPLIT_AV
0
1 (default)
Description
Swap the luma and chroma AV codes in DDR mode.
Do not swap the luma and chroma AV codes in DDR mode.
CP DATA PATH FOR HDMI MODES
Figure 38 and Figure 39 depict the data path of the video for HDMI mode. These figures depict the gains and offsets applied when using
the automatic control, OP_656_RANGE, and the manual options for setting the clamp level, gain, and offset.
The I2C settings are detailed in Table 45 for use when processing extended range video signals with blacker than black and/or whiter than
white video levels.
Table 45. Settings Required to Support Extended Range Video Input
I2C Setting/Mode
OP_656_RANGE
ALT_DATA_SAT
Analog Modes
1
1
HDMI Mode YUV
1
1
HDMI Mode RGB [0 to 255]
0
0
HDMI Mode RGB [16 to 235]
1
1
Pregain Block
To compensate for signal attenuation in the analog front end of the ADV7610 and input buffer gain, a pregain block is provided in the CP
path. The pregain block is controlled by CP_MODE_GAIN_ADJ[7:0], which represents an unsigned value in a 1.7 binary format. The
range of CP_MODE_GAIN_ADJ[7:0] is 0 to 1.99.
The MSB of CP_MODE_GAIN_ADJ[7:0] represents the integer part of the pregain value while the 7 LSBs represents the fractional part
of the pregain value.
CP_MODE_GAIN_ADJ[7:0], Addr 44 (CP), Address 0x40[7:0]
Pregain adjustment to compensate for the gain of the analog front end. This register stores a value in a 1.7 binary format.
Function
CP_MODE_GAIN_ADJ[7:0]
0xxxxxxx
10000000
1xxxxxxx
Description
Gain of (0 + (xxxxxxx/128))
Default pregain (pregain of 1.0)
Gain of (1 + (xxxxxxx/128))
CP_MODE_GAIN_ADJ_EN, Addr 44 (CP), Address 0x3E[2]
A control to enable pregain.
Function
CP_MODE_GAIN_ADJ_EN
0 (default)
1
Description
The pregain block is bypassed.
The pregain block is enabled.
Rev. 0 | Page 112 of 184
Hardware User Guide
UG-438
HDMI
INPUT
1
HDMI
MEASURED VALUE
CLAMP
MEASUREMENT
2
12-BIT UNSIGNED
0
CLMP_A[11:0]
RGB_OUT
0
1
1
RGB
12'd0
0
AUTO VALUE
HDMI_CLMP_ENABLE
3
AGC_MODE_MAN
GAIN_MAN
A_GAIN[9:0]
10'd220 (×0.86)
[0 TO 256]-IN [16 TO 235]-OUT
10'd256 (×1.00)
[0 TO 256]-IN [0 TO 255]-OUT
[16 TO 235]-IN [16 TO 235]-OUT
10'd298 (×1.16)
[16 TO 235]-IN [16 TO 255]-OUT
13-BIT SIGNED
PREGAIN
1
CP_OP_656_SEL*
0
1
1
×
0
1
×
10-BIT
0
1
CLAMP
CLMP_A_MAN
1
12'd2056 (16 @ 8-BIT)
YUV
–
12-BIT
GAIN
10-BIT
AUTO-VALUE
0
4
0
15-BIT SIGNED
RGB_OUT
A_OFFSET[9:0]
1
10'd64 (16 @ 8-BIT)
1
10'd0
0
10'd64 (16 @ 8-BIT)
1
10'd0
0
RGB
+
0
1
0
OFFSET
10-BIT
5
AUTO VALUE
YUV
235 @ 8-BIT
SATURATOR
12-BIT UNSIGNED
ALT_DATA_SAT*
RGB_OUT
16 @ 8-BIT
A_OFFSET[9:0] == 10'h3FF
ALT_DATA_SAT*
0
1
6
RGB_OUT*
n'dm
ALT_DATA_SAT*
BLANK
INSERTION
2
AUTOMATIC I C CONTROLS
I2C REGISTER
INTERNAL SIGNAL
CHANNEL A (Y) VALUE IS DIFFERENT
CHANNEL B/C (U/V) VALUE
n BIT VALUE m IN DECIMAL NOTATION
AV_BLANK_EN
Figure 38. CP Data Path Channel A (Y) for HDMI Mode
Rev. 0 | Page 113 of 184
0
1
10884-044
NOTES
TEXT*
TEXT
TEXT
VALUE
UG-438
Hardware User Guide
HDMI
INPUT
1
HDMI
MEASURED VALUE
CLAMP
MEASUREMENT
2
12-BIT UNSIGNED
0
CLMP_B[11:0]/CLMP_C[11:0]
0
1
RGB_OUT
1
RGB
12'd0
0
AUTO VALUE
HDMI_CLMP_ENABLE
3
AGC_MODE_MAN
GAIN_MAN
B_GAIN[9:0]/C_GAIN[9:0]
CP_OP_656_SEL*
10'd220 (×0.86)
[0 TO 256]-IN [16 TO 235]-OUT
10'd256 (×1.00)
[0 TO 255]-IN [0 TO 255]-OUT
[16 TO 235]-IN [16 TO 235]-OUT
10'd298 (×1.16)
[16 TO 235]-IN [16 TO 255]-OUT
13-BIT SIGNED
PREGAIN
1
0
1
1
×
0
1
×
10-BIT
0
1
CLAMP
CLMP_BC_MAN
1
12'd2048 (128 @ 8-BIT)
YUV
–
12-BIT
GAIN
10-BIT
AUTO VALUE
0
4
0
15-BIT SIGNED
RGB_OUT
B_GAIN[9:0]/C_GAIN[9:0]
1
10'd64 (16@8-BIT)
1
10'd0
0
10'd512 (128 @ 8-BIT)
1
10'd512 (128 @ 8-BIT)
0
RGB
+
0
1
0
OFFSET
10-BIT
5
AUTO VALUE
YUV
235 @ 8-BIT
SATURATOR
12-BIT UNSIGNED
ALT_DATA_SAT*
RGB_OUT
16 @ 8-BIT
B_OFFSET[9:0]/C_OFFSET[9:0] == 10'h3FF
ALT_DATA_SAT*
0
1
6
RGB_OUT*
n'dm
ALT_DATA_SAT*
BLANK
INSERTION
2
AUTOMATIC I C CONTROLS
I2C REGISTER
INTERNAL SIGNAL
CHANNEL A (Y) VALUE IS DIFFERENT
CHANNEL B/C (U/V) VALUE
n BIT VALUE m IN DECIMAL NOTATION
AV_BLANK_EN
Figure 39. CP Data Paths Channel B and Channel C for HDMI Mode
Rev. 0 | Page 114 of 184
0
1
10884-045
NOTES
TEXT*
TEXT
TEXT
VALUE
Hardware User Guide
UG-438
SYNC PROCESSED BY CP SECTION
The CP Core uses the HDMI section as its source of HSync, VSync and DE.
Sync Routing from HDMI Section
The CP section receives syncs from the HDMI section, as shown in Figure 40.
PRIM_MODE[2]
0
HDMI HS
1
HS 1
PRIM_MODE[2]
0
1
POLARITY
CORRECTION
VS 1
STDI 1
HS_GR_PC
VS_GR_PC
HS_PC
TO SYNC MUX
VS_PC
TO SYNC MUX
10884-046
HDMI VS
Figure 40. External/HDMI Syncs Routing to CP Section
Signals Routing to Synchronization Channels
The ADV7610 has one synchronization channel consisting of one STDI section. When an HDMI input is applied, the HDMI core will
generate HSync, VSync, and DE signals and supply them as input to the each synchronization channel shown in Figure 40. HSync from
the HDMI block is denoted as HDMI_HS, and VSync from the HDMI block is denoted as HDMI_VS. DE from the HDMI block is not
shown in Figure 40 as it is passed directly to the CP core without any processing when an HDMI input is selected.
Standard Detection and Identification
As shown in Figure 40, the synchronization channel also contains standard detection and identification (STDI) block. These monitor the
synchronization signals to determine the video input standard.
The STDI blocks perform four key measurements:
•
•
•
•
Block Length CH1_BL[13:0]
This is the number of 28.6363 MHz clock cycles (XTAL frequency) in a block of eight lines. From this, the time duration of one line
can be concluded.
Line count in Field CH1_LCF[10:0]
The CH1_LCF[10:0] readback value is the number of lines between two VSyncs, that is, over one field measured by channel.
Line count in VSYNC CH1_LCVS[4:0]
The LCVS[4:0] readback value is the number of lines within one VSync period.
Field Length CH1_FCL[12:0]
This is the number of 28.6363 MHz clock cycles in a 1/256th of a field. Alternately, this value of FCL multiplied by 256 gives one field
length count in 28.6363 MHz (XTAL) clocks.
By interpreting these four parameters, it is possible to distinguish between the different types of input signals.
Rev. 0 | Page 115 of 184
UG-438
Hardware User Guide
In ADV7610, there are three operational modes for the STDI block:
•
•
•
Continuous mode:
The STDI block performs continuous measurements on lock/unlock bases and updates the corresponding I2C registers based on the
lock status bit (STDI_DVALID).
Real-time continuous mode:
The STDI block performs continuous measurement regardless of the lock/unlock bases and always updates real-time measurement
data to the corresponding I2C registers.
Single shot mode:
The STDI block waits for a trigger (0 to 1 transition on CH1_TRIG_STDI) to start the measurements. Single shot mode can be useful
in complex systems where the scheduling of functions is important.
A data valid flag, CH1_STDI_DVALID, is provided, which is based on the status of the horizontal/vertical lock of the block and is held
low during the measurements. The four parameters should only be read after the CH1_STDI_DVALID flag has gone high for the
continuous/single shot mode. In real-time continuous mode, the ADV7610 allows the user to monitor the real-time timing measurement
regardless of the CH1_STDI_DVALID flag. Refer to the STDI Readback Values section for information on the readback values.
Notes
•
•
•
•
Synchronization type pulses include horizontal synchronization, equalization and serration pulses.
The CH1_TRIG_STDI flag is not self-clearing. The measurements are only started upon setting the CH1_TRIG_STDI flag. This
means that after setting it, it must be cleared again by writing a 0 to it. This second write (to clear the flag) can be done at any time
and does not have any effect on running measurements. It also does not invalidate previous measurement results.
The ADV7610 only measures those parameters, but does not take any action based upon them. The part does not reconfigure itself.
To avoid unforeseen problems in the scheduling of a system controller, the part merely helps to identify the input.
Since real-time continuous mode provides the capability to monitor the real-time measurement data regardless of the block lock
status, the user should be aware that the timing readback values may not be a valid readback measurement in this mode.
CH1_STDI_CONT, Addr 44 (CP), Address 0x86[1]
A control to set the synchronization source polarity detection mode for Sync Channel 1 STDI.
Function
CH1_STDI_CONT
0
1 (default)
Description
Sync Channel 1 STDI works in one-shot mode (triggered by a 0 to 1 transition on the CH1_TRIG_STDI bit)
Sync Channel 1 STDI works in continuous mode
BYPASS_STDI1_LOCKING, Addr 44 (CP), Address 0xF5[1]
Bypass STDI locking for Sync Channel 1.
Function
BYPASS_STDI1_LOCKING
0 (default)
1
Description
Update CH1_BL, CH1_LCF and CH1_LCVS only the sync Channel 1 STDI locks and CH1_STDI_DVALID is set to
1
Update CH1_BL, CH1_LCF,CH1_LCVS from the sync Channel 1 STDI as they are measured
CH1_TRIG_STDI, Addr 44 (CP), Address 0x86[2]
Trigger synchronization source and polarity detector for Sync Channel 1 STDI. A 0-to-1 transition in this bit restarts the auto-sync
detection algorithm. This is not a self-clearing bit and must be set to 0 to prepare for next trigger.
Function
CH1_TRIG_STDI
0 (default)
1
Description
Default value—transition 0 to 1 restarts auto-sync detection algorithm
Transition 0 to 1 restarts auto-sync detection algorithm
Rev. 0 | Page 116 of 184
Hardware User Guide
UG-438
CH1_STDI_DVALID, Addr 44 (CP), Address 0xB1[7] (Read Only)
This bit is set when the measurements performed by Sync Channel 1 STDI are completed. High level signals validity for CH1_BL,
CH1_LCF, CH1_LCVS, CH1_FCL, and CH1_STDI_INTLCD parameters. To prevent false readouts, especially during signal acquisition,
CH1_SDTI_DVALID only goes high after four fields with same length are recorded. As a result, STDI measurements can take up to five
fields to finish.
Function
CH1_STDI_DVALID
0 (default)
1
Description
Sync Channel 1 STDI measurements are not valid measurements.
Sync Channel 1 STDI measurements are valid.
CP_STDI_INTERLACED, IO, Address 0x12[4] (Read Only)
A readback to indicate the interlaced status of the currently selected STDI block applied to the CP core.
Function
CP_STDI_INTERLACED
0 (default)
1
Description
Selected STDI has detected a progressive input.
Selected STDI has detected a interlaced input.
CP_INTERLACED, IO, Address 0x12[3] (Read Only)
A readback to indicate the interlaced status of the CP core based on configuration of video standard and INTERLACED bit in the CP map.
Function
CP_INTERLACED
0 (default)
1
Description
CP core is processing the input as a progressive input.
CP core is processing the input as a interlaced input.
CP_PROG_PARM_FOR_INT, IO, Address 0x12[2] (Read Only)
A readback to indicate if the CP core is processing the progressive standard, while the video standard and the INTERLACED bit in the
CP map are configured for an interlaced standard.
Function
CP_PROG_PARM_FOR_INT
0 (default)
1
Description
CP core is processing for a progressive standard while video standard and the INTERLACED bits are
configured for an interlaced standard.
CP core is processing for a progressive standard while video standard and the INTERLACED bits are
configured for a progressive standard.
CP_FORCE_INTERLACED, IO, Address 0x12[1] (Read Only)
A readback to indicate forced-interlaced status of the CP core based on configuration of video standard and INTERLACED bit in the CP map.
Function
CP_FORCE_INTERLACED
0 (default)
1
Description
Input is detected as interlaced and the CP is programmed in an interlaced mode via VID_STD[5:0].
Input is detected as progressive and the CP is programmed in an interlaced mode.
Rev. 0 | Page 117 of 184
UG-438
Hardware User Guide
Detailed Mechanism of STDI Block Horizontal/Vertical Lock Mechanism
STDI Horizontal Locking Operation
For the STDI horizontal locking operation, the STDI block compares adjacent line length differences (in XTAL clock cycles) with
the programmed threshold. If 128 consecutive adjacent lines lengths are within the threshold, the STDI horizontally locks to the
incoming video.
LINE 3 – LINE4 ≤ THRESHOLD?
LINE 1 – LINE2 ≤ THRESHOLD?
LINE 1
LINE 2
LINE 3
LINE 5 – LINE6 ≤ THRESHOLD?
LINE 4
LINE 5
LINE 6
LINE 7
LINE 8
LINE 128 LINE 129
LINE 2 – LINE3 ≤ THRESHOLD?
10884-047
LINE 4 – LINE 5 ≤ THRESHOLD?
MONITORS 128 CONSECUTIVE LINES BEFORE STDI HORIZONTALLY “LOCKS”
Figure 41. STDI Horizontal Locking Operation
Once the STDI locks to the incoming video, it registers the first BL measurement (first eight lines) as latched data (absolute line length: L)
and keeps monitoring and comparing each successive line length with the absolute line length (L/8).
The STDI horizontally unlocks if 128 consecutive lines have a line length greater than the threshold.
LINE 129 – L/8 ≤ THRESHOLD? LINE 131 – L/8 ≤ THRESHOLD?
LINE 2
LINE 3
LINE 4
LINE 5
LINE 6
LINE 7
LINE 8
LINE 128 LINE 129 LINE 130 LINE 131
LINE 130 – L/8 ≤ THRESHOLD?
L
FIRST 8 BLOCKS OF LINE LENGTH = BL READBACK VALUE
REGISTERED AS “ABSOLUTE LINE LENGTH”
“L/8” ARE REGISTERED AS ABSOLUTE LINE LENGTH REFERENCE FOR
EACH LINE AFTER STDI HORIZONTALLY LOCKS TO
THE INCOMING VIDEO SIGNAL
10884-048
LINE 1
Figure 42. STDI HSync Monitoring Operation
STDI Vertical Locking
The STDI block compares adjacent field length differences and VSync lengths in line counts and compares them with a threshold. If four
consecutive adjacent field lengths (LCF) and line counts in VSync (LCVS) are within the threshold, the STDI locks vertically to the
incoming video.
Rev. 0 | Page 118 of 184
Hardware User Guide
UG-438
FIELD2 – FIELD3 ≤ THRESHOLD?
FIELD4 – FIELD5 ≤ THRESHOLD?
FIELD3 – FIELD4 ≤ THRESHOLD?
FIELD 1
FIELD 2
FIELD 3
FIELD 4
FIELD 5
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
VSYNC2
VSYNC1
VSYNC4
VSYNC3
FIELD 6
ACTIVE VIDEO
VSYNC5
10884-049
FIELD1 – FIELD2 ≤ THRESHOLD?
VSYNC1 – VSYNC2 ≤ THRESHOLD?
VSYNC3 – VSYNC4 ≤ THRESHOLD?
VSYNC2 – VSYNC3 ≤ THRESHOLD?
VSYNC5 – VSYNC4 ≤ THRESHOLD?
Figure 43. STDI Vertical Locking Operation
Once the STDI locks to the incoming video, the STDI registers the latest field length/VSync length as latched data (absolute field length: F,
absolute VSync length: V). The STDI keeps monitoring and comparing FIELD/VSync lengths with the respective absolute length (F, V)
once vertically locked. The STDI vertically unlocks if four consecutive FIELD or VSync lengths are greater than the respective threshold.
F
LATCHED FIELD LENGTH FIELD5 – F ≤ THRESHOLD? FIELD6 – F ≤ THRESHOLD?
FIELD1
FIELD2
FIELD3
FIELD4
FIELD5
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
ACTIVE VIDEO
VSYNC2
VSYNC3
VSYNC4
F
LATCHED VSYNC LENGTH
VSYNC5
VSYNC5 – V ≤ THRESHOLD?
10884-050
VSYNC1
FIELD6
ACTIVE VIDEO
Figure 44. STDI VSync Monitoring Operation
CH1_BL[13:0], Addr 44 (CP), Address 0xB1[5:0]; Address 0xB2[7:0] (Read Only)
A readback for the block length for Sync Channel 1. Number of crystal cycle cycles in a block of eight lines of incoming video. This
readback is valid if CH1_STDI_DVALID is high.
Function
CH1_BL[13:0]
xxxxxxxxxxxxxx
Description
Readback value
CH1_LCVS[4:0], Addr 44 (CP), Address 0xB3[7:3] (Read Only)
A readback for the Sync Channel 1 line count in a VSync.
Number of lines in a VSync period measured on Sync Channel 1. The readback from this field is valid if CH1_STDI_DVALID is high.
Function
CH1_LCVS[4:0]
xxxxx
Description
Readback value
CH1_LCF[11:0], Addr 44 (CP), Address 0xA3[3:0]; Address 0xA4[7:0] (Read Only)
A readback for the Sync Channel 1 line count in a field.
Number of lines between two VSyncs measured on Sync Channel 1. The readback from this field is valid if CH1_STDI_DVALID is high.
Function
CH1_LCF[11:0]
xxxxxxxxxxx
Description
Readback value
Rev. 0 | Page 119 of 184
UG-438
Hardware User Guide
CH1_FCL[12:0], Addr 44 (CP), Address 0xB8[4:0]; Address 0xB9[7:0] (Read Only)
A readback for the Sync Channel 1 field count length.
Number of crystal clock cycles between successive VSyncs measured by Sync Channel 1 STDI or in 1/256th of a field. The readback from
this field is valid if CH1_STDI_DVALID is high.
Function
CH1_FCL[12:0]
xxxxxxxxxxxxx
Description
Readback value
CH1_STDI_INTLCD, Addr 44 (CP), Address 0xB1[6] (Read Only)
Interlaced vs. progressive mode detected by Sync Channel 1 STDI. The readback from this register is valid if CH1_STDI_DVALID is high.
Function
CH1_STDI_INTLCD
0 (default)
1
Description
Indicates a video signal on Sync Channel 1 with noninterlaced timing
Indicates a signal on Sync Channel 1 with interlaced timing
STDI Usage
Figure 45 shows a flowchart of the intended usage of the STDI block.
NO
CONTINUOUS
MODE?
YES
SET CH1_STDI_CONT TO 0
SET CH1_TRIG_STDI TO 0 ≥ 1
(POSITIVE TRANSITION ON BIT)
TO START THE STDI
STATE MACHINE
SET CH1_STDI_CONT TO 1
STDI STATE MACHINE
RUNS CONTINUOUSLY
STDI BLOCK
EXAMINES INPUT
(FLAGS THIS BY SETTING
CH1_STDI_DVALID TO 0)
LOW
READ AND
CH1_STDI_DVALID
HIGH
END APPLICATION DETERMINES
VIDEO STANARD AND PROGRAMS
PRIM_MODE AND
VID_STD ACCORDINGLY
SOFTWARE FUNCTION OF SYSTEM CONTROLLER
DECODER HARDWARE FUNCTION
Figure 45. STDI Usage Flowchart
Rev. 0 | Page 120 of 184
10884-051
END APPLICATION READS
VIDEO DETECTION RESULTS
CH1_BL[13:0], CH1_LCVS[4:0],
CH1_LCF[10:0], AND CH1_FCL[12:0]
Hardware User Guide
UG-438
STDI Readback Values
Table 46. STDI Readback Values for SD, PR, and HD
Standard
720p SMPTE 296M
1125i SMPTE 274M
525p BT 1358
625p BT 1358
1250i BT 709/SMPTE 295
1125i SMPTE 274M 6
1125p SMPTE 274M 10
525i
625i
CHx_BL[13:0] 28.63636 MHz XTAL
5091
6788
7270
7331
7331
8145
848
14560
14662
CHx_LCF[10:0]
750
562 to 563
525
625
625
562 to 563
1125
262 to 263
312 to 313
CHx_LCVS[4:0]
4 to 5
4 to 5
5 to 6
4 to 5
1
4 to 5
4 to 5
3
2 to 3
FCL[12:0] 28.63636 MHz XTAL
1868
1868
1868
2237
4474
1868
1868
1868
2237
Note: To obtain the expected values of BL or FL at any other XTAL frequency, use the formula in Equation 9, computation of expected BL
and FCL for XTAL in use.
BLXTAL_F1_MHz = BL28.63636MHz_XTAL × XTAL_FREQ/28.6363 (8)
where XTAL_FREQ is the clock frequency of the XTAL used.
Example: For SD525i at 24.576 MHz XTAL:
BL = 14585 × 24.576/28.6363 ≈ 12,517
FL = 1868 × 24.576/28.6363 ≈ 1603
The values of LCF and LCVS do not change with the XTAL frequency.
STDI Readback Values for GR
Table 47. STDI Results for Graphics Standards
Standard
XGA 85
SXGA 60
XGA 75
XGA 70
SVGA 85
XGA 60
SVGA 72
SVGA 75
VGA 85
VGA 72
SVGA 60
VGA 75
SVGA 56
VGA 60
CHx_BL[13:0] 28.63636 MHz XTAL
3327
3571
3808
4048
4259
4726
4756
4878
5286
6042
6039
6098
6508
7272
CHx_LCF[10:0]
805 to 808
1063 to 1066
797 to 800
800 to 806
628 to 631
800 to 806
660 to 666
622 to 625
506 to 509
517 to 520
624 to 628
497 to 500
623 to 625
523 to 525
CHx_LCVS[4:0]
0 to 3
0 to 3
0 to 3
0 to 6
0 to 3
0 to 6
0 to 6
0 to 3
0 to 3
0 to 3
0 to 4
0 to 3
0 to 2
0 to 2
FCL[12:0] 28.63636 MHz XTAL
1316
1868
1493
1598
1316
1868
1554
1493
1316
1554
1868
1493
1997
1868
Note: To obtain the expected values of BL or FCL at any other XTAL frequency, use the formula shown in Equation 9.
Example: For XGA75 at 24.576 MHz XTAL:
BL = 3824 × 24.576/28.63636 ≈ 3282
FCL = 1493 × 24.576/28.63636 ≈ 1281
Figure 46 shows the parameters from Table 47 plotted against each other at the recommended 28.63636 MHz XTAL operation.
Rev. 0 | Page 121 of 184
UG-438
Hardware User Guide
1000
800
600
400
VGA 72
VGA 75
200
0
0
2000
4000
6000
8000
28.6363MHz SAMPLES IN 8-LINE BLOCK
10884-052
NUMBER OF HSYNCS IN A FRAME
1200
Figure 46. STDI Values for GR Mode (Plot)
Note: Although the two points for VGA72 and VGA75 look very close, it is anticipated that the difference in the parameters is sufficient
to distinguish between them.
CP OUTPUT SYNCHRONIZATION SIGNAL POSITIONING
The ADV7610 overall synchronization processing flow is shown in the block diagram in Figure 47. The user can reposition the
synchronization signal output from the regenerated input synchronization signal within the CP block with the control bits marked in red
in Figure 10.
START_HS, END_HS
START_VS, END_VS
DE_H_END, DE_H_S TART
DE_V_START, DE_V_END
DE_V_START_EVEN, DE_V_END_EVEN
START_VS_EVEN, END_VS_EVEN
START_FE, START_FO
PRIM_MODE[2]
0
COMPONENT
PROCESSOR
1
HDMI BLOCK
HDMI PIXEL CLOCK
SYNC POSITION
CONTROL
HS
VS
HS
OUTPUT
CONTROL
VS
HS
POLARITY
CONTROL
Figure 47. ADV7610 Simplified Synchronization Signal Processing Flow Diagram
Rev. 0 | Page 122 of 184
VS
DE
PIN_INV_HS
PIN_INV_VS
PIN_INV_F
PIN_INV_DE
HS_OUT_SEL
F_OUT_SEL
VS_OUT_SEL
DE
10884-053
VS
STDI 1
DE
LLC
TMDS
PLL
HS
HDMI PORT A
Hardware User Guide
UG-438
As shown in Figure 47, the ADV7610 CP can output the following three primary and one secondary synchronization signals, which are
controlled by the output control block in the CP block.
Primary:
•
•
•
Horizontal synchronization timing reference output on the HS pin
Vertical synchronization timing reference output on the VS/FIELD/ALSB pin
DE (indicates active region) shared with the FIELD pin
Secondary:
•
Field timing reference output on the DE pin or as a secondary signal on the VS/FIELD/ALSB pin
Timing reference signals with shared pins are controlled via I2C.
Table 48. CP Synchronization Signal Output Pins
Pin Name
DE
VS/FIELD/ALSB
Primary Signal (Default)
DE out
VS out
Secondary Signal
FIELD out
FIELD out
Controlled by I2C Bit
F_OUT_SEL
VS_OUT_SEL
The user can program the primary and secondary synchronization signals, repositioning them in order to control the display area, as
shown in Figure 48.
CP_START_VBI[11:0]
CP_START_VBI_EVEN[11:0]
DISPLAYED AREA
(ODD FIELD)
HORIZONTAL BLANKING
HORIZONTAL BLANKING
DE_V_START[3:0]
START_VS[3:0]
START_FE[3:0]
VERTICAL BLANKING
CP_END_VBI[11:0]
CP_END_VBI_EVEN[11:0]
START_HS [9:0]
DE_H_START [9:0]
HSYNC/DE SIGNAL
Figure 48. Synchronization Repositioning and Displayed Area
Rev. 0 | Page 123 of 184
10884-054
DISPLAYED AREA
(ODD FIELD)
VBI CONTROL
VERTICAL BLANKING
HORIZONTAL BLANKING
DISPLAYED AREA
(EVEN FIELD)
HORIZONTAL BLANKING
HORIZONTAL BLANKING
VSYNC/DE SIGNAL
FIELD SIGNAL
START_FO[3:0]
HORIZONTAL BLANKING
DE_V_END[3:0]
END_VS[3:0]
VERTICAL BLANKING
UG-438
Hardware User Guide
CP Synchronization Signals
The three primary synchronization signals have certain default positions, depending on the video standard in use.
To allow for a glueless interface to downstream ICs, there is the facility to adjust the position of edges on the three primary
synchronization signals. Figure 49, Figure 50, Figure 51, Figure 52, Figure 53, Figure 54, Figure 55, and Figure 56 show the nominal
position of HS, VS, and FIELD. The positions of those signals can be adjusted in both directions by using the following controls:
•
•
•
•
•
•
•
START_HS[9:0]
END_HS[9:0]
START_VS[3:0]
END_VS[3:0]
START_VS_EVEN[3:0]
START_FE[3:0]
START_FO[3:0]
All six above parameters are given as signed values. This means that rather than adjusting the absolute position of a signal, these
adjustments allow the user to advance (negative value) or delay (positive value) the respective timing reference signals.
In addition, the polarity of the synchronization output signals can be inverted by using:
•
•
•
INV_HS_POL
INV_F_POL
INV_VS_POL
HSync Timing Controls
Programming the registers listed in this section, the HS signal as shown in Figure 49 can be adjusted in the described manner.
Table 49. HS Default Timing
Symbol
a
Characteristic
HS to start of active video
Note
Default
525i
118
625i
128
525p
116
d
b
c
HS width
Active video samples
Total samples/line
Default
64
720
858
64
720
864
64
720
858
625p
720p
1080i
126
256
188
All values are for 1× outputs
64
40
44
720
1280
1920
864
1650
2200/2376
1080p
118
44
1920
2200
Table 50. HS Default Timing (Continued, 1)
Symbol
a
Characteristic
HS to start of active
video
Note
Default
680 × 480 at 60 Hz
140
d
b
c
HS width
Active video samples
Total samples/line
Default
96
640
800
640 × 480 at 72 Hz
640 × 480 at 75 Hz
164
180
All values are for 1× outputs
40
64
640
640
832
840
640 × 480 at 85 Hz
132
56
640
832
Table 51. HS Default Timing (Continued, 2)
Symbol
a
Characteristic
HS to start of active video
Note
Default
d
b
c
HS width
Active video samples
Total samples/line
Default
800 × 600
at 56 Hz
196
72
800
1024
800 × 600
800 × 600
800 × 600
at 60 Hz
at 72 Hz
at 75 Hz
212
180
236
All values are for 1× outputs
128
120
80
800
800
800
1056
1040
1056
800 × 600
at 85 Hz
212
64
800
1048
Table 52. HS Default Timing (Continued, 3)
Symbol
a
Characteristic
HS to start of active video
Note
Default
1024 × 768 at 60 Hz
292
d
b
c
HS width
Active video samples
Total samples/line
Default
136
1024
1344
1024 × 768 at 70 Hz
1024 × 768 at 75 Hz
276
268
All values are for 1x outputs
136
96
1024
1024
1328
1312
Rev. 0 | Page 124 of 184
1024 × 768at 85 Hz
300
96
1024
1376
Hardware User Guide
UG-438
LLC
PIXEL BUS
Cr
Y
FF
00
00
XY
80
10
80
80
10
....... .......
FF
00
H BLANK
EAV
ACTIVE VIDEO
10
00
XY
SAV
Cb
Y
Cr
Y
Cb
Y
Cr
.......
ACTIVE VIDEO
D
HS OUTPUT
START_HS[9:0]
END_HS[9:0]
A
B
B
C
C
Figure 49. HS Timing
START_HS[9:0], Addr 44 (CP), Address 0x7C[3:2]; Address 0x7E[7:0]
A control to shift the position of the leading edge of the HSync output by the CP core.
This register stores a signed value in a twos complement format. START_HS[9:0] is the number of pixel clocks by which the leading edge
of the HSync is shifted (for example, 0x3FF corresponds to a shift of one pixel clock away from the active video, 0x005 corresponds to a
shift of five pixel clocks toward the active video).
Function
START_HS[9:0]
0x000 (default)
0x000 to 0x1FF
0x200 to 0x3FF
Description
Default value.
The leading edge of the HSync is shifted toward the active video.
The leading edge of the HSync is shifted away from the active video.
Table 53. Controlling the Beginning of the HS Timing Signal
START_HS[9:0]
0000000000 (default)
0000000001
Hex
0x000
0x001
0100000000
0x100
0111111111
0x1FF
1111111111
0x3FF
1011111111
0x3FE
1000000000
0x200
1
2
Result
No move
1
sec shift later than default1
LLC
1
256 ×
sec shift later than default
LLC
1
511 ×
sec shift later than default
LLC
1
1×
sec shift earlier than default2
LLC
1
256 ×
sec shift earlier than default
LLC
1
512 ×
sec shift earlier than default
LLC
1×
HS START closer to active video.
HS START away from active video.
Rev. 0 | Page 125 of 184
Note
Default
Minimum →
Maximum →
Minimum ←
Maximum ←
10884-055
4 LLC1
UG-438
Hardware User Guide
END_HS[9:0], Addr 44 (CP), Address 0x7C[1:0]; Address 0x7D[7:0]
A control to shift the position of the trailing edge of the HSync output by the CP core.
This register stores a signed value in a twos complement format. HS_END[9:0] is the number of pixel clocks by which the leading edge of
the HSync is shifted (for example, 0x3FF corresponds to a shift of one pixel clock away from the active video, 0x005 corresponds to a shift
of five pixel clocks toward the active video).
Function
END_HS[9:0]
0x000 (default)
0x000 to 0x1FF
0x200 to 0x3FF
Description
Default value.
The trailing edge of the HSync is shifted toward the active video.
The trailing edge of the HSync is shifted away from the active video.
Table 54. Controlling the End of the HS Timing Signal
END_HS[9:0]
0000000000 (default)
0000000001
Hex
0x000
0x001
0100000000
0x100
0111111111
0x1FF
1111111111
0x3FF
1011111111
0x3FE
1000000000
0x200
1
2
Result
No move (default)
Note
1
sec shift later than default1
LLC
1
256×
sec shift later than default
LLC
1
511×
sec shift later than default
LLC
1
1×
sec shift earlier than default2
LLC
1
256 ×
sec shift earlier than default
LLC
1
512 ×
sec shift earlier than default
LLC
Minimum →
1×
Maximum →
Minimum ←
Maximum ←
Closer to active video.
Away from active video.
EIA_861_COMPLIANCE, Addr 44 (CP), Address 0x69[2]
Control for compliance to 861B for 525p.This bit set the start of the VBI for the 525p standard only.
Function
EIA_861_COMPLIANCE
0 (default)
1
Description
The VBI region starts on Line 1.
The VBI region starts on Line 523. The start of the VBI region is compliant with the 861 specification.
VSync Timing Controls
This section describes the programming of the VS timing signals. The VS signal is shown in Figure 50, Figure 51, Figure 52, Figure 53, Figure 54,
Figure 55, and Figure 56 and can be adjusted in the described manner.
Table 55. VS Default Timing
Characteristic
START_VS range maximum
START_VS range minimum
END_VS range maximum
END_VS range minimum
Units
Lines
Lines
Lines
Lines
Direction
→
←
→
←
525i
7
8
7
8
625i
7
8
7
8
525p
7
8
7
8
625p
7
8
7
8
720p
7
8
7
8
1080i
7
8
7
8
START_VS[3:0], Addr 44 (CP), Address 0x7F[7:4]
A control to shift the position of the leading edge of the VSync output by the CP core.
This register stores a signed value in a twos complement format. START_VS[3:0] is the number of lines by which the leading edge of the
VSync is shifted (for example, 0x0F corresponds to a shift by 1 line toward the active video, 0x01 corresponds to a shift of 1 line away
from the active video).
Rev. 0 | Page 126 of 184
Hardware User Guide
Function
START_VS[3:0]
0x0 (default)
0x0 to 0x7
0x8 to 0xF
UG-438
Description
Default value.
The leading edge of the VSync is shifted toward the active video.
The leading edge of the VSync is shifted away from the active video.
Table 56. Controlling the Start of the VS Timing Signal
START_VS[3:0]
0000 (default)
0001
0011
0111
1111
1101
1000
1
2
Hex
0x0
0x1
0x3
0x0
0xF
0xD
0x8
Result
No move (default)
1 HS shift later than default1
3 HS shift later than default
7 HS shift later than default
1 HS shift earlier than default2
3 HS shift earlier than default
8 HS shift earlier than default
Note
Minimum →
Maximum →
Minimum ←
Maximum ←
VS closer to start of active video.
VS away from start of active video.
END_VS[3:0], Addr 44 (CP), Address 0x7F[3:0]
A control to shift the position of the trailing edge of the VSync output by the CP core.
This register stores a signed value in a twos complement format. SEND_VS[3:0] is the number of lines by which the trailing edge of the
VSync is shifted (for example, 0x0F corresponds to a shift of one line toward the active video, 0x01 corresponds to a shift of 1 line away
from the active video).
Function
END_VS[3:0]
0x0 (default)
0x0 to 0x7
0x8 to 0xF
Description
Default value.
The trailing edge of the VSync is shifted toward the active video.
The trailing edge of the VSync is shifted away from the active video.
Table 57. Controlling the End of the VS Timing Signal
END_VS[3:0]
0000 (default)
0001
0011
0111
1111
1101
1000
1
2
Hex
0x0
0x1
0x3
0x0
0xF
0xD
0x8
Result
No move (default)
1 HS shift later than default1
3 HS shift later than default
7 HS shift later than default
1 HS shift earlier than default2
3 HS shift earlier than default
8 HS shift earlier than default
Note
Minimum →
Maximum →
Minimum ←
Maximum ←
VS closer to start of active video.
VS away from start of active video.
START_VS_EVEN[3:0], Addr 44 (CP), Address 0x89[7:4]
A control to shift the position of the leading edge of the VSync output by the CP core.
This register stores a signed value in a twos complement format. START_VS_EVEN[3:0] is the number of lines by which the leading edge
of the VSync is shifted (for example, 0x0F corresponds to a shift by one line toward the active video, 0x01 corresponds to a shift of 1 line
away from the active video).
Function
START_VS_EVEN[3:0]
0x0 to 0x7
0x8 to 0xF
Description
The leading edge of the even VSync is shifted toward the active video.
The leading edge of the even VSync is shifted away from the active video.
Rev. 0 | Page 127 of 184
UG-438
Hardware User Guide
END_VS_EVEN[3:0], Addr 44 (CP), Address 0x89[3:0]
A control to shift the position of the trailing edge of the VSync output by the CP core.
This register stores a signed value in a twos complement format. SEND_VS_EVEN[3:0] is the number of lines by which the trailing edge
of the VSync is shifted (for example, 0x0F corresponds to a shift of 1 line toward the active video, 0x01 corresponds to a shift of 1 line
away from the active video).
Function
END_VS_EVEN[3:0]
0x0 to 0x7
0x8 to 0xF
Description
The trailing edge of the even VSync is shifted toward the active video.
The trailing edge of the even VSync is shifted away from the active video.
DE Timing Controls
DE_H_END[9:0], Addr 44 (CP), Address 0x8B[1:0]; Address 0x8C[7:0]
A control to vary the trailing edge position of the DE signal output by the CP core.
This register stores a signed value in a twos complement format. The unit of DE_H_END[9:0] is one pixel clock.
Function
DE_H_END[9:0]
0x200
0x3FF
0x000 (default)
0x001
0x1FF
Description
−512 pixels of shift
−1 pixel of shift
Default value (no shift)
+1 pixel of shift
+511 pixels
DE_H_START[9:0], Addr 44 (CP), Address 0x8B[3:2]; Address 0x8D[7:0]
A control to vary the leading edge position of the DE signal output by the CP core.
This register stores a signed value in a twos complement format. The unit of DE_H_START[9:0] is one pixel clock.
Function
DE_H_START[9:0]
0x200
0x3FF
0x000 (default)
0x001
0x1FF
Description
−512 pixels of shift
−1 pixel of shift
Default value (no shift)
+1 pixel of shift
+511 pixels
DE_V_START[3:0], Addr 44 (CP), Address 0x8E[7:4]
A control to vary the start position of the VBI region.
This register stores a signed value represented in a twos complement format. The unit of DE_V_START[9:0] is one line.
Function
DE_V_START[3:0]
1000
1111
0000 (default)
0001
0111
Description
−8 lines of shift
−1 line of shift
Default
+1 line of shift
+7 lines of shift
Rev. 0 | Page 128 of 184
Hardware User Guide
UG-438
DE_V_END[3:0], Addr 44 (CP), Address 0x8E[3:0]
A control to vary the position of the end of the VBI region.
This register stores a signed value represented in a twos complement format. The unit of DE_V_START[9:0] is one line.
Function
DE_V_END[3:0]
1000
1111
0000 (default)
0001
0111
Description
−8 lines of shift
−1 line of shift
Default
+1 line of shift
+7 lines of shift
DE_V_START_EVEN[3:0], Addr 44 (CP), Address 0x88[7:4]
A control to vary the start position of the VBI region in even field.
This register stores a signed value represented in a twos complement format. The unit of DE_V_START_EVEN[9:0] is one pixel clock.
Function
DE_V_START_EVEN[3:0]
Range
Description
−8 to +7 lines
DE_V_END_EVEN[3:0], Addr 44 (CP), Address 0x88[3:0]
A control to vary the position of the end of the VBI region in even field.
This register stores a signed value represented in a twos complement format. The unit of DE_V_END_EVEN[9:0] is one pixel clock.
Function
DE_V_END_EVEN[3:0]
Range
Description
−8 to +7 lines
FIELD Timing Controls
Programming of the FIELD timing signals is listed in this section. The FIELD signal, shown in Figure 50, Figure 51, Figure 52, and
Figure 55, can be adjusted in the described manner. (Progressive systems do not have a FIELD signal.)
Table 58. FIELD Default Timing
Characteristic
START_FO
END_FO range maximum
START_FO
END_FO range maximum
Units
Line
525i
7
625i
7
525p
N/A
625p
N/A
720p
N/A
1080i
7
Line
8
8
N/A
N/A
N/A
8
START_FE[3:0], Addr 44 (CP), Address 0x80[7:4]
A control to shift the position of the start of even field edge of the FIELD signal output by the CP core.
This register stores a signed value in a twos complement format. START_FE[3:0] the number of lines by which the start of the even fields
edge of the FIELD signal is shifted (for example, 0x0D corresponds to a shift of three lines toward the active video, 0x05 corresponds to a
shift of five lines away from the active video).
Function
START_FE[3:0]
0x0 (default)
0x0 to 0x7
0x8 to 0xF
Description
Default value.
The edge of the FIELD signal corresponding to the start of the even field is shifted toward the active video.
The trailing of the FIELD signal corresponding to the start of the even field is shifted away from the active video.
Rev. 0 | Page 129 of 184
UG-438
Hardware User Guide
Table 59. Controlling the Even Field Section of the FIELD Timing Signal
START_FE[3:0]
0000(default)
0001
0011
0111
1111
1101
1000
1
2
Hex
0x0
0x1
0x3
0x7
0xF
0xD
0x8
Result
No move (default)
1 HS shift later than default1
3 HS shift later than default
7 HS shift later than default
1 HS shift earlier than default2
3 HS shift earlier than default
8 HS shift earlier than default
Note
Minimum →
Maximum →
Minimum ←
Maximum ←
Closer to active video.
Away from active video.
START_FO[3:0], Addr 44 (CP), Address 0x80[3:0]
A control to shift the position of the start of odd field edge of the FIELD signal output by the CP core.
This register stores a signed value in a twos complement format. START_FO[3:0] the number of lines by which the start of the odd fields
edge of the FIELD signal is shifted (for example, 0x0D corresponds to a shift of 3 lines toward the active video, 0x05 corresponds to a shift
of 5 line away from the active video).
Function
START_FO[3:0]
0x0 (default)
0x0 to 0x7
0x8 to 0xF
Description
Default value.
The edge of the FIELD signal corresponding to the start of the odd field is shifted toward the active video.
The trailing of the FIELD signal corresponding to the start of the odd field is shifted away from the active video.
Table 60. Controlling the Odd Field Section of FIELD Timing Signal
START_FO[3:0]
0000 (default)
0001
0011
0111
1111
1101
1000
1
2
Hex
0x0
0x1
0x3
0x0
0xF
0xD
0x8
Result
No move (default)
1 HS shift later than default1
3 HS shift later than default
7 HS shift later than default
1 HS shift earlier than default2
3 HS shift earlier than default
8 HS shift earlier than default
Closer to active video.
Away from active video.
Rev. 0 | Page 130 of 184
Note
Minimum →
Maximum →
Minimum ←
Maximum ←
Hardware User Guide
UG-438
FIELD 1
525
1
2
3
4
5
6
7
8
9
10
11
12
13
273
274
275
14
15…
21
22
277…
284
285
OUTPUT VIDEO
HS OUTPUT
VS OUTPUT
START_VS[3:0]
END_VS[3:0]
FIELD OUTPUT
START_FO[3:0]
FIELD 2
262
263
264
265
266
267
268
269
270
271
272
276
OUTPUT VIDEO
HS OUTPUT
VS OUTPUT
END_VS[3:0]
START_VS[3:0]
10884-056
FIELD OUTPUT
START_FE[3:0]
Figure 50. 525i VS Timing
Rev. 0 | Page 131 of 184
UG-438
Hardware User Guide
FIELD 1
622
623
624
625
1
2
3
4
5
6
11…
7
8
9
10
320
321
322
323…
23
24
OUTPUT VIDEO
HS OUTPUT
VS OUTPUT
START_VS[3:0]
END_VS[3:0]
FIELD OUTPUT
START_FO[3:0]
FIELD 2
310
311
312
313
314
315
316
317
318
319
336
337
OUTPUT VIDEO
HS OUTPUT
VS OUTPUT
START_VS[3:0]
END_VS[3:0]
10884-057
FIELD OUTPUT
START_FE[3:0]
Figure 51. 625i VS Timing
525
1
2
3
4
5
6
7
8
9
10
12
13
14
15
16
17
42
18
43
44
OUTPUT
VIDEO
VS
OUTPUT
10884-058
HS
OUTPUT
END_VS[3:0]
START_VS[3:0]
Figure 52. 525p VS Timing
OUTPUT
VIDEO
622
623
624
625
1
2
3
4
5
6
7
8
9
10
11…
43
44
45
VS
OUTPUT
START_VS [3:0]
END_VS [3:0]
Figure 53. 625p VS Timing
Rev. 0 | Page 132 of 184
10884-059
HS
OUTPUT
Hardware User Guide
UG-438
OUTPUT
VIDEO
745
750
1
2
3
4
5
6
7
8…
25
26
27
744
745
HS
OUTPUT
10884-060
VS
OUTPUT
END_VS[3:0]
START_VS[3:0]
Figure 54. 720p VS Timing
FIELD 1
OUTPUT
VIDEO
1123
HS
OUTPUT
1124
1125
1
2
3
4
5
6
7
8…
20
21
22
23
24
25
VS
OUTPUT
START_VS[3:0]
END_VS[3:0]
FIELD
OUTPUT
START_FO[3:0]
FIELD 2
OUTPUT
VIDEO
HS
OUTPUT
560
561
562
563
564
565
566
567
568
569
570…
583
584
585
586
587
588
589
VS
OUTPUT
FIELD
OUTPUT
END_VS[3:0]
10884-061
START_VS[3:0]
START_FE[3:0]
Figure 55. 1080i VS Timing
1122
1125
1
2
3
1
START_VS[3:0]
5
6
7
8…
41
42
42
END_VS[3:0]
Figure 56. 1080p VS Timing
HCOUNT Timing Control
HCOUNT_ALIGN_ADJ[4:0], Addr 44 (CP), Address 0xBE[1:0]; Address 0xBF[7:5]
Manual adjustment for internally generated hcount offset. This register allows an adjustment of 15 pixels to the left or to the right. The
MSB sets the direction (left or right) and the 4 LSBs set the number of pixels to move. This is an unsigned control.
Function
HCOUNT_ALIGN_ADJ[4:0]
00000 (default)
Description
Default value
Rev. 0 | Page 133 of 184
10884-062
1121
UG-438
Hardware User Guide
CP HDMI CONTROLS
HDMI_CP_LOCK_THRESHOLD[1:0], Addr 44 (CP), Address 0xCB[1:0]
Locking time of filter used for buffering of timing parameters in HDMI mode.
Function
HDMI_CP_LOCK_THRESHOLD[1:0]
00 (default)
01
10
11
Description
Slowest locking time
Medium locking time
Fastest locking time
Fixed step size of 0.5 pixels
FREE RUN MODE
Free run mode provides the user with a stable clock and predictable data if the input signal cannot be decoded, for example, if input video
is not present. It controls default color insertion and causes the ADV7610 to generate a default clock. The state in which this happens
can be monitored via the CP_FREE_RUN status bit. (Refer to the CP Status section for more information.). The free run feature is not
configured automatically for HDMI modes.
Free Run Mode Thresholds
The free run threshold parameters define the horizontal and vertical conditions under which free run mode is entered. The horizontal
and vertical parameters of the incoming video signal are measured and compared with internally stored parameters, and the magnitude of
the difference decides whether to enter free run. The internally stored parameters are decoded by default from PRIM_MODE[3:0] and
VID_STD[5:0]. For video standards other than the preprogrammed settings of PRIM_MODE[3:0] and VID_STD[5:0], the parameters
can be set manually.
Horizontal Conditions
In the case of the horizontal conditions, the length of the incoming video line is measured based on the 28.6363 MHz crystal clock. This
value is compared with the internally stored horizontal parameter, the ideal line length. The CH1_F_RUN_TH[2:0] control bits allow the
user to select the threshold for Channel 1. The ideal line length can be manually set via the Free-run Line Length control,
CH1_FR_LL[10:0].
CH1_F_RUN_THR[2:0], Addr 44 (CP), Address 0xF3[2:0]
Free run threshold select for Sync Channel 1. Determines the horizontal conditions under which free run mode is entered or left. The
length of the incoming video line is measured based on the crystal clock and compared to an internally stored parameter. The magnitude
of the difference decides whether or not sync Channel 1 enters free run mode.
Function
CH1_F_RUN_THR[2:0]
000
001
010
011
100 (default)
101
110
111
Description
Minimum difference to switch into free run is 2. Maximum difference to switch out of free run is 1.
Minimum difference to switch into free run is 256. Maximum difference to switch out of free run is 200.
Minimum difference to switch into free run is 128. Maximum difference to switch out of free run is 112.
Minimum difference to switch into free run is 64. Maximum difference to switch out of free run is 48.
Minimum difference to switch into free run is 32. Maximum difference to switch out of free run is 24.
Minimum difference to switch into free run is 16. Maximum difference to switch out of free run is 12.
Minimum difference to switch into free run is 8. Maximum difference to switch out of free run is 6.
Minimum difference to switch into free run is 4. Maximum difference to switch out of free run is 3.
Rev. 0 | Page 134 of 184
Hardware User Guide
UG-438
CH1_FR_LL[10:0], Addr 44 (CP), Address 0x8F[2:0]; Address 0x90[7:0]
Free run line length in number of crystal clock cycles in one line of video for Sync Channel 1 STDI. This register should only be
programmed video standards that are not supported by PRIM_MODE[3:0] and VID_STD[5:0].
Function
CH1_FR_LL[10:0]
0x000 (default)
All other values
Description
Internal free run line length is decoded from PRIM_MODE[3:0] and VID_STD[5:0].
Number of crystal clocks in the ideal line length. Used to enter or exit free run mode.
Notes
•
•
This parameter has no effect on the video decoding.
If CH1_FR_LL[10:0] is not programmed, then the free-run line length parameter is decoded from PRIM_MODE[3:0] and
VID_STD[5:0].
Vertical Conditions
In the case of the vertical conditions, the STDI section measures the number of lines per field of incoming video signal. This value is
compared with an internally stored vertical parameter, the ideal field length. The CH1_FL_FR_THRESHOLD[1:0] control bits allow the
user to select the threshold for Channel 1. The ideal number of lines per field can be set manually via the CP_LCOUNT_MAX[11:0]
register.
CH1_FL_FR_THRESHOLD[2:0], Addr 44 (CP), Address 0xF3[5:3]
Threshold for difference between input video field length and internally stored standard to enter and exit free run.
Function
CH1_FL_FR_THRESHOLD[2:0]
000
001
010 (default)
011
100
101
110
111
Description
Minimum difference to switch into free run is 36 lines. Maximum difference to switch out of free run is
31 lines.
Minimum difference to switch into free run is 18 lines. Maximum difference to switch out of free run is
15 lines.
Minimum difference to switch into free run is 10 lines. Maximum difference to switch out of free run is
7 lines.
Minimum difference to switch into free run is 4 lines. Maximum difference to switch out of free run is
3 lines.
Minimum difference to switch into free run is 51 lines. Maximum difference to switch out of free run is
46 lines.
Minimum difference to switch into free run is 69 lines. Maximum difference to switch out of free run is
63 lines.
Minimum difference to switch into free run is 134 lines. Maximum difference to switch out of free run is
127 lines.
Minimum difference to switch into free run is 263 lines. Maximum difference to switch out of free run is
255 lines.
CP_LCOUNT_MAX[11:0], Addr 44 (CP), Address 0xAB[7:0]; Address 0xAC[7:4]
Manual value for total number of lines in a frame expected by the CP core. CP_LCOUNT_MAX[11:0] is an unsigned value. This register
is used for manual configuration of the free run feature. The value programmed in this register is used for Sync Channel 1. The value
programmed in this register is used also for Sync Channel 2 if CH2_FR_FIELD_LENGTH[10:0] set to 0x000.
Function
CP_LCOUNT_MAX[11:0]
0x000 (default)
All other values
Description
Ideal number of lines per frame is decoded from PRIM_MODE[3:0] and VID_STD[5:0] for Sync Channel 1.
Use the programmed value as ideal number of lines per frame in free run decision for Sync Channel 1.
INTERLACED, Addr 44 (CP), Address 0x91[6]
Sets the interlaced/progressive mode of the incoming video processed in CP mode.
Function
INTERLACED
0
1 (default)
Description
The CP core expects progressive video mode.
the CP core expects interlaced video mode.
Rev. 0 | Page 135 of 184
UG-438
Hardware User Guide
Field line count is the vertical parameter that holds the ideal number of lines per field for a given video standard. It affects the way CP
handles the unlocked state. It affects the way CP handles the unlocked state. If CP_LCOUNT_MAX[11:0] is set to 0, the internally used
free run line length value is decoded from the current setting of PRIM_MODE[3:0] and VID_STD[5:0].
For standards not covered by the preprogrammed values, the CP_LCOUNT_MAX[11:0] and INTERLACED parameters must be set to
the ideally expected number of lines per field.
Notes
•
The CP_LCOUNT_MAX[11:0] parameter has no effect on the video decoding.
If CP_LCOUNT_MAX[11:0] is not programmed, then the Free-run Line Length parameter is decoded from PRIM_MODE[3:0] and
VID_STD[5:0].
If CP_LCOUNT_MAX[11:0] is programmed, then Free-run Line Length parameter defined by CP_LCOUNT_MAX[11:0] and
INTERLACED, is used for Channel 1.
CP_LCOUNT_MAX[11:0] == 12'D0
[11:1]
CP_LCOUNT_MAX[11:0]
0
LCOUNT_MAX BASED
ON PM/VS
INTERLACED
[11:0]
1
[10:0]
FR_FIELD_LENGTH USED
ON SYNC CHANNEL 1
0
1
[10:0]
10884-063
•
•
Figure 57. Free Run Field Length Selection for Channel 1 and Channel 2
Free Run Feature in HDMI Mode
This section describes how to configure the free run feature when the ADV7610 is in HDMI mode. The ADV7610 HDMI mode is
defined in the Primary Mode and Video Standard section.
There are two free run modes in HDMI: Free Run Mode 0 and Free Run Mode 1. The HDMI_FRUN_MODE control selects which free
run mode is enabled.
•
•
HDMI Free Run Mode 0:
The decoder enters free run when the TMDS clock is not detected, for example, in a cable disconnect situation.
HDMI Free Run Mode 1:
The decoder enters free run when the TMDS clock is not detected or when the detected input format does not match the format
dictated by the PRIM_MODE[3:0] and VID_STD[5:0] settings.
For either free run mode to be implemented, HDMI free run operation must be enabled. This is done via the HDMI_FRUN_EN control.
HDMI_FRUN_EN, Addr 44 (CP), Address 0xBA[0]
A control to enable free run in HDMI mode.
Function
HDMI_FRUN_EN
0
1 (default)
Description
Disable the free run feature in HDMI mode
Enable the free run feature in HDMI mode
HDMI_FRUN_MODE, Addr 44 (CP), Address 0xBA[1]
A control to configure the free run feature in HDMI mode.
Function
HDMI_FRUN_MODE
0 (default)
1
Description
HDMI free run Mode 0. The part free runs when the TMDS clock is not detected on the selected HDMI port.
HDMI free run Mode 1. The CP core free runs when the TMDS clock is not detected on the selected HDMI port
or it the video resolution of HDMI stream processed by the part does not match the video resolution
programmed in PRIM_MODE[3:0] and VID_STD[5:0].
Rev. 0 | Page 136 of 184
Hardware User Guide
UG-438
DIS_AUTO_PARAM_BUFF, Addr 44 (CP), Address 0xC9[0]
A control to disable the buffering of the timing parameters used for free run in HDMI mode.
Function
DIS_AUTO_PARAM_BUFF
0 (default)
1
Description
Buffer the last measured parameters in HDMI mode used to determine video resolution the part free runs into.
Disable the buffering of measured parameters in HDMI mode. Free run standard determined by
PRIM_MODE[3:0], VID_STD[5:0], and V_FREQ[2:0].
It is also possible to custom program the resolution that the ADV7610 should expect for free run Mode 1 by programming the free-run
line length, line count max, and interlaced registers. Refer to the Free Run Mode section for the configuration of these registers.
Note: This mode (that is, DIS_AUTOPARAM_BUFFER = 1) does not support HDMI input with deep color.
Free Run Default Color Output
In the event of loss of input signal, the ADV7610 may enter free run and can be configured to output a default color rather than noise.
The default color values are given in Table 61.
The times at which the default colors are inserted can be set as follows:
•
•
Free run is forced: default colors are always output
Automatic free run mode: default colors are output when the system detects a loss of video signal
Table 61. Default Color Output Values (CP)
Mode
Default—GR
CP_DEF_COL_MAN_VAL
0
Default—COMP
0
Man. Override
1
Signal
CH_A (G)
CH_B (R)
CH_C (B)
CH_A (Y)
CH_A (Pr)
CH_A (Pb)
CH_A
CH_B
CH_C
Value
0
0
135d
35d
114d
212d
4·DEF_COL_CHA[7:0]
4·DEF_COL_CHB[7:0]
4·DEF_COL_CHC[7:0]
CP_FORCE_FREERUN, Addr 44 (CP), Address 0xBF[0]
A control to force the CP to free run.
Function
CP_FORCE_FREERUN
0 (default)
1
Description
Do not force the CP core free run.
Force the CP core to free run.
CP_DEF_COL_AUTO, Addr 44 (CP), Address 0xBF[1]
A control to enable the insertion of default color when the CP free runs.
Function
CP_DEF_COL_AUTO
0
1 (default)
Description
Disable automatic insertion of default color
Output default colors when the CP free runs
CP_DEF_COL_MAN_VAL, Addr 44 (CP), Address 0xBF[2]
A control to enable manual selection of the color used when the CP core free runs.
Function
CP_DEF_COL_MAN_VAL
0 (default)
1
Description
Uses default color blue
Outputs default colors as given in CP_DEF_COL_CHA, CP_DEF_COL_B and CP_DEF_COL_C
Rev. 0 | Page 137 of 184
UG-438
Hardware User Guide
Table 61 shows the default colors for component and graphics based video. The values describe the color blue. Setting the
CP_DEF_COL_MAN_VAL bit high enables the user to overwrite the default colors with the values given in DEF_COL_CHA[7:0],
DEF_COL_CHB[7:0], and DEF_COL_CHC[7:0]. The three parameters DEF_COL_CHA[7:0], DEF_COL_CHB[7:0], and
DEF_COL_CHC[7:0] allow the user to specify their own default values.
Note: CP_DEF_COL_MAN_VAL must be set high for the three parameters to be used. See Table 61 for more information on the
automatic values.
DEF_COL_CHA[7:0], Addr 44 (CP), Address 0xC0[7:0]
A control the set the default color for Channel A. To be used if CP_DEF_COL_MAN_VAL is 1.
Function
DEF_COL_CHA[7:0]
0x00 (default)
Description
Default value
DEF_COL_CHB[7:0], Addr 44 (CP), Address 0xC1[7:0]
A control to set the default color for Channel B. To be used if CP_DEF_COL_MAN_VAL is 1.
Function
DEF_COL_CHB[7:0]
0x00 (default)
Description
Default value
DEF_COL_CHC[7:0], Addr 44 (CP), Address 0xC2[7:0]
A control to set the default color for Channel C. To be used if CP_DEF_COL_MAN_VAL is 1.
Function
DEF_COL_CHC[7:0]
0x00 (default)
Description
Default value
CP STATUS
CP_REG_FF
CP_REG_FF is a status register that contains status bits for the CP core. Register CP_REG_FF holds field: CP_FREE_RUN.
CP_REG_FF Bit Number
0
1
2
3
4
5
6
7
Bit Name
Reserved
Reserved
Reserved
Reserved
CP_FREE_RUN
Reserved
Reserved
Reserved
Description
CP is free running (no valid video signal found)
CP_FREE_RUN, Addr 44 (CP), Address 0xFF[4] (Read Only)
Component processor free run status.
Function
CP_FREE_RUN
0 (default)
1
Description
The CP is not free running.
The CP is free running.
CP CORE BYPASSING
It is possible to bypass CP core completely using the following register.
CP_COMPLETE_BYPASS_IN_HDMI_MODE, IO, Address 0xBF[0]
Function
CP_COMPLETE_BYPASS_IN_HDMI_MODE
0 (default)
1
Description
Normal mode
HDMI data directly fed to output bypassing CP completely, CP_CLK can be powered down
Rev. 0 | Page 138 of 184
Hardware User Guide
UG-438
CONSUMER ELECTRONICS CONTROL
The Consumer Electronics Control (CEC) module features the hardware required to behave as an initiator or a follower as per the
specifications for a CEC device. The CEC module contains four main sections:
•
•
•
•
Transmit section CEC_TX
Receive section CEC_RX
Clock generator section CEC_CLK_GEN
Antiglitch filter section CEC_ANTI_GLITCH
The block diagram of the CEC module is shown in Figure 58.
CEC
CEC_RESET
HOTPLUG
RESET
CEC_CLK
CEC
CLK_GEN
INPUT_CLK
CEC_TX
(INITIATOR)
I2C REGISTERS
TX_BUSY
TX_CEC_OUT
1
CEC_OUT
0
RX_CEC_OUT
CEC_TX_ARBITRATION_LOST
CEC_TX_TIMEOUT_RETRY
INT
INTERRUPT
GENERATOR
CEC_RX
(FOLLOWER)
CEC_TX_READY
CEC_RX_RDY0
CEC
ANTI_GLITCH
CEC_IN
CEC_RX_RDY1
10884-064
CEC_RX_RDY2
Figure 58. CEC Module Block Diagram
MAIN CONTROLS
This section describes the main controls for the CEC module.
CEC_POWER_UP, Addr 80 (CEC), Address 0x2A[0]
Power mode of CEC module.
Function
CEC_POWER_UP
0 (default)
1
Description
Power down the CEC module.
Power up the CEC module.
CEC_SOFT_RESET, Addr 80 (CEC), Address 0x2C[0] (Self-Clearing)
CEC module software reset.
Function
CEC_SOFT_RESET
0 (default)
1
Description
No function.
Reset the CEC module.
Note that the CEC_POWER_UP bit can be used to set the ADV7610 to Power-Down Mode 1 (refer to the Power-Down Mode 1 section).
Rev. 0 | Page 139 of 184
UG-438
Hardware User Guide
CEC TRANSMIT SECTION
The transmit section features the hardware required for the CEC module to act as an initiator. The host utilizes this section to transmit
directly addressed messages or broadcast messages on the CEC bus. When the host wants to a send message to other CEC devices, it
writes the message to the CEC outgoing message registers (refer to Table 62) and the message length register. Then, the host enables the
transmission process by setting the CEC_TX_ENABLE bit to 1. When the message transmission is completed, or if an error occurs, the
CEC transmitter section generates an interrupt (assuming the corresponding interrupt mask bits are set accordingly).
Table 62. CEC Outgoing Message Buffer Registers
Register Name
CEC_TX_FRAME_HEADER[7:0]
CEC_TX_FRAME_DATA0[7:0]
CEC_TX_FRAME_DATA1[7:0]
CEC_TX_FRAME_DATA2[7:0]
CEC_TX_FRAME_DATA3[7:0]
CEC_TX_FRAME_DATA4[7:0]
CEC_TX_FRAME_DATA5[7:0]
CEC_TX_FRAME_DATA6[7:0]
CEC_TX_FRAME_DATA7[7:0]
CEC_TX_FRAME_DATA8[7:0]
CEC_TX_FRAME_DATA9[7:0]
CEC_TX_FRAME_DATA10[7:0]
CEC_TX_FRAME_DATA11[7:0]
CEC_TX_FRAME_DATA12[7:0]
CEC_TX_FRAME_DATA13[7:0]
CEC_TX_FRAME_DATA14[7:0]
CEC Map Address
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
Description
Header of next outgoing message
Byte 0 of next outgoing message
Byte 1 of next outgoing message
Byte 2 of next outgoing message
Byte 3 of next outgoing message
Byte 4 of next outgoing message
Byte 5 of next outgoing message
Byte 6 of next outgoing message
Byte 7 of next outgoing message
Byte 8 of next outgoing message
Byte 9 of next outgoing message
Byte 10 of next outgoing message
Byte 11 of next outgoing message
Byte 12 of next outgoing message
Byte 13 of next outgoing message
Byte 14 of next outgoing message
CEC_TX_FRAME_LENGTH[4:0], Addr 80 (CEC), Address 0x10[4:0]
Message size of the transmitted frame. This is the number of byte in the outgoing message including the header.
Function
CEC_TX_FRAME_LENGTH[4:0]
xxxxx
Description
Total number of bytes (including header byte) to be sent
CEC_TX_ENABLE, Addr 80 (CEC), Address 0x11[0]
This bit enables the TX section. When set to 1, it initiates the start of transmission of the message in the outgoing message buffer. When
the message transmission is completed, this bit is automatically reset to 0. If it is manually set to 0 during a message transmission it may
terminate the transmission depending on what stage of the transmission process has been reached. If the message transmission is still in
the 'signal free time' stage the message transmission will be terminated. If data transmission has begun then the transmission will
continue until the message is fully sent, or until an error condition occurs.
Function
CEC_TX_ENABLE
0 (default)
1
Description
Transmission mode disabled
Transmission mode enabled and message transmission started
The ADV7610 features three status bits related to the transmission of CEC messages. The events that set these bits are mutually exclusive,
that is, only one of the three events can occur during any given message transmission.
•
•
•
CEC_TX_READY_ST
CEC_TX_ARBITRATION_LOST_ST
CEC_TX_RETRY_TIMEOUT_ST
Rev. 0 | Page 140 of 184
Hardware User Guide
UG-438
CEC_TX_READY_ST, IO, Address 0x93[0] (Read Only)
Latched status of CEC_TX_READY_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
When the CEC TX successfully sends the current message this bit is set. Once set, this bit will remain high until the interrupt is cleared
via CEC_TX_READY_CLR.
Function
CEC_TX_READY_ST
0 (default)
1
Description
No change
Message transmitted successfully
CEC_TX_ARBITRATION_LOST_ST, IO, Address 0x93[1] (Read Only)
Latched status of CEC_TX_ARBITRATION_LOST_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2
interrupt mask bit. If the CEC TX loses arbitration while trying to send a message this bit is set. Once set, this bit will remain high until
the interrupt is cleared via CEC_TX_ARBITRATION_LOST_CLR.
Function
CEC_TX_ARBITRATION_LOST_ST
0 (default)
1
Description
No change
The CEC TX has lost arbitration to another TX
CEC_TX_RETRY_TIMEOUT_ST, IO, Address 0x93[2] (Read Only)
Latched status of CEC_TX_RETRY_TIMEOUT_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2
interrupt mask bit. If the CEC TX fails to send the current message within the number of retry attempts specified by CEC_TX_RETRY
this bit is set. Once set, this bit remains high until the interrupt is cleared via CEC_TX_RETRY_TIMEOUT_CLR.
Function
CEC_TX_RETRY_TIMEOUT_ST
0 (default)
1
Description
No change
CEC TX has tried but failed to resend the current message for the number of times specified
by CEC_TX_RETRY
CEC_TX_RETRY[2:0], Addr 80 (CEC), Address 0x12[6:4]
The number of times the CEC TX should try to retransmit the message if an error condition is encountered. Per the CEC specification,
this value should not be set to a value greater than 5.
Function
CEC_TX_RETRY[2:0]
001 (default)
xxx
Description
Try to retransmit the message 1 time if an error occurs
Try to retransmit the message xxx times if an error occurs
CEC_TX_NACK_COUNTER[3:0], Addr 80 (CEC), Address 0x14[3:0] (Read Only)
The number of times that the NACK error condition was encountered while trying to send the current message. This register is reset to
0b0000 when CEC_TX_ENABLE is set to 1.
Function
CEC_TX_NACK_COUNTER[3:0]
0000 (default)
XXXX
Description
No error condition
The number of times the NACK error condition was encountered
CEC_TX_LOWDRIVE_COUNTER[3:0], Addr 80 (CEC), Address 0x14[7:4] (Read Only)
The number of times that the LOWDRIVE error condition was encountered while trying to send the current message. This register is
reset to 0b0000 when CEC_TX_ENABLE is set to 1.
Function
CEC_TX_LOWDRIVE_COUNTER[3:0]
0000 (default)
XXXX
Description
No error condition
The number of times the LOWDRIVE error condition was encountered
Rev. 0 | Page 141 of 184
UG-438
Hardware User Guide
CEC RECEIVE SECTION
The receive section features the hardware required for the CEC module to act as a follower. Once the CEC module is powered up via the
CEC_POWER_UP bit the CEC Rx section will immediately begin monitoring the CEC bus for messages with the correct logical
address(es). When the message reception is completed the CEC receive section generates an interrupt (assuming the corresponding
interrupt mask bits are set accordingly).
The host can disable message reception while keeping the CEC module powered up by using the FORCE_NACK bit to not acknowledge
received messages.
CEC_FORCE_NACK, Addr 80 (CEC), Address 0x27[1]
Force NO-ACK control.
Setting this bit forces the CEC controller not acknowledge any received messages.
Function
CEC_FORCE_NACK
0 (default)
1
Description
Acknowledge received messages
Do not acknowledge received messages
Logical Address Configuration
The host must set the destination logical address(es) that the CEC receive section will respond to. Up to three logical addresses can be
enabled allowing support for multifunction devices such as DVD recorders with TV tuners, which require multiple logical addresses. The
logical address(es) are set via the following registers:
•
•
•
CEC_LOGICAL_ADDRESS2[3:0] if CEC_LOGICAL_ADDRESS_MASK[2] is set to 1
CEC_LOGICAL_ADDRESS1[3:0] if CEC_LOGICAL_ADDRESS_MASK[1] is set to 1
CEC_LOGICAL_ADDRESS0[3:0] if CEC_LOGICAL_ADDRESS_MASK[0] is set to 1
CEC_LOGICAL_ADDRESS2[3:0], Addr 80 (CEC), Address 0x29[3:0]
Logical address 2―this address must be enabled by setting CEC_LOGICAL_ADDRESS_MASK[2] to 1.
Function
CEC_LOGICAL_ADDRESS2[3:0]
1111 (default)
xxxx
Description
Default value
User specified logical address
CEC_LOGICAL_ADDRESS1[3:0], Addr 80 (CEC), Address 0x28[7:4]
Logical Address 1—this address must be enabled by setting CEC_LOGICAL_ADDRESS_MASK[1] to 1.
Function
CEC_LOGICAL_ADDRESS1[3:0]
1111 (default)
xxxx
Description
Default value
User specified logical address
CEC_LOGICAL_ADDRESS0[3:0], Addr 80 (CEC), Address 0x28[3:0]
Logical Address 0—this address must be enabled by setting CEC_LOGICAL_ADDRESS_MASK[0] to 1.
Function
CEC_LOGICAL_ADDRESS0[3:0]
1111 (default)
xxxx
Description
Default value
User specified logical address
CEC_LOGICAL_ADDRESS_MASK[2:0], Addr 80 (CEC), Address 0x27[6:4]
Logical address mask of the CEC logical devices. Up to three logical devices are supported. When the mask bits are set for a particular
logical device, the logical device is enabled and messages whose destination address matches that of the selected logical address are accepted.
Function
CEC_LOGICAL_ADDRESS_MASK[2:0]
[4]
[5]
[6]
Description
Mask bit for Logical Device 0
Mask bit for Logical Device 1
Mask bit for Logical Device 2
Rev. 0 | Page 142 of 184
Hardware User Guide
UG-438
Receive Buffers
The ADV7610 features three frame buffers that allow the receiver to receive up to three messages before the host processor needs to read
a message out. When three messages have been received, no further message reception is possible until the host reads at least one
message.
Note that for backwards compatibility with previous generation ADI CEC-enabled parts, only one frame buffer is enabled by default. In
this default mode, after a message is received, the host processor must read the message out before any further message reception is
possible. The decision to use one or three messages buffers is controlled by the CEC_USE_ALL_BUFS bit.
CEC_USE_ALL_BUFS, Addr 80 (CEC), Address 0x77[0]
Control to enable supplementary receiver frame buffers.
Function
CEC_USE_ALL_BUFS
0 (default)
1
Description
Use only buffer 0 to store CEC frames
Use all 3 buffers to stores the CEC frames
For each of the frame buffers there is a corresponding two-bit time stamp and a raw flag.
CEC_BUF0_TIMESTAMP[1:0], Addr 80 (CEC), Address 0x53[1:0] (Read Only)
Time stamp for frame stored in Receiver Frame Buffer 0. This can be used to determine which frame should be read next from the
receiver frame buffers.
Function
CEC_BUF0_TIMESTAMP[1:0]
00 (default)
01
10
11
Description
Invalid timestamp, no frame is available in this frame buffer
Of the frames currently buffered, this frame was the first to be received
Of the frames currently buffered, this frame was the second to be received
Of the frames currently buffered, this frame was the third to be received
CEC_BUF1_TIMESTAMP[1:0], Addr 80 (CEC), Address 0x53[3:2] (Read Only)
Time stamp for frame stored in Receiver Frame Buffer 1. This can be used to determine which frame should be read next from the
receiver frame buffers.
Function
CEC_BUF1_TIMESTAMP[1:0]
00 (default)
01
10
11
Description
Invalid timestamp, no frame is available in this frame buffer
Of the frames currently buffered, this frame was the first to be received
Of the frames currently buffered, this frame was the second to be received
Of the frames currently buffered, this frame was the third to be received
CEC_BUF2_TIMESTAMP[1:0], Addr 80 (CEC), Address 0x53[5:4] (Read Only)
Time stamp for frame stored in Receiver Frame Buffer 2. This can be used to determine which frame should be read next from the
receiver frame buffers.
Function
CEC_BUF2_TIMESTAMP[1:0]
00 (default)
01
10
11
Description
Invalid timestamp, no frame is available in this frame buffer
Of the frames currently buffered, this frame was the first to be received
Of the frames currently buffered, this frame was the second to be received
Of the frames currently buffered, this frame was the third to be received
Rev. 0 | Page 143 of 184
UG-438
Hardware User Guide
CEC_RX_RDY0_ST, IO, Address 0x93[3] (Read Only)
Latched status of CEC_RX_RDY0_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
When a message has been received into Buffer 0, this bit is set. Once set, this bit will remain high until the interrupt is cleared via
CEC_RX_RDY0_CLR.
Function
CEC_RX_RDY0_ST
0 (default)
1
Description
No change
New CEC message received in Buffer 0
CEC_RX_RDY1_ST, IO, Address 0x93[4] (Read Only)
Latched status of CEC_RX_RDY1_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
When a message has been received into Buffer 1, this bit is set. Once set, this bit will remain high until the interrupt is cleared via
CEC_RX_RDY0_CLR.
Function
CEC_RX_RDY1_ST
0 (default)
1
Description
No change
New CEC message received in Buffer 1
CEC_RX_RDY2_ST, IO, Address 0x93[5] (Read Only)
Latched status of CEC_RX_RDY2_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
When a message has been received into Buffer 2, this bit is set. Once set, this bit will remain high until the interrupt is cleared via
CEC_RX_RDY0_CLR.
Function
CEC_RX_RDY2_ST
0 (default)
1
Description
No change
New CEC message received in Buffer 2
When a message (other than a polling message) is received it is loaded into the first available frame buffer (starting with Buffer 0) and a
2-bit time stamp is generated for that buffer. If the corresponding interrupt mask bit is set the status bit relating to that buffer is set and an
interrupt is generated to alert the host processor to the fact that a message has been received.
When all three frame buffers are full, the receive module can no longer receive CEC messages and will not acknowledge any new
messages (other than polling messages). In the case that only one frame buffer is enabled (the default condition) then only one message
can be received. In this case the received message is always available in Buffer 0.
The host can read the receive buffers (refer to Table 63, Table 64 and Table 65) to get the messages that were addressed to the CEC
receiver. The length of each received message is available in the corresponding frame length register.
Table 63. CEC Incoming Frame Buffer 0 Registers
Register Name
CEC_BUF0_RX_FRAME_HEADER[7:0]
CEC_BUF0_RX_FRAME_DATA0[7:0]
CEC_BUF0_RX_FRAME_DATA1[7:0]
CEC_BUF0_RX_FRAME_DATA2[7:0]
CEC_BUF0_RX_FRAME_DATA3[7:0]
CEC_BUF0_RX_FRAME_DATA4[7:0]
CEC_BUF0_RX_FRAME_DATA5[7:0]
CEC_BUF0_RX_FRAME_DATA6[7:0]
CEC_BUF0_RX_FRAME_DATA7[7:0]
CEC_BUF0_RX_FRAME_DATA8[7:0]
CEC_BUF0_RX_FRAME_DATA9[7:0]
CEC_BUF0_RX_FRAME_DATA10[7:0]
CEC_BUF0_RX_FRAME_DATA11[7:0]
CEC_BUF0_RX_FRAME_DATA12[7:0]
CEC_BUF0_RX_FRAME_DATA13[7:0]
CEC_BUF0_RX_FRAME_DATA14[7:0]
CEC Map Address
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
0x20
0x21
0x22
0x23
0x24
Description
Header of message in Frame Buffer 0
Byte 0 of message in Frame Buffer 0
Byte 1 of message in Frame Buffer 0
Byte 2 of message in Frame Buffer 0
Byte 3 of message in Frame Buffer 0
Byte 4 of message in Frame Buffer 0
Byte 5 of message in Frame Buffer 0
Byte 6 of message in Frame Buffer 0
Byte 7 of message in Frame Buffer 0
Byte 8 of message in Frame Buffer 0
Byte 9 of message in Frame Buffer 0
Byte 10 of message in Frame Buffer 0
Byte 11 of message in Frame Buffer 0
Byte 12 of message in Frame Buffer 0
Byte 13 of message in Frame Buffer 0
Byte 14 of message in Frame Buffer 0
Rev. 0 | Page 144 of 184
Hardware User Guide
UG-438
CEC_BUF0_RX_FRAME_LENGTH[4:0], Addr 80 (CEC), Address 0x25[4:0] (Read Only)
Function
CEC_BUF0_RX_FRAME_LENGTH[4:0]
xxxxx
Description
The total number of bytes (including header byte) that were received into Buffer 0
CEC_CLR_RX_RDY0, Addr 80 (CEC), Address 0x2C[1] (Self-Clearing)
Clear control for CEC_RX_RDY0.
Function
CEC_CLR_RX_RDY0
0 (default)
1
Description
Retain the value of the CEC_RX_RDY0 flag
Clear the value of the CEC_RX_RDY0 flag
Table 64. CEC Incoming Frame Buffer 1 Registers
Register Name
CEC_BUF1_RX_FRAME_HEADER[7:0]
CEC_BUF1_RX_FRAME_DATA0[7:0]
CEC_BUF1_RX_FRAME_DATA1[7:0]
CEC_BUF1_RX_FRAME_DATA2[7:0]
CEC_BUF1_RX_FRAME_DATA3[7:0]
CEC_BUF1_RX_FRAME_DATA4[7:0]
CEC_BUF1_RX_FRAME_DATA5[7:0]
CEC_BUF1_RX_FRAME_DATA6[7:0]
CEC_BUF1_RX_FRAME_DATA7[7:0]
CEC_BUF1_RX_FRAME_DATA8[7:0]
CEC_BUF1_RX_FRAME_DATA9[7:0]
CEC_BUF1_RX_FRAME_DATA10[7:0]
CEC_BUF1_RX_FRAME_DATA11[7:0]
CEC_BUF1_RX_FRAME_DATA12[7:0]
CEC_BUF1_RX_FRAME_DATA13[7:0]
CEC_BUF1_RX_FRAME_DATA14[7:0]
CEC Map Address
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x61
0x62
0x63
Description
Header of message in Frame Buffer 1
Byte 0 of message in Frame Buffer 1
Byte 1 of message in Frame Buffer 1
Byte 2 of message in Frame Buffer 1
Byte 3 of message in Frame Buffer 1
Byte 4 of message in Frame Buffer 1
Byte 5 of message in Frame Buffer 1
Byte 6 of message in Frame Buffer 1
Byte 7 of message in Frame Buffer 1
Byte 8 of message in Frame Buffer 1
Byte 9 of message in Frame Buffer 1
Byte 10 of message in Frame Buffer 1
Byte 11 of message in Frame Buffer 1
Byte 12 of message in Frame Buffer 1
Byte 13 of message in Frame Buffer 1
Byte 14 of message in Frame Buffer 1
CEC_BUF1_RX_FRAME_LENGTH[4:0], Addr 80 (CEC), Address 0x64[4:0] (Read Only)
Function
CEC_BUF1_RX_FRAME_LENGTH[4:0]
xxxxx
Description
The total number of bytes (including header byte) that were received into buffer 1
CEC_CLR_RX_RDY1, Addr 80 (CEC), Address 0x2C[2] (Self-Clearing)
Clear control for CEC_RX_RDY1.
Function
CEC_CLR_RX_RDY1
0 (default)
1
Description
Retain the value of the CEC_ RX_RDY1 flag
Clear the value of the CEC_RX_RDY1 flag
Rev. 0 | Page 145 of 184
UG-438
Hardware User Guide
Table 65. CEC Incoming Frame Buffer 2 Registers
Register Name
CEC_BUF2_RX_FRAME_HEADER[7:0]
CEC_BUF2_RX_FRAME_DATA0[7:0]
CEC_BUF2_RX_FRAME_DATA1[7:0]
CEC_BUF2_RX_FRAME_DATA2[7:0]
CEC_BUF2_RX_FRAME_DATA3[7:0]
CEC_BUF2_RX_FRAME_DATA4[7:0]
CEC_BUF2_RX_FRAME_DATA5[7:0]
CEC_BUF2_RX_FRAME_DATA6[7:0]
CEC_BUF2_RX_FRAME_DATA7[7:0]
CEC_BUF2_RX_FRAME_DATA8[7:0]
CEC_BUF2_RX_FRAME_DATA9[7:0]
CEC_BUF2_RX_FRAME_DATA10[7:0]
CEC_BUF2_RX_FRAME_DATA11[7:0]
CEC_BUF2_RX_FRAME_DATA12[7:0]
CEC_BUF2_RX_FRAME_DATA13[7:0]
CEC_BUF2_RX_FRAME_DATA14[7:0]
CEC Map Address
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
0x70
0x71
0x72
0x73
0x74
Description
Header of message in Frame Buffer 2
Byte 0 of message in Frame Buffer 2
Byte 1 of message in Frame Buffer 2
Byte 2 of message in Frame Buffer 2
Byte 3 of message in Frame Buffer 2
Byte 4 of message in Frame Buffer 2
Byte 5 of message in Frame Buffer 2
Byte 6 of message in Frame Buffer 2
Byte 7 of message in Frame Buffer 2
Byte 8 of message in Frame Buffer 2
Byte 9 of message in Frame Buffer 2
Byte 10 of message in Frame Buffer 2
Byte 11 of message in Frame Buffer 2
Byte 12 of message in Frame Buffer 2
Byte 13 of message in Frame Buffer 2
Byte 14 of message in Frame Buffer 2
CEC_BUF2_RX_FRAME_LENGTH[4:0], Addr 80 (CEC), Address 0x75[4:0] (Read Only)
Function
CEC_BUF2_RX_FRAME_LENGTH[4:0]
xxxxx
Description
The total number of bytes (including header byte) that were received into buffer 2
CEC_CLR_RX_RDY2, Addr 80 (CEC), Address 0x2C[3] (Self-Clearing)
Clear control for CEC_RX_RDY2.
Function
CEC_CLR_RX_RDY2
0 (default)
1
Description
Retain the value of the CEC_RX_RDY2 flag
Clear the value of the CEC_RX_RDY2 flag
CEC Message Reception Overview
This section describes how messages are received and stored when only one frame buffer is enabled (default condition).
1.
2.
3.
Initially the receive buffer (Buffer 0) is empty.
A message is received and stored in receive buffer 0, and CEC_BUF0_TIMESTAMP is set to 0b01. If the corresponding interrupt
mask bit is set CEC_RX_RDY0_ST goes high and an interrupt is generated to alert the host processor that a message has been
received. No more messages can be received until the processor reads out the received message.
The host processor responds to the interrupt, or polls the CEC_BUF0_TIMESTAMP register and realizes a message has been
received, and reads receive buffer 0. Once the message is read the processor sets CEC_RX_RDY0_CLR which resets the buffer 0
timestamp to 0b00 and will also clear the buffer 0 status bit (if applicable). The CEC module is now ready to receive the next
incoming message.
This section describes how messages are received and stored, how the time stamps are generated, and what happens when the host reads a
received message when all three frame buffers are enabled.
1.
2.
3.
4.
Initially all buffers are empty and all time stamps are 0b00.
A message is received and stored in receive buffer 0, and CEC_BUF0_TIMESTAMP is set to 0b01. If the corresponding interrupt
mask bit is set CEC_RX_RDY0_ST goes high and an interrupt is generated to alert the host processor that a message has been
received.
Another message is received and stored in Receive Buffer 1, and CEC_BUF1_TIMESTAMP is set to 0b10. If the corresponding
interrupt mask bit is set CEC_RX_RDY1_ST goes high and an interrupt is generated to alert the host processor that a message has
been received.
The host processor responds to the interrupts, or polls the timestamps and realizes that messages have been received, and reads the
three time stamps to determine which receive buffer to read first. The buffer with the earliest time stamp should be read first, so in
this example the processor should read Receive Buffer 0 first. Once the message has been read the processor sets
CEC_RX_RDY0_CLR, which resets the Buffer 0 timestamp to 0b00 and will also clear the buffer 0 status bit (if applicable).
Rev. 0 | Page 146 of 184
Hardware User Guide
5.
6.
7.
UG-438
Another message is received. The receiver module checks to see which of the three buffers are available, starting with Buffer 0. In this
example, Buffer 0 has been read out already by the host processor and is available so the new message is stored in Receive Buffer 0. At
this time the timestamp for Receive Buffer 1 is adjusted to 0b01 to show that it contains the first received message, and a timestamp
of 0b10 is assigned to Receive Buffer 0 to show that it contains the second received message. If the corresponding interrupt mask bit
is set the CEC_RX_RDY0_ST bit goes high and an interrupt is generated to alert the host processor that a message has been received.
Another message is received. This message is stored in Receive Buffer 2 (Buffer 0 and Buffer 1 are full). Time stamp 0b11 is assigned
to Receive Buffer 2 to show that it contains an unread message that was the third to be received. If the corresponding interrupt mask
bit is set the CEC_RX_RDY2_ST bit goes high and an interrupt is generated to alert the host processor that a message has been
received. At this time all receive buffers are full and no more messages can be received until the processor reads at least one message.
The host processor responds to the interrupts, or polls the timestamps and realizes that messages have been received, and reads the
three time stamps. The buffer with the earliest time stamp should be read first, therefore Receive Buffer 1 is read first, followed by
Receive Buffer 0 and then Receive Buffer 2. Once the messages are read the processor sets CEC_RX_RDY0_CLR, CEC_RX_RDY1_CLR,
and CEC_RX_RDY2_CLR. The time stamps for all three buffers are reset to 0b00.
ANTIGLITCH FILTER MODULE
This module is used to remove any glitches on the CEC bus to make the CEC input signal cleaner before it enters the CEC module. The
glitch filter is programmable through the CEC_GLITCH_FILTER_CTRL register. The register value specifies the minimum pulse width
that will be passed through by the module. Any pulses with narrower widths will be rejected. There is a CEC_GLITCH_FILTER_CTRL +
1 number of clock delays introduced by the antiglitch filter.
CEC_GLITCH_FILTER_CTRL[5:0], Addr 80 (CEC), Address 0x2B[5:0]
The CEC input signal is sampled by the input clock (XTAL clock). CEC_GLITCH_FILTER_CTRL specifies the minimum pulse width
requirement in input clock cycles. Pulses of widths less than the minimum specified width are considered glitches and will be removed by
the filter.
Function
CEC_GLITCH_FILTER_CTRL[5:0]
000000
000001
000010
…
000111 (default)
…
111111
Description
Disable the glitch filter
Filter out pulses with width less than 1 clock cycle
Filter out pulses with width less than 2 clock cycles
…
Filter out pulses with width less than 7 clock cycles
…
Filter out pulses with width less than 63 clock cycles
Rev. 0 | Page 147 of 184
UG-438
Hardware User Guide
TYPICAL OPERATION FLOW
This section describes the algorithm that should be implemented in the host processor controlling the CEC module.
Initializing CEC Module
Figure 59 shows the flow that can be implemented in the host processor controlling the ADV7610 to initialize the CEC module.
START
SET CEC_POWER_UP TO 1
ENABLE
CEC_RX_RDY0_ST
CEC_RX_RDY1_ST
CEC_RX_RDY2_ST
INTERRUPT
SET CEC_TX_RETRY TO 3
ENABLE
CEC_TX_ARBITRATION_LOST_ST
INTERRUPT
SET
CEC_CLR_RX_RDY0
CEC_CLR_RX_RDY1
CEC_CLR_RX_RDY2
TO 1
ENABLE
CEC_TX_RETRY_TIMEOUT_ST
INTERRUPT
SET
CEC_USE_ALL_BUFS
TO 1
END
Figure 59. CEC Module Initialization
Rev. 0 | Page 148 of 184
10884-065
ENABLE_CEC_TX_READY_ST
INTERRUPT
Hardware User Guide
UG-438
Using CEC Module as Initiator
Figure 60 shows the algorithm that can be implemented in the host processor controlling the ADV7610 to use the CEC module as an
initiator.
START
WRITE THE OUTGOING CEC COMMAND INTO
THE OUTGOING MESSAGE REGISTERS
(CEC MAP REG 0x00 TO 0x0F)
SET CEC_TX_FRAME_LENGTH
ACCORDING TO THE NUMBER OF BYTES IN
THE OUTGOING MESSAGE
SET CEC_TX_ENABLE TO 1
NO
IS
CEC_TX_ARBITRATION_LOST_ST?
NO
IS
CEC_TX_RETRY_TIMEOUT_ST?
NO
YES
YES
YES
SET CEC_TX_READY_CLR TO 1
SET
CEC_TX_ARBITRATION_LOST_CLR
TO 1
SET
CEC_TX_RETRY_TIMEOUT_CLR
TO 1
THE LAST CEC MESSAGE WAS SENT
WITHOUT ERROR
THE CEC CONTROLLER LOST ARBITRATION
DURING THE TRANSMISSION OF THE LAST
CEC MESSAGE
THE LAST MESSAGE SENT BY THE CEC
CONTROLLER WAS NOT ACKNOWLEDGED BY
THE TARGET DEVICE WITHIN THE NUMBER OF
TRANSMISSION ATTEMPTS SPECIFIED IN
CEC_TX_RETRY[2:0]
END
Figure 60. Using CEC Module as Initiator
Rev. 0 | Page 149 of 184
10884-066
IS
CEC_TX_READY_ST?
UG-438
Hardware User Guide
Using CEC Module as Follower
Figure 61 shows the algorithm that can be implemented in the host processor controlling the ADV7610 to use the CEC module as a
follower.
START
(WAIT FOR INTERRUPT)
CEC_RX_RDY0_ST
= 1?
NO
YES
CEC_RX_RDY1_ST
= 1?
CEC_RX_RDY2_ST
= 1?
YES
NO
YES
READ
CEC_BUF0_TIMESTAMP
CEC_BUF1_TIMESTAMP
CEC_BUF2_TIMESTAMP
AND NOTE THE MAXIMUM VALUE
READ THE BUFFER
ASSOCIATED WITH
TIMESTAMP = 0b10
READ THE BUFFER
ASSOCIATED WITH
TIMESTAMP = 0b01
REACHED
MAXIMUM
TIMESTAMP?
YES
NO
REACHED
MAXIMUM
TIMESTAMP?
READ THE BUFFER
ASSOCIATED WITH
TIMESTAMP = 0b11
NO
YES
SET THE APPROPRIATE CLEAR BITS
CEC_RX_RDY0_CLR
CEC_RX_RDY1_CLR
CEC_RX_RDY2_CLR
CORRESPONDING TO THE BUFFERS
THAT HAVE BEEN READ
END
Figure 61. Using CEC Module as Follower
Rev. 0 | Page 150 of 184
10884-067
NO
Hardware User Guide
UG-438
LOW POWER CEC MESSAGE MONITORING
The ADV7610 can be programmed to monitor the CEC line for messages that contain specific, user-programmable opcodes. These are
referred to as “WAKE_OPCODEs” as they allow the system to go into a low power or sleep mode and be woken up when an opcode of
interest is received, without the host processor having to check each received message.
The default values of the wake_opcode registers are detailed in this section. All of these registers can be overwritten as required by the
host processor.
For each of the 8 WAKE_OPCODE registers there is a corresponding raw flag, a status bit and a clear bit. If one of the WAKE_OPCODEs
is received, the corresponding raw flag will go high for a brief period of time. If the appropriate interrupt mask bit is set the status bit will
go high and remain high until cleared by the clear bit, and an interrupt will also be generated.
CEC_WAKE_OPCODE0[7:0], Addr 80 (CEC), Address 0x78[7:0]
CEC_WAKE_OPCODE0
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE0[7:0]
01101101 (default)
xxxxxxxx
Description
Power on
User specified OPCODE to respond to
CEC_WAKE_OPCODE1[7:0], Addr 80 (CEC), Address 0x79[7:0]
CEC_WAKE_OPCODE1
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE1[7:0]
10001111 (default)
xxxxxxxx
Description
Give power status
User specified OPCODE to respond to
CEC_WAKE_OPCODE2[7:0], Addr 80 (CEC), Address 0x7A[7:0]
CEC_WAKE_OPCODE2
This value can be set to a CEC opcode that requires a response. On receipt of this opcode the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE2[7:0]
10000010 (default)
xxxxxxxx
Description
Active source
User specified OPCODE to respond to
CEC_WAKE_OPCODE3[7:0], Addr 80 (CEC), Address 0x7B[7:0]
CEC_WAKE_OPCODE3
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE3[7:0]
00000100 (default)
xxxxxxxx
Description
Image view on
User specified OPCODE to respond to
Rev. 0 | Page 151 of 184
UG-438
Hardware User Guide
CEC_WAKE_OPCODE4[7:0], Addr 80 (CEC), Address 0x7C[7:0]
CEC_WAKE_OPCODE4
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE4[7:0]
00001101 (default)
xxxxxxxx
Description
TEXT VIEW ON
User specified OPCODE to respond to
CEC_WAKE_OPCODE5[7:0], Addr 80 (CEC), Address 0x7D[7:0]
CEC_WAKE_OPCODE5
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE5[7:0]
01110000 (default)
xxxxxxxx
Description
SYSTEM AUDIO MODE REQUEST
User specified OPCODE to respond to
CEC_WAKE_OPCODE6[7:0], Addr 80 (CEC), Address 0x7E[7:0]
CEC_WAKE_OPCODE6
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE6[7:0]
01000010 (default)
xxxxxxxx
Description
DECK CONTROL
User specified OPCODE to respond to
CEC_WAKE_OPCODE7[7:0], Addr 80 (CEC), Address 0x7F[7:0]
CEC_WAKE_OPCODE7
This value can be set to a CEC opcode that requires a response. On receipt of this opcode, the Rx generates an interrupt that can be used
to alert the system that a CEC opcode of interest has been received and requires a response.
Function
CEC_WAKE_OPCODE7[7:0]
01000001 (default)
xxxxxxxx
Description
PLAY
User specified OPCODE to respond to
Rev. 0 | Page 152 of 184
Hardware User Guide
UG-438
INTERRUPTS
INTERRUPT ARCHITECTURE OVERVIEW
The ADV7610 interrupt architecture provides four different types of bits, namely
•
•
•
•
Raw bits
Status bits
Interrupt mask bits
Clear bits
Raw bits are defined as being either edge-sensitive or level-sensitive. The following example compares AVI_INFO_RAW and
NEW_AVI_INFO_RAW to demonstrate the difference.
AVI_INFO_RAW, IO, Address 0x60[0] (Read Only)
Raw status of AVI InfoFrame detected signal. This bit is set to one when an AVI InfoFrame is received and is reset to zero if no AVI
InfoFrame is received for more than 7 VSyncs (on the eighth VSync leading edge following the last received AVI InfoFrame), after an
HDMI packet detection reset or upon writing to AVI_PACKET_ID.
Function
AVI_INFO_RAW
0 (default)
1
Description
No AVI InfoFrame has been received within the last seven VSyncs or since the last HDMI packet detection reset
An AVI InfoFrame has been received within the last seven VSyncs
NEW_AVI_INFO_RAW, IO, Address 0x79[0] (Read Only)
Status of the new AVI InfoFrame interrupt signal. When set to 1, it indicates that an AVI InfoFrame has been received with new contents.
Once set, this bit will remain high until the interrupt is cleared via NEW_AVI_INFO_CLR.
Function
NEW_AVI_INFO_RAW
0 (default)
1
Description
No new AVI InfoFrame received
AVI InfoFrame with new content received
In the case of AVI_INFO_RAW, this bit always represents the current status of whether or not the part is receiving AVI InfoFrames. It is
not a latched bit and never requires to be cleared. This is the definition of a level-sensitive raw bit.
In the case of NEW_AVI_INFO_RAW the same strategy would not work. If the NEW_AVI_INFO_RAW bit were to behave in the same
way as AVI_INFO_RAW it would go high at the instant the new InfoFrame was received, and would go low again some clock cycles
afterwards. This is because a new InfoFrame is only new the instant it is received, and once received it no longer new, so the event to set
this bit only last for an instant and is then gone.
Having a raw bit that is only held high for an instant is not useful. Therefore, for these types of events, the raw bit is latched, and must be
cleared by the corresponding clear bit. Accordingly, the raw bit does not truly represent the current status; instead, it represents the status
of an edge event that happened in the past. This is the definition of an edge-sensitive raw bit.
All raw bits, with the exceptions of INTRQ_RAW and INTRQ2_RAW, have corresponding status bits. The status bits always work in the
same manner whether the raw bit is edge or level sensitive. Status bits have the following characteristics
•
•
A status bit must be enabled by setting either or both of the corresponding interrupt mask bits
Status bits are always latched, and must be cleared by the corresponding clear bit.
When either of the interrupt mask bits for a given interrupt is set, if that raw bit changes state the corresponding status bit goes high and
an interrupt is generated on the INT1 or INT2 pin, depending on which interrupt mask bit was set. The status bit must be cleared using
the appropriate clear bit. The status bits, interrupt mask bits, and clear bits for AVI_INFO and NEW_AVI_INFO are described here for
completeness.
Rev. 0 | Page 153 of 184
UG-438
Hardware User Guide
AVI_INFO_ST, IO, Address 0x61[0] (Read Only)
Latched status of AVI_INFO_RAW signal. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit. Once
set, this bit will remain high until the interrupt is cleared via AVI_INFO_CLR.
Function
AVI_INFO_ST
0 (default)
1
Description
AVI_INFO_RAW has not changed state
AVI_INFO_RAW has changed state
NEW_AVI_INFO_ST, IO, Address 0x7A[0] (Read Only)
Latched status for the NEW_AVI_INFO_RAW. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Once set, this bit will remain high until the interrupt is cleared via NEW_AVI_INFO_CLR.
Function
NEW_AVI_INFO_ST
0 (default)
1
Description
NEW_AVI_INFO_RAW has not changed state
NEW_AVI_INFO_RAW has changed state
AVI_INFO_CLR, IO, Address 0x62[0] (Self-Clearing)
Clear bit for AVI_INFO_RAW and AVI_INFO_ST bits.
Function
AVI_INFO_CLR
0 (default)
1
Description
No function
Clear AVI_INFO_RAW and AVI_INFO_ST
NEW_AVI_INFO_CLR, IO, Address 0x7B[0] (Self-Clearing)
Clear bit for NEW_AVI_INFO_RAW and NEW_AVI_INFO_ST bits.
Function
NEW_AVI_INFO_CLR
0 (default)
1
Description
No function
Clear NEW_AVI_INFO_RAW and NEW_AVI_INFO_ST
AVI_INFO_MB1, IO, Address 0x64[0]
INT1 interrupt mask for AVI InfoFrame detection interrupt. When set an AVI InfoFrame detection event will cause AVI_INFO_ST to be
set and an interrupt will be generated on INT1.
Function
AVI_INFO_MB1
0 (default)
1
Description
Disables AVI Info frame detection interrupt for INT1
Enables AVI Info frame detection interrupt for INT1
AVI_INFO_MB2, IO, Address 0x63[0]
INT2 interrupt mask for AVI InfoFrame detection interrupt. When set an AVI InfoFrame detection event will cause AVI_INFO_ST to be
set and an interrupt will be generated on INT2.
Function
AVI_INFO_MB2
0 (default)
1
Description
Disables AVI Info frame detection interrupt for INT2
Enables AVI Info frame detection interrupt for INT2
NEW_AVI_INFO_MB1, IO, Address 0x7D[0]
INT1 interrupt mask for new AVI InfoFrame detection interrupt. When set a new AVI InfoFrame detection event will cause
NEW_AVI_INFO_ST to be set and an interrupt will be generated on INT1.
Function
NEW_AVI_INFO_MB1
0 (default)
1
Description
Disables new AVI InfoFrame interrupt for INT1
Enables new AVI InfoFrame interrupt for INT1
Rev. 0 | Page 154 of 184
Hardware User Guide
UG-438
NEW_AVI_INFO_MB2, IO, Address 0x7C[0]
INT2 interrupt mask for new AVI InfoFrame detection interrupt. When set a new AVI InfoFrame detection event will cause
NEW_AVI_INFO_ST to be set and an interrupt will be generated on INT2.
Function
NEW_AVI_INFO_MB2
0 (default)
1
Description
Disables new SPD InfoFrame interrupt for INT2
Enables new SPD InfoFrame interrupt for INT2
See Figure 62 through Figure 64.
xxx_RAW
INTERNAL
STATUS FLAG
xxx_ST
CHANGE
DETECTION
(RISING AND
FALLING EDGE)
SAMPLING
HOLD UNTIL
CLEARED
APPLY
MASK
xxx_CLR
xxx_MB1
INTERRUPT PATH FOR LEVEL
SENSITIVE INTERRUPTS
INT
OUTPUT
OR
yyy_CLR
SAMPLING
INTERRUPT PATH FOR EDGE
SENSITIVE INTERRUPTS
HOLD UNTIL
CLEARED
APPLY
MASK
yyy_RAW
yyy_ST
10884-068
INTERNAL
PULSE FLAG
CHANGE
DETECTION
(RISING EDGE)
yyy_MB1
Figure 62. Level and Edge Sensitive Raw, Status and Interrupt Generation
AVI INFOFRAME
DETECTION
INTERNAL FLAG
NO AVI
INFOFRAME
DETECTED
AVI INFOFRAME
DETECTED
AVI_INFO_RAW
AVI_INFO_ST
AVI_INFO_CLR
SET TO 1
TIME TAKEN BY
THE CPU TO CLEAR
AVI_INFO_ST
TIME TAKEN BY
THE CPU TO CLEAR
AVI_INFO_ST
Figure 63. AVI_INFO_RAW and AVI_INFO_ST Timing
Rev. 0 | Page 155 of 184
10884-069
AVI_INFO_CLR
SET TO 1
UG-438
Hardware User Guide
NEW AVI INFOFRAME
DETECTION
INTERNAL PULSE FLAG
AVI INFOFRAME WITH
NEW CONTENT DETECT
TIME > 2XTAL PERIODS
NEW_AVI_INFO_RAW
NEW_AVI_INFO_ST
TIME TAKEN BY
THE CPU TO CLEAR
NEW_AVI_INFO_ST
10884-070
NEW_AVI_INFO_CLR
SET TO 1
Figure 64. NEW_AVI_INFO_RAW and NEW_AVI_INFO_ST Timing
In this section, all raw bits are classified as being triggered by either level sensitive or edge sensitive events, with the following
understanding of the terminology
•
Level sensitive events are events that are generally either high or low and are not expected to change rapidly. The raw bit for level
sensitive events is not latched and therefore always represents the true real-time status of the event in question.
•
Edge sensitive events are events that only exist for an instant. The raw bits for edge sensitive events are latched and therefore
represent the occurrence of an edge sensitive event that happened in the past. Raw bits for edge sensitive events must be cleared by
the corresponding clear bit.
INTERRUPT PINS
The ADV7610 features two dedicated interrupt pins, INT1 and INT2. INT1 is always enabled, but INT2 is disabled by default and must
be enabled using the following I2C control.
INTRQ2_MUX_SEL[1:0], IO, Address 0x41[1:0]
Interrupt signal configuration control for INT2
Function
INTRQ2_MUX_SEL[1:0]
00 (default)
01
10
11
Description
INT2 disabled
INT2 in MCLK/INT2 pin
INT2 in SCLK/INT2 pin
INT2 in HPA_A/INT2 pin
Notes
•
•
•
•
INT1 is in a high impedance state after reset as the ADV7610 resets with open drain enabled on INT1.
The ADV7610 resets with the INT2 disabled. The INTRQ2_MUX_SEL[1:0] bit in the IO Map must be set in order to enable the
INT2 function on the one of the pins: MCLK/INT2, SCLK/INT2, HPA_A/INT2.
The ADV7610 resets with all interrupts masked off on INT1 and INT2.
An interrupt is enabled for a specific event by masking the corresponding mask bit in the IO map.
Rev. 0 | Page 156 of 184
Hardware User Guide
UG-438
Interrupt Duration
The interrupt duration can be programmed independently for INT1 and INT2. When an interrupt event occurs, the interrupt pin INT1
or INT2 becomes active with a programmable duration as described below.
INTRQ_DUR_SEL[1:0], IO, Address 0x40[7:6]
A control to select the interrupt signal duration for the interrupt signal on INT1.
Function
INTRQ_DUR_SEL[1:0]
00 (default)
01
10
11
Description
4 Xtal periods
16 Xtal periods
64 Xtal periods
Active until cleared
INTRQ2_DUR_SEL[1:0], IO, Address 0x41[7:6]
A control to select the interrupt signal duration for the interrupt signal on INT2.
Function
INTRQ2_DUR_SEL[1:0]
00 (default)
01
10
11
Description
4 Xtal periods
16 Xtal periods
64 Xtal periods
Active until cleared
Interrupt Drive Level
The drive level of INT1 and INT2 can be programmed as described below.
INTRQ_OP_SEL[1:0], IO, Address 0x40[1:0]
Interrupt signal configuration control for INT1.
Function
INTRQ_OP_SEL[1:0]
00 (default)
01
10
11
Description
Open drain
Drives low when active
Drives high when active
Disabled
INT2_POL, IO, Address 0x41[2]
INT2 polarity control.
Function
INT2_POL
0 (default)
1
Description
INT2 high when active
INT2 low when active
Interrupt Manual Assertion
It is possible to manually generate an interrupt on the INT1 and INT2 pins by setting MPU_STIM_INTRQ. This feature is designed for
debug use and not intended for use in normal operation. The appropriate mask bit must be set to generate an interrupt at the pin.
MPU_STIM_INTRQ, IO, Address 0x40[2]
Manual interrupt set control. This feature should be used for test purposes only. Note that the appropriate mask bit must be set to
generate an interrupt at the pin.
Function
MPU_STIM_INTRQ
0 (default)
1
Description
Disables manual interrupt mode
Enables manual interrupt mode
Rev. 0 | Page 157 of 184
UG-438
Hardware User Guide
MPU_STIM_INTRQ_MB1, IO, Address 0x4B[7]
INT1 interrupt mask for manual forced interrupt signal. When set the manual forced interrupt will trigger the INT1 interrupt and
MPU_STIM_INTRQ_ST will indicate the interrupt status.
Function
MPU_STIM_INTRQ_MB1
0 (default)
1
Description
Disables manual forced interrupt for INT1
Enables manual forced interrupt for INT1
MPU_STIM_INTRQ_MB2, IO, Address 0x4A[7]
INT2 interrupt mask for manual forced interrupt signal. When set the manual forced interrupt will trigger the INT2 interrupt and
MPU_STIM_INTRQ_ST will indicate the interrupt status.
Function
MPU_STIM_INTRQ_MB2
0 (default)
1
Description
Disables manual forced interrupt for INT2
Enables manual forced interrupt for INT2
Multiple Interrupt Events
If an interrupt event occurs, and then a second interrupt event occurs before the system controller has cleared or masked the first
interrupt event, the ADV7610 does not generate a second interrupt signal. The system controller should check all unmasked interrupt
status bits as more than one may be active.
Table 66 lists the interrupt registers available and a brief description of their functions. For more details on the functionality of these
interrupt registers, refer to the ADV7610 Software Manual. Refer to the IO Map section of the ADV7610 Software Manual for details of
the CP core interrupts and HDMI core interrupts.
Table 66. Interrupt Functions Available in ADV7610
Interrupt Register
Interrupt Status 1
Interrupt Status 2
Interrupt Status 6
HDMI Lvl Int Status 1
HDMI Lvl Int Status 2
HDMI Lvl Int Status 3
HDMI Lvl Int Status 4
HDMI Edg Int Status 1
HDMI Edg Int Status 2
HDMI Edg Int Status 3
HDMI Edg Int Status 4
HDMI Edg Int Status 5
Location
IO Map, Address 0x43
IO Map, Address 0x48
IO Map, Address 0x5C
IO Map, Address 0x61
IO Map, Address 0x66
IO Map, Address 0x6B
IO Map, Address 0x70
IO Map, Address 0x7A
IO Map, Address 0x7F
IO Map, Address 0x84
IO Map, Address 0x89
IO Map, Address 0x8E
Description
CP interrupt status for STDI
CP interrupt status forces manual interrupt
STDI channels interrupt status
HDMI interrupt status for HDMI InfoFrame packets
HDMI interrupt status for audio processing changes
HDMI interrupt status for HDMI video parameters and cable detection
HDMI interrupt status for cable detection and encryption
HDMI interrupt status for newly received HDMI InfoFrame packets
HDMI interrupt status for audio FIFO, clock regeneration and packet errors
HDMI interrupt status for updates in deep color, video, AKSV, and audio
HDMI interrupt status for changes in InfoFrame checksum errors
HDMI interrupt status for background measurements and changes in InfoFrame
checksum error
Rev. 0 | Page 158 of 184
Hardware User Guide
UG-438
DESCRIPTION OF INTERRUPT BITS
This section lists all the raw bits in the IO map of the ADV7610 by category, and states whether the bit is an edge or level sensitive bit. A
basic explanation for each bit is provided in the software manual and/or in the corresponding section of the hardware manual. For certain
interrupts that require additional explanations, these are provided in the Additional Explanations section.
General Operation
•
•
•
INTRQ_RAW (level sensitive event)
INTRQ2_RAW (level sensitive event)
MPU_STIM_INTRQ_RAW (edge sensitive event)
HDMI Video Mode
•
•
•
•
•
•
STDI_DATA_VALID_RAW (edge/level sensitive event; programmable).
STDI_DVALID_CH1_RAW (edge/level sensitive event; programmable). Edge sensitive event on ADV7610 ES1.
CP_UNLOCK_RAW (edge/level sensitive event; programmable). Edge sensitive event on ADV7610 ES1.
CP_UNLOCK_CH1_RAW (edge/level sensitive event; programmable). Edge sensitive event on ADV7610 ES1.
CP_LOCK_RAW (edge/level sensitive event; programmable).Edge sensitive event on ADV7610 ES1.
CP_LOCK_CH1_RAW (edge/level sensitive event; programmable).Edge sensitive event on ADV7610 ES1.
CEC
The following raw bits are all related to CEC operation and are all edge sensitive events; it is, therefore, necessary to clear these bits.
•
•
•
•
•
•
•
CEC_RX_RDY2_RAW
CEC_RX_RDY1_RAW
CEC_RX_RDY0_RAW
CEC_TX_RETRY_TIMEOUT_RAW
CEC_TX_ARBITRATION_LOST_RAW
CEC_TX_READY_RAW
CEC_INTERRUPT_BYTE[7:0]
HDMI Only Mode
The following raw bits are all related to HDMI operation and are based on level sensitive events; it is, therefore, not necessary to clear
these bits.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ISRC2_PCKT_RAW
ISRC1_PCKT_RAW
ACP_PCKT_RAW
VS_INFO_RAW
MS_INFO_RAW
SPD_INFO_RAW
AUDIO_INFO_RAW
AVI_INFO_RAW
CS_DATA_VALID_RAW
INTERNAL_MUTE_RAW
AV_MUTE_RAW
AUDIO_CH_MD_RAW
HDMI_MODE_RAW
GEN_CTL_PCKT_RAW
AUDIO_C_PCKT_RAW
GAMUT_MDATA_RAW
TMDSPLL_LCK_A_RAW
TMDS_CLK_A_RAW
HDMI_ENCRPT_A_RAW
CABLE_DET_A_RAW
V_LOCKED_RAW
Rev. 0 | Page 159 of 184
UG-438
•
•
•
Hardware User Guide
DE_REGEN_LCK_RAW
VIDEO_3D_RAW
RI_EXPIRED_A_RAW
The following raw bits are all related to HDMI operation and are based on edge sensitive events; it is, therefore, necessary to clear these
bits using the corresponding clear bit.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
NEW_ISRC2_PCKT_RAW
NEW_ISRC1_PCKT_RAW
NEW_ACP_PCKT_RAW
NEW_VS_INFO_RAW
NEW_MS_INFO_RAW
NEW_SPD_INFO_RAW
NEW_AUDIO_INFO_RAW
NEW_AVI_INFO_RAW
NEW_GAMUT_MDATA_RAW
FIFO_NEAR_OVFL_RAW
FIFO_NEAR_UFLO_RAW
FIFO_UNDERFLO_RAW
FIFO_OVERFLO_RAW
CTS_PASS_THRSH_RAW
CHANGE_N_RAW
PACKET_ERROR_RAW
AUDIO_PCKT_ERR_RAW
DEEP_COLOR_CHNG_RAW
VCLK_CHNG_RAW
AUDIO_MODE_CHNG_RAW
PARITY_ERROR_RAW
NEW_SAMP_RT_RAW
AUDIO_FLT_LINE_RAW
NEW_TMDS_FRQ_RAW
MS_INF_CKS_ERR_RAW
SPD_INF_CKS_ERR_RAW
AUD_INF_CKS_ERR_RAW
AVI_INF_CKS_ERR_RAW
AKSV_UPDATE_A_RAW
VS_INF_CKS_ERR_RAW
ADDITIONAL EXPLANATIONS
STDI_DATA_VALID_RAW
STDI_DATA_VALID_RAW is programmable as either an edge sensitive bit or a level sensitive bit using the following control. Note that
this control also configures whether an interrupt is generated only on the rising edge of STDI_DATA_VALID_RAW or on both edges.
STDI_DATA_VALID_EDGE_SEL, IO, Address 0x41[4]
A control to configure the functionality of the STDI_DATA_VALID interrupt. The interrupt can be generated for the case when STDI
changes to an STDI valid state. Alternatively, it can be generated to indicate a change in STDI_VALID status.
Function
STDI_DATA_VALID_EDGE_SEL
0
1 (default)
Description
Generate interrupt for a low to high change in STDI_VALID status
Generate interrupt for a low to high or a high to low change in STDI_VALID status
Rev. 0 | Page 160 of 184
Hardware User Guide
UG-438
CP_LOCK, CP_UNLOCK
CP_UNLOCK_RAW is programmable as either an edge sensitive bit or a level sensitive bit using the following control. Note that this
control also configures whether an interrupt is generated only on the rising edge of CP_UNLOCK_RAW, or on both edges.
CP_LOCK_UNLOCK_EDGE_SEL, IO, Address 0x41[5]
A control to configure the functionality of the CP_LOCK, CP_UNLOCK interrupts.
Function
CP_LOCK_UNLOCK_EDGE_SEL
0
1 (default)
Description
Generate interrupt for a low to high change in CP_LOCK,UNLOCK status for Ch1.
Generate interrupt for a low to high or a high to low change in CP_LOCK,UNLOCK status for Ch1.
CP_LOCK_ST, IO, Address 0x43[2] (Read Only)
Detailed description available in the List of Interrupt Status Registers section.
CP_UNLOCK_ST, IO, Address 0x43[3] (Read Only)
Detailed description available in the List of Interrupt Status Registers section.
HDMI Interrupts Validity Checking Process
All HDMI interrupts have a set of conditions that must be taken into account for validation in the display firmware. When the ADV7610
interrupts the display controller for an HDMI interrupt, the host must check that all validity conditions for that interrupt are met before
processing that interrupt.
For simplicity, HDMI interrupts can be subdivided into three groups, as listed in the following sections.
Group 1 HDMI Interrupts
The interrupts listed in Table 67 are valid irrespective of the mode in which the ADV7610 is configured, that is: HDMI mode
(PRIM_MODE set to values 0x05 or 0x06).
Table 67. HDMI Interrupts Group 1
Interrupts
TMDS_CLK_A
CABLE_DET_A
Group 2 HDMI Interrupts
The interrupts listed in Table 68 are valid on the condition that the ADV7610 is configured in HMDI mode.
Table 68. HDMI Interrupts Group 2
Interrupts
INTERNAL_MUTE
VIDEO_PLL_LCK
AKSV_UPDATE
Rev. 0 | Page 161 of 184
UG-438
Hardware User Guide
Group 3 HDMI Interrupts
The interrupts listed in Table 69 are valid under the following conditions:
•
•
•
ADV7610 is configured in HMDI mode
TMDS_CLK_A_RAW is set to 1 if Port A is the active HDMI port
TMDSPLL_LCK_A_RAW is set to 1
Table 69. HDMI Interrupts Group 3
Interrupts
ISRC2_PCKT
ISRC1_PCKT
ACP_PCKT
VS_INFO
MS_INFO
SPD_INFO
AUDIO_INFO
AVI_INFO
CS_DATA_VALID
AV_MUTE
AUDIO_CH_MD
AUDIO_MODE_CHNG
GEN_CTL_PCKT
AUDIO_C_PCKT
GAMUT_MDATA
V_LOCKED
DE_REGEN_LCK
HDMI_MODE
HDMI_ENCRPT_A
NEW_ISRC2_PCKT
NEW_ISRC1_ PCKT
NEW_ACP_PCKT
NEW_VS_INFO
NEW_MS_INFO
NEW_SPD_INFO
NEW_AUDIO_INFO
NEW_AVI_INFO
FIFO_NEAR_OVFL
CTS_PASS_THRSH
CHANGE_N
PACKET_ERROR
AUDIO_PCKT_ERR
NEW_GAMUT_MDATA
DEEP_COLOR_CHNG
VCLK_CHNG
PARRITY_ERROR
NEW_SAMP_RT
AUDIO_FLT_LINE
NEW_TMDS_FRQ
FIFO_NEAR_UFLO
VIDEO_3D_RAW
RI_EXPIRED_A_RAW
Rev. 0 | Page 162 of 184
Hardware User Guide
UG-438
Storing Masked Interrupts
STORE_UNMASKED_IRQS, IO, Address 0x40[4]
STORE_MASKED_IRQS allows the HDMI status flags for any HDMI interrupt to be triggered regardless of whether the mask bits are
set. This bit allows a HDMI interrupt to trigger and allows this interrupt to be read back through the corresponding status bit without
triggering an interrupt on the interrupt pin. The status is stored until the clear bit is used to clear the status register and allows another
interrupt to occur.
Function
STORE_UNMASKED_IRQS
0 (default)
1
Description
Does not allow x_ST flag of any HDMI interrupt to be set independently of mask bits
Allows x_ST flag of any HDMI interrupt to be set independently of mask bits
List of Interrupt Status Registers
INTERRUPT_STATUS_1 register consists of fields: STDI_DATA_VALID_ST, CP_UNLOCK_ST, and CP_LOCK_ST.
STDI_DATA_VALID_ST, IO, Address 0x43[4] (Read Only)
Latched signal status of STDI valid interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
STDI_DATA_VALID_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
STDI_DATA_VALID_ST
0 (default)
1
Description
No STDI valid interrupt has occurred.
A STDI valid interrupt has occurred.
CP_UNLOCK_ST, IO, Address 0x43[3] (Read Only)
Latched signal status of CP Unlock interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
CP_UNLOCK_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CP_UNLOCK_ST
0 (default)
1
Description
No CP UNLOCK interrupt event has occurred.
A CP UNLOCK interrupt event has occurred.
CP_LOCK_ST, IO, Address 0x43[2] (Read Only)
Latched signal status of the CP lock interrupt signal. Once set, this bit will remain high until the interrupt is cleared via CP_LOCK_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CP_LOCK_ST
0 (default)
1
Description
No CP LOCK interrupt event has occurred.
A CP LOCK interrupt event has occurred.
INTERRUPT_STATUS_2 register consists of one field: MPU_STIM_INTRQ_ST.
MPU_STIM_INTRQ_ST, IO, Address 0x48[7] (Read Only)
Latched signal status of manual forced interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
MPU_STIM_INTRQ_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
MPU_STIM_INTRQ_ST
0 (default)
1
Description
Forced manual interrupt event has not occurred.
Force manual interrupt even has occurred.
Rev. 0 | Page 163 of 184
UG-438
Hardware User Guide
INTERRUPT_STATUS_6 register consists of fields: CP_LOCK_CH1_ST, CP_UNLOCK_CH1_ST, and STDI_DVALID_CH1_ST.
CP_LOCK_CH1_ST, IO, Address 0x5C[3] (Read Only)
Function
CP_LOCK_CH1_ST
0 (default)
1
Description
No change. An interrupt has not been generated from this register.
Channel 1 CP input has caused the decoder to go from an unlocked state to a locked state.
CP_UNLOCK_CH1_ST, IO, Address 0x5C[2] (Read Only)
Function
CP_UNLOCK_CH1_ST
0 (default)
1
Description
No change. An interrupt has not been generated from this register.
Channel 1 CP input has changed from a locked state to an unlocked state and has triggered an interrupt.
STDI_DVALID_CH1_ST, IO, Address 0x5C[1] (Read Only)
Latched signal status of STDI valid for Sync Channel 1 interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
STDI_DATA_VALID_CH1_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
STDI_DVALID_CH1_ST
0 (default)
1
Description
No STDI valid for sync Channel 1 interrupt has occurred.
A STDI valid for sync Channel 1 interrupt has occurred.
HDMI Lvl INT Status 1 register consists of fields: ISRC2_PCKT_ST, ISRC1_PCKT_ST, ACP_PCKT_ST, VS_INFO_ST, MS_INFO_ST,
SPD_INFO_ST, and AUDIO_INFO_ST.
ISRC2_PCKT_ST, IO, Address 0x61[7] (Read Only)
Latched status of ISRC2 packet detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
ISRC2_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
ISRC2_PCKT_ST
0 (default)
1
Description
No interrupt generated from this register.
ISRC2_PCKT_RAW has changed. Interrupt has been generated.
ISRC1_PCKT_ST, IO, Address 0x61[6] (Read Only)
Latched status of ISRC1 packet detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
ISRC1_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
ISRC1_PCKT_ST
0 (default)
1
Description
No interrupt generated from this register.
ISRC1_PCKT_RAW has changed. Interrupt has been generated.
ACP_PCKT_ST, IO, Address 0x61[5] (Read Only)
Latched status of audio content protection packet detected interrupt signal. Once set, this bit will remain high until the interrupt is
cleared via ACP_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
ACP_PCKT_ST
0 (default)
1
Description
No interrupt generated from this register.
ACP_PCKT_RAW has changed. Interrupt has been generated.
Rev. 0 | Page 164 of 184
Hardware User Guide
UG-438
VS_INFO_ST, IO, Address 0x61[4] (Read Only)
Latched status of vendor specific InfoFrame detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
VS_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
VS_INFO_ST
0 (default)
1
Description
No interrupt generated from this register.
VS_INFO_RAW has changed. Interrupt has been generated.
MS_INFO_ST, IO, Address 0x61[3] (Read Only)
Latched status of MPEG source InfoFrame detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
MS_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
MS_INFO_ST
0 (default)
1
Description
No interrupt generated from this register.
MS_INFO_RAW has changed. Interrupt has been generated.
SPD_INFO_ST, IO, Address 0x61[2] (Read Only)
Latched status of SPD InfoFrame detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
SPD_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
SPD_INFO_ST
0 (default)
1
Description
No interrupt generated from this register.
SPD_INFO_RAW has changed. Interrupt has been generated.
AUDIO_INFO_ST, IO, Address 0x61[1] (Read Only)
Latched status of audio InfoFrame detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_INFO_ST
0 (default)
1
Description
No interrupt generated from this register.
AUDIO_INFO_RAW has changed. Interrupt has been generated.
AVI_INFO_ST, IO, Address 0x61[0] (Read Only)
Detailed description is available in the Interrupt Architecture Overview section.
HDMI Lvl INT Status 2 register consists of fields: CS_DATA_VALID_ST, INTERNAL_MUTE_ST, AV_MUTE_ST, AUDIO_CH_MD_ST,
HDMI_MODE_ST, GEN_CTL_PCKT_ST, AUDIO_C_PCKT_ST, and GAMUT_MDATA_ST.
CS_DATA_VALID_ST, IO, Address 0x66[7] (Read Only)
Latched status of channel status data valid interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
ICS_DATA_VALID_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CS_DATA_VALID_ST
0 (default)
1
Description
CS_DATA_VALID_RAW has not changed. An interrupt has not been generated.
CS_DATA_VALID_RAW has changed. An interrupt has been generated.
INTERNAL_MUTE_ST, IO, Address 0x66[6] (Read Only)
Latched status of internal mute interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
INTERNAL_MUTE_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
INTERNAL_MUTE_ST
0 (default)
1
Description
INTERNAL_MUTE_RAW has not changed. An interrupt has not been generated.
INTERNAL_MUTE_RAW has changed. An interrupt has been generated.
Rev. 0 | Page 165 of 184
UG-438
Hardware User Guide
AV_MUTE_ST, IO, Address 0x66[5] (Read Only)
Latched status of AV mute detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via AV_MUTE_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AV_MUTE_ST
0 (default)
1
Description
AV_MUTE_RAW has not changed. An interrupt has not been generated.
AV_MUTE_RAW has changed. An interrupt has been generated.
AUDIO_CH_MD_ST, IO, Address 0x66[4] (Read Only)
Latched status of audio channel mode interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_CH_MD_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_CH_MD_ST
0 (default)
1
Description
AUDIO_CH_MD_RAW has not changed. An interrupt has not been generated.
AUDIO_MODE_CHNG_RAW has changed. An interrupt has been generated.
HDMI_MODE_ST, IO, Address 0x66[3] (Read Only)
Latched status of HDMI mode interrupt signal. Once set, this bit will remain high until the interrupt is cleared via HDMI_MODE_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
HDMI_MODE_ST
0 (default)
1
Description
HDMI_MODE_RAW has not changed. An interrupt has not been generated.
(No Suggestions) has changed. An interrupt has been generated.
GEN_CTL_PCKT_ST, IO, Address 0x66[2] (Read Only)
Latched status of general control packet interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
GEN_CTL_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
GEN_CTL_PCKT_ST
0 (default)
1
Description
GEN_CTL_PCKT_RAW has not changed. Interrupt has not been generated from this register.
GEN_CTL_PCKT_RAW has changed. Interrupt has been generated from this register.
AUDIO_C_PCKT_ST, IO, Address 0x66[1] (Read Only)
Latched status of audio clock regeneration packet interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_C_PCKT_ST
0 (default)
1
Description
AUDIO_C_PCKT_RAW has not changed. Interrupt has not been generated from this register.
AUDIO_C_PCKT_RAW has changed. Interrupt has been generated from this register.
GAMUT_MDATA_ST, IO, Address 0x66[0] (Read Only)
Latched status of gamut metadata packet detected interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
GAMUT_MDATA_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
GAMUT_MDATA_ST
0 (default)
1
Description
GAMUT_MDATA_RAW has not changed. Interrupt has not been generated from this register.
GAMUT_MDATA_RAW has changed. Interrupt has been generated from this register.
HDMI Lvl INT Status 3 register consists of fields: TMDSPLL_LCK_A_ST, TMDS_CLK_A_ST, VIDEO_3D_ST, V_LOCKED_ST, and
DE_REGEN_LCK_ST.
TMDSPLL_LCK_A_ST, IO, Address 0x6B[6] (Read Only)
Latched status of Port A TMDS PLL lock interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
TMDSPLL_LCK_A_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Rev. 0 | Page 166 of 184
Hardware User Guide
Function
TMDSPLL_LCK_A_ST
0 (default)
1
UG-438
Description
TMDSPLL_LCK_A_RAW has not changed. An interrupt has not been generated.
TMDSPLL_LCK_A_RAW has changed. An interrupt has been generated.
TMDS_CLK_A_ST, IO, Address 0x6B[4] (Read Only)
Latched status of Port A TMDS clock detection interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
TMDS_CLK_A_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
TMDS_CLK_A_ST
0 (default)
1
Description
TMDS_CLK_A_RAW has not changed. An interrupt has not been generated.
TMDS_CLK_A_RAW has changed. An interrupt has been generated.
VIDEO_3D_ST, IO, Address 0x6B[2] (Read Only)
Latched status for the video 3D interrupt. Once set, this bit will remain high until the interrupt is cleared via VIDEO_3D_CLR. This bit is
only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
VIDEO_3D_ST
0 (default)
1
Description
VIDEO_3D_RAW has not changed. An interrupt has not been generated.
VIDEO_3D_RAW has changed. An interrupt has been generated.
V_LOCKED_ST, IO, Address 0x6B[1] (Read Only)
Latched status for the vertical sync filter locked interrupt. Once set, this bit will remain high until the interrupt is cleared via
V_LOCKED_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
V_LOCKED_ST
0 (default)
1
Description
V_LOCKED_RAW has not changed. An interrupt has not been generated.
V_LOCKED_RAW has changed. An interrupt has been generated.
DE_REGEN_LCK_ST, IO, Address 0x6B[0] (Read Only)
Latched status for DE regeneration lock interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
DE_REGEN_LCK_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
DE_REGEN_LCK_ST
0 (default)
1
Description
DE_REGEN_LCK_RAW has not changed. An interrupt has not been generated.
DE_REGEN_LCK_RAW has changed. An interrupt has been generated.
HDMI Lvl INT Status 4 register consists of fields: HDMI_ENCRPT_A_ST and CABLE_DET_A_ST.
HDMI_ENCRPT_A_ST, IO, Address 0x70[2] (Read Only)
Latched status for Port A encryption detection interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
HDMI_ENCRPT_A_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
HDMI_ENCRPT_A_ST
0 (default)
1
Description
HDMI_ENCRPT_A_RAW has not changed. An interrupt has not been generated.
HDMI_ENCRPT_A_RAW has changed. An interrupt has been generated.
CABLE_DET_A_ST, IO, Address 0x70[0] (Read Only)
Latched status for Port A +5 V cable detection interrupt signal. Once set, this bit will remain high until the interrupt is cleared via
CABLE_DET_A_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CABLE_DET_A_ST
0 (default)
1
Description
CABLE_DET_A_RAW has not changed. Interrupt has not been generated from this register.
CABLE_DET_A_RAW has changed. Interrupt has been generated from this register.
Rev. 0 | Page 167 of 184
UG-438
Hardware User Guide
HDMI Edg INT Status 1 register consists of fields: NEW_ISRC2_PCKT_ST, NEW_ISRC1_PCKT_ST, NEW_ACP_PCKT_ST,
NEW_VS_INFO_ST, NEW_MS_INFO_ST, NEW_SPD_INFO_ST, and NEW_AUDIO_INFO_ST.
NEW_ISRC2_PCKT_ST, IO, Address 0x7A[7] (Read Only)
Latched status for the new ISRC2 packet interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_ISRC2_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_ISRC2_PCKT_ST
0 (default)
1
Description
No new ISRC2 packet received. An interrupt has not been generated.
ISRC2 packet with new content received. An interrupt has been generated.
NEW_ISRC1_PCKT_ST, IO, Address 0x7A[6] (Read Only)
Latched status for the new ISRC1 packet interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_ISRC1_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_ISRC1_PCKT_ST
0 (default)
1
Description
No new ISRC1 packet received. An interrupt has not been generated.
ISRC1 packet with new content received. An interrupt has been generated.
NEW_ACP_PCKT_ST, IO, Address 0x7A[5] (Read Only)
Latched status for the new ACP packet interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_ACP_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_ACP_PCKT_ST
0 (default)
1
Description
No new ACP packet received. An interrupt has not been generated.
ACP packet with new content received. An interrupt has been generated.
NEW_VS_INFO_ST, IO, Address 0x7A[4] (Read Only)
Latched status for the new vendor specific InfoFrame interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_VS_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_VS_INFO_ST
0 (default)
1
Description
No new VS packet received. An interrupt has not been generated.
VS packet with new content received. An interrupt has been generated.
NEW_MS_INFO_ST, IO, Address 0x7A[3] (Read Only)
Latched status for the new MPEG source InfoFrame interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_MS_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_MS_INFO_ST
0 (default)
1
Description
No new MPEG Source InfoFrame received. Interrupt has not been generated.
MPEG Source InfoFrame with new content received. Interrupt has been generated.
NEW_SPD_INFO_ST, IO, Address 0x7A[2] (Read Only)
Latched status for the new source product descriptor InfoFrame interrupt. Once set, this bit will remain high until the interrupt is cleared
via NEW_SPD_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_SPD_INFO_ST
0 (default)
1
Description
No new SPD InfoFrame received. Interrupt has not been generated.
SPD InfoFrame with new content received. Interrupt has been generated.
Rev. 0 | Page 168 of 184
Hardware User Guide
UG-438
NEW_AUDIO_INFO_ST, IO, Address 0x7A[1] (Read Only)
Latched status for the new audio InfoFrame interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_AUDIO_INFO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_AUDIO_INFO_ST
0 (default)
1
Description
No new Audio InfoFrame received. Interrupt has not been generated.
Audio InfoFrame with new content received. Interrupt has been generated.
NEW_AVI_INFO_ST, IO, Address 0x7A[0] (Read Only)
HDMI Edg INT Status 2 register consists of fields: FIFO_NEAR_OVFL_ST, FIFO_UNDERFLO_ST, FIFO_OVERFLO_ST,
CTS_PASS_THRSH_ST, CHANGE_N_ST, PACKET_ERROR_ST, AUDIO_PCKT_ERR_ST, and NEW_GAMUT_MDATA_ST.
FIFO_NEAR_OVFL_ST, IO, Address 0x7F[7] (Read Only)
Latched status for the audio FIFO near overflow interrupt. Once set, this bit will remain high until the interrupt is cleared via
FIFO_OVFL_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
FIFO_NEAR_OVFL_ST
0 (default)
1
Description
Audio FIFO has not reached high threshold.
Audio FIFO has reached high threshold.
FIFO_UNDERFLO_ST, IO, Address 0x7F[6] (Read Only)
Latched status for the audio FIFO underflow interrupt. Once set, this bit will remain high until the interrupt is cleared via
FIFO_UNDERFLO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
FIFO_UNDERFLO_ST
0 (default)
1
Description
Audio FIFO has not underflowed.
Audio FIFO has underflowed.
FIFO_OVERFLO_ST, IO, Address 0x7F[5] (Read Only)
Latched status for the audio FIFO overflow interrupt. Once set, this bit will remain high until the interrupt is cleared via
FIFO_OVERFLO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
FIFO_OVERFLO_ST
0 (default)
1
Description
Audio FIFO has not overflowed.
Audio FIFO has overflowed.
CTS_PASS_THRSH_ST, IO, Address 0x7F[4] (Read Only)
Latched status for the ACR CTS value exceed threshold interrupt. Once set, this bit will remain high until the interrupt is cleared via
CTS_PASS_THRSH_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CTS_PASS_THRSH_ST
0 (default)
1
Description
Audio clock regeneration CTS value has not passed the threshold.
Audio clock regeneration CTS value has changed more than threshold.
CHANGE_N_ST, IO, Address 0x7F[3] (Read Only)
Latched status for the ACR N value changed interrupt. Once set, this bit will remain high until the interrupt is cleared via
CHANGE_N_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
CHANGE_N_ST
0 (default)
1
Description
Audio clock regeneration N value has not changed.
Audio clock regeneration N value has changed.
Rev. 0 | Page 169 of 184
UG-438
Hardware User Guide
PACKET_ERROR_ST, IO, Address 0x7F[2] (Read Only)
Latched status for the packet error interrupt. Once set, this bit will remain high until the interrupt is cleared via PACKET_ERROR_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
PACKET_ERROR_ST
0 (default)
1
Description
No uncorrectable error detected in packet header. An interrupt has not been generated.
Uncorrectable error detected in an unknown packet (in packet header). An interrupt has been generated.
AUDIO_PCKT_ERR_ST, IO, Address 0x7F[1] (Read Only)
Latched status for the audio packet error interrupt. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_PCKT_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_PCKT_ERR_ST
0 (default)
1
Description
No uncorrectable error detected in audio packets. An interrupt has not been generated.
Uncorrectable error detected in an audio packet. An interrupt has been generated.
NEW_GAMUT_MDATA_ST, IO, Address 0x7F[0] (Read Only)
Latched status for the new gamut metadata packet interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_GAMUT_MDATA_PCKT_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_GAMUT_MDATA_ST
0 (default)
1
Description
No new Gamut metadata packet received or no change has taken place. An interrupt has not been
generated.
New Gamut metadata packet received. An interrupt has been generated.
HDMI Edg Int Status 3 register consists of fields: DEEP_COLOR_CHNG_ST, VCLK_CHNG_ST, AUDIO_MODE_CHNG_ST,
PARITY_ERROR_ST, NEW_SAMP_RT_ST, AUDIO_FLT_LINE_ST, NEW_TMDS_FRQ_ST, and FIFO_NEAR_UFLO_ST.
DEEP_COLOR_CHNG_ST, IO, Address 0x84[7] (Read Only)
Latched status of Deep Color mode change interrupt. Once set, this bit will remain high until the interrupt is cleared via
DEEP_COLOR_CHNG_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
DEEP_COLOR_CHNG_ST
0 (default)
1
Description
Deep color mode has not changed.
Change in deep color has been detected.
VCLK_CHNG_ST, IO, Address 0x84[6] (Read Only)
Latched status of video clock change interrupt. Once set, this bit will remain high until the interrupt is cleared via VCLK_CHNG_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
VCLK_CHNG_ST
0 (default)
1
Description
No irregular or missing pulse detected in TMDS clock
Irregular or missing pulses detected in TMDS clock
AUDIO_MODE_CHNG_ST, IO, Address 0x84[5] (Read Only)
Latched status of audio mode change interrupt. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_MODE_CHNG_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_MODE_CHNG_ST
0 (default)
1
Description
Audio mode has not changed. Vito: does sentence below refer to the following sections?
Audio mode has changed. The following are considered audio modes: No Audio, PCM, DSD, HBR or DST.
Rev. 0 | Page 170 of 184
Hardware User Guide
UG-438
PARITY_ERROR_ST, IO, Address 0x84[4] (Read Only)
Latched status of parity error interrupt. Once set, this bit will remain high until the interrupt is cleared via PARITY_ERROR_CLR. This
bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
PARITY_ERROR_ST
0 (default)
1
Description
No parity error detected in audio packets
Parity error detected in an audio packet
NEW_SAMP_RT_ST, IO, Address 0x84[3] (Read Only)
Latched status of new sampling rate interrupt. Once set, this bit will remain high until the interrupt is cleared via NEW_SAMP_RT_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_SAMP_RT_ST
0 (default)
1
Description
Sampling rate bits of the channel status data on Audio Channel 0 have not changed.
Sampling rate bits of the channel status data on Audio Channel 0 have changed.
AUDIO_FLT_LINE_ST, IO, Address 0x84[2] (Read Only)
Latched status of new TMDS frequency interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_TMDS_FREQ_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUDIO_FLT_LINE_ST
0 (default)
1
Description
Audio sample packet with flat line bit set has not been received.
Audio sample packet with flat line bit set has been received.
NEW_TMDS_FRQ_ST, IO, Address 0x84[1] (Read Only)
Latched status of new TMDS frequency interrupt. Once set, this bit will remain high until the interrupt is cleared via
NEW_TMDS_FREQ_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
NEW_TMDS_FRQ_ST
0 (default)
1
Description
TMDS frequency has not changed by more than tolerance.
TMDS frequency has changed by more than tolerance.
FIFO_NEAR_UFLO_ST, IO, Address 0x84[0] (Read Only)
Latched status for the audio FIFO near underflow interrupt. Once set, this bit will remain high until the interrupt is cleared via
FIFO_UFLO_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
FIFO_NEAR_UFLO_ST
0 (default)
1
Description
Audio FIFO has not reached low threshold.
Audio FIFO has reached low threshold.
HDMI Edg Status 4 register consists of fields: MS_INF_CKS_ERR_ST, SPD_INF_CKS_ERR_ST, AUD_INF_CKS_ERR_ST,
AVI_INF_CKS_ERR_ST, RI_EXPIRED_A_ST, and AKSV_UPDATE_A_ST.
MS_INF_CKS_ERR_ST, IO, Address 0x89[7] (Read Only)
Latched status of MPEG source InfoFrame checksum error interrupt. Once set, this bit will remain high until the interrupt is cleared via
MS_INF_CKS_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
MS_INF_CKS_ERR_ST
0 (default)
1
Description
No change in MPEG source InfoFrame checksum error
An MPEG source InfoFrame checksum error has triggered this interrupt
Rev. 0 | Page 171 of 184
UG-438
Hardware User Guide
SPD_INF_CKS_ERR_ST, IO, Address 0x89[6] (Read Only)
Latched status of SPD InfoFrame checksum error interrupt. Once set, this bit will remain high until the interrupt is cleared via
SPD_INF_CKS_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
SPD_INF_CKS_ERR_ST
0 (default)
1
Description
No change in SPD InfoFrame checksum error
An SPD InfoFrame checksum error has triggered this interrupt
AUD_INF_CKS_ERR_ST, IO, Address 0x89[5] (Read Only)
Latched status of audio InfoFrame checksum error interrupt. Once set, this bit will remain high until the interrupt is cleared via
AUDIO_INF_CKS_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AUD_INF_CKS_ERR_ST
0 (default)
1
Description
No change in audio InfoFrame checksum error
An audio InfoFrame checksum error has triggered this interrupt
AVI_INF_CKS_ERR_ST, IO, Address 0x89[4] (Read Only)
Latched status of AVI InfoFrame checksum error interrupt. Once set, this bit will remain high until the interrupt is cleared via
AVI_INF_CKS_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AVI_INF_CKS_ERR_ST
0 (default)
1
Description
No change in AVI InfoFrame checksum error
An AVI InfoFrame checksum error has triggered this interrupt
RI_EXPIRED_A_ST, IO, Address 0x89[2] (Read Only)
Latched status of Port A Ri expired interrupt. Once set, this bit will remain high until the interrupt is cleared via RI_EXPIRED_A_CLR.
This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
RI_EXPIRED_A_ST
0 (default)
1
Description
No Ri expired on Port A
Ri expired on Port A
AKSV_UPDATE_A_ST, IO, Address 0x89[0] (Read Only)
Latched status of Port A AKSV update interrupt. Once set, this bit will remain high until the interrupt is cleared via
AKSV_UPDATE_A_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
AKSV_UPDATE_A_ST
0 (default)
1
Description
No AKSV updates on Port A
Detected a write access to the AKSV register on Port A
Rev. 0 | Page 172 of 184
Hardware User Guide
UG-438
HDMI Edg Int Status 5 register consists of the VS_INF_CKS_ERR_ST field.
VS_INF_CKS_ERR_ST, IO, Address 0x8E[0] (Read Only)
Latched status of MPEG source InfoFrame checksum error interrupt. Once set, this bit will remain high until the interrupt is cleared via
MS_INF_CKS_ERR_CLR. This bit is only valid if enabled via the corresponding INT1 or INT2 interrupt mask bit.
Function
VS_INF_CKS_ERR_ST
0 (default)
1
Description
No change in VS InfoFrame checksum error
A VS InfoFrame checksum error has triggered this interrupt
CEC_STATUS1_INT_STATUS register consists of fields:
•
•
•
•
•
•
CEC_RX_RDY2_ST
CEC_RX_RDY1_ST
CEC_RX_RDY0_ST
CEC_TX_RETRY_TIMEOUT_ST
CEC_TX_ARBITRATION_LOST_ST
CEC_TX_READY_ST
CEC_STATUS2_INT_STATUS register consists of the CEC_INTERRUPT_BYTE_ST[7:0] field.
CEC_INTERRUPT_BYTE_ST[7:0], IO, Address 0x98[7:0] (Read Only)
Function
CEC_INTERRUPT_BYTE_ST[7:0]
0 (default)
1
Description
No change
One of the 8 opcodes received
Rev. 0 | Page 173 of 184
UG-438
Hardware User Guide
REGISTER ACCESS AND SERIAL PORTS DESCRIPTION
The ADV7610 has three 2-wire serial (I2C compatible) ports:
•
•
One main I2C port, SDA/SCL, allows a system I2C master controller to control and configure the ADV7610
I2C port, DDC Port A allows an HDMI host to access the internal EDID and the HDCP registers
MAIN I2C PORT
Register Access
The ADV7610 has eight 256-byte maps that can be accessed via the main I2C ports, SDA and SCL. Each map has its own I2C address and
acts as a standard slave device on the I2C bus.
IO
MAP
CP
MAP
CEC
MAP
INFOFRAME
MAP
SLAVE
ADDRESS:
0x98/0x9A
SLAVE
ADDRESS:
PROGRAMMABLE
SLAVE
ADDRESS:
PROGRAMMABLE
SLAVE
ADDRESS:
PROGRAMMABLE
SCL
SDA
SLAVE
ADDRESS:
PROGRAMMABLE
SLAVE
ADDRESS:
PROGRAMMABLE
SLAVE
ADDRESS:
PROGRAMMABLE
HDMI
MAP
EDID
MAP
REPEATER
MAP
DPLL
MAP
10884-071
SLAVE
ADDRESS:
PROGRAMMABLE
Figure 65. ADV7610 Register Map Access through Main I2C Port
Seven out of the eight maps have a programmable I2C address. This facilitates the integration of the ADV7610 in systems that have
multiple slaves on the general I2C bus.
Table 70. Register Maps and I2C Addresses
Map
IO Map
CP Map
HDMI Map
Repeater Map
EDID Map
InfoFrame Map
CEC Map
DPLL Map
1
2
Default Address1
0x98 or 0x9A2
0x00 (disabled)
0x00 (disabled)
0x00 (disabled)
0x00 (disabled)
0x00 (disabled)
0x00 (disabled)
0x00 (disabled)
Programmable Address
Not programmable
Programmable
Programmable
Programmable
Programmable
Programmable
Programmable
Programmable
Location at which Address can be Programmed
Not applicable
IO Map Register 0xFD
IO Map Register 0xFB
IO Map Register 0xF9
IO Map Register 0xFA
IO Map Register 0xF5
IO Map Register 0xF4
IO Map Register 0xF8
Map is disabled if its address is set to 0x00.
IO map address can be changed by pulling up or down VS/FIELD/ALSB pin.
IO I2C Map Address
It is possible to set the address of the IO Map by using the VS/FIELD/ALSB pin. Follow these steps to set the address of IO map:
1.
2.
3.
Pull up the VS/FIELD/ALSB pin with a 10 kΩ resistor to 3.3 V to set the IO map to 0x9A. It should be left floating for 0x98.
If the line VS/FIELD/ALSB is not pulled up, the following steps will have no effect and the IO Map will remain 0x98.
On power up, VS pin is tristated and the IO Map will have an address of 0x98, regardless of the pull-up.
Set SAMPLE ALSB to 1; this causes the VS/FIELD/ALSB line to be sampled.
a. If VS/FIELD/ALSB was pulled high with a 10 kΩ resistor to 3.3 V, the IO Map address will become 0x9A.
b. If VS/FIELD/ALSB was pulled low, or was left floating, the IO Map address will remain 0x98.
This solution allows connecting two ADV7610 on the one I2C bus. One part should have a 10 kΩ resistor pull-up on the VS/FIELD/ALSB
pin; Pin VS/FIELD/ALSB on the second part should be left floating. After reset, both parts will have Address 0x98. After sending an I2C
Rev. 0 | Page 174 of 184
Hardware User Guide
UG-438
write command to IO 0x1B, SAMPLE_ALSB, one part (with VS/FIELD/ALSB left floating) will get Address 0x98 and the second part
(with VS/FIELD/ALSB pulled high) will have an address of 0x9A.
SAMPLE_ALSB, IO, Address 0x1B[0]
When HIGH, VS/FIELD/ALSB pin is sampled to be used as ALSB value for IO map.
Function
SAMPLE_ALSB
0 (default)
1
Description
Use previously stored ALSB value
Sample new ALSB value
Addresses of Other Maps
CEC_SLAVE_ADDR[6:0], IO, Address 0xF4[7:1]
Programmable I2C slave address for CEC map.
Function
CEC_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
CEC Map Slave address
INFOFRAME_SLAVE_ADDR[6:0], IO, Address 0xF5[7:1]
Programmable I2C slave address for InfoFrame map.
Function
INFOFRAME_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
Infoframe Map Slave address
KSV_SLAVE_ADDR[6:0], IO, Address 0xF9[7:1]
Programmable I2C slave address for KSV (Repeater) map
Function
KSV_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
Repeater Map Slave address
EDID_SLAVE_ADDR[6:0], IO, Address 0xFA[7:1]
Programmable I2C slave address for EDID map.
Function
EDID_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
EDID Map Slave address
HDMI_SLAVE_ADDR[6:0], IO, Address 0xFB[7:1]
Programmable I2C slave address for HDMI map
Function
HDMI_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
HDMI Map Slave address
CP_SLAVE_ADDR[6:0], IO, Address 0xFD[7:1]
Programmable I2C slave address for CP map
Function
CP_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
CP Map Slave address
Rev. 0 | Page 175 of 184
UG-438
Hardware User Guide
DPLL_SLAVE_ADDR[6:0], IO, Address 0xF8[7:1]
Programmable I2C slave address for DPLL map
Function
DPLL_SLAVE_ADDR[6:0]
0x00 (default)
0xXX
Description
Map not accessible
DPLL Map Slave address
Protocol for Main I2C Port
The system controller initiates a data transfer by establishing a start condition, defined by a high to low transition on SDA while SCL
remains high. This transition indicates that an address/data stream will follow. All peripherals respond to the start condition and shift
the next eight bits (7-bit address and R/W bit). The bits are transferred from MSB down to LSB. The peripheral that recognizes the
transmitted address responds by pulling the data line low during the ninth clock pulse. This is known as an acknowledge bit. All other
devices withdraw from the bus at this point and maintain an idle condition.
In the idle condition, the device monitors the SDA and SCL lines for the start condition and the correct transmitted address. The R/W bit
determines the direction of the data. A Logic 0 on the LSB of the first byte means that the master will write information to the peripheral.
A Logic 1 on the LSB of the first byte means that the master will read information from the peripheral.
Each of the ADV7610 maps acts as a standard slave device on the bus. The data on the SDA pin is eight bits long, supporting the 7-bit
addresses plus the R/W bit. It interprets the first byte as the map address and the second byte as the starting subaddress. The subaddresses
auto-increment, allowing data to be written to or read from the starting subaddress. A data transfer is always terminated by a stop
condition. The user can also access any unique subaddress register on a one-by-one basis without having to update all the registers.
Stop and start conditions can be detected at any stage during the data transfer. If these conditions are asserted out of sequence with
normal read and write operations, these cause an immediate jump to the idle condition. During a given SCLK high period, the user
should issue only one start condition, one stop condition, or a single stop condition followed by a single start condition. If an invalid
subaddress is issued by the user, the ADV7610 does not issue an acknowledge and returns to the idle condition.
If the user exceeds the highest subaddress in auto increment mode, the following actions are taken:
•
•
In read mode, the highest subaddress register contents continue to be output until the master device issues a no acknowledge. This
indicates the end of a read. A no acknowledge condition is where the SDA line is not pulled low on the ninth pulse.
In write mode, the data for the invalid byte is not loaded into any subaddress register. A no acknowledge is issued by the ADV7610
and the part returns to the idle condition.
SCLOCK
S
1-7
8
9
START
ADDR
R/W
ACK
1-7
8
SUBADDRESS
1-7
9
ACK
8
DATA
9
P
ACK
STOP
10884-072
SDATA
Figure 66. Bus Data Transfer
WRITE
SEQUENCE
S
SLAVE ADDRESS
A(S)
SUBADDRESS
DATA
A(S)
S
SLAVE ADDRESS
A(S)
…
DATA
A(S)
P
LSB = 1
LSB = 0
READ
SEQUENCE
A(S)
SUBADDRESS
A(S)
S
SLAVE ADDRESS
DATA
A(M)
…
DATA
A(M)
P
10884-073
S = START BIT
P = STOP BIT
A(S) = ACKNOWLEDGE BY SLAVE
A(M) = ACKNOWLEDGE BY MASTER
A(S) = NO ACKNOWLEDGE BY SLAVE
A(M) = NO ACKNOWLEDGE BY MASTER
A(S)
Figure 67. Read and Write Sequence
Rev. 0 | Page 176 of 184
Hardware User Guide
UG-438
DDC PORTS
An I2C port, DDC Port A, allows HDMI hosts to access the internal E-EDID and the HDCP registers. Note that the DDC ports are 5 V
tolerant, which simplifies the hardware between the HDMI connector and the ADV7610.
I2C Protocols for Access to the Internal EDID
An I2C master connected on a DDC port can access the internal EDID using the following protocol:
•
•
•
Write sequence, as defined in the Protocol for Main I2C Port section
Read sequence, as defined in the Protocol for Main I2C Port section
Current address read sequence:
Allows the master on the DDC port to read access internal E-EDID without specifying the subaddress that must be read. The
ADV7610 stores an address counter for DDC port that maintains the value of the subaddress that was last accessed. The address
counter is incremented by one every time a read or a write access is requested on the DDC port.
LSB = 1
CURRENT ADDRESS
READ SEQUENCE
S
SLAVE ADDRESS
A(S)
DATA(1)
DATA(N)
A(S)
A(M)
P
10884-077
S = START BIT
P = STOP BIT
A(S) = ACKNOWLEDGE BY SLAVE
A(M) = NO ACKNOWLEDGE BY MASTER
Figure 68. Current Address Read Sequence
I C Protocols for Access to HDCP Registers
2
An I2C master connected on a DDC port can access the internal EDID using the following protocol:
•
•
•
Write sequence, as defined in the Protocol for Main I2C Port section
Read sequence, as defined in the Protocol for Main I2C Port section
Short read format, as defined in the High-bandwidth Digital Content Protection (HDCP) System Specifications
DDC Port A
The DDC lines of the HDMI Port A comprise the DDCA_SCL and DDCA_SDA pins. An HDMI host connected to the DDC Port A
accesses the internal E-EDID at address 0xA0 in read only mode, and the HDCP registers at address 0x74 in read/write mode (refer to
Figure 69). The internal E-EDID for Port A is described in the Structure of Internal E-EDID section.
Refer to the High-bandwidth Digital Content Protection (HDCP) System Specifications for detailed information on the HDCP registers.
INTERNAL E-EDID
HDCP REGISTERS
SA: 0xA0
SA: 0x74
10884-074
DDCA_SCL
DDCA_SDA
Figure 69. Internal E-EDID and HDCP Registers Access from Port A (SA = Slave Address)
Rev. 0 | Page 177 of 184
UG-438
Hardware User Guide
APPENDIX A
PCB LAYOUT RECOMMENDATIONS
The ADV7610 is a high precision, high speed, mixed signal device. It is important to have a well laid out PCB board, in order to achieve
the maximum performance from the part. The following sections are a guide for designing a board using the ADV7610.
POWER SUPPLY BYPASSING
It is recommended to bypass each power supply pin with a 0.1 µF and a 10 nF capacitor where possible. The fundamental idea is to have a
bypass capacitor within about 0.5 cm of each power pin.
The bypass capacitors should be physically located between the power plane and the power pin. Current should flow from the power
plane to the capacitor to the power pin. The power connection should not be made between the capacitor and the power pin. Generally,
the best approach is to place a via underneath the 100 nF capacitor pads down to the power plane (refer to Figure 70).
VIA TO GND LAYER
AND GND PIN
0.1µF
VIA TO VDD PIN
VDD SUPPLY
10884-075
10nF
Figure 70. Recommended Power Supply Decoupling
It is particularly important to maintain low noise and good stability of the PVDD (the clock generator supply). Abrupt changes in the
PVDD supply can result in similarly abrupt changes in sampling clock phase and frequency. This can be avoided by careful attention to
regulation, filtering, and bypassing. It is highly desirable to provide separate regulated or heavily filtered supplies for each of the analog
circuitry groups (CVDD, TVDD, and PVDD).
Some graphic controllers use substantially different levels of power when active (during active picture time) and when idle (during
horizontal and vertical synchronization periods). This can result in a measurable change in the voltage supplied to the analog supply
regulator, which can in turn produce changes in the regulated analog supply voltage. This can be mitigated by regulating the analog
supply, or at least PVDD, from a different, cleaner, power source, for example, from a +12 V supply.
It is also recommended to use a single ground plane for the entire board. Repeatedly, experience has shown that the noise performance is
the same or better with a single ground plane. Using multiple ground planes can be detrimental because each separate ground plane is
smaller and long ground loops can result.
In some cases, using separate ground planes is unavoidable. For those cases, it is recommended to place, at least, a single ground plane
under the ADV7610. It is important to place components wisely because the current loops are much longer when using split ground
planes as the current takes the path of least resistance.
Example of a Current Loop
Power plane → ADV7610 → digital output trace → digital data receiver→ digital ground plane → analog ground plane
DIGITAL OUTPUTS (DATA AND CLOCKS)
The trace length that the digital outputs have to drive should be minimized. Longer traces have higher capacitance, which requires more
current that can cause more internal digital noise. Shorter traces reduce the possibility of reflections.
Adding a series resistor of value between 33 Ω to 200 Ω can suppress reflections, reduce EMI, and reduce the current spikes inside the
ADV7610. If series resistors are used, they should be placed as close as possible to the ADV7610 pins and the trace impedance for these
signals should match that of the termination resistors selected.
If possible, the capacitance that each of the digital outputs drives should be limited to is less than 15 pF. This can be accomplished easily
by keeping traces short and by connecting the outputs to only one device. Loading the outputs with excessive capacitance increases the
current transients inside the ADV7610, creating more digital noise on its power supplies.
Rev. 0 | Page 178 of 184
Hardware User Guide
UG-438
DIGITAL INPUTS
The following digital inputs on the ADV7610 are 3.3 V inputs that are 5.0 V tolerant:
•
•
DDCA_SCL
DDCA_SDL
Any noise that gets onto the HS and VS inputs trace will add jitter to the system. Therefore, the trace length should be minimized; and
digital or other high frequency traces should not be run near it.
XTAL AND LOAD CAP VALUE SELECTION
The ADV7610 uses 28.6363MHz crystal. Figure 71 shows an example of a reference clock circuit for the ADV7610. Special care must be
taken when using a crystal circuit to generate the reference clock for the ADV7610. Small variations in reference clock frequency can
cause auto detection issues and impair the ADV7610 performance.
C1
47pF
C2
47pF
10884-076
XTAL
28.63636MHz
Figure 71. Crystal Circuit
These guidelines are followed to ensure correct operation:
•
•
Use the correct frequency crystal, which is 28.6363 MHz. Tolerance should be 50 ppm or better.
Know the Cload for the crystal part number selected. The value of capacitors C1 and C2 must be matched to the Cload for the specific
crystal part number in the user’s system.
To find C1 and C2, use the following formula:
C1 = C2 = 2(Cload − Cstray) − Cpg
where Cstray is usually 2 pF to 3 pF, depending on board traces and Cpg (pin-to-ground-capacitance) is 4 pF for the ADV7610.
Example
Cload = 30 pF, C1 = 50 pF, C2 = 50 pF (in this case, 47 pF is the nearest real-life cap value to 50 pF)
Rev. 0 | Page 179 of 184
UG-438
Hardware User Guide
APPENDIX B
RECOMMENDED UNUSED PIN CONFIGURATIONS
Table 71. Recommended Configuration of Unused Pins
Ball No.
D4, D5, D6, E4, F4, G4, G5, G6
A1
G1, G2
B1, B2
F7, G7, J10, K10
A10, B10, D7, E7
A4
C2
C1
D2
D1
E2
E1
F2
F1
H1
H2
J1
K1
K2
J2
K3
J3
K4
J4
K5
J5
K6
J6
K7
J7
K8
J8
K9
J9
H10
H9
G10
G9
F10
E10
F9
E9
D10, C10, D9, C9
A9
B9
A8
B8
B7
Mnemonic
GND
HPA_A/INT2
CVDD
TVDD
DVDDIO
DVDD
PVDD
RXA_C−
RXA_C+
RXA_0−
RXA_0+
RXA_1−
RXA_1+
RXA_2−
RXA_2+
P23
P22
P21
P20
P19
P18
P17
P16
LLC
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
DE
HS
VS/FIELD/ALSB
I2S0 to I2S3
SCLK/INT2
LRCLK
MCLK/INT2
SCL
SDA
Type
Ground
Miscellaneous digital
Power
Power
Power
Power
Power
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
HDMI input
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Digital video output
Miscellaneous digital
Digital video output
Digital input/output
Miscellaneous digital
Miscellaneous digital
Miscellaneous digital
Miscellaneous digital
Miscellaneous digital
Miscellaneous digital
Description
Ground.
Float this pin.
This pin is always connected to comparator supply voltage (1.8 V).
This pin is always connected to comparator supply voltage (3.3 V).
This pin is always connected to comparator supply voltage (3.3 V).
This pin is always connected to comparator supply voltage (1.8 V).
This pin is always connected to comparator supply voltage (1.8 V).
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
This pin is always connected to the pixel clock input.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
Float this pin.
This pin is always connected to the I2C clock line of a control processor.
This pin is always connected to the I2C data line of a control processor.
Rev. 0 | Page 180 of 184
Hardware User Guide
Ball No.
A7
B6
A6
A5
B4
B5
A3
B3
A2
Mnemonic
INT1
RESET
XTALP
XTALN
CEC
CS
DDCA_SCL
DDCA_SDA
RXA_5V
UG-438
Type
Miscellaneous digital
Miscellaneous digital
Miscellaneous analog
Miscellaneous analog
Digital input/output
Miscellaneous digital
HDMI input
HDMI input
HDMI input
Description
Float this pin.
This level of this pin must be controlled by an external processor.
This pin is always connected to 28.63636 MHz crystal.
This pin is always connected to 28.63636 MHz crystal.
Float this pin.
Float this pin.
Connect this pin to ground via a 10 kΩ resistor.
Float this pin.
If RXA_5V is not used, float RXA_5V and set DIS_CABLE_DET_RST to 0.
In the case where Port A is not used, RXA_5V can be left unconnected.
Rev. 0 | Page 181 of 184
UG-438
Hardware User Guide
APPENDIX C
PIXEL OUTPUT FORMATS
Table 72. SDR 4:2:2 and 4:4:4 Output Modes
OP_FORMAT_SEL[7:0]
Pixel Output
P23
P22
P21
P20
P19
P18
P17
P16
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
1
0x0 1
8-Bit SDR ITU-R
BT.656 Mode 0
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
Y7, Cb7, Cr7
Y6, Cb6, Cr6
Y5, Cb5, Cr5
Y4, Cb4, Cr4
Y3, Cb3, Cr3
Y2, Cb2, Cr2
Y1, Cb1, Cr1
Y0, Cb0, Cr0
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
0x0A1
12-Bit SDR ITU-R
BT.656 Mode 2
Y3, Cb3, Cr3
Y2, Cb2, Cr2
Y1, Cb1, Cr1
Y0, Cb0, Cr0
High-Z
High-Z
High-Z
High-Z
Y11, Cb11, Cr11
Y10, Cb10, Cr10
Y9, Cb9, Cr9
Y8, Cb8, Cr8
Y7, Cb7, Cr7
Y6, Cb6, Cr6
Y5, Cb5, Cr5
Y4, Cb4, Cr4
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
SDR 4:2:2
0x80
16-Bit SDR ITU-R
BT.656 4:2:2 Mode 0
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
Cb7, Cr7
Cb6, Cr6
Cb5, Cr5
Cb4, Cr4
Cb3, Cr3
Cb2, Cr2
Cb1, Cr1
Cb0, Cr0
0x8A
24-Bit SDR ITU-R
BT.656 4:2:2 Mode 2
Y3
Y2
Y1
Y0
Cb3, Cr3
Cb2, Cr2
Cb1, Cr1
Cb0, Cr0
Y11
Y10
Y9
Y8
Y7
Y6
Y5
Y4
Cb11, Cr11
Cb10, Cr10
Cb9, Cr9
Cb8, Cr8
Cb7, Cr7
Cb6, Cr6
Cb5, Cr5
Cb4, Cr4
For the 656 8-/10-/12-bit modes, refer to the DLL Settings for 656, 8-/10-/12-bit modes in the DLL on LLC Clock Path section.
Rev. 0 | Page 182 of 184
SDR 4:4:4
0x40
24-Bit SDR
4:4:4 Mode 0
R7
R6
R5
R4
R3
R2
R1
R0
G7
G6
G5
G4
G3
G2
G1
G0
B7
B6
B5
B4
B3
B2
B1
B0
Hardware User Guide
UG-438
Table 73. DDR 4:2:2 and 4:4:4 Output Modes
OP_FORMAT_SEL[7:0]
Pixel Output
P23
P22
P21
P20
P19
P18
P17
P16
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
DDR 4:2:2 Mode (Clock/2)
0x20
8-Bit DDR ITU-656
(Clock/2 Output) 4:2:2 Mode 0
Clock Rise
Clock Fall
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
Cb7, Cr7
Y7
Cb6, Cr6
Y6
Cb5, Cr5
Y5
Cb4, Cr4
Y4
Cb3, Cr3
Y3
Cb2, Cr2
Y2
Cb1, Cr1
Y1
Cb0, Cr0
Y0
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
DDR 4:2:2 Mode (Clock/2)
0x2A
12-Bit DDR ITU-656
(Clock/2 Output) 4:2:2 Mode 2
Clock Rise
Clock Fall
Cb3, Cr3
Y3
Cb2, Cr2
Y2
Cb1, Cr1
Y1
Cb0, Cr0
Y0
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
Cb11, Cr11
Y11
Cb12, Cr12
Y12
Cb9, Cr9
Y9
Cb8, Cr8
Y8
Cb7, Cr7
Y7
Cb6, Cr6
Y6
Cb5, Cr5
Y5
Cb4, Cr4
Y4
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
High-Z
Rev. 0 | Page 183 of 184
DDR 4:4:4 Mode (Clock/2)
0x60
24-Bit DDR RGB
(Clock/2 Output)
Clock Rise
Clock Fall
R7-0
R7-1
R6-0
R6-1
R5-0
R5-1
R4-0
R4-1
R3-0
R3-1
R2-0
R2-1
R1-0
R1-1
R0-0
R0-1
G7-0
G7-1
G6-0
G6-1
G5-0
G5-1
G4-0
G4-1
G3-0
G3-1
G2-0
G2-1
G1-0
G1-1
G0-0
G0-1
B7-0
B7-1
B6-0
B6-1
B5-0
B5-1
B4-0
B4-1
B3-0
B3-1
B2-0
B2-1
B1-0
B1-1
B0-0
B0-1
UG-438
Hardware User Guide
NOTES
I2C refers to a communications protocol originally developed by Philips Semiconductors (now NXP Semiconductors).
HDMI, the HDMI Logo, and High-Definition Multimedia Interface are trademarks or registered trademarks of HDMI Licensing LLC in the United States and other
countries.
ESD Caution
ESD (electrostatic discharge) sensitive device. Charged devices and circuit boards can discharge without detection. Although this product features patented or proprietary protection
circuitry, damage may occur on devices subjected to high energy ESD. Therefore, proper ESD precautions should be taken to avoid performance degradation or loss of functionality.
Legal Terms and Conditions
By using the evaluation board discussed herein (together with any tools, components documentation or support materials, the “Evaluation Board”), you are agreeing to be bound by the terms and conditions
set forth below (“Agreement”) unless you have purchased the Evaluation Board, in which case the Analog Devices Standard Terms and Conditions of Sale shall govern. Do not use the Evaluation Board until you
have read and agreed to the Agreement. Your use of the Evaluation Board shall signify your acceptance of the Agreement. This Agreement is made by and between you (“Customer”) and Analog Devices, Inc.
(“ADI”), with its principal place of business at One Technology Way, Norwood, MA 02062, USA. Subject to the terms and conditions of the Agreement, ADI hereby grants to Customer a free, limited, personal,
temporary, non-exclusive, non-sublicensable, non-transferable license to use the Evaluation Board FOR EVALUATION PURPOSES ONLY. Customer understands and agrees that the Evaluation Board is provided
for the sole and exclusive purpose referenced above, and agrees not to use the Evaluation Board for any other purpose. Furthermore, the license granted is expressly made subject to the following additional
limitations: Customer shall not (i) rent, lease, display, sell, transfer, assign, sublicense, or distribute the Evaluation Board; and (ii) permit any Third Party to access the Evaluation Board. As used herein, the term
“Third Party” includes any entity other than ADI, Customer, their employees, affiliates and in-house consultants. The Evaluation Board is NOT sold to Customer; all rights not expressly granted herein, including
ownership of the Evaluation Board, are reserved by ADI. CONFIDENTIALITY. This Agreement and the Evaluation Board shall all be considered the confidential and proprietary information of ADI. Customer may
not disclose or transfer any portion of the Evaluation Board to any other party for any reason. Upon discontinuation of use of the Evaluation Board or termination of this Agreement, Customer agrees to
promptly return the Evaluation Board to ADI. ADDITIONAL RESTRICTIONS. Customer may not disassemble, decompile or reverse engineer chips on the Evaluation Board. Customer shall inform ADI of any
occurred damages or any modifications or alterations it makes to the Evaluation Board, including but not limited to soldering or any other activity that affects the material content of the Evaluation Board.
Modifications to the Evaluation Board must comply with applicable law, including but not limited to the RoHS Directive. TERMINATION. ADI may terminate this Agreement at any time upon giving written notice
to Customer. Customer agrees to return to ADI the Evaluation Board at that time. LIMITATION OF LIABILITY. THE EVALUATION BOARD PROVIDED HEREUNDER IS PROVIDED “AS IS” AND ADI MAKES NO
WARRANTIES OR REPRESENTATIONS OF ANY KIND WITH RESPECT TO IT. ADI SPECIFICALLY DISCLAIMS ANY REPRESENTATIONS, ENDORSEMENTS, GUARANTEES, OR WARRANTIES, EXPRESS OR IMPLIED, RELATED
TO THE EVALUATION BOARD INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF INTELLECTUAL
PROPERTY RIGHTS. IN NO EVENT WILL ADI AND ITS LICENSORS BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES RESULTING FROM CUSTOMER’S POSSESSION OR USE OF
THE EVALUATION BOARD, INCLUDING BUT NOT LIMITED TO LOST PROFITS, DELAY COSTS, LABOR COSTS OR LOSS OF GOODWILL. ADI’S TOTAL LIABILITY FROM ANY AND ALL CAUSES SHALL BE LIMITED TO THE
AMOUNT OF ONE HUNDRED US DOLLARS ($100.00). EXPORT. Customer agrees that it will not directly or indirectly export the Evaluation Board to another country, and that it will comply with all applicable
United States federal laws and regulations relating to exports. GOVERNING LAW. This Agreement shall be governed by and construed in accordance with the substantive laws of the Commonwealth of
Massachusetts (excluding conflict of law rules). Any legal action regarding this Agreement will be heard in the state or federal courts having jurisdiction in Suffolk County, Massachusetts, and Customer hereby
submits to the personal jurisdiction and venue of such courts. The United Nations Convention on Contracts for the International Sale of Goods shall not apply to this Agreement and is expressly disclaimed.
©2013 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
UG10884-0-2/13(0)
Rev. 0 | Page 184 of 184