ADV7511 Low-Power HDMI 1.4 Compatible Transmitter with Audio Return Channel PROGRAMMING GUIDE - Revision G– March 2012 PROGRAMMING GUIDE ADV7511 REVISION HISTORY Rev. 0: Initial Release Rev A: Section Change Description Section▶4.3.2.1 Corrected register bit information for the “Input Style” bit Sections▶4.3.4, ▶4.4.1.3, ▶4.4.1.4, and▶4.4.1.5 Clarified that automatic pixel repeat does not work with HBR, DSD, or DST audio inputs. Rev B: Section Change Description Section ▶4.3.10 Added 3D section. Section ▶4.3.8 Updated CSC Tables. Section▶4.8 Updated reset information. Section ▶4.9 Updated CEC Timing Charts. Rev C: Section Change Description Section 5 - Corrected recommended settings for fixed registers 0x98, 0x9C, 0x9D, 0xA2, and 0xA3. Rev D: Section Change Description Section ▶4.3.8 Added additional CSC Tables Removed “confidential” statements Rev E: Section Change Description Section ▶4.3.8 Added additional CSC Tables Rev F: Section Change Description Section ▶4.7.1 Error controller register address corrected Section ▶Section 5 - Changed chip revision to 12 Rev G: Section Change Description Section ▶4.3.8 Corrected CSC Tables 53 and 54 Page 2 of 203 Rev G PROGRAMMING GUIDE ADV7511 TABLE OF CONTENTS Revision History ........................................................................................................................................................................................................................................2 Section 1 - Introduction ........................................................................................................................................................................................................................ 12 1.1 Scope and Organization ...................................................................................................................................................................................................... 12 1.1.1 Organization ................................................................................................................................................................................................................. 12 1.1.2 Use of Register Bits ...................................................................................................................................................................................................... 12 1.1.3 Register Types ............................................................................................................................................................................................................... 12 1.1.4 Format Standards ......................................................................................................................................................................................................... 12 1.1.5 Links............................................................................................................................................................................................................................... 12 1.1.6 Symbols.......................................................................................................................................................................................................................... 13 Section 2 - References ............................................................................................................................................................................................................................ 14 2.1 ADI Documents ................................................................................................................................................................................................................... 14 2.2 Specifications ........................................................................................................................................................................................................................ 14 Section 3 - Quick Start Guide ............................................................................................................................................................................................................... 15 Section 4 - Programming Tasks ............................................................................................................................................................................................................ 16 4.1 I2C Bus .................................................................................................................................................................................................................................. 16 4.2 General Control ................................................................................................................................................................................................................... 17 4.2.1 Hot Plug Detect (HPD) and Monitor Sense ............................................................................................................................................................. 17 4.2.2 HDMI DVI Selection................................................................................................................................................................................................... 19 4.2.3 AV Mute ........................................................................................................................................................................................................................ 19 4.2.4 TMDS Power-Down .................................................................................................................................................................................................... 20 4.2.5 Packet Update ............................................................................................................................................................................................................... 21 4.2.6 Source Product Description (SPD) Packet ............................................................................................................................................................... 22 4.2.7 Spare Packets................................................................................................................................................................................................................. 23 4.2.8 System Monitoring....................................................................................................................................................................................................... 24 4.2.8.1 DDC Controller Status ................................................................................................................................................................ 24 4.2.8.2 HDCP/EDID Controller Error Codes ...................................................................................................................................... 25 4.2.9 4.3 Fixed Registers That Must Be Set .............................................................................................................................................................................. 26 Video Setup........................................................................................................................................................................................................................... 26 4.3.1 Input Formatting .......................................................................................................................................................................................................... 26 4.3.2 Video Input Tables ....................................................................................................................................................................................................... 27 4.3.2.1 Input Data Clock .......................................................................................................................................................................... 40 4.3.3 Video Mode Detection ................................................................................................................................................................................................ 44 4.3.4 Pixel Repetition ............................................................................................................................................................................................................ 48 4.3.5 422 444 Conversion ..................................................................................................................................................................................................... 51 4.3.6 Deep Color Conversion .............................................................................................................................................................................................. 52 4.3.7 DE, Hsync and Vsync Generation ............................................................................................................................................................................. 52 Page 3 of 203 Rev G PROGRAMMING GUIDE ADV7511 4.3.7.1 DE generation ............................................................................................................................................................................... 54 4.3.7.2 Hsync and Vsync Generation..................................................................................................................................................... 54 4.3.7.3 Hsync and Vsync Adjustment .................................................................................................................................................... 54 4.3.7.4 DE, Hsync, and Vsync Generation Recommended Settings.................................................................................................. 55 4.3.8 Color Space Converter (CSC) .................................................................................................................................................................................... 59 4.3.8.1 Color Space Conversion (CSC) Matrix ..................................................................................................................................... 60 4.3.8.2 Color Space Converter (CSC) Special Features ....................................................................................................................... 68 4.3.8.3 Changing the Color Space with Active Display ....................................................................................................................... 68 4.3.9 Video InfoFrame and Other Video Related Packets ............................................................................................................................................... 70 4.3.9.1 AVI InfoFrame ............................................................................................................................................................................. 71 4.3.9.2 MPEG InfoFrame ........................................................................................................................................................................ 74 4.3.9.3 Gamut Metadata Packet .............................................................................................................................................................. 77 4.3.10 3D Video Setup............................................................................................................................................................................................................. 80 4.3.10.1 VIC ................................................................................................................................................................................................. 80 4.3.10.2 Pixel Repeat................................................................................................................................................................................... 80 4.3.10.3 Vendor Specific InfoFrame ......................................................................................................................................................... 81 4.4 Audio Setup .......................................................................................................................................................................................................................... 82 4.4.1 Input Format ................................................................................................................................................................................................................. 82 4.4.1.1 Inter-IC Sound (I2S) Audio ....................................................................................................................................................... 85 4.4.1.2 Sony/Philips Digital Interface (SPDIF) Audio ........................................................................................................................ 88 4.4.1.3 Direct Stream Digital (DSD) Audio .......................................................................................................................................... 89 4.4.1.4 High Bit-Rate (HBR) Audio ....................................................................................................................................................... 90 4.4.1.5 Direct Stream Transfer (DST) Audio ....................................................................................................................................... 92 4.4.2 N and CTS ..................................................................................................................................................................................................................... 93 4.4.2.1 N Parameter .................................................................................................................................................................................. 93 4.4.2.2 CTS Parameter ............................................................................................................................................................................. 94 4.4.2.3 Recommended N and Expected CTS Values ........................................................................................................................... 94 4.4.3 Audio Sample Packets.................................................................................................................................................................................................. 95 4.4.3.1 Details for I2S Channel Status .................................................................................................................................................... 96 4.4.4 Audio InfoFrame ........................................................................................................................................................................................................ 100 4.4.5 Audio Content Protection (ACP) Packet................................................................................................................................................................ 103 4.4.6 International Standard Recording Code (ISRC) Packet ....................................................................................................................................... 105 4.5 Audio Return Channel (ARC) ......................................................................................................................................................................................... 108 4.5.1 4.6 ARC Configuration.................................................................................................................................................................................................... 108 EDID Handling .................................................................................................................................................................................................................. 109 4.6.1.1 EDID Definitions .......................................................................................................................................................................109 Page 4 of 203 Rev G PROGRAMMING GUIDE ADV7511 4.6.1.2 Additional Segments..................................................................................................................................................................109 4.6.1.3 EDID Tries Register (0xC9 [3:0]) ...........................................................................................................................................110 4.6.1.4 EDID Reread Register (0xC9[4]) ............................................................................................................................................110 4.7 HDCP Handling ................................................................................................................................................................................................................ 111 4.7.1 For One Sink and No Upstream Devices ................................................................................................................................................................ 111 4.7.2 For Multiple Sinks and No Upstream Devices ....................................................................................................................................................... 111 4.7.3 For Use in a Repeater ................................................................................................................................................................................................. 112 4.7.4 Software Implementation.......................................................................................................................................................................................... 112 4.7.5 AV Mute ...................................................................................................................................................................................................................... 113 4.7.6 HDCP Delay Control ................................................................................................................................................................................................ 113 4.8 Power Management ........................................................................................................................................................................................................... 117 4.8.1 Main Power-Down ..................................................................................................................................................................................................... 117 4.8.2 Additional Power Down Methods ........................................................................................................................................................................... 118 4.9 CEC Processing .................................................................................................................................................................................................................. 119 4.9.1 CEC Addressing ......................................................................................................................................................................................................... 120 4.9.2 CEC Transmitter ........................................................................................................................................................................................................ 120 4.9.2.1 CEC Transmitter Setup and Control .......................................................................................................................................121 4.9.2.2 CEC Transmitter Interrupt Handling......................................................................................................................................121 4.9.3 CEC Receiver .............................................................................................................................................................................................................. 124 4.9.3.1 CEC Receiver Setup and Control .............................................................................................................................................124 4.9.3.2 CEC Receiver Message Processing and Interrupt Handling ................................................................................................124 4.9.3.3 Handling CEC Initiators with non-compliant EOM.............................................................................................................128 4.9.4 Typical Operation Flow ............................................................................................................................................................................................. 133 4.9.4.1 CEC Acting as an Initiator: .......................................................................................................................................................133 4.9.4.2 CEC Acts as a Follower: ............................................................................................................................................................134 4.9.5 CEC System Control .................................................................................................................................................................................................. 134 4.9.6 CEC System Power and CDC Control .................................................................................................................................................................... 134 4.9.7 CEC Timing Control ................................................................................................................................................................................................. 134 4.10 HDCP/EDID Controller ................................................................................................................................................................................................... 143 4.10.1 4.11 ADV7511 EDID/HDCP Support Features ............................................................................................................................................................. 143 Interrupt Handling ............................................................................................................................................................................................................ 144 4.11.1 Wake Up Opcodes ..................................................................................................................................................................................................... 145 4.11.2 Hot Plug Detect .......................................................................................................................................................................................................... 145 4.11.3 Monitor Sense ............................................................................................................................................................................................................. 145 4.11.4 Active Vsync Edge ..................................................................................................................................................................................................... 145 4.11.5 Audio FIFO Full ......................................................................................................................................................................................................... 146 4.11.6 Embedded Sync Parity Error .................................................................................................................................................................................... 146 Page 5 of 203 Rev G PROGRAMMING GUIDE ADV7511 4.11.7 EDID Ready ................................................................................................................................................................................................................ 146 4.11.8 HDCP Authenticated ................................................................................................................................................................................................ 146 4.11.9 HDCP Error ................................................................................................................................................................................................................ 146 4.11.10 BKSV Flag ............................................................................................................................................................................................................... 146 4.11.11 CEC Tx Ready Flag ............................................................................................................................................................................................... 146 4.11.12 CEC Tx Arbitration Lost Flag .............................................................................................................................................................................. 146 4.11.13 CEC Tx Retry Timeout Flag ................................................................................................................................................................................ 146 4.11.14 CEC Rx Ready Flags .............................................................................................................................................................................................. 146 Section 5 - Register Maps .................................................................................................................................................................................................................... 153 Page 6 of 203 Rev G PROGRAMMING GUIDE ADV7511 TABLE OF FIGURES Figure 1 Packet Update....................................................................................................................................................................................................................... 22 Figure 2 2X Clock timing ................................................................................................................................................................................................................... 34 Figure 3 DDR DE timing - Register 0x16[1] = 1 ............................................................................................................................................................................ 40 Figure 4 DDR DE timing - Register 0x16[1] = 0 ............................................................................................................................................................................ 40 Figure 5 Input Clock Divide Control ............................................................................................................................................................................................... 41 Figure 6 Sync Processing Block Diagram ........................................................................................................................................................................................ 53 Figure 7 Active Video ......................................................................................................................................................................................................................... 54 Figure 8 Hsync Reconstruction ......................................................................................................................................................................................................... 55 Figure 9 Vsync Reconstruction (centered) ...................................................................................................................................................................................... 55 Figure 10 Sync Adjustment Vsync Offset (centered) ................................................................................................................................................................... 55 Figure 11 Single CSC channel .......................................................................................................................................................................................................... 60 Figure 12 I2C Write Timing of GMP Data ..................................................................................................................................................................................... 78 Figure 13 IEC60958 Sub-Frame....................................................................................................................................................................................................... 85 Figure 14 Sub-Frame Format for ADV7511 .................................................................................................................................................................................. 86 Figure 15 Standard I2S Timing ........................................................................................................................................................................................................ 86 Figure 16 Right-Justified Timing ..................................................................................................................................................................................................... 86 Figure 17 Left-Justified Timing........................................................................................................................................................................................................ 87 Figure 18 AES3 Direct Timing ......................................................................................................................................................................................................... 87 Figure 19 I2S 32 Bit Mode Timing .................................................................................................................................................................................................. 87 Figure 20 32 Bit Mode Left- or Right-Justified Timing................................................................................................................................................................ 88 Figure 21 DST Timing....................................................................................................................................................................................................................... 92 Figure 22 Audio Clock Regeneration .............................................................................................................................................................................................. 93 Figure 23 Definition of Channel Status Bits 20 to 23 ................................................................................................................................................................... 98 Figure 24 ARC Hardware Configuration ..................................................................................................................................................................................... 108 Figure 25 Reading EDID through the ADV7511 ........................................................................................................................................................................ 110 Figure 26 HDCP Software Implementation................................................................................................................................................................................. 114 Figure 27 Typical All-HDMI Home Theatre ............................................................................................................................................................................... 120 Figure 28 CEC Transmitter State Machine .................................................................................................................................................................................. 121 Figure 29 CEC Receiver Timestamp Operation – Message Arrival ......................................................................................................................................... 125 Figure 30 CEC Receiver Timestamp Operation – Partial Message Processing ...................................................................................................................... 126 Figure 31 CEC Receiver Timestamp Operation – New Message Arrival ................................................................................................................................ 127 Figure 32 CEC Receiver State Machine ........................................................................................................................................................................................ 128 Figure 33 ADV7511 EDID and DDC Controller Functional Flow .......................................................................................................................................... 144 Figure 34 Interrupt Handling......................................................................................................................................................................................................... 147 Figure 35 Interrupt Handling Example ........................................................................................................................................................................................ 148 Page 7 of 203 Rev G PROGRAMMING GUIDE ADV7511 TABLE OF TABLES Table 1 I2C Bus Related Registers (Main Map) ............................................................................................................................................................................. 16 Table 2 Hot Plug Detect (HPD) and Monitor Sense Related Registers (Main Map) ............................................................................................................... 18 Table 3 Hot Plug Detect (HPD) and Monitor Sense Related Registers (CEC Map) ................................................................................................................ 19 Table 4 HDMI DVI Selection Related Registers (Main Map) ..................................................................................................................................................... 19 Table 5 AV Mute Related Registers (Main Map) ........................................................................................................................................................................... 20 Table 6 TMDS Power-Down Related Registers (Main Map) ...................................................................................................................................................... 21 Table 7 Source Product Description (SPD) Packet Related Registers (Main Map) ................................................................................................................. 23 Table 8 Source Product Description (SPD) Packet Related Registers (Packetmemory Map) ................................................................................................ 23 Table 9 Spare Packets Related Registers (Main Map) ................................................................................................................................................................... 24 Table 10 Spare Packets Related Registers (Packetmemory Map) .............................................................................................................................................. 24 Table 11 DDCController Status ..................................................................................................................................................................................................... 25 Table 12 Error Code Definitions .................................................................................................................................................................................................... 25 Table 13 System Monitoring Related Registers (Main Map)...................................................................................................................................................... 26 Table 14 Fixed Registers That Must Be Set (Main Map) ............................................................................................................................................................ 26 Table 15 Input ID Selection ............................................................................................................................................................................................................ 27 Table 16 Normal RGB or YCbCr 4:4:4 (36, 30, or 24 bits) with Separate Syncs; Input ID = 0 ............................................................................................. 27 Table 17 YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘10’ (left justified) Input ID = 1 or 2 ........................................... 28 Table 18 YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘01’ (right justified) Input ID = 1 or 2 ........................................ 29 Table 19 YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘00’ (evenly distributed) Input ID = 1 or 2 ................................ 30 Table 20 YCbCr 4:2:2 Formats (12,10, or 8 bits) Input Data Mapping: 0x48[4:3]=10(left justified) Input ID=3,4,7or 8 ................................................. 31 Table 21 YCbCr 4:2:2 Formats (12,10 or 8 bits) Input Data Mapping: 0x48[4:3]=01(right justified) Input ID=3,4,7 or 8 .............................................. 32 Table 22 YCbCr 4:2:2 Formats (12,10 or 8 bits) Input Data Mapping: 0x48[4:3]=00 (evenly dist.) Input ID=3,4,7 or 8 ................................................. 33 Table 23 RGB or YCbCr 4:4:4 (12 bits) DDR with Separate Syncs: Input ID = 5, left aligned (0x48[5] = 1) ..................................................................... 35 Table 24 RGB or YCbCr 4:4:4 (12 bits) DDR with Separate Syncs: Input ID = 5, right aligned (0x48[5] = 0) .................................................................. 36 Table 25 YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, right justified (0x48[4:3] = ‘01’) ......................................................... 37 Table 26 YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, left justified (0x48[4:3] = ‘10’) ............................................................ 38 Table 27 YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, evenly distributed (0x48[4:3] = ‘00’) ................................................. 39 Table 28 Input Formatting Related Registers (Main Map) ......................................................................................................................................................... 42 Table 29 Video Mode Detection Related Registers (Main Map) ............................................................................................................................................... 45 Table 30 Pixel Repetition Related Registers (Main Map) ........................................................................................................................................................... 49 Table 31 Deep Color Conversion Related Registers (Main Map) ............................................................................................................................................. 52 Table 32 DE and HSync/Vsync Generation Common Format Settings .................................................................................................................................. 56 Table 33 Register Settings for DE Generation .............................................................................................................................................................................. 56 Table 34 Register Settings for Sync Adjustment .......................................................................................................................................................................... 57 Table 35 Register Settings for Embedded Sync Processing ........................................................................................................................................................ 58 Table 36 DE, Hsync and Vsync Generation Related Registers (Main Map) ............................................................................................................................ 58 Page 8 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 37 CSC Mode Settings........................................................................................................................................................................................................... 61 Table 38 CSC Port Mapping ........................................................................................................................................................................................................... 61 Table 39 HDTV YCbCr (Limited Range) to RGB (Limited Range) ......................................................................................................................................... 62 Table 40 HDTV YCbCr (Limited Range) to RGB (Full Range) ................................................................................................................................................ 62 Table 41 SDTV YCbCr (Limited Range) to RGB (Limted Range)............................................................................................................................................ 62 Table 42 SDTV YCbCr (Limited Range) to RGB (Full Range) ................................................................................................................................................. 62 Table 43 RGB (Limited Range) to HDTV YCbCr (Limited Range) ......................................................................................................................................... 63 Table 44 RGB (Full Range) to HDTV YCbCr (Limited Range) ................................................................................................................................................ 63 Table 45 RGB (Limted Range) to SDTV YCbCr (Limited Range)............................................................................................................................................ 63 Table 46 RGB (Full Range) to SDTV YCbCr (Limited Range) ................................................................................................................................................. 63 Table 47 HDTV YCbCr (Limited Range) to SDTV YCbCr (Limited Range) ......................................................................................................................... 64 Table 48 HDTV YCbCr (Limited Range) to SDTV YCbCr (Full Range) ................................................................................................................................ 64 Table 49 SDTV YCbCr (Limited Range) to HDTV YCbCr (Limited Range) ......................................................................................................................... 64 Table 50 SDTV YCbCr (Full Range) to HDTV YCbCr (Limited Range) ................................................................................................................................ 64 Table 51 SDTV YCbCr (Limited Range) to SDTV YCbCr (Full Range) ................................................................................................................................. 65 Table 52 HDTV YCbCr (Full Range) to SDTV YCbCr (Limited Range) ................................................................................................................................ 65 Table 53 RGB (Full Range) to RGB (Limited Range) ................................................................................................................................................................. 65 Table 54 RGB (Limited Range) to RGB (Full Range).................................................................................................................................................................. 65 Table 55 Identity Matrix (Input = Output) ................................................................................................................................................................................... 66 Table 56 HDTV YCbCr (16to 235) to RGB (16to 235) ............................................................................................................................................................ 66 Table 57 HDTV YCbCr (16to 235) to RGB (0 to 255)............................................................................................................................................................... 66 Table 58 SDTV YCbCr (16to 235) to RGB (16 to 235) .............................................................................................................................................................. 66 Table 59 SDTV YCbCr (16to 235) to RGB (0 to 255) - (Default Value) ............................................................................................................................... 66 Table 60 RGB (16 to 235) to HDTV YCbCr (16to 235) ............................................................................................................................................................ 67 Table 61 RGB (0 to 255) to HDTV YCbCr (16to 235)............................................................................................................................................................... 67 Table 62 RGB (16 to 235) to SDTV YCbCr (16to 235) .............................................................................................................................................................. 67 Table 63 RGB (0 to 255) to SDTV YCbCr (16to 235) ................................................................................................................................................................ 68 Table 64 Identity Matrix (Output = Input) ................................................................................................................................................................................... 68 Table 65 Color Space Converter (CSC) Related Registers (Main Map) ................................................................................................................................... 68 Table 66 Color Space Converter (CSC) Related Registers (CEC Map) .................................................................................................................................... 70 Table 67 AVI InfoFrame Related Registers (Main Map)............................................................................................................................................................. 72 Table 68 MPEG InfoFrame Related Registers (Main Map) ........................................................................................................................................................ 76 Table 69 MPEG InfoFrame Related Registers (Packetmemory Map) ...................................................................................................................................... 76 Table 70 Gamut Metadata Packet Related Registers (Main Map) ............................................................................................................................................. 79 Table 71 Gamut Metadata Packet Related Registers (Packetmemory Map) ............................................................................................................................ 79 Table 72 Pixel Repeat Values for 3D Formats............................................................................................................................................................................... 81 Table 73 Audio Input Format Summary ....................................................................................................................................................................................... 82 Page 9 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 74 Input Format Related Registers (Main Map) ................................................................................................................................................................ 83 Table 75 Inter-IC Sound (I2S) Audio Related Registers (Main Map) ....................................................................................................................................... 88 Table 76 Sony/Philips Digital Interface (SPDIF) Audio Related Registers (Main Map) ........................................................................................................ 89 Table 77 Direct Stream Digital (DSD) Audio Related Registers (Main Map) ......................................................................................................................... 90 Table 78 High Bit-Rate (HBR) Audio Related Registers (Main Map) ...................................................................................................................................... 91 Table 79 Direct Stream Transfer (DST) Audio Related Registers (Main Map) ....................................................................................................................... 92 Table 80 Recommended N and Expected CTS Values for 32KHz Audio ................................................................................................................................ 94 Table 81 Recommended N and Expected CTS values for 44.1KHz Audio and Multiples .................................................................................................... 94 Table 82 Recommended N and Expected CTS values for 448KHz Audio and Multiples ..................................................................................................... 95 Table 83 N and CTS Related Registers (Main Map) .................................................................................................................................................................... 95 Table 84 I2S Channel Status ADV7511 Register Map Location or Fixed Value ..................................................................................................................... 97 Table 85 Audio Sample Packets Related Registers (Main Map) ................................................................................................................................................ 99 Table 86 Audio Channel Mapping ............................................................................................................................................................................................... 101 Table 87 Audio InfoFrame Related Registers (Main Map) ....................................................................................................................................................... 101 Table 88 Audio Content Protection (ACP) Packet Related Registers (Main Map)............................................................................................................... 103 Table 89 Audio Content Protection (ACP) Packet Related Registers (Packetmemory Map) ............................................................................................. 104 Table 90 International Standard Recording Code (ISRC) Packet Related Registers (Main Map) ...................................................................................... 105 Table 91 International Standard Recording Code (ISRC) Packet Related Registers (Packetmemory Map) ..................................................................... 105 Table 92 Audio Return Channel (ARC) Related Registers (Main Map) ................................................................................................................................ 109 Table 93 EDID Handling Related Registers (Main Map) ......................................................................................................................................................... 111 Table 94 HDCP Related Register (EDID Memory Map) ......................................................................................................................................................... 112 Table 95 HDCP Handling Related Registers (Main Map)........................................................................................................................................................ 115 Table 96 Main Power Down Conditions ..................................................................................................................................................................................... 118 Table 97 Register Reset Control ................................................................................................................................................................................................... 118 Table 98 Additional Power Down Methods and Effects ........................................................................................................................................................... 119 Table 99 Power Management Related Registers (Main Map) .................................................................................................................................................. 119 Table 100 Some typical“End-User” CEC Features: ...................................................................................................................................................................... 120 Table 101 CEC Transmitter Related Registers (Main Map) ....................................................................................................................................................... 121 Table 102 CEC Transmitter Related Registers (CEC Map) ........................................................................................................................................................ 123 Table 103 CEC Receiver Related Registers (Main Map) ............................................................................................................................................................. 129 Table 104 CEC Receiver Related Registers (CEC Map) .............................................................................................................................................................. 129 Table 105 CEC Clock Timing Register Settings (CEC Memory Map) for 3MHz CEC Clock .............................................................................................. 135 Table 106 CEC Clock Timing Register Settings (CEC Memory Map) for 13.5MHz CEC Clock ......................................................................................... 136 Table 107 CEC Clock Timing Register Settings (CEC Memory Map) for 27MHz CEC Clock ............................................................................................ 137 Table 108 CEC System Control Related Registers (Main Map) ................................................................................................................................................. 138 Table 109 CEC System Control Related Registers (CEC Map) .................................................................................................................................................. 140 Table 110 Interrupt Handling Registers ........................................................................................................................................................................................ 145 Page 10 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 111 Interrupt Handling Related Registers (Main Map) ................................................................................................................................................... 149 Table 112 Packetmemory ................................................................................................................................................................................................................ 183 Table 113 CEC Memory .................................................................................................................................................................................................................. 193 Page 11 of 203 Rev G PROGRAMMING GUIDE ADV7511 SECTION 1 - INTRODUCTION 1.1 1.1.1 Scope and Organization Organization This document is intended to help a programmer understand the details of the operation of the ADV7511. It is divided into sections: ▶ ▶ ▶ ▶ 1.1.2 Section 2 -References- is a list of other references, which will be helpful when designing with the HDMI Transmitter. Section 3 -Quick Start Guide- provides a reference to commonly used registers divided by function. Section 4 -Programming Tasks- is divided into common programming tasks. This section includes references to registers and detailed descriptions of the method to accomplish the task. For some tasks, the needed registers will be spread throughout the map, so this section helps the user locate the registers. Section 5 -Register Mapscontains the complete register maps - The main register map contains cross-reference links to sections within the document that contain the relevant details on using each bit described. Use of Register Bits Different bits on a single byte may have various functions. ▶ Section 4 -Programming Tasks may refer to an isolated bit. Using a “read, modify, write” method when changing the value of these bits is recommended to guarantee that other bits in the register will not be affected. To find the functions of other bits in the byte, refer to ▶ Section 5 -Register Maps, where the Reference column points to the section with more detailed information about the register. 1.1.3 Register Types Registers that do not have a defined functionality will be one of three types: 1.1.4 Fixed Value may need to be set one time, but should never be changed. Reserved Register exists, but has no function. Not Used Register does not exist and will always be read back as 0. Any register not defined in the complete register map fits this description. Format Standards In this document, ADI has chosen to represent data in the following ways: 0xNN Hexadecimal (base-16) numbers are represented using the “C” language notation, preceded by 0x. 0bNN Binary (base-2) numbers are represented using “C” language notation, preceded by 0b. NN Decimal (base-10) numbers are represented using no additional prefixes or suffixes. Bit Bits are numbered in little-endian format; i.e., the least-significant bit of a byte or word is referred to as bit 0. Bit descriptions in the register maps are assumed to be binary. 1.1.5 Links There are many links in this document to help with navigation. Use a mouse click to follow a link, and use the Alt key + left arrow key to return. Page 12 of 203 Rev G PROGRAMMING GUIDE 1.1.6 ADV7511 Symbols Symbols are used to indicate internal and external document references as follows: ▶ ▷ Indicates a reference to another section of this document. Indicates a reference to another document, either an ADI document or an external specification. Page 13 of 203 Rev G PROGRAMMING GUIDE ADV7511 SECTION 2 - REFERENCES 2.1 ADI Documents ▷ ▷ ▷ 2.2 ADV7511 Data Sheet ADV7511 Hardware User’s Guide ADV7511 Software Driver User’s Guide Specifications ▷ ▷ ▷ ▷ ▷ ▷ EIA/CEA-861 HDMI Specification 1.4 HDCP 1.3 IEC 60958 IEC 61937 The I 2C-Bus Specification Page 14 of 203 Rev G PROGRAMMING GUIDE ADV7511 SECTION 3 - QUICK START GUIDE The Quick Start guide brings attention to registers that need to be configured when initially bringing up the HDMI transmitter. For detailed information, refer to the section number link on the right side of the page. Complete registers and their descriptions are listed in ▶ Section 5 -Register Maps Power-up the Tx (HPD must be high) 0x41[6] = 0b0 for power-up – power-down Fixed registers that must be set on power up 0x98 = 0x03 0x9A[7:5] = 0b111 0x9C = 0x30 0x9D[1:0] = 0b01 0xA2 = 0xA4 0xA3 = 0xA4 0xE0[7:0] = 0xD0 0xF9[7:0] = 0x00 Set up the video input mode 0x15[3:0] – Video Format ID (default = 4:4:4) 0x16[5:4] – Input Color Depth for 4:2:2 (default = 12 bit) 0x16[3:2] – Video Input Style (default style = 2) 0x17[1] – Aspect ratio of input video (4x3 = 0b0, 16x9 = 0b1) Set up the video output mode 0x16[7:6] = 0b0 for 4:4:4 – Output Format (4:4:4 vs 4:2:2) 0x18[7] = 0b1 for YCbCr to RGB – CSC Enable 0x18[6:5] = 0b00 for YCbCr to RGB – CSC Scaling Factor 0xAF[1] = 0b1 for HDMI – Manual HDMI or DVI mode select 0x40[7] = 0b1 – Enable GC 0x4C[3:0] – Output Color Depth and General Control Color Depth (GC CD) HDCP 0xAF[7] = 0b1 for enable HDCP 0x97[6] – BKSV Interrupt Flag (Wait for value to be 0b1 then write 0b1) Audio setup 0x01 – 0x03 = 0x001800 for 48kHz - N Value 0x0A[6:4] – Audio Select (I2S = 0b000, SPDIF = 0b001, DSD = 0b010, HBR = 0b011, DST = 0b011) Audio Mode 0x0B[7] = 0b1 – SPDIF Enable 0x0C[5:2] = 0b1111 – I2S Enable 0x46 = 0xFF – DSD Enable 0x15[7:4] – I2S Sampling Frequency 0x0A[3:2] – Audio Mode 0x0A[3:2] – Audio Select Page 15 of 203 ▶ 4.8 ▶ 4.2.9 ▶ 4.2.9 ▶ 4.2.9 ▶ 4.2.9 ▶ 4.2.9 ▶4.2.9 ▶ 4.2.9 ▶ 4.2.9 ▶4.3.2 ▶4.3.2 ▶4.3.2 ▶4.3.3 ▶4.3.5 ▶4.3.8 ▶4.3.8 ▶ 4.2.2 ▶ 4.3.6 ▶ 4.3.6 ▶4.7 ▶4.7 ▶4.4.2 ▶ 4.4.1 ▶ 4.4.1.2 ▶ 4.4.1.1 ▶ 4.4.1.3 ▶ 4.4.1.1 ▶4.4.1 ▶ 4.4.1 Rev G PROGRAMMING GUIDE ADV7511 SECTION 4 - PROGRAMMING TASKS 4.1 I2C Bus The ADV7511 uses four I2C register maps. The SDA/SCL programming address for the Main Register Map is 0x72 or 0x7A, based on whether PD/AD is pulled high (10KΩ resistor to power supply = 0x7A) or pulled low (10KΩ resistor to GND = 0x72) when power is applied to the supplies. The user should wait 200ms for the address to be decided, after the power supplies are high, before attempting to communicate with the ADV7511 using I2C. A complete listing of the Main Register Map is provided in Section 5 -Register Maps Refer to the “I2C Interface (access to the ADV7511 registers)” section in the ▷ ADV7511 Hardware User’s Guide for information about I2C hardware. The device address for the Packet Memory is programmable and is controlled by register 0x45 of the Main Register Map. The default setting is 0x70. The details of the Packet Memory Map can be found in ▶ Table 112. The EDID Memory address is programmable and controlled by register 0x43 of the Main Register Map.The default setting is 0x7E. The details of the CEC Memory Map can be found in ▶ Table 113. The CEC Memory address is programmable and controlled by register 0xE1 of the Main Register Map. The default setting is 0x78. Unless otherwise stated, all register references in this document refer to the Main Register Map. The Fixe I2C Address register 0xF9 needs to be set to an I2C address that does not conflict with any other address on the board. 0x00 is an appropriate setting. Table 1 I2C Bus Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x43 R/W [7:0] 01111110 EDID Memory Address The I2C address for EDID memory 0x44 R/W [0] *******1 Packet Read Mode Packet Memory Read Mode 0=Allow user to read from packet memory 1=Allow HDMI logic to read from packet memory 0x45 R/W [7:0] 01110000 Packet Memory I2C Map Address 0xE1 R/W [7:0] 01111000 CEC Map Address The I2C address for CEC I2C control map 0xF9 R/W [7:0] 01111100 Fixed I2C Address This should be set to a non-conflicting I2C address (set to 0x00) Page 16 of 203 The I2C address for the packet memory Rev G PROGRAMMING GUIDE 4.2 4.2.1 ADV7511 General Control Hot Plug Detect (HPD) and Monitor Sense To operate the ADV7511, it is necessary to monitor the Hot Plug Detect (HPD) signal and power up the part after HPD becomes high. To power up the part, the Power Down register bit (0x41[6]) must be written to 0 when the HPD pin is high. The status of the HPD pin can be read in register bit 0x42[6]. Both the HPD pin and Capability Discovery and Control (CDC) HPD will be used for the internal HDCP signal. The CDC HPD signal is used as the HPD signal when HEC is active, because the physical HPD line needs to be held high for HEC. The HPD source can be selected with the HPD Control Register Bits 0xD6[7:6]. When these bits are set to 0b00, both the HPD pin and CDC HPD will be used for the internal HPD signal. When these bits are set to0b01 only the CDC HPD will be used, and 0b10 means that only the HPD pin will be used. When 0xD6[7:6] is set to 0b11 the HPD signal will always be high, but the HPD interrupt will still respond to the HPD pin. To use the CDC HPD register bit 0x7F[6] of the CEC Map must be set to 1 and 0x80 and 0x81of the CEC Map need to be set to products containing the HDMI Tx’s physical address. When the signal on HPD is low, some registers cannot be written to. When HPD goes from high to low, some registers will be reset to their defaults. For additional details see ▶ Table 97. Refer to ▶ 4.11 for details on the use of interrupts. If there is a need to power up the part when the HPD signal is low, the HPD can be overridden using the HPD Control register bit (0xD6[7] = 1. This would be needed, for example, when reading the EDID from an HDMI port when the HPD is low in order to find its CEC physical address. The best method to determine when the HPD is high is to use the interrupt system. The bit representing an HPD interrupt is 0x96[7]. Refer to ▶ 4.11 for details on the use of interrupts. Monitor Sense refers to the detection of TMDS clock line pull-ups in the HDMI sink. If greater than 1.8V is detected, the Monitor Sense interrupt will be triggered and the Monitor Sense State bit (0x42[5]) will be 1. One reason to detect the Monitor Sense is to delay powering up the chip until the Rx is actually ready to receive signals. A typical implementation for a sink is to tie the HDMI 5V to HPD through a series resistor. In this case, the HPD signal will be detected regardless of whether the sink is powered on and ready to receive audio and video. For this reason it is best to wait for both the Monitor Sense and HPD before powering up the chip when trying to achieve minimum power consumption. An internal weak pull-down resistor is available in the HDMI Tx to reduce BOM cost. This can be enabled by setting the HPD Pull Down register bit 0xE0[0] to 1. Page 17 of 203 Rev G PROGRAMMING GUIDE Table 2 Address 0x42 0x94 0x96 0xA1 0xD6 ADV7511 Hot Plug Detect (HPD) and Monitor Sense Related Registers (Main Map) Type Bits Default Value Register Name Function [6] *0****** HPD State State of HDMI sink 0 = Hot Plug Detect state is low 1 = Hot Plug Detect state is high [5] **0***** Monitor Sense State State of the monitor connection 0 = HDMI clock termination not detected 1 = HDMI clock termination detected [7] 1******* HPD Interrupt Enable HPD Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [6] *1****** Monitor Sense Interrupt Enable Monitor Sense Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [7] 0******* HPD Interrupt HPD Interrupt 0 = no interrupt detected 1 = interrupt detected [6] *0****** Monitor Sense Interrupt Monitor Sense Interrupt 0 = no interrupt detected 1 = interrupt detected [6] *0****** Monitor Sense Power Down Monitor Sense Power Down 0 = Monitor Sense monitoring enabled 1 = Monitor Sense monitoring disabled HPD Control HPD Control 00 = HPD is from both HPD pin or CDC HPD 01 = HPD is from CDC HPD 10 = HPD is from HPD pin 11 = HPD is always high RO R/W R/W R/W R/W [7:6] 00****** Page 18 of 203 Rev G PROGRAMMING GUIDE Table 3 Hot Plug Detect (HPD) and Monitor Sense Related Registers (CEC Map) Address Type Bits 0x7F ADV7511 R/W [6] R/W [15:0] 0x80 Default Value Register Name Function *1****** CDC HPD Response Enable Controls whether to toggle internal HPD signals when receiving CDC HPD message 1 = enable 0 = disable CEC Physical Address Physical address of CEC device 00000000 0x81 00000000 0x82 R/W [7:0] 00000001 CDC HPD Timer Count Controls the time CDC HPD stays low when receiving CDC HPD toggle message. HPD low = CDC_HPD_Timer_Count * CEC_CLK. CEC_CLK is 760KHz by default. 0x83 RO [7] 0******* CDC HPD HPD signal from CEC interface 4.2.2 HDMI DVI Selection The HDMI Transmitter supports both HDMI and DVI modes. HDMI or DVI mode is selected by 0xAF[1]. In DVI mode no packets will be sent, and all registers relating to packets and InfoFrames will be disregarded. DVI only supports the RGB color space, so, if the input is not RGB, it is important to remember to set the color space conversion to output RGB when DVI is enabled. See ▶ 0 for details about the Color Space Converter. The current mode of HDMI or DVI can be confirmed by the read only (RO) bit 0xC6[4]. Table 4 HDMI DVI Selection Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0xAF R/W [1] ******0* HDMI/DVI Mode Select HDMI Mode 0 = DVI Mode 1 = HDMI Mode 4.2.3 AV Mute The AV Mute bits are sent to the Rx through the General Control Packet (GCP). One purpose of the AV Mute is to alert the Rx of a change in the TMDS clock so the Rx can mute audio and video. AV Mute also pauses HDCP encryption, so the HDCP link is maintained while the TMDS clock is not stable. It can also be used in general to tell the sink to mute audio and video. AV Mute is not sufficient as a means to hide protected content, because the content is still sent even when AV Mute is enabled. To use AV Mute, enable the GCP by setting the GC Packet Enable register bit (0x40[7]) to 1. To set AV mute, clear the Clear AV Mute bit (0x4B[7] = 0) and set the Set AV Mute bit (0x4B[6] = 1). To clear AV mute, clear Set AV Mute (0x4B[6] = 0) and set Clear AV Mute (0x4B[7] = 1). Note that it is invalid to set both bits to 1. To avoid a partial update of the General Control packet, the Packet Update features should be used. By setting the GC Packet Update register bit (0x48[4] Packet Memory) to 1, the current values for GC Header and Packet Bytes will be stored and sent in the GC Packets. The user should update the values then set the GC Packet Update register bit to 0 to begin sending the new packets. Page 19 of 203 Rev G PROGRAMMING GUIDE Table 5 ADV7511 AV Mute Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 [7] 0******* GC Packet Enable GC Packet Enable 0 = GC Packet Disabled 1 = GC Packet Enabled [4] ***0**** GC Packet Update GC Packet Update: Before updating the GC Packet using I2C set to '1' to continue sending the current values. 0 = GC Packet I2C update inactive 1 = GC Packet I2C update active [7] 0******* Clear AV Mute Clear Audio Video Mute 0 = Clear 1 = Set clear av mute [6] *0****** Set AV Mute Set Audio Video Mute 0 = Clear 1 = Set av mute. 0x4A 0x4B 4.2.4 R/W R/W R/W TMDS Power-Down The differential outputs of the ADV7511 can be powered down. This can be useful for ensuring that no invalid data will be put on the HDMI link until the register settings have been confirmed. To avoid glitches in the TMDS clock at turn-on, a soft TMDS clock turn-on feature is provided. Enable the two Soft TMDS Clock Turn On registers before disabling Clock Driver Power Down. When the clock is active, disable the Soft TMDS Clock Turn On registers. The TMDS Clock can be inverted by setting the TMDS Clock Inversion register bit 0xDE[3] to 1. This can be useful when using test equipments that has a dependency on the relationship between the TMDS clock and data. Page 20 of 203 Rev G PROGRAMMING GUIDE Table 6 Address 0xA1 ADV7511 TMDS Power-Down Related Registers (Main Map) Type Bits Default Value Register Name Function [5] **0***** Channel 0 Power Down Channel 0 Power Down 0 = power up 1 = power down [4] ***0**** Channel 1 Power Down Channel 1 Power Down 0 = power up 1 = power down [3] ****0*** Channel 2 Power Down Channel 2 Power Down 0 = power up 1 = power down [2] *****0** Clock Driver Power Down Clock Driver Power Down 0 = power up 1 = power down R/W 0xD6 R/W [4] ***0**** TMDS CLK Soft Turn On Soft TMDS Clock Turn On 0 = Soft Turn On Disabled 1 = Soft Turn On Enabled 0xDE R/W [3] ****0*** TMDS Clock Inversion TMDS Clock Inversion 0 = Normal TMDS Clock 1 = Inverted TMDS Clock 4.2.5 Packet Update To avoid a partial update of the packets the Packet Update feature should be used. By setting the Packet Update register bit to 1the current values will be stored and sent in the packets. The user should update the values then set the Packet Update register bit to 0 to begin sending the new packets. The Packet Update feature is available for the following packets. ■ ■ ■ ■ ■ ■ ■ ■ ■ AVI InfoFrame Audio InfoFrame GC Packet SPD Packet ACP Packet ISRC1 Packet ISRC2 Packet Spare Packet1 Spare Packet2 ▶Figure 1 shows a block diagram depicting the internal structure of the Packet Update block of the ADV7511. As seen in ▶Figure 1, only one Packet Update Buffer is available, which means that only one Packet can be updated at a given time. When the respective Packet Update register bit is set to ‘1’, the contents of the packet are copied over from I2C memory to the Packet Update Buffer, and during this time the I2C contents can be updated without causing any disturbances on the screen. Copying over from I2C memory contents to the Packet Update Buffer happens within one TMDS clock cycle. Once the update is finished, the respective Packet Update register bit can set back to ‘0’, and the next packet can be updated. As seen in the below figure, when the respective Packet Update register bit is set to ‘1’, the contents of the Packet Update Buffer are used instead of the I2C memory contents to send across the TMDS link.It should be noted that at all packet updates are sent across the TMDS link during the next available blanking period. Page 21 of 203 Rev G PROGRAMMING GUIDE Figure 1 4.2.6 ADV7511 Packet Update Source Product Description (SPD) Packet The Source Product Description (SPD) packet contains the vendor name and product description. One application of this packet is to allow the Rx to display the source information on an OSD. This information is in 7-bit ASCII format. Refer to the ▷ HDMI 1.4 specification for more detail. To avoid a partial update of the SPD packet the Packet Update features should be used. By setting the SPD Packet Update register bit (0x1F[7] Packet Memory) to 1, the current values for SPD Header and Packet Bytes (0x0 – 0x1E Packet Memory) will be stored and sent in the SPD packets. The user should update the values then set the SPD Packet Update register bit to ‘0’ to begin sending the new packets. See section 4.2.5 for details. Page 22 of 203 Rev G PROGRAMMING GUIDE Table 7 ADV7511 Source Product Description (SPD) Packet Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 R/W [6] *0****** SPD Packet Enabled SPD Packet Enable 0 = Disabled 1 = Enabled 0x4A R/W [7] 1******* Auto Checksum Enable Auto Checksum Enable 0 = Use checksum from registers 1 = Use automatically generated checksum Table 8 Source Product Description (SPD) Packet Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0x00 R/W [7:0] 00000000 SPD Header Byte 0 0x01 R/W [7:0] 00000000 SPD Header Byte 1 0x02 R/W [7:0] 00000000 SPD Header Byte 2 0x03 R/W [7:0] 00000000 SPD Packet Byte 0 … … … … … 0x1E R/W [7:0] 00000000 SPD Packet Byte 27 0x1F 4.2.7 R/W [7] 0******* Function … SPD Packet Update SPD Packet Update: Before updating the SPD Packet using I2C set to '1' to continue sending the current values. 0 = SPD Packet I2C update inactive 1 = SPD Packet I2C update active Spare Packets Spare packets are defined by the user. This allows the ADV7511 to adapt to future changes and additions to the ▷ HDMI specification. To avoid a partial update of the Spare Packets the Packet Update features should be used. By setting the Spare Packet 1 Update register bit (0xDF[7] Packet Memory) or Spare Packet 2 Update register bit (0xFF[7] Packet Memory) to 1, the current values will be stored in the Spare Packet Header and Packet Bytes (0xC0 – 0xDE and 0xE0 to 0xFE Packet Memory) and sent in the Spare Packets. The user should update the values then set the Spare Packet 1 Update or Spare Packet 2 Update register bit to ‘0’ to begin sending the new packets. See section 4.2.5 for details. Page 23 of 203 Rev G PROGRAMMING GUIDE Table 9 ADV7511 Spare Packets Related Registers (Main Map) Address Type 0x40 Bits Default Value Register Name Function [1] ******0* Spare Packet 2 Enable Spare Packet 2 Enable 0 = Disabled 1 = Enabled [0] *******0 Spare Packet 1 Enable Spare Packet 1 Enable 0 = Disabled 1 = Enabled R/W Table 10 Spare Packets Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0xC0 R/W [7:0] 00000000 Spare Packet 1 Header Byte 0 0xC1 R/W [7:0] 00000000 Spare Packet 1 Header Byte 1 0xC2 R/W [7:0] 00000000 Spare Packet 1 Header Byte 2 0xC3 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 0 … … … … … 0xDE R/W [7:0] 00000000 Spare Packet 1 Packet Byte 27 … 0xDF R/W [7] 0******* Spare Packet 1 Update 0xE0 R/W [7:0] 00000000 Spare Packet 2 Header Byte 0 … … … … … 0xFE R/W [7:0] 00000000 Spare Packet 2 Packet Byte 27 0xFF 4.2.8 R/W [7] 0******* Function Spare Packet 1 Update Before updating the Spare Packet1 using I2C set to '1' to continue sending the current values. 0 = Spare Packet 1 I2C update inactive. 1 = Spare Packet 1 I2C update active. … Spare Packet 2 Update Spare Packet 2 Update Before updating the Spare Packet 2 using I2C set to '1' to continue sending the current values. 0 = Spare Packet 2 I2C update inactive 1 = Spare Packet 2 I2C update active System Monitoring The ADV7511 utilizes both interrupts and registers to report errors and the status of internal operations. See ▶ 4.11 for details about using interrupts. 4.2.8.1 DDCController Status The current state of the DDC controller can be read from the DDC Controller State I2C register (0xC8 [3:0]). The codes for this register are shown in ▶ Table 11. Page 24 of 203 Rev G PROGRAMMING GUIDE DDCController Status Table 11 0xC8 [3:0] 0000 0001 0010 0011 0100 0101 4.2.8.2 ADV7511 DDC ControllerState In Reset (No Hot Plug Detected) Reading EDID IDLE (Waiting for HDCP Requested) Initializing HDCP HDCP Enabled Initializing HDCP Repeater HDCP/EDID Controller Error Codes If an error occurs, the ADV7511 can send and interrupt. See ▶ 4.11 for details about using interrupts. An error code is then reported in the DDC Controller Error register (0xC8 [7:4]). ▶ Table 12 lists the possible error conditions and the corresponding 4-bit error code. The error code is only valid when the error interrupt is 1. The last error code will remain in the DDC Controller Error register even when the interrupt is cleared. Table 12 Error Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 Error Code Definitions Error Condition No Error Bad Receiver BKSV Ri Mismatch Pj Mismatch I2C Error (usually a no-ack) Timed Out Waiting for Downstream Repeater DONE Max Cascade of Repeaters Exceeded SHA-1 Hash Check of KSV List Failed Too Many Devices Connected to Repeater Tree Page 25 of 203 Rev G PROGRAMMING GUIDE Table 13 ADV7511 System Monitoring Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x95 R/W [7] 0******* DDC Controller Error Interrupt Enable DDC Controller Error Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 0x97 R/W [7] 0******* DDC Controller Error Interrupt DDC Controller Error Interrupt 0 = no interrupt detected 1 = interrupt detected 0x9E RO [4] ***0**** PLL Lock Status PLL Lock Status 0 = PLL Not Locked 1 = PLL Locked [7:4] 0000**** DDC Controller Error DDC Controller Error Error code report when the DDC Controller Error Interrupt register 0x97[7] = 1 [3:0] ****0000 DDC Controller State DDC Controller State State of the controller used for HDCP debug purposes 0xC8 4.2.9 RO Fixed Registers That Must Be Set After HPD becomes low the ADV7511 will be powered down and many registers reset. When HPD becomes high, it must be powered up by using the Power Down register bit (0x41[6]). The following fixed registers should be set after power up: Table 14 4.3 4.3.1 Fixed Registers That Must Be Set (Main Map) Address Type Bits Default Value Register Name Function 0x98 R/W [7:0] 00001011 Fixed Must be set to0x03 for proper operation 0x9A R/W [7:1] 0000000* Fixed Must be set to 0b1110000 0x9C R/W [7:0] 01011010 Fixed Must be set to 0x30 for proper operation 0x9D R/W [1:0] ******00 Fixed Must be set to 0b01 for proper operation 0xA2 R/W [7:0] 10000000 Fixed Must be set to 0xA4 for proper operation 0xA3 R/W [7:0] 10000000 Fixed Must be set to 0xA4 for proper operation 0xE0 R/W [7:0] 10000000 Fixed Must be set to 0xD0 for proper operation 0xF9 R/W [7:0] 01111100 Fixed I2C Address This should be set to a non-conflicting I2C address (set to 0x00) Video Setup Input Formatting The ADV7511 accepts video data from as few as eight pins (either YCbCr 4:2:2 double data rate [DDR] or YCbCr 4:2:2 with 2x pixel clock) or as many as 36 pins (RGB 4:4:4 or YCbCr 4:4:4). In addition it accepts HSYNC, VSYNC and DE (Data Enable). The ADV7511 is able to detect all of the 59 video formats defined in the ▷ EIA/CEA-861D specification. Either Page 26 of 203 Rev G PROGRAMMING GUIDE ADV7511 separate HSYNC, VSYNC, and DE, or embedded syncs in the style of the ITU BT.656, SMPTE 274M, and SMPTE 296M specifications are accepted. If less than 36 input pins are used, the alignment of the data can be defined as left justified (all data begins from D35), right justified (all data ends at D0), or evenly distributed. In the case of evenly distributed, the channel data is left-justified in their respective 12-bit fields. For example, an evenly distributed 24-bit RGB signal would have R[7:0] mapped to D[35:28]; G[7:0] mapped to D[23:16]; and B[7:0] mapped to D[11:4]. ▷ For timing details for video capture, refer to the Functional Description section of the ADV7511 Hardware User Guide. The tables in ▶ 4.3.2 define how the many different formats are accepted on the input data lines. Video Input Tables 4.3.2 Input ID Selection Table 15 Input ID 0 Bits per Color Pin Assignment Table Table 16 Table 16 Maximum Input Clock 165.0 MHz 150.0 MHz Format Name Sync Type RGB 4:4:4, YCbCr 4:4:4 RGB 4:4:4, YCbCr 4:4:4 Separate syncs Separate syncs 1 2 3 4 8, 10, 12 8, 10, 12 8, 10, 12 8, 10, 12 Table 17 – Table 19 165.0 165.0 82.5 82.5 MHz MHz MHz MHz YCbCr 4:2:2 YCbCr 4:2:2 YCbCr 4:2:2 2X clock YCbCr 4:2:2 2X clock Separate syncs Embedded syncs Separate syncs Embedded syncs 5 6 7 8 8, 10, 12 8, 10, 12 8, 10, 12 8, 10, 12 Table 23 – Table 24 Table 25 – Table 27 Table 20 – Table 22 82.5 82.5 82.5 82.5 MHz MHz MHz MHz RGB 4:4:4, YCbCr 4:4:4 DDR YCbCr 4:2:2 DDR YCbCr 4:2:2 DDR YCbCr 4:2:2 DDR Separate syncs Separate syncs Separate syncs Embedded syncs 8, 10 12 Normal RGB or YCbCr 4:4:4 (36, 30, or 24 bits) with Separate Syncs; Input ID = 0 Format Table 16 Mode Table 20 – Table 22 Input Data D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 36 bit RGB R[11:0] G[11:0] B[11:0] YCrCb Cr[11:0] Y[11:0] Cb[11:0] 30 bit RGB R[9:0] G[9:0] B[9:0] Y[9:0] Cb[9:0] 24 bit YCrCb Cr[9:0] RGB R[7:0] G[7:0] B[7:0] YCrCb Cr[7:0] Y[7:0] Cb[7:0] Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 An input format of RGB 4:4:4 or YCbCr 4:4:4 can be selected by setting the input ID (0x15 [3:0]) to 0x0. There is no need to set the Input Style (0x16[3:2]) or channel alignment (0x48[4:3]). For timing details see the ▷ ADV7511 Hardware User’s Guide. Page 27 of 203 Rev G PROGRAMMING GUIDE ADV7511 YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘10’ (left justified) Input ID = 1 or 2 Pixel Input Data D[35:0] Mode Table 17 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 24 bit 1st Cb[11:4] Y[11:4] Cb[3:0] Y[3:0] 2nd Cr[11:4] Y[11:4] Cr[3:0] Y[3:0] Cb[9:2] Y[9:2] Cb [1:0] Y [1:0] 2nd Cr[9:2] Y[9:2] Cr [1:0] Y [1:0] 1st Cb[7:0] Y[7:0] 2nd Cr[7:0] Y[7:0] 1st Cb[11:0] Y[11:0] 2nd Cr[11:0] Y[11:0] Style 1 20 bit 16 bit 1 st Style 2 24bit 20 bit 16 bit st Cb[9:0] Y[9:0] nd Cr[9:0] Y[9:0] st Cb[7:0] Y[7:0] nd Cr[7:0] Y[7:0] 1st Y[11:0] Cb[11:0] 2nd Y[11:0] Cr[11:0] 1 2 1 2 Style 3 24 bit 20 bit 16 bit st Y[9:0] Cb[9:0] nd Y[9:0] Cr[9:0] st Y[7:0] Cb[7:0] nd Y[7:0] Cr[7:0] 1 2 1 2 Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID = 1: An input with YCbCr 4:2:2 with separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0001. The data bit width (24, 20, or 16 bits) must be set with 0x16 [5:4]. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Input ID = 2: An input with YCbCr 4:2:2 with embedded syncs (SAV [Start of Active Video] and EAV [End of Active Video]) can be selected by setting the Input ID (0x15[3:0]) to 0b0010. The data bit width (24 = 12 bits, 20 = 10 bits, or 16 = 8 bits) must be set with 0x16 [5:4]. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The only difference between Input ID 1 and Input ID 2 is that the syncs on ID 2 are embedded in the data much like an ITU 656 style bus running at 1X clock and double width. Page 28 of 203 Rev G PROGRAMMING GUIDE ADV7511 YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘01’ (right justified) Input ID = 1 or 2 Table 18 Pixel Mode Input Data D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 24 bit 20 bit 16 bit 1st Cb[11:4] Y[11:4] Cb[3:0] Y[3:0] 2nd Cr[11:4] Y[11:4] Cr[3:0] Y[3:0] 1st Cb[9:2] Y[9:2] Cb [1:0] Y [1:0] 2nd Cr[9:2] Y[9:2] Cr [1:0] Y [1:0] 1st Cb[7:0] Y[7:0] nd Cr[7:0] Y[7:0] 2 Style 2 24 bit 20 bit 16 bit st Cb[11:0] Y[11:0] 2nd Cr[11:0] Y[11:0] 1st Cb[9:0] Y[9:0] 2nd Cr[9:0] Y[9:0] 1st Y[7:0] Cb[7:0] 2nd Y[7:0] Cr[7:0] 1 Style 3 24 bit 1st Y[11:0] Cb[11:0] nd Y[11:0] Cr[11:0] 2 20 bit 16 bit 1st Y[9:0] Cb[9:0] 2nd Y[9:0] Cr[9:0] 1st Y[7:0] Cb[7:0] 2nd Y[7:0] Cr[7:0] Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID = 1: An input with YCbCr 4:2:2 with separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0001. The data bit width (24, 20, or 16 bits) must be set with 0x16 [5:4]. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Input ID = 2: An input with YCbCr 4:2:2 with embedded syncs (SAV and EAV) can be selected by setting the Input ID (0x15[3:0]) to 0b0010. The data bit width (24 = 12 bits, 20 = 10 bits, or 16 = 8 bits) must be set with 0x16 [5:4]. The threeinput pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The only difference between Input ID 1 and Input ID 2 is that the syncs on ID 2 are embedded in the data much like an ITU 656 style bus running at 1X clock and double width. Page 29 of 203 Rev G PROGRAMMING GUIDE YCbCr 4:2:2 Formats (24, 20, or 16 bits) Input Data Mapping: 0x48[4:3] = ‘00’ (evenly distributed) Input ID = 1 or 2 Table 19 Input Data D[35:0] Pixel Mode ADV7511 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 24 bit 20 bit 16 bit 1st Cb[11:4] Y[11:4] Cb[3:0] Y[3:0] 2nd Cr[11:4] Y[11:4] Cr[3:0] Y[3:0] 1st Cb[9:2] Y[9:2] Cb [1:0] Y [1:0] 2nd Cr[9:2] Y[9:2] Cr [1:0] Y [1:0] 1st Cb[7:0] Y[7:0] nd Cr[7:0] Y[7:0] 1st Cb[11:4] Cb[3:0] Style 2 Y[11:8] Y[7:0] 2nd Cr[11:4] Cr[3:0] Y[11:8] Y[7:0] 1st Cb[9:2] Cb [1:0] Y[9:4] Y[3:0] 2nd Cr[9:2] Cr [1:0] Y[9:4] Y[3:0] 1st Cb[7:0] Y[7:0] nd Cr[7:0] Y[7:0] 1st Y[11:4] Style 3 Y[3:0] Cb[11:8] Cb[7:0] nd Y[11:4] Y[3:0] Cr[7:0] 1st Y[9:2] Y [1:0] Cb[9:4] Cb[3:0] 2nd Y[9:2] Y [10] Cr[9:4] Cr[3:0] 1st Y[7:0] Cb[7:0] nd Y[7:0] Cr[7:0] 2 24 bit 20 bit 16 bit 2 24 bit 2 20 bit 16 bit 2 Pins D[35:0] Cr[11:8] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID = 1: An input with YCbCr 4:2:2 with separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0001. The data bit width (24, 20, or 16 bits) must be set with 0x16 [5:4]. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Input ID = 2: An input with YCbCr 4:2:2 with embedded syncs (SAV and EAV) can be selected by setting the Input ID (0x15[3:0]) to 0b0010. The data bit width (24 = 12 bits, 20 = 10 bits, or 16 = 8 bits) must be set with 0x16 [5:4]. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The only difference between Input ID 1 and Input ID 2 is that the syncs on ID 2 are embedded in the data much like an ITU 656 style bus running at 1X clock and double width. Page 30 of 203 Rev G PROGRAMMING GUIDE Pixel Edge YCbCr 4:2:2 Formats (12,10, or 8 bits) Input Data Mapping: 0x48[4:3]=10(left justified) Input ID=3,4,7or 8 Table 20 Mode ADV7511 Input Data D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 02 01 00 Style 1 12 bit 1 2 10 bit 1 2 8 bit 1 2 1 Cb[11:4] Cb[3:0] 2 1 2 1 2 1 2 1 2 1 2 Y[11:4] Cr[11:4] Y[11:4] Cb[9:2] Y[9:2] Cr[9:2] Y[9:2] Cb[7:0] Y[7:0] Cr[7:0] Y[7:0] Y[3:0] Cb[3:0] Y[3:0] Cb [1:0] Y [1:0] Cr [1:0] Y [1:0] Style 2 12 bit 1 2 10 bit 1 2 8 bit 1 2 Pins D[35:0] 1 Cb[11:0] 2 1 2 1 Y[11:0] Cr[11:0] Y[11:0] 2 1 2 1 2 1 2 Cb[9:0] Y[9:0] Cr[9:0] Y[9:0] Cb[7:0] Y[7:0] Cr[7:0] Y[7:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 Input ID = 3: An input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0011. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID = 4: An input with YCbCr 4:2:2 and embedded syncs (ITU 656 based) can be selected by setting the Input ID (0x15[3:0]) to 0b0100. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The order of data input is the order in the table. For example, data is accepted as: Cb0, Y0, Cr0, Y1, Cb2, Y2, Cr2, Y3… Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID=7: A DDR input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0111. The This input format is the same as input ID 3 with the exception that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Input ID=8: A DDR input with YCbCr 4:2:2 and embedded syncs (ITU656-based) can be selected by setting Input ID (0x15[3:0]) to 0b1000. This input format is the same as input ID 4 except that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Page 31 of 203 Rev G PROGRAMMING GUIDE Pixel Edge YCbCr 4:2:2 Formats (12,10 or 8 bits) Input Data Mapping: 0x48[4:3]=01(right justified) Input ID=3,4,7 or 8 Mode Table 21 ADV7511 12 bit 1 1 2 1 2 1 2 1 2 1 2 1 2 Input Data D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 2 10 bit 1 2 8 bit 1 2 Cb [11:4] Y[11:4] Cr [11:4] Y[11:4] Cb [9:2] Y[9:2] Cr [9:2] Y[9:2] [3:0] [3:0] [3:0] [3:0] [1:0] [1:0] [1:0] [1:0] Cb [7:0] Y[7:0] Cr [7:0] Y[7:0] Style 2 12 bit 1 2 10 bit 1 2 8 bit 1 2 Pins D[35:0] 1 2 1 2 1 2 1 2 1 2 1 2 Cb [11:0] Y[11:0] Cr [11:0] Y[11:0] Cb [9:0] Y[9:0] Cr [9:0] Y[9:0] Cb [7:0] Y[7:0] Cr [7:0] Y[7:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID = 3: An input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0011. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID = 4: An input with YCbCr 4:2:2 and embedded syncs (ITU 656 based) can be selected by setting the Input ID (0x15[3:0]) to 0b0100. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The order of data input is the order in the table. For example, data is accepted as: Cb0, Y0, Cr0, Y1, Cb2, Y2, Cr2, Y3… Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID=7: A DDR input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0111. This input format is the same as input ID 3 with the exception that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Input ID=8: A DDR input with YCbCr 4:2:2 and embedded syncs (ITU 656 based) can be selected by setting the Input ID (0x15[3:0]) to 0b1000. This input format is the same as input ID 4 with the exception that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Page 32 of 203 Rev G PROGRAMMING GUIDE Pixel Edge YCbCr 4:2:2 Formats (12,10 or 8 bits) Input Data Mapping: 0x48[4:3]=00 (evenly dist.) Input ID=3,4,7 or 8 Table 22 Mode ADV7511 Input Data D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 12 bit 1 2 10 bit 1 2 8 bit 1 2 12 bit 1 2 10 bit 1 2 8 bit 1 2 Pins D[35:0] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Cb [11:4] Y[11:4] Cr[11:4] Y[11:4] Cb [9:2] Y[9:2] Cr[9:2] Y[9:2] Cb [7:0] Y[7:0] Cr[7:0] Y[7:0] [3:0] [3:0] [3:0] [3:0] [1:0] [1:0] [1:0] [1:0] Style 2 Cb [11:8] Y[11:8] Cr[11:8] Y[11:8] Cb [9:8] Y [9:8] Cr [9:8] Y [9:8] Cb [7:0] Y[7:0] Cr[7:0] Y[7:0] Cb [7:0] Y[7:0] Cr[7:0] Y[7:0] Cb [7:0] Y[7:0] Cr[7:0] Y[7:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID = 3: An input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0011. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID = 4: An input with YCbCr 4:2:2 and embedded syncs (ITU 656 based) can be selected by setting the Input ID (0x15[3:0]) to 0b0100. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The two input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The order of data input is the order in the table. For example, data is accepted as: Cb0, Y0, Cr0, Y1, Cb2, Y2, Cr2, Y3… Pixel 1 is the first pixel of the 4:2:2 word and should be where DE starts. This mode requires an input clock 2X the pixel rate. For timing details, see the ▷ ADV7511 Hardware User’s Guide and▶ Figure 2. Input ID=7: A DDR input with YCbCr 4:2:2 data and separate syncs can be selected by setting the Input ID (0x15[3:0]) to 0b0111. This input format is the same as input ID 3 with the exception that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Input ID=8: A DDR input with YCbCr 4:2:2 and embedded syncs (ITU656-based) is selected by setting the Input ID (0x15[3:0]) to 0b1000. This input format is the same as input ID 4 with the exception that the clock is not 2X the pixel rate, but is double data rate (DDR). For timing details, see the ▷ ADV7511 Hardware User’s Guide and ▶Figure 3 and ▶ Figure 4. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Page 33 of 203 Rev G PROGRAMMING GUIDE Figure 2 ADV7511 2X Clock timing 2X CLK DE st Data On Input Bus nd st nd 2 2 1 1 edge edge edge edge 1st Pixel Page 34 of 203 2nd Pixel Rev G PROGRAMMING GUIDE RGB or YCbCr 4:4:4 (12 bits) DDR with Separate Syncs: Input ID = 5, left aligned (0x48[5] = 1) Pixel Edge Mode Table 23 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 444 444 ADV7511 1 1 Input Data Mapping Input ID = 5 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 G[5:0] B[11:0] R[11:0] G[11:6] Y[5:0] Cb[9:0] Cr[11:0] Y[11:6] G[4:0] B[9:0] R[9:0] G[9:5] Y[4:0] Cb[9:0] Cr[9:0] G[3:0] Y[9:5] B[7:0] R[7:0] Y[3:0] Cr[7:0] G[7:4] Cb[7:0] Y[7:4] Style 2 1 1 1 1 444 444 1 1 1 2 1 2 1 2 1 2 1 2 1 2 R[11:0] G[4:0] G[11:6] B[11:0] Cr[11:0] Y[5:0] R[9:0] G[4:0] Cr[9:0] Y[4:0] R[7:0] G[3:0] Cr[7:0] Y[3:0] Y[11:6] Cb[11:0] G[9:5] B[9:0] Y[9:5] Cb[9:0] G[7:4] B[7:0] Y[7:4] Cb[7:0] Style 3 1 1 444 1 Pins D[35:0] 1 2 1 2 1 2 Y[11:0] Cb[5:0] Y[9:0] Cb[4:0] Y[7:0] Cb[3:0] Cb[11:6] Cr[11:0] Cb[9:5] Cr[9:0] Cb[7:4] Cr[7:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID=5: An input format of RGB 4:4:4 DDR or YCbCr 4:4:4 DDR can be selected by setting the input ID (0x15 [3:0]) to 0x5. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Pixel 0 is the first pixel of the 4:2:2 word and should be where DE starts. Page 35 of 203 Rev G PROGRAMMING GUIDE RGB or YCbCr 4:4:4 (12 bits) DDR with Separate Syncs: Input ID = 5, right aligned (0x48[5] = 0) Pixel Edge Mode Table 24 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 444 444 ADV7511 1 1 Input Data Mapping Input ID = 5 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 G[5:0] B[11:0] R[11:0] G[11:6] Y[5:0] Cb[9:0] Cr[11:0] G[4:0] R[9:0] Y[4:0] Cr[9:0] G[3:0] R[7:0] Y[3:0] Cr[7:0] Y[11:6] B[9:0] G[9:5] Cb[9:0] Y[9:5] B[7:0] G[7:4] Cb[7:0] Y[7:4] Style 2 1 1 1 1 444 444 1 1 1 2 1 2 1 2 1 2 1 2 1 2 R[11:0] G[11:6] G[4:0] B[11:0] Cr[11:0] Y[11:6] Y[5:0] Cb[11:0] R[9:0] G[9:5] G[4:0] B[9:0] Cr[9:0] Y[9:5] Y[4:0] Cb[9:0] R[7:0] G[3:0] Cr[7:0] Y[3:0] G[7:4] B[7:0] Y[7:4] Cb[7:0] Style 3 1 1 444 1 Pins D[35:0] 1 2 1 2 1 2 Y[11:0] Cb[5:0] Cb[11:6] Cr[11:0] Y[9:0] Cb[4:0] Cb[9:5] Cr[9:0] Y[7:0] Cb[3:0] Cb[7:4] Cr[7:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Input ID=5: An input format of RGB 4:4:4 DDR or YCbCr 4:4:4 DDR can be selected by setting the input ID (0x15 [3:0]) to 0x5. The three input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Pixel 0 is the first pixel of the 4:2:2 word and should be where DE starts. Page 36 of 203 Rev G PROGRAMMING GUIDE Pixel Mode YCbCr 12bit 1 2 1 2 8bit 1 2 Edge YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, right justified (0x48[4:3] = ‘01’) Table 25 10bit ADV7511 Input Data Mapping Input ID = 6 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 1 2 1 2 1 2 1 2 1 2 1 2 Y[7:4] Cb[3:0] Cb[11:4] Y[7:4] Cr[11:4] Cb[3:0] Cr[3:0] Y[5:4] Cb[9:4] Y[5:4] Cr[3:0] Cr[9:4] Cb[3:0] Y[3:0] Cb[7:4] Y[7:4] Cr[3:0] Y[3:0] Cr[7:4] Y[7:4] Y[3:0] Y[11:8] Y[3:0] Y[11:8] Y[3:0] Y[9:6] Y[3:0] Y[9:6] Style 2 12bit 1 2 10bit 1 2 8bit 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Y[11:0] Cb[11:0] Y[11:0] Cr[11:0] Y[9:0] Cb[9:0] Y[9:0] Cr[9:0] Y[7:0] Cb[7:0] Y[7:0] Cr[7:0] Style 3 12bit 1 1 2 1 2 1 2 1 2 1 2 1 2 Cb[11:0] Y[11:0] 2 Cr[11:0] Y[11:0] 10bit 1 Cb[9:0] Y[9:0] Cr[9:0] 2 Y[9:0] 8bit 1 Cb[7:0] Y[7:0] 2 Cr[7:0] Y[7:0] Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 An input format of YCbCr 4:2:2 DDR can be selected by setting the input ID (0x15 [3:0]) to 0x6. The three different input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The Data Input Edge is defined in 0x16 [1]. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Pixel 0 is the first pixel of the 4:2:2 word and should be where DE starts. Page 37 of 203 Rev G PROGRAMMING GUIDE ADV7511 YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, left justified (0x48[4:3] = ‘10’) Table 26 Pixel YCbCr 12bit 1 2 10bit 1 Edge Mode Input Data Mapping Input ID = 6 1 2 1 2 1 2 1 2 1 2 1 2 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 Cb[3:0] Y[7:4] Cb[11:4] Y[7:4] Cr[3:0] Cr[11:4] Cb[3:0] Y[3:0] Y[11:8] Y[3:0] Y[11:8] Y[5:4] Y[3:0] Cb[9:4] Y[9:6] 2 Y[5:4] Cr[3:0] Y[3:0] Cr[9:4] Y[9:6] 8bit 1 Cb[3:0] Y[3:0] Cb[7:4] Y[7:4] 2 Cr[3:0] Y[3:0] Cr[7:4] Y[7:4] Style 2 12bit 1 1 Y[11:0] Cb[11:0] 2 Y[11:0] 2 1 Cr[11:0] 2 Y[9:0] 10bit 1 1 Cb[9:0] 2 Y[9:0] 2 1 Cr[9:0] 2 Y[7:0] 8bit 1 1 Cb[7:0] 2 Y[7:0] 2 1 Cr[7:0] 2 Style 3 Cb[11:0] 12bit 1 1 Y[11:0] 2 Cr[11:0] 2 1 Y[11:0] 2 Cb[9:0] 10bit 1 1 Y[9:0] 2 Cr[9:0] 2 1 Y[9:0] 2 Cb[7:0] 8bit 1 1 Y[7:0] 2 2 1 Cr[7:0] Y[7:0] 2 Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 An input format of YCbCr 4:2:2 DDR can be selected by setting the input ID (0x15 [3:0]) to 0x6. The three different input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The Data Input Edge is defined in 0x16 [1]. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Pixel 0 is the first pixel of the 4:2:2 word and should be where DE starts. Page 38 of 203 Rev G PROGRAMMING GUIDE ADV7511 YCbCr 4:2:2 (12, 10, or 8 bits) DDR with Separate Syncs: Input ID = 6, evenly distributed (0x48[4:3] = ‘00’) Table 27 Pixel YCbCr 12bit 1 2 10bit 1 2 8bit 1 2 Edge Mode Input Data Mapping Input ID = 6 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Style 1 1 Y[7:4] 2 Cb[11:8] 1 Y[7:4] 2 Cr[11:8] 1 Y[5:4] Cb[3:2] 2 Cb[9:6] 1 Y [5:4] Cr [3:2] 2 Cr[9:6] 1 Cb[3:0] 2 Cb[7:4] 1 Cr[3:0] 2 Cr[7:4] Cb[3:0] Cb[7:4] Cr[3:0] Cr[7:4] Cb[1:0] Y[3:2] Cb[5:4] Y[9:8] Cr[1:0] Y[3:2] Cr[5:4] Y[9:6] Y[3:0] Y[7:4] Y[3:0] Y[7:4] Y[3:0] Y[11:8] Y[3:0] Y[11:8] Y[1:0] Y[7:6] Y[1:0] Y[5:4] Style 2 12bit 1 2 10bit 1 2 8bit 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Y[11:8] Cb[11:8] Y[11:8] Cr[11:8] Y[9:6] Cb[9:6] Y[9:6] Cr[9:6] Y[7:0] Cb[7:0] Y[7:0] Cr[7:0] Y[7:4] Cb[7:4] Y[7:4] Cr[7:4] Y[5:2] Cb[5:2] Y[5:2] Cr[5:2] Y[7:0] Cb[7:0] Y[7:0] Cr[7:0] Y[3:0] Cb[3:0] Y[3:0] Cr[3:0] Y[1:0] Cb[1:0] Y[1:0] Cr[1:0] Style 3 Cb[7:4] Cb[11:8] Cb[3:0] Y[7:4] Y[11:0] Y[3:0] Cr[7:4] 2 Cr[11:0] Cr[3:0] Y[7:4] Y[11:0] Y[3:0] Cb[5:2] 10bit 1 Cb[9:6] Cb[1:0] Y[5:2] Y[9:6] Y[1:0] Cr[5:2] Cr[1:0] 2 Cr[9:6] Y[5:2] Y[9:6] Y[1:0] Cb[3:0] 8bit 1 Cb[7:4] Y[3:0] Y[7:4] 2 Cr[7:4] Cr[3:0] Y[3:0] Y[7:4] Pins D[35:0] 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 An input format of YCbCr 4:2:2 DDR can be selected by setting the input ID (0x15 [3:0]) to 0x6. The three different input pin assignment styles are shown in the table. The Input Style can be set in 0x16[3:2]. The data bit width (12, 10, or 8 bits) must be set with 0x16 [5:4]. The Data Input Edge is defined in 0x16 [1]. The 1st and the 2nd edge may be the rising or falling edge. The Data Input Edge is defined in 0x16 [1]. 0b1 = 1st edge rising edge; 0b0 = 1st edge falling edge. Pixel 0 is the first pixel of the 4:2:2 word and should be where DE starts. 12bit 1 1 2 1 2 1 2 1 2 1 2 1 2 Page 39 of 203 Rev G PROGRAMMING GUIDE Figure 3 ADV7511 DDR DE timing - Register 0x16[1] = 1 DDR CLK DE Data On Input Bus 1st 2nd 1st 2nd edge edge edge edge 1st Pixel Figure 4 2nd Pixel DDR DE timing - Register 0x16[1] = 0 DDR CLK DE Data On Input Bus 1st 2nd 1st 2nd edge edge edge edge 1st Pixel 4.3.2.1 2nd Pixel Input Data Clock When using an input format where the clock is 2 or 4 times the frequency of the data, such as 480i at 27MHz, CLK Divide register bits (0x9D[3:2]) and the CLK Divide Reset Register bit (0xA4[6]) need to be set accordingly. ▶ Figure 5 illustrates this function. The generated clock can be synchronized to the Hsync, Vsync, or DE. This can be selected in register bits 0xD0[3:2]. Register 0xBA controls the clock delay for the video data capture. For DDR, the negative edge clock delay can be controlled independently of the positive edge. To enable independent, negative-edge DDR control, set 0xD0[7] to 1. The delay can be controlled in register bits 0xD0[6:4]. Page 40 of 203 Rev G PROGRAMMING GUIDE Figure 5 ADV7511 Input Clock Divide Control Page 41 of 203 Rev G PROGRAMMING GUIDE Table 28 Input Formatting Related Registers (Main Map) Address Type Bits 0x15 R/W Register Name Function [3:0] ****0000 Input ID [7] 0******* Output Format Output Format 0 = 4:4:4 1 = 4:2:2 Color Depth Color Depth for Input Video Data. See ▶Table 16 to ▶Table 27 00 = invalid 10 = 12 bit 01 = 10 bit 11 = 8 bit Input Style Styles refer to the input pin assignments. See ▶Table 16 to ▶Table 27 00 = Not Valid 01 = style 2 10 = style 1 11 = style 3 DDR Input Edge Video data input edge selection. Defines the first half of pixel data clocking edge. Used for DDR Input ID 5 and 6 only. 0 = falling edge 1 = rising edge Vsync Polarity Case 1: Sync Adjustment Register (0x41[1]) = 1 0 = high polarity 1 = low polarity Case 2: Sync Adjustment Register (0x41[1]) = 0 0 = sync polarity pass through 1 = sync polarity invert 0 = High polarity 1 = Low polarity Hsync Polarity HSync polarity for Embedded Sync Decoder and Sync Adjustment Case 1: Sync Adjustment Register (0x41[1]) = 1 0 = high polarity 1 = low polarity Case 2: Sync Adjustment Register (0x41[1]) = 0 0 = sync polarity pass through 1 = sync polarity invert 0 = High polarity 1 = Low polarity **00**** R/W [3:2] [1] [6] 0x17 Default Value Input Video Format See ▶Table 16 to ▶Table 27 0000 = 24 bit RGB 4:4:4 or YCbCr 4:4:4 (separate syncs) 0001 = 16, 20, 24 bit YCbCr 4:2:2 (separate syncs) 0010 = 16, 20, 24 bit YCbCr 4:2:2 (embedded syncs) 0011 = 8, 10, 12 bit YCbCr 4:2:2 (2x pixel clock, separate syncs) 0100 = 8, 10, 12 bit YCbCr 4:2:2 (2x pixel clock, embedded syncs) 0101 = 12, 15, 16 bit RGB 4:4:4 or YCbCr (DDR with separate syncs) 0110 = 8,10,12 bit YCbCr 4:2:2 (DDR with separate syncs) 0111 = 8, 10, 12 bit YCbCr 4:2:2 (DDR separate syncs) 1000 = 8, 10, 12 bit YCbCr 4:2:2 (DDR embedded syncs) [5:4] 0x16 ADV7511 ****00** ******0* *0****** R/W [5] **0***** Page 42 of 203 Rev G PROGRAMMING GUIDE Default Value Register Name Function [2] *****0** 4:2:2 to 4:4:4 Interpolation Style 4:2:2 to 4:4:4 Up Conversion Method 0 = use zero order interpolation 1 = use first order interpolation [6] *0****** Video Input Bus Reverse Bit order reverse for input signals. 0 = Normal Bus Order 1 = LSB .... MSB Reverse Bus Order DDR Alignment DDR alignment (Only For ID 5) See▶Table 23 - ▶Table 27 0 = DDR input is D[17:0] 1 = DDR input is D[35:18] Address Type Bits [5] 0x48 ADV7511 **0***** R/W Bit Justfication for YCbCr 4:2:2 modes. See▶Table 17 to ▶Table 22and ▶Table 25 to ▶Table 27 [4:3] 0xBA R/W Video Input Justification 00 = evenly distributed 01 = right justified 10 = left justified 11 = Invalid [7:5] 000***** Clock Delay Programmable delay for input video clock. Default is 0 for no delay. 000 = -1.2ns 001 = -0.8ns 010 = -0.4ns 011 = no delay 100 = 0.4ns 101 = 0.8ns 110 = 1.2ns 111 = 1.6ns [7] 0******* Enable DDR Negative Edge CLK Delay Enable DDR Negative Edge Clock Delay Adjust 0 = Disable DDR Negative Edge CLK Delay 1 = Enable DDR Negative Edge CLK Delay DDR Negative Edge CLK Delay Delay Adjust for the Input Video CLK Negative Edge for DDR Capture Should be set to 0b011 for No Delay 000 = -1200 ps 001 = -800 ps 010 = -400 ps 011 = no delay 100 = 400 ps 101 = 800 ps 110 = 1200 ps 111 = Invert CLK Sync Pulse Select Case 1: Input ID register bits (0x15[3:0] = 5,6,7,8 Must be 0b11 Case 2: For input ID 1, 2, 3, 4 with 1X clock (See the Input Data Clock section, number 0). Can be set to any value. Case 3: For 2X or 4X input clock (See Input Data Clock section) with ID 1, 2, 3, 4. 1X generated clock synchronizes with. 00 = DE 01 = Hsync 10 = Vsync [6:4] 0xD0 ***00*** *011**** R/W [3:2] ****00** Page 43 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 11 = no sync pulse 4.3.3 Video Mode Detection The video mode detection feature can inform the user of the CEA 861D defined Video Identification (VIC) of the video being input to the ADV7511, as well as some additional formats. If an 861D format is detected, the VIC code is contained in register 0x3E[7:2]. Some additional non-861D formats are contained in 0x3F[7:5]. Some information from the user is required to make the VIC determination for formats which can’t be distinguished by the automatic detection system. The aspect ratio (0x17[1]) is used to distinguish between 861D video timing codes where aspect ratio is the only difference. The Low Refresh Rate bits (0xFB[2:1]) inform the detection logic that a low-frequency Vsync format is being used, and specify the refresh rate. These include 1080p with 24, 25, and 30Hz refresh rates. The High Refresh Rate bit (0xD5[3:2]) allows the detection circuit to identify modes with 2x or 4x the normal refresh rate. For 240p and 288p modes the number of total lines can be selected in 0x3F[4:3]. The VIC detected is also affected by pixel repeat; see ▶4.3.4. The detected VIC will be sent in the AVI InfoFrame unless pixel repetition is applied, causing the sent VIC to be different. To override the VIC detection, the pixel repeat mode must be set to manual by setting register 0x3B[6:5] to 0b10 or 0b11. The desired VIC is input into 0x3C[5:0]. The transmitter can support non-CEA 861D modes, but these will not be automatically detected. In this case the VIC should be 0. Page 44 of 203 Rev G PROGRAMMING GUIDE Table 29 ADV7511 Video Mode Detection Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x17 ******0* Aspect Ratio Aspect ratio of input video. 0 = 4:3 Aspect Ratio 1 = 16:9 Aspect Ratio VIC to Rx VIC sent to HDMI Rx and Used in the AVI InfoFrame Status (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 0x3D R/W RO [1] [5:0] **000000 Page 45 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use 0x3E RO [7:2] 000000** VIC Detected Input VIC Detected (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 Page 46 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use [7:5] 0x3F 000***** Auxiliary VIC Detected This register is for video input formats that are not inside the 861D table. 000 = Set by Register 0x3E 001 = 240p Not Active 010 = 576i not active 011 = 288p not active 100 = 480i active 101 = 240p active 110 = 576i active 111 = 288p active RO [4:3] ***00*** Progressive Mode Information Information about 240p and 288p modes. Case 1: 240p 01 = 262 lines 10 = 263 lines Case 2: 288p 01 = 312 lines 10 = 313 lines 11 = 314 lines 0x40 R/W [7] 0******* GC Packet Enable GC Packet Enable 0 = GC Packet Disabled 1 = GC Packet Enabled 0x41 R/W [1] ******0* Sync Adjustment Enable Enable Sync Adjustment 0 = Disabled 1 = Enabled 0xD5 R/W [3:2] ****00** High Refresh Rate Video High Refresh Rate Video for VIC Detection Page 47 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 00 = normal refresh rate 01 = 2x refresh rate 10 = 4x refresh rate 11 = not valid 0xFB 4.3.4 R/W [2:1] *****00* Low Refresh Rate (VIC Detection) Low Refresh Rate indicates if input video VS refresh rate if it is less than 50Hz 00 = not low refresh rate 01 = 24Hz 10 = 25Hz 11 = 30Hz Pixel Repetition Pixel repetition is used in HDMI to increase the amount of blanking period available to send packets or to increase the pixel clock to meet the minimum specified clock frequency. The ADV7511 offers three choices for the user to implement this function: auto mode, manual mode, and max mode (0x3B[6:5]). If using SPDIF or I2S the ADV7511 can automatically select the necessary pixel repetition multiple for combinations of video format and audio sample rate. The video is converted to the appropriate format within the ADV7511, and the resulting VIC is sent in the AVI InfoFrame. Note that automatic pixel repeat does not work for HBR, DSD, and DST audio formats. In automatic mode, the ADV7511 takes the audio sampling rate and detected VIC information as parameters to decide if pixel repeat is needed to obtain sufficient blanking periods to send the audio. For I2S, the sampling rate is determined by register 0x15. The audio sampling rate is either determined by the channel status information of the incoming SPDIF data, or by setting register 0x15. In the case of SPDIF, the source of the sampling rate information is set in register 0x0C[7]. With I2S, the sampling rate is always set by the user. If the pixel repetition factor is adjusted to meet bandwidth requirements, then the detected input VIC may be different from the VIC sent to the Rx. The VIC of the actual video sent, which is included in the AVI InfoFrame, can be seen in register 0x3D[5:0]. In the manual pixel repeat selection case, the VIC sent in the AVI info frame will need to be set in register 0x3C. The multiplication of the input clock must be programmed in 0x3B[6:5], and the pixel repeat value sent to the Rx must be programmed in 0x3B[4:3]. Refer to the ▷ HDMI 1.3 specification for more details on valid pixel repeat formats. Max mode works in the same way as the automatic mode, except that it will always select the highest pixel repeat multiple the HDMI Tx is capable of. This makes the video timing independent of the audio sampling rate. This mode is not typically used. Page 48 of 203 Rev G PROGRAMMING GUIDE Table 30 ADV7511 Pixel Repetition Related Registers (Main Map) Address Type Bits Default Value Register Name Function Pixel Repetition Mode Selection. Set to b00 unless non-standard video is supported. [6:5] 0x3B PR Mode [2:1] R/W [5:0] ***00*** *****00* **000000 00 = auto mode 01 = max mode 10 = manual mode 11 = manual mode PR PLL Manual The clock multiplication of the input clock used in pixel repetition. 00 = x1 01 = x2 10 = x4 11 = x4 PR Value Manual User programmed pixel repetition number to send to Rx. 00 = x1 01 = x2 10 = x4 11 = x4 VIC Manual User programmed VIC to sent to Rx (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 R/W [4:3] 0x3C *00***** Page 49 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use [7:6] 0x3D 00****** Pixel Repeat to Rx RO [5:0] **000000 VIC to Rx The actual pixel repetition sent to Rx 00 = x1 01 = x2 10 = x4 11 = x4 VIC sent to HDMI Rx and Used in the AVI InfoFrame Status (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 Page 50 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use 4.3.5 422 444 Conversion The ADV7511 can up-convert from 4:2:2 format to 4:4:4 format as well as down-convert from 4:4:4 to 4:2:2. To convert from 4:4:4 to 4:2:2, the video data always goes through a filter first to remove any artificial down-sampling noise. To convert from 4:2:2 to 4:4:4, the ADV7511 utilizes either the zero-order up-conversion (repetition) or first-order up-conversion (linear Page 51 of 203 Rev G PROGRAMMING GUIDE ADV7511 interpolation). The type of interpolation, zero or first order, can be selected in register 0x17[2], and interpolation will give the best results. The up-conversion and down-conversions are automatically applied when the video output format does not match the video input format. The input format is selected as described in ▶ 4.3.1, and the output format is selected in bits 0x16[7:6]. 4.3.6 Deep Color Conversion Deep Color Output can be selected by the GC CD register bit (0x4C[3:0]). The GC CD sets the output depth as well as the CD field in the general control packet. If the input video has less than the number of bits specified in GC CD, the extra LSBs will be filled with 0. When the input video has more information than the output, color depth bit trimming is automatically used. The method for color depth trimming can be selected using the Bit Trimming Mode register bits (0x49[7:2]). To enable Deep Color the General Control Packet must be enabled by setting the GC Packet Enable register bit 0x40[7] to 1. To avoid a partial update of the General Control packet, the Packet Update features should be used. By setting the GC Packet Update register bit (0x48[4] Packet Memory) to 1, the current values for GC Header and Packet Bytes will be stored and sent in the GC Packets. The user should update the values then set the GC Packet Update register bit to ‘0’ to begin sending the new packets. See section 4.2.5 for details. Table 31 Deep Color Conversion Related Registers (Main Map) Address Type Bits 0x49 0x4A 0x4C R/W R/W [7:2] 101010** Register Name Function Bit Trimming Mode Bit Trimming Mode All other settings are invalid 000000 = Active Dither 101010 = Truncate [4] ***0**** GC Packet Update GC Packet Update: Before updating the GC Packet using I2C set to '1' to continue sending the current values. 0 = GC Packet I2C update inactive 1 = GC Packet I2C update active [7:4] 0000**** GC PP Pixel packing phase for Deep Color conversion. (Read Only) GC Packet - Color Depth Color depth of video to Rx All other settings are invalid 0000 = Color Depth Not Indicated 0100 = 24 Bits/Pixel 0101 = 30 Bits/Pixel 0110 = 36 Bits/Pixel RO [3:0] 4.3.7 Default Value ****0000 DE, Hsync and Vsync Generation When transmitting video data across the TMDS interface, it is necessary to have an Hsync, Vsync, and Data Enable (DE) defined for the image. There are three methods for sync input to the ADV7511. See ▶ Figure 6for a block diagram of the sync processing capabilities. For 3D formats extended MSBs for several DE, Hsync and Vsync generation fields have been added in registers 0xFA and 0xFB. For standard CEA861 formats, these registers can be left at default. Separate Hsync, Vsync, and DE For this method, all necessary signals are provided so neither Sync generation or DE generation is required. If desired, the Page 52 of 203 Rev G PROGRAMMING GUIDE ADV7511 user can adjust the Hsync and Vsync timing relative to DE (refer to Hsync and Vsync adjustment section). Also, the DE timing can be adjusted relative to Hsync and Vsync. If both Hsync and Vsync adjustment and DE adjustment are chosen, the order can be selected. By setting register 0xD0[1] to 0, first the Hsync and Vsync is adjusted based on the input DE, then the DE timing is adjusted based on the new Hsync and Vsync. By setting register 0xD0[1] to 1, first the DE timing is adjusted based on the input Hsync and Vsync, then the Hsync and Vsync timing is adjusted based on the new DE. Embedded Syncs (SAV and EAV) This method requires that Hsync and Vsync be generated. Registers 0x30 through 0x34 and 0x17[6:5] contain the settings for Hsync and Vsync generation in the embedded sync decoder section. The ADV7511 will use the signal generated by the EAV and SAV as the DE by default, but a new DE can also be generated. Sync adjustment is also available. If both Hsync and Vsync adjustment and DE adjustment are chosen, the orderin which they are implemented can be selected. By setting register 0xD0[1] to 0, first the Hsync and Vsync is adjusted based on the signal defined by the SAV and EAV, then the DE timing is generated based on the new Hsync and Vsync. This is useful if the interlace offset feature is desired, because it is available in the sync adjustment section, but not the embedded sync decoder section. By setting register 0xD0[1] to 1, first the DE timing is adjusted based on the Hsync and Vsync generated by the embedded sync decoder, then the Hsync and Vsync timing is adjusted based on the new DE. Separate Hsync and Vsync only This method requires that a DE be generated. Hsync and Vsync can also be adjusted based on the new DE if desired by enabling the Hsync and Vsync generation and setting the order to DE generation then Hsync Vsync Generation. This would be necessary if the location of the separate Hsync and Vsync were not in the same position relative to the data in the input signal, as the Hsync and Vsync defined in the CEA 861 are to the DE defined in the CEA 861. Figure 6 Sync Processing Block Diagram Page 53 of 203 Rev G PROGRAMMING GUIDE 4.3.7.1 ADV7511 DE generation External Sync Input Modes To properly frame the active video, the ADV7511 can use an external DE (via external pin) or can generate its own DE signal. To activate the internal DE generation, set register 0x17[0] to 1. Registers 0x35 – 0x3A and 0xFB are used to define the DE. Registers 0xFB[7],0x35 and 0x36[7:6] define the number of pixels from the Hsync leading edge to the DE leading edgeminus one. Registers 0xFB[6:5] and 0x36[5:0] is the number of Hsyncs between leading edge of VS and DE. Register 0x37[7:5] defines the difference of Hsync counts during Vsync blanking for the two fields in interlaced video. Registers 0xFB[4], 0x37[4:0] and 0x38[7:1] indicate the width of the DE. Registers 0x39 and 0x3A[7:4] are the number of lines of active video. These adjustments are illustrated in ▶ Figure 7. Embedded Sync Input Mode The F, H, and V codes from the embedded syncs define the DE by default in the ADV7511. To achieve 861D formats at the output by default, the embedded sync V signal needs to be aligned with the data as specified in the ▷ 861D specification. The internal DE generator can also be enabled when using embedded syncs by setting register 0x17[0] to 1. The default reference point for the DE parameters are the Hsync and Vsync from the embedded sync decoder block which are defined by registers 0x30 – 0x34. The adjusted Hsync and Vsync output can also be used as the reference for DE generation if desired. Figure 7 Active Video VS DELAY R0x36[5:0] ACTIVE VIDEO WIDTH R0x37[4:0], R0x38[7:1] 4.3.7.2 HEIGHT R0x39, R0x3A[7:4] 06076-002 HS DELAY R0x35, R0x36[7:6] Hsync and Vsync Generation For video with embedded syncs, it is necessary to reconstruct the Hsync and Vsync. This is done with registers 0xFA, 0x30 – 0x34 and 0x17[6:5]. Registers 0xFA[7:5],0x30 and 0x31[7:6] specify the number of pixels between the Hsync leading edge and the trailing edge of DE. Registers 0x31[5:0] and 0x32[7:4] are the duration of the Hsync in pixel clocks. Registers 0x32[3:0] and 0x33[7:2] are the number of Hsync pulses between the trailing edge of the last DE and the leading edge of the Vsync pulse. Registers 0x33[1:0] and 0x34[7:0] are the duration of Vsync in units of Hsyncs. Hsync and Vsync polarity can be specified by setting registers 0x17[5] and 0x17[6]. ▶ Figure 8 –▶Figure 10 show the sync generation parameters. 4.3.7.3 Hsync and Vsync Adjustment Hsync and Vsync can also be adjusted based on a DE input, output of the embedded sync decoder, or output of the DE generator. Setting 0x41[1] to 1 enables this function. Registers 0xFA and 0xD8 – 0xDD set the Hsync and Vsync parameters. Register 0x17[6:5], shared with the embedded sync decoder, is used to set the polarity. For interlaced formats the Vsync placement is independent with each field. The Vsync Placement for interlaced fields is adjusted as shown in ▶ Figure 10, where Vsync Placement is set in registers 0xD9[3:0] and 0xDA[7:2], and offset is set in register 0xDC[7:5]. Page 54 of 203 Rev G PROGRAMMING GUIDE ADV7511 Figure 8 Hsync Reconstruction Figure 9 Vsync Reconstruction (centered) Figure 10 Sync Adjustment Vsync Offset (centered) 4.3.7.4 DE, Hsync, and Vsync Generation Recommended Settings The following 4 tables show recommended settings for DE and Sync generation and adjustment. The settings are dependent on the video input, so these settings are intended to be used as a starting point. Some adjustments may be required from these settings to achieve a CEA861 compatible output. Page 55 of 203 Rev G PROGRAMMING GUIDE Table 32 ADV7511 DE and HSync/Vsync Generation Common Format Settings Hsync Hsync Vsync Vsync Hsync Vsync Hsync Vsync Offset Width Height Placement Duration Placement Duration Polarity Polarity Delay Delay 480i 19 62 4 3 0 0 118 18 0 720 240 576i 12 63 2 3 0 0 131 22 0 720 288 480p 16 62 9 6 0 0 121 36 0 720 480 576p 12 64 5 5 0 0 131 44 0 720 576 720p-60 110 40 5 5 1 1 259 25 0 1280 720 720p-50 440 40 5 5 1 1 259 25 0 1280 720 1080i-30 88 44 2 5 1 1 191 20 0 1920 540 1080i-25 528 44 2 5 1 1 191 20 0 1920 540 1080p-60 88 44 4 5 1 1 191 41 0 1920 1080 1080p-50 528 44 4 5 1 1 191 41 0 1920 1080 1080p-24 (Frame 638 44 4 5 1 1 191 41 0 1920 2205 Packing) 720p-60 (Frame 110 40 5 5 1 1 259 25 0 1280 1470 Packing) 720p-50 (Frame 440 40 5 5 1 1 259 25 0 1280 1470 Packing) Format Table 33 Register Settings for DE Generation Register (Main Map) 720p - 50 720p – 60 480p 480i 1080i -25 1080i – 30 576p 576i 1080p-60 1080p-50 1080p-24 (Frame Packing) 720p-60 (Frame Packing) 720p-50 (Frame Packing) 0x35 0x40 0x40 0x1E 0x1D 0x2F 0x2F 0x20 0x20 0x2F 0x2F 0x2F 0x40 0x40 0x36 0xD9 0xD9 0x64 0x92 0xD4 0xD4 0xEC 0xD6 0xE9 0xE9 0xE9 0xD9 0xD9 0x37 0x0A 0x0A 0x05 0x05 0x0F 0x0F 0x05 0x05 0x0F 0x0F 0x0F 0x0A 0x0A 0x38 0x00 0x00 0xA0 0xA0 0x00 0x00 0xA0 0xA0 0x00 0x00 0x00 0x00 0x00 Page 56 of 203 0x39 0x2D 0x2D 0x1E 0x0F 0x21 0x21 0x24 0x12 0x43 0x43 0x89 0x5B 0x5B 0x3A 0x00 0x00 0x00 0x00 0xC0 0xC0 0x00 0x00 0x80 0x80 0xD0 0xE0 0xE0 Rev G PROGRAMMING GUIDE Table 34 ADV7511 Register Settings for Sync Adjustment Register (Main Map) 720p - 50 720p – 60 480p 480i 1080i -25 1080i – 30 576p 576i 1080p-60 1080p-50 1080p-24 (Frame Packing) 720p-60 (Frame Packing) 720p-50 (Frame Packing) 0xD7 0x6E 0x1B 0x04 0x04 0x84 0x16 0x03 0x03 0x16 0x84 0x9F 0x6E 0x1B 0xD8 0x02 0x82 0x03 0xC3 0x02 0x02 0x04 0x03 0x02 0x02 0x82 0x02 0x82 0xD9 0x80 0x80 0xE0 0xE0 0xC0 0xC0 0x00 0xF0 0xC0 0xC0 0xC0 0x80 0x80 0xDA 0x14 0x14 0x24 0x10 0x08 0x08 0x14 0x08 0x10 0x10 0x10 0x14 0x14 Page 57 of 203 0xDB 0x05 0x05 0x06 0x03 0x05 0x05 0x05 0x03 0x05 0x05 0x05 0x05 0x05 0x17[6:5] 0x0 0x0 0x3 0x3 0x0 0x0 0x3 0x3 0x0 0x0 0x0 0x0 0x0 Rev G PROGRAMMING GUIDE Table 35 ADV7511 Register Settings for Embedded Sync Processing Register (Main Map) 720p - 50 720p – 60 480p 480i 1080i -25 1080i – 30 576p 576i 1080p-60 1080p-50 1080p-24 (Frame Packing) 720p-60 (Frame Packing) 720p-50 (Frame Packing) Table 36 0x31 0x02 0x82 0x03 0xC3 0x02 0x02 0x04 0x03 0x02 0x02 0x82 0x02 0x82 0x32 0x80 0x80 0xE0 0xE0 0xC0 0xC0 0x00 0xF0 0xC0 0xC0 0xC0 0x80 0x80 0x33 0x14 0x14 0x24 0x10 0x08 0x08 0x14 0x08 0x10 0x10 0x10 0x14 0x14 0x34 0x05 0x05 0x06 0x03 0x05 0x05 0x05 0x03 0x05 0x05 0x05 0x05 0x05 0x17[6:5] 0x0 0x0 0x3 0x3 0x0 0x0 0x3 0x3 0x0 0x0 0x0 0x0 0x0 DE, Hsync and Vsync Generation Related Registers (Main Map) Address Type Bits 0x17 0x30 0x6E 0x1B 0x04 0x04 0x84 0x16 0x03 0x03 0x16 0x84 0x9F 0x6E 0x1B R/W [0] R/W [9:0] 0x30 Default Value *******0 00000000 0x31 00****** 0x31 **000000 R/W [9:0] 0x32 0000**** 0x32 ****0000 R/W [9:0] 0x33 000000** 0x33 ******00 R/W [9:0] 0x34 00000000 0x35 Register Name Function DE Generator Enable Enable DE Generator See registers 0x35 - 0x3A 0 = Disabled 1 = Enabled Hsync Placement (Embedded Sync Decoder) Upper 8 bits for Embedded Sync Decoder Hsync Placement (In Pixels) Hsync Duration (Embedded Sync Decoder) Upper 6 bit for Embedded Sync Decoder Hsync Duration (In Pixels) Vsync Placement (Embedded Sync Decoder) Upper 4 bits for Embedded Sync Decoder Vsync Placement (In Hsyncs) Vsync Duration (Embedded Sync Decoder) Upper 2 bit for Embedded Sync Decoder Vsync Duration (In Hsyncs) Hsync Delay (DE Generator) Upper 8 bits for DE Generation Hsync Delay (In Pixels) 00000000 R/W [9:0] 0x36 00****** 0x36 R/W [5:0] **000000 Vsync Delay (DE Generator) Vsync Delay for DE Generation. (In Hsyncs) 0x37 R/W [7:5] 000***** Interlace Offset (DE Generator) Interlace Offset For DE Generation Sets the difference (in hsyncs) in field length between field 0 and field 1 R/W [11:0] Active Width (DE Generator) Upper 5 bits for DE Generation Active Width (In Pixels) Active Height (DE Generator) Upper 8 bits for DE Generation Active Height (In Lines) 0x37 ***00000 0x38 0x39 0000000* R/W [11:0] 00000000 Page 58 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value 0x3A 0000**** 0xD0 R/W [1] R/W [9:0] 0xD7 [9:0] 0xD9 Hsync Placement (Sync Adjustment) Hsync Front Porch (In Pixels) Hsync Duration (Sync Adjustment) Hsync Duration (In Pixels) Vsync Placement (Sync Adjustment) Vsync Front Porch (In Hsyncs) Vsync Duration (Sync Adjustment) Vsync Duration (In Hsyncs) Offset (Sync Adjustment) Offset for Sync Adjustment Vsync Placement Used only with interlaced formats (In Hsyncs) 0000**** 0xD9 ****0000 R/W [9:0] 0xDA 000000** 0xDA ******00 R/W [9:0] 0xDB 00000000 R/W [7:5] R/W [8:0] 0xDC 000***** ***00000 0xDD 4.3.8 Timing Generation Sequence 0 = sync adjustment then DE generation 1 = DE generation then sync adjustment **000000 R/W 0xFB Timing Generation Sequence 00****** 0xD8 0xFA Function 00000000 0xD8 0xDC ******0* Register Name 0000**** R/W Must be default for proper operation; Fixed [7:5] 000***** Hsync Placement MSB (Embedded Sync Decoding) This is the MSB for Hsync Placment of Embedded Sync Decoding. See Register 0x35[7:0]. [4:2] ***000** Hsync Placement MSB (Sync Adjustment) This is the MSB for Hsync Placment of Sync Adjustment. See Register 0xD7[7:0]. [1:0] ******00 Fixed Must be default for proper operation. [7] 0******* Hsync Delay MSB (DE Generation) MSB for Hsync delay of DE generation. See Register 0x35[7:0] [6:5] *00***** Vsync Delay MSB(DE Generation) MSB for Vsync delay of DE generation. See Register bits 0x36[5:0] [4] ***0**** Width MSB (DE Generation) MSB for DE width of DE generation. See Register bits 0x37[4:0] [3] ****0*** Height MSB (DE Generation) R/W MSB for height of DE generation. See Register bits 0x39[7:0] Color Space Converter (CSC) The color space converter (CSC) is a flexible 3x3 matrix that is capable of converting between a wide variety of color spaces. This section contains full details on the function of the CSC and register settings for common conversions. Page 59 of 203 Rev G PROGRAMMING GUIDE 4.3.8.1 ADV7511 Color Space Conversion (CSC) Matrix The color space conversion (CSC) matrix in the ADV7511 is a 3 x 3 matrix with full programmability of all coefficients in the matrix. Each coefficient is 13 bit 2s complement to ensure that signal integrity is maintained. The CSC is designed to run at pixel rates of up to 170MHz. With the “any-to-any” color space conversion capability, formats such as RGB, YUV, YCbCr and others are supported by the CSC. The CSC contains three identical processing channels, one of these is shown in ▶ Figure 11. The main inputs, In_A, In_B, and In_C, come from inputs to the ADV7511. Each input to the individual channels to the CSC is multiplied by a separate coefficient. In ▶ Figure 11these coefficients are marked A1, A2, and A3. The variable labeled A4 in ▶ Figure 11 is used as an offset control for Channel A in the CSC. The functional diagram for a single channel in the CSC, as per ▶ Figure 11, 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. Figure 11 Single CSC channel The equations performed by the CSC are detailed as follows: Equation 1: CSC Channel A A1 A2 A3 ⎡ ⎤ Out _ A = ⎢ In _ A + In _ B + In _ C + A4⎥ 2 CSC _ Mode 4096 4096 4096 ⎣ ⎦ Equation 2: CSC Channel B B1 B2 B3 ⎡ ⎤ Out _ B = ⎢ In _ A + In _ B + In _ C + B4⎥ 2CSC _ Mode 4096 4096 4096 ⎣ ⎦ Equation 3: CSC Channel C C1 C2 C3 ⎡ ⎤ + In _ B + In _ C + C 4⎥ 2CSC _ Mode Out _ C = ⎢ In _ A 4096 4096 4096 ⎣ ⎦ Page 60 of 203 Rev G PROGRAMMING GUIDE ADV7511 As can be seen from Equations 1-3, the A1-A3, B1-B3, and C1- C3 coefficients are used to scale the primary inputs. The values of A4, B4 and C4 are then added as offsets. The CSC Mode bits (register 0x18[6:5]) allow the user to implement conversion formulas in which the conversion coefficients are ≥ 1. In other words, if an equation is being implemented whose coefficients are ≥ 1, the CSC Mode bits can be used to ensure that the resulting output code does not exceed the 12-bit limit of 4095. ▶ Table 37 describes the conditions under which each CSC Mode setting should be used. Note that if any coefficient in any of the three CSC equations requires scaling (CSC Mode ≠ 0), then all coefficients, including the offset values, are scaled as indicated by Equations 1 - 3. The values of A1 - A4, B1 - B4, and C1 - C4 will equal the coefficients from the desired conversion formula multiplied by 4096 . 2CSC_Mode ▶Table 65 contains the register descriptions for all of the CSC control registers. Table 37 CSC Mode Settings CSC Mode Conversion Coefficient 00 N<1 01 1 ≤ N <2 10 2≤N<4 It should be noted that, in order for the CSC to operate properly, the channel mapping shown in ▶ Table 38 must be followed. Table 38 CSC Port Mapping Channel CSC Channel Red/Cr A Green/Y B Blue/Cb C Page 61 of 203 Rev G PROGRAMMING GUIDE Table 39 HDTV YCbCr (Limited Range) to RGB (Limited Range) Register Address Value Register Address Value Register Address Value Table 40 A2 0x19 0x53 0x1A 0x08 0x21 0x56 0x22 0x08 0x29 0xFF 0x2A 0x08 B1 0x20 0x1C 0x1C 0x00 0x23 0x00 0x24 0x1E 0x2B 0x00 0x2C 0x0E B2 C1 0x28 0x1F A3 0x1B 0x00 A4 0x1D 0x00 0x1E 0x19 0x25 0x88 0x26 0x02 0x2D 0x85 0x2E 0x18 B3 C2 0x1F 0xD6 B4 C3 0x27 0x91 C4 0x2F 0xBE A1 0x18 0xE7 A2 0x19 0x34 0x1A 0x04 0x21 0xDC 0x22 0x04 0x29 0x00 0x2A 0x04 B1 0x20 0x1D 0x1C 0x00 0x23 0xAD 0x24 0x1F 0x2B 0xAD 0x2C 0x08 B2 C1 0x28 0x00 A3 0x1B 0xAD A4 0x1C 0x00 0x1E 0x1C 0x25 0x24 0x26 0x01 0x2D 0x 7C 0x2E 0x1B B3 C2 0x1F 0x1B B4 C3 0x27 0x35 C4 0x2F 0x77 SDTV YCbCr (Limited Range) to RGB (Limted Range) Register Address Value Register Address Value Register Address Value Table 42 A1 0x18 0xAC HDTV YCbCr (Limited Range) to RGB (Full Range) Register Address Value Register Address Value Register Address Value Table 41 ADV7511 A1 0x18 0xAA A2 0x19 0xF8 0x1A 0x08 0x21 0x6A 0x22 0x08 0x29 0xFC 0x2A 0x08 B1 0x20 0x1A 0x1C 0x00 0x23 0x00 0x24 0x1D 0x2B 0x00 0x2C 0x0D B2 C1 0x28 0x1F A3 0x1B 0x00 A4 0x1D 0x00 0x1E 0x1A 0x25 0x50 0x26 0x04 0x2D 0xDE 0x2E 0x19 0x1D 0x00 0x1E 0x1C 0x25 0x6E 0x26 0x02 0x2D 0x1A 0x2E 0x1B B3 C2 0x1F 0x84 B4 C3 0x27 0x23 C4 0x2F 0x13 SDTV YCbCr (Limited Range) to RGB (Full Range) Register Address Value Register Address Value Register Address Value A1 0x18 0xE6 A2 0x19 0x69 0x1A 0x04 0x21 0xBC 0x22 0x04 0x29 0xFE 0x2A 0x04 B1 0x20 0x1C 0x1C 0x00 0x23 0xAD 0x24 0x1E 0x2B 0xAD 0x2C 0x08 B2 C1 0x28 0x1F A3 0x1B 0xAC A4 B3 C2 0x1F 0x81 B4 C3 0x27 0x20 C4 Page 62 of 203 0x2F 0xA9 Rev G PROGRAMMING GUIDE Table 43 RGB (Limited Range) to HDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 44 A2 0x19 0x2E 0x1A 0x18 0x21 0x67 0x22 0x0B 0x29 0x21 0x2A 0x19 B1 0x20 0x03 0x1C 0x1F 0x23 0x71 0x24 0x01 0x2B 0xB2 0x2C 0x08 B2 C1 0x28 0x1E A3 0x1B 0x93 A4 0x1D 0x3F 0x1E 0x08 0x25 0x28 0x26 0x00 0x2D 0x2D 0x2E 0x08 0x1D 0x5B 0x1E 0x08 0x25 0xFD 0x26 0x01 0x2D 0xFF 0x2E 0x08 B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 A1 0x18 0x86 A2 0x19 0xFF 0x1A 0x19 0x21 0xE9 0x22 0x09 0x29 0x66 0x2A 0x1A B1 0x20 0x02 0x1C 0x1F 0x23 0xCB 0x24 0x00 0x2B 0x9B 0x2C 0x06 B2 C1 0x28 0x1E A3 0x1B 0xA6 A4 B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 RGB (Limted Range) to SDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 46 A1 0x18 0x88 RGB (Full Range) to HDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 45 ADV7511 A1 0x18 0x88 A2 0x19 0x2E 0x1A 0x19 0x21 0xC9 0x22 0x09 0x29 0x3F 0x2A 0x1A B1 0x20 0x04 0x1C 0x1E 0x23 0x65 0x24 0x01 0x2B 0x93 0x2C 0x08 B2 C1 0x28 0x1D A3 0x1B 0x26 A4 0x1D 0xAC 0x1E 0x08 0x25 0xD2 0x26 0x00 0x2D 0x2E 0x2E 0x08 0x1D 0xDD 0x1E 0x08 0x25 0x8F 0x26 0x01 0x2D 0xFF 0x2E 0x08 B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 RGB (Full Range) to SDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value A1 0x18 0x86 A2 0x19 0xFF 0x1A 0x1A 0x21 0x18 0x22 0x08 0x29 0xA5 0x2A 0x1B B1 0x20 0x04 0x1C 0x1E 0x23 0x0A 0x24 0x01 0x2B 0x5C 0x2C 0x06 B2 C1 0x28 0x1D A3 0x1B 0x24 A4 B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 Page 63 of 203 0x2F 0x00 Rev G PROGRAMMING GUIDE Table 47 HDTV YCbCr (Limited Range) to SDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 48 A2 0x19 0xDD 0x1A 0x00 0x21 0x88 0x22 0x08 0x29 0x1D 0x2A 0x00 B1 0x20 0x01 0x1C 0x1F 0x23 0x00 0x24 0x00 0x2B 0x00 0x2C 0x07 B2 C1 0x28 0x1F A3 0x1B 0x00 A4 0x1D 0x6C 0x1E 0x00 0x25 0xCB 0x26 0x1E 0x2D 0xEB 0x2E 0x00 B3 C2 0x1F 0x5B B4 C3 0x27 0xD6 C4 0x2F 0x7B A1 0x18 0xA8 A2 0x19 0xEB 0x1A 0x00 0x21 0xC9 0x22 0x09 0x29 0xFF 0x2A 0x00 B1 0x20 0x01 0x1C 0x1F 0x23 0x50 0x24 0x00 0x2B 0x00 0x2C 0x08 B2 C1 0x28 0x1E A3 0x1B 0x00 A4 0x1D 0x58 0x1E 0x1F 0x25 0xEC 0x26 0x1F 0x2D 0xFA 0x2E 0x03 B3 C2 0x1F 0xDE B4 C3 0x27 0x25 C4 0x2F 0x1F SDTV YCbCr (Limited Range) to HDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 50 A1 0x18 0xA7 HDTV YCbCr (Limited Range) to SDTV YCbCr (Full Range) Register Address Value Register Address Value Register Address Value Table 49 ADV7511 A1 0x18 0xA8 A2 0x19 0x33 0x1A 0x00 0x21 0x56 0x22 0x08 0x29 0xEA 0x2A 0x00 B1 0x20 0x1E 0x1C 0x00 0x23 0x00 0x24 0x1F 0x2B 0x00 0x2C 0x08 B2 C1 0x28 0x00 A3 0x1B 0x00 A4 0x1D 0x99 0x1E 0x1F 0x25 0x13 0x26 0x01 0x2D 0x26 0x2E 0x1F B3 C2 0x1F 0x99 B4 C3 0x27 0x4B C4 0x2F 0x78 SDTV YCbCr (Full Range) to HDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value A1 0x18 0xC3 A2 0x19 0x9D 0x1A 0x00 0x21 0x44 0x22 0x03 0x29 0x67 0x2A 0x00 B1 0x20 0x1F 0x1C 0x00 0x23 0x6F 0x24 0x1F 0x2B 0x00 0x2C 0x03 B2 C1 0x28 0x00 A3 0x1B 0x00 A4 0x1D 0x43 0x1E 0x0F 0x25 0x97 0x26 0x00 0x2D 0x97 0x2E 0x00 B3 C2 0x1F 0x26 B4 C3 0x27 0xD2 C4 Page 64 of 203 0x2F 0x4D Rev G PROGRAMMING GUIDE Table 51 SDTV YCbCr (Limited Range) to SDTV YCbCr (Full Range) Register Address Value Register Address Value Register Address Value Table 52 A2 0x19 0x1B 0x1A 0x00 0x21 0x00 0x22 0x09 0x29 0x00 0x2A 0x00 B1 0x20 0x00 0x1C 0x00 0x23 0x50 0x24 0x00 0x2B 0x00 0x2C 0x09 B2 C1 0x28 0x00 A3 0x1B 0x00 A4 0x1D 0x00 0x1E 0x1F 0x25 0x00 0x26 0x1F 0x2D 0x1B 0x2E 0x1F B3 C2 0x1F 0x6E B4 C3 0x27 0x6B C4 0x2F 0x6E A1 0x18 0x8E A2 0x19 0x0D 0x1A 0x00 0x21 0x00 0x22 0x0D 0x29 0x00 0x2A 0x00 B1 0x20 0x00 0x1C 0x00 0x23 0xBC 0x24 0x00 0x2B 0x00 0x2C 0x0E B2 C1 0x28 0x00 A3 0x1B 0x00 A4 0x1D 0x00 0x1E 0x01 0x25 0x00 0x26 0x01 0x2D 0x0D 0x2E 0x01 0x1D 0x00 0x1E 0x01 0x25 0x00 0x26 0x01 0x2D 0xBC 0x2E 0x01 0x1D 0x00 0x1E 0x1F 0x25 0x00 0x26 0x1F 0x2D 0x50 0x2E 0x1F B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 RGB (Full Range) to RGB (Limited Range) Register Address Value Register Address Value Register Address Value Table 54 A1 0x18 0xA9 HDTV YCbCr (Full Range) to SDTV YCbCr (Limited Range) Register Address Value Register Address Value Register Address Value Table 53 ADV7511 A1 0x18 0x8D A2 0x19 0xBC 0x1A 0x00 0x21 0x00 0x22 0x0D 0x29 0x00 0x2A 0x00 B1 0x20 0x00 0x1C 0x00 0x23 0xBC 0x24 0x00 0x2B 0x00 0x2C 0x0D B2 C1 0x28 0x00 A3 0x1B 0x00 A4 B3 C2 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 RGB (Limited Range) to RGB (Full Range) Register Address Value Register Address Value Register Address Value A1 0x18 0xA9 A2 0x19 0x50 0x1A 0x00 0x21 0x00 0x22 0x09 0x29 0x00 0x2A 0x00 B1 0x20 0x00 0x1C 0x00 0x23 0x50 0x24 0x00 0x2B 0x00 0x2C 0x09 B2 C1 0x28 0x00 A3 0x1B 0x00 A4 B3 C2 0x1F 0x6B B4 C3 0x27 0x6B C4 Page 65 of 203 0x2F 0x6B Rev G PROGRAMMING GUIDE Table 55 Identity Matrix (Input = Output) Register Address Value Register Address Value Register Address Value Table 56 0x1A 0x00 0x21 0x00 0x22 0x08 0x29 0x00 0x2A 0x00 B1 A3 0x1B 0x00 0x1C 0x00 0x23 0x00 0x24 0x00 0x2B 0x00 0x2C 0x08 B2 0x20 0x00 C1 0x1E 0x00 0x25 0x00 0x26 0x00 0x2D 0x00 0x2E 0x00 B3 C2 0x28 0x00 A4 0x1D 0x00 0x1F 0x00 B4 C3 0x27 0x00 C4 0x2F 0x00 A1 0x18 0xAC A2 0x19 0x53 0x1A 0x08 0x21 0x56 0x22 0x08 0x29 0xFF 0x2A 0x08 B1 0x20 0x1C 0x1C 0x00 0x23 0x00 0x24 0x1E 0x2B 0x00 0x2C 0x0E B2 C1 0x28 0x1F A3 0x1B 0x00 A4 0x1D 0x00 0x1E 0x19 0x25 0x88 0x26 0x02 0x2D 0x85 0x2E 0x18 B3 C2 0x1F 0xD6 B4 C3 0x27 0x91 C4 0x2F 0xBE A1 0x18 0xE7 A2 0x19 0x34 0x1A 0x04 0x21 0xDC 0x22 0x04 0x29 0x00 0x2A 0x04 B1 0x20 0x1D 0x1C 0x00 0x23 0xAD 0x24 0x1F 0x2B 0xAD 0x2C 0x08 B2 C1 0x28 0x00 A3 0x1B 0xAD A4 0x1C 0x00 0x1E 0x1C 0x25 0x24 0x26 0x01 0x2D 0x 7C 0x2E 0x1B B3 C2 0x1F 0x1B B4 C3 0x27 0x35 C4 0x2F 0x77 SDTV YCbCr (16to 235) to RGB (16 to 235) Register Address Value Register Address Value Register Address Value Table 59 A2 0x19 0x00 HDTV YCbCr (16to 235) to RGB (0 to 255) Register Address Value Register Address Value Register Address Value Table 58 A1 0x18 0xA8 HDTV YCbCr (16to 235) to RGB (16to 235) Register Address Value Register Address Value Register Address Value Table 57 ADV7511 A1 0x18 0xAA B1 0x20 0x1A C1 0x28 0x1F 0x19 0xF8 0x21 0x6A 0x29 0xFC A2 0x1A 0x08 B2 0x22 0x08 C2 0x2A 0x08 0x1B 0x00 0x23 0x00 0x2B 0x00 A3 0x1C 0x00 B3 0x24 0x1D C3 0x2C 0x0D 0x1D 0x00 0x25 0x50 0x2D 0xDE A4 0x1E 0x1A B4 0x26 0x04 C4 0x2E 0x19 0x1F 0x84 0x27 0x23 0x2F 0x13 SDTV YCbCr (16to 235) to RGB (0 to 255) - (Default Value) Register Address Value A1 0x18 0xE6 0x19 0x69 A2 0x1A 0x04 0x1B 0xAC A3 0x1C 0x00 0x1D 0x00 Page 66 of 203 A4 0x1E 0x1C 0x1F 0x81 Rev G PROGRAMMING GUIDE Register Register Address Value Register Address Value Table 60 0x21 0xBC 0x29 0xFE A2 B2 0x22 0x04 C2 0x2A 0x04 0x23 0xAD 0x2B 0xAD A3 B3 0x24 0x1E C3 0x2C 0x08 0x25 0x6E 0x2D 0x1A A4 B4 0x26 0x02 C4 0x2E 0x1B 0x27 0x20 0x2F 0xA9 A1 0x18 0x88 B1 0x20 0x03 C1 0x28 0x1E 0x19 0x2E 0x21 0x67 0x29 0x21 A2 0x1A 0x18 B2 0x22 0x0B C2 0x2A 0x19 0x1B 0x93 0x23 0x71 0x2B 0xB2 A3 0x1C 0x1F B3 0x24 0x01 C3 0x2C 0x08 0x1D 0x3F 0x25 0x28 0x2D 0x2D A4 0x1E 0x08 B4 0x26 0x00 C4 0x2E 0x08 0x1F 0x00 0x27 0x00 0x2F 0x00 RGB (0 to 255) to HDTV YCbCr (16to 235) Register Address Value Register Address Value Register Address Value Table 62 A1 B1 0x20 0x1C C1 0x28 0x1F RGB (16 to 235) to HDTV YCbCr (16to 235) Register Address Value Register Address Value Register Address Value Table 61 ADV7511 A1 0x18 0x86 B1 0x20 0x02 C1 0x28 0x1E 0x19 0xFF 0x21 0xE9 0x29 0x66 A2 0x1A 0x19 B2 0x22 0x09 C2 0x2A 0x1A 0x1B 0xA6 0x23 0xCB 0x2B 0x9B A3 0x1C 0x1F B3 0x24 0x00 C3 0x2C 0x06 0x1D 0x5B 0x25 0xFD 0x2D 0xFF A4 0x1E 0x08 B4 0x26 0x01 C4 0x2E 0x08 0x1F 0x00 0x27 0x00 0x2F 0x00 RGB (16 to 235) to SDTV YCbCr (16to 235) Register Address Value Register Address Value Register Address Value A1 0x18 0x88 B1 0x20 0x04 C1 0x28 0x1D 0x19 0x2E 0x21 0xC9 0x29 0x3F A2 0x1A 0x19 B2 0x22 0x09 C2 0x2A 0x1A 0x1B 0x26 0x23 0x65 0x2B 0x93 A3 0x1C 0x1E B3 0x24 0x01 C3 0x2C 0x08 0x1D 0xAC 0x25 0xD2 0x2D 0x2E Page 67 of 203 A4 0x1E 0x08 B4 0x26 0x00 C4 0x2E 0x08 0x1F 0x00 0x27 0x00 0x2F 0x00 Rev G PROGRAMMING GUIDE Table 63 RGB (0 to 255) to SDTV YCbCr (16to 235) Register Address Value Register Address Value Register Address Value Table 64 A1 0x18 0x86 B1 0x20 0x04 C1 0x28 0x1D 0x19 0xFF 0x21 0x18 0x29 0xA5 A2 0x1A 0x1A B2 0x22 0x08 C2 0x2A 0x1B 0x1B 0x24 0x23 0x0A 0x2B 0x5C A3 0x1C 0x1E B3 0x24 0x01 C3 0x2C 0x06 0x1D 0xDD 0x25 0x8F 0x2D 0xFF A4 0x1E 0x08 B4 0x26 0x01 C4 0x2E 0x08 0x1F 0x00 0x27 0x00 0x2F 0x00 Identity Matrix (Output = Input) Register Address Value Register Address Value Register Address Value 4.3.8.2 ADV7511 A1 0x18 0xA8 B1 0x20 0x00 C1 0x28 0x00 0x19 0x00 0x21 0x00 0x29 0x00 A2 0x1A 0x00 B2 0x22 0x08 C2 0x2A 0x00 0x1B 0x00 0x23 0x00 0x2B 0x00 A3 0x1C 0x00 B3 0x24 0x00 C3 0x2C 0x08 0x1D 0x00 0x25 0x00 0x2D 0x00 A4 0x1E 0x00 B4 0x26 0x00 C4 0x2E 0x00 0x1F 0x00 0x27 0x00 0x2F 0x00 Color Space Converter (CSC) Special Features The Colorspace Converter also has three special features. For the case where YCbCr with a code range from -128 to 127 is input, setting bit 0xD5[1] to 1 will shift the code ranges to 0 - 255. If the user requires a black image to be sent across the HDMI link register 0xD5[0] should be set to 1, and register 0x16[0] should be set according to the output colorspace. The black image can be useful for protecting copyrighted content during HDCP authentication. The minimum and maximum values for Y and CbCr can be set using the register in ▶ Table 65. For RGB, only the Y value will be used. YCbCr and RGB are distinguished by using the Input Color Space register bit (0x16[0]). This can be useful to ensure that video codes do not stray outside of the specified range when using limited range RGB or YCbCr. 4.3.8.3 Changing the Color Space with Active Display The Color Space Converter Enable register bit 0x18[7] can cause the video to become momentarily unstable. To avoid this, time the end of the I2C write to coincide with the back porch of the Vsync. The Vsync interrupt can be used to synchronize the I2C write. Table 65 Color Space Converter (CSC) Related Registers (Main Map) Address Type Bits Default Value Register Name Function Output Color Space Selection Used for Black Image and Range Clipping 0 = RGB 1 = YCbCr Color Space Converter Enable 0 = CSC Disabled 1 = CSC Enabled 0x16 R/W [0] *******0 Output Color Space 0x18 R/W [7] 0******* CSC Enable Page 68 of 203 Rev G PROGRAMMING GUIDE Address Type Bits [6:5] 0x18 ADV7511 Default Value *10***** Register Name Function CSC Scaling Factor ***00110 Color Space Converter Mode Sets the fixed point position of the CSC coefficients. Including the a4, b4, c4, offsets. 00 = +/- 1.0, -4096 - 4095 01 = +/- 2.0, -8192 - 8190 10 = +/- 4.0, -16384 - 16380 11 = +/- 4.0, -16384 - 16380 Color space Converter (CSC) coefficient for equations: Equation 1: CSC Channel A A1 A2 A3 ⎡ ⎤ Out _ A = ⎢ In _ A + In _ B + In _ C + A4⎥ 2 CSC _ Mode 4096 4096 4096 ⎣ ⎦ Equation 2: CSC Channel B R/W [12:0] 0x19 A1 (CSC) 01100010 B1 B2 B3 ⎡ ⎤ Out _ B = ⎢ In _ A + In _ B + In _ C + B 4⎥ 2 CSC _ Mode 4096 4096 4096 ⎣ ⎦ Equation 3: CSC Channel C C1 C2 C3 ⎡ ⎤ Out _ C = ⎢ In _ A + In _ B + In _ C + C 4⎥ 2 CSC _ Mode 4096 4096 4096 ⎣ ⎦ 0x1A R/W [5] R/W [12:0] 0x1A Coefficient Update A2 (CSC) See description for registers 0x18 and 0x19 A3 (CSC) See description for registers 0x18 and 0x19 A4 (CSC) See description for registers 0x18 and 0x19 B1 (CSC) See description for registers 0x18 and 0x19 B2 (CSC) See description for registers 0x18 and 0x19 B3 (CSC) See description for registers 0x18 and 0x19 ***00100 0x1B 10101000 0x1C ***00000 R/W [12:0] 0x1D 00000000 0x1E ***11100 R/W [12:0] 0x1F 10000100 0x20 ***11100 R/W [12:0] 0x21 10111111 0x22 ***00100 R/W [12:0] 0x23 0x24 **0***** There are 2 methods to update the coefficients. Method 1: When Coefficient Update is always 0, the coefficient will be updated directly. Method 2: When Coefficient Update is used, there are 3 steps for updating a) Set Coefficient Update = 1 to buffer the CSC Coefficients b) Set the new CSC Coefficients c) Set Coefficient Updated = 0 to enable the new CSC Coefficients at the next Vsync rising edge 0 = Update Complete 1 = Allow CSC Update 10101000 R/W [12:0] ***11110 Page 69 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value 0x25 01110000 0x26 ***00010 R/W [12:0] 0x27 B4 (CSC) See description for registers 0x18 and 0x19 C1 (CSC) See description for registers 0x18 and 0x19 C2 (CSC) See description for registers 0x18 and 0x19 C3 (CSC) See description for registers 0x18 and 0x19 C4 (CSC) See description for registers 0x18 and 0x19 00011110 0x28 ***00000 R/W [12:0] 0x29 00000000 0x2A ***00100 R/W [12:0] 0x2B 10101000 0x2C ***01000 R/W [12:0] 0x2D 00010010 0x2E ***11011 R/W [12:0] 0x2F 0xD5 Register Name Function 10101100 [1] ******0* YCbCr Code Shift YCbCr Code Shift 0 = Code Shift Disabled 1 = Code Shift Enabled [0] *******0 Black Image Black Image 0 = Black Image Disabled 1 = Black Image Enabled R/W Table 66 Color Space Converter (CSC) Related Registers (CEC Map) Address Type Bits R/W [11:0] 0xC0 Function Y or RGB Minimum Minimum value for Y or RGB for video data clipping. Y or RGB Maximum Maximum value for Y or RGB for video data clipping. CbCr Minimum Minimum value for Cb/Cr for video data clipping CbCr Maximum Maximum value for Cb/Cr for video data clipping. 00000000 0xC2 ****1111 R/W [11:0] 0xC3 11111111 0xC4 ****0000 R/W [11:0] 0xC5 00000000 0xC6 ****1111 R/W 4.3.9 Register Name ****0000 0xC1 0xC7 Default Value [11:0] 11111111 Video InfoFrame and Other Video Related Packets Video related InfoFrames include the AVI InfoFrame, MPEG InfoFrame, GMP Packet. Page 70 of 203 Rev G PROGRAMMING GUIDE ADV7511 To avoid a partial update of the packets the Packet Update features should be used. By setting the Packet Update register bit to 1 the current values will be stored and sent in the packets. The user should update the values then set the Packet Update register bit to 0 to begin sending the new packets. See section 4.2.5 for details. 4.3.9.1 AVI InfoFrame The AVI InfoFrame is sent to the receiver to help it determine the intended aspect ratio and other formatting parameters of the video being transmitted across the HDMI link. The Y1Y0 bits (0x55[6:5]), which tell the sink whether YCbCr 4:2:2,4:4:4 or RGB are sent, and the Picture Aspect Ratio bits (0x56[5:4]) are required fields. Other field data can be entered if the information is available. The Active Format Information Status bit (0x55[4]) tells whether the Bar Information, Scan Information, Colorimetry, Nonuniform Picture Scaling, and Active Aspect Ratio fields contain valid information. The Active Format Aspect Ratio bits (0x56[3:0]) give the receiver useful information about the video that can be used to improve the picture. The Active Format Description code from the ETSI TR 101 151 version 1.4.1 Digital Video Broadcasting Specification, which is mentioned in ▷ CEA 861D, should be entered into this field. Additional formats can be entered manually in the bar information fields. Registers 0x5A – 0x61 tell the receiver if there are black bars included in the video stream. Register 0x55[3:2] tells the receiver which bar information is valid: none, horizontal, vertical, or both. To make sure theAVI InfoFrame information isn’t partially sent while being updated the packet update feature can be used. The AVI Packet Update register bit (0x48[6]), should be set to 1, then the AVI Packet Registers written, and finally set back to 0. See section 4.2.5 for details. Page 71 of 203 Rev G PROGRAMMING GUIDE Table 67 ADV7511 AVI InfoFrame Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x44 [4] ***1**** AVI InfoFrame Enable AVI InfoFrame Enable 0 = Disabled 1 = Enabled [7] 1******* Auto Checksum Enable Auto Checksum Enable 0 = Use checksum from registers 1 = Use automatically generated checksum 0x4A R/W R/W [6] *0****** AVI Packet Update AVI Packet Update: Before updating the AVI Packet using I2C set to '1' to continue sending the current values. 0 = AVI Packet I2C update inactive 1 = AVI Packet I2C update active 0x52 R/W [2:0] *****010 AVI InfoFrame Version Version of AVI InfoFrame Should be left default 0x53 R/W [4:0] ***01101 AVI InfoFrame Length Length of packet body, excluding checksum 0x54 R/W [7:0] 00000000 AVI InfoFrame Checksum Checksum for AVI IF. Only used in manual checksum mode.. [7] 0******* AVI Byte 1 bit 7 Reserved per HDMI spec. - set to 0 0x55 [6:5] *00***** Y1Y0 (AVI InfoFrame) Output format - this should be written when 0x16[7:6] is written. 00 = RGB 01 = YCbCr 4:2:2 10 = YCbCr 4:4:4 11 = reserved [4] ***0**** Active Format Information Status (AVI InfoFrame) Active Format Information Present 0 = no data 1 = Active format Information valid Bar Information (AVI InfoFrame) B[1:0] 00 = invalid bar 01 = vertical 10 = horizontal 11 = Both Scan Information (AVI InfoFrame) S[1:0] 00 = no data 01 = TV 10 = PC 11 = None R/W [3:2] [1:0] 0x56 ****00** ******00 [7:6] 00****** Colorimetry (AVI InfoFrame) C[1:0] 00 = no data 01 = ITU601 10 = ITU709 11 = Extended Colorimetry Information Valid (Indicated in register 0x57[6:4]) [5:4] **00**** Picture Aspect Ratio (AVI InfoFrame) M[1:0] 00 = no data 01 = 4:3 R/W Page 72 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 10 = 16:9 11 = None [3:0] ****0000 Active Format Aspect Ratio (AVI InfoFrame) R[3:0] 1000 = Same as Aspect Ratio 1001 = 4:3 (center) 1010 = 16:9 (center) 1011 = 14:9 (center) [7] 0******* ITC IT Content 0 = None 1 = IT content available in register bits 0x59[5:4] EC[2:0] E[2:0] All other values reserved per HDMI 1.4 Specification 000 = xvYCC 601 001 =xvYCC 709 010 = sYCC601 011 = AdobeYCC601 100 = AdobeRGB Q[1:0] RGB Quantization range 00 = default range 01 = limited range 10 = full range 11 = reserved SC[1:0] 00 = unknown 01 = scaling in Horizontal direction 10 = scaling in Vertical direction 11 = scaling in Both H & V directions [6:4] 0x57 R/W [3:2] 0x58 *000**** R/W ****00** [1:0] ******00 Non-Uniform Picture Scaling (AVI InfoFrame) [7] 0******* Byte 4 Bit 7 (AVI InfoFrame) Reserved per HDMI spec. Set to '0'. 0x59 R/W [7:4] 0000**** Byte 5 bit [7:4] (AVI InfoFrame) YQ[1:0] 00 = Limited Range 01 = Full Range 10 = Reserved 11 = Reserved 0x5A R/W [7:0] 00000000 Active Line Start LSB (AVI InfoFrame) Active Line Start This represents the line number of the end of the top horizontal bar. If 0, there is no horizontal bar. 0x5B R/W [7:0] 00000000 Active Line Start MSB (AVI InfoFrame) Active Line Start This represents the line number of the end of the top horizontal bar. If 0, there is no horizontal bar. 00000000 Active Line End LSB (AVI InfoFrame) Active Line End This represents the line number of the beginning of a lower horizontal bar. If greater than the number of active video lines, there is no lower horizontal bar. 0x5C R/W [7:0] Page 73 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function Active Line End This represents the line number of the beginning of a lower horizontal bar. If greater than the number of active video lines, there is no lower horizontal bar. 0x5D R/W [7:0] 00000000 Active Line End MSB (AVI InfoFrame) 0x5E R/W [7:0] 00000000 Active Pixel Start LSB (AVI InfoFrame) Active Pixel Start This represents the last pixel in a vertical pillar-bar at the left side of the picture. If 0, there is no left bar. 0x5F R/W [7:0] 00000000 Active Pixel Start MSB (AVI InfoFrame) Active Pixel Start This represents the last pixel in a vertical pillar-bar at the left side of the picture. If 0, there is no left bar. 00000000 Active Pixel End LSB (AVI InfoFrame) Active Pixel End This represents the first horizontal pixel in a vertical pillar-bar at the right side of the picture. If greater than the maximum number of horizontal pixels, there is no vertical bar. Active Pixel End This represents the first horizontal pixel in a vertical pillar-bar at the right side of the picture. If greater than the maximum number of horizontal pixels, there is no vertical bar. 0x60 R/W [7:0] 0x61 R/W [7:0] 00000000 Active Pixel End MSB (AVI InfoFrame) 0x62 R/W [7:0] 00000000 Byte 14 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x63 R/W [7:0] 00000000 Byte 15 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x64 R/W [7:0] 00000000 Byte 16 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x65 R/W [7:0] 00000000 Byte 17 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x66 R/W [7:0] 00000000 Byte 18 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x67 R/W [7:0] 00000000 Byte 19 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x68 R/W [7:0] 00000000 Byte 20 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x69 R/W [7:0] 00000000 Byte 21 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6A R/W [7:0] 00000000 Byte 22 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6B R/W [7:0] 00000000 Byte 23 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6C R/W [7:0] 00000000 Byte 24 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6D R/W [7:0] 00000000 Byte 25 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6E R/W [7:0] 00000000 Byte 26 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 0x6F R/W [7:0] 00000000 Byte 27 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.2 MPEG InfoFrame The MPEG InfoFrame is defined in ▷ CEA 861D. Currently, the specification does not recommend using this InfoFrame. Register 0x40[5] tells the ADV7511 whether or not to send the MPEG InfoFrame. Page 74 of 203 Rev G PROGRAMMING GUIDE ADV7511 The contents of the MPEG InfoFrame are set in the Packet Memory. The device address for the Packet Memory map is programmable and is controlled by register 0x45 of the primary register map. The default setting is 0x70. To make sure theMPEG InfoFrame information isn’t partially sent while being updated the packet update feature can be used. See section 4.2.5 for details. Page 75 of 203 Rev G PROGRAMMING GUIDE Table 68 ADV7511 MPEG InfoFrame Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 R/W [5] **0***** MPEG Packet Enabled MPEG Packet Enable 0 = Disabled 1 = enable 0x4A R/W [7] 1******* Auto Checksum Enable Auto Checksum Enable 0 = Use checksum from registers 1 = Use automatically generated checksum Table 69 MPEG InfoFrame Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0x20 R/W [7:0] 00000000 MPEG Header Byte 0 0x21 R/W [7:0] 00000000 MPEG Header Byte 1 0x22 R/W [7:0] 00000000 MPEG Header Byte 2 0x23 R/W [7:0] 00000000 MPEG Packet Byte 0 0x24 R/W [7:0] 00000000 MPEG Packet Byte 1 0x25 R/W [7:0] 00000000 MPEG Packet Byte 2 0x26 R/W [7:0] 00000000 MPEG Packet Byte 3 0x27 R/W [7:0] 00000000 MPEG Packet Byte 4 0x28 R/W [7:0] 00000000 MPEG Packet Byte 5 0x29 R/W [7:0] 00000000 MPEG Packet Byte 6 0x2A R/W [7:0] 00000000 MPEG Packet Byte 7 0x2B R/W [7:0] 00000000 MPEG Packet Byte 8 0x2C R/W [7:0] 00000000 MPEG Packet Byte 9 0x2D R/W [7:0] 00000000 MPEG Packet Byte 10 0x2E R/W [7:0] 00000000 MPEG Packet Byte 11 0x2F R/W [7:0] 00000000 MPEG Packet Byte 12 0x30 R/W [7:0] 00000000 MPEG Packet Byte 13 0x31 R/W [7:0] 00000000 MPEG Packet Byte 14 0x32 R/W [7:0] 00000000 MPEG Packet Byte 15 0x33 R/W [7:0] 00000000 MPEG Packet Byte 16 0x34 R/W [7:0] 00000000 MPEG Packet Byte 17 0x35 R/W [7:0] 00000000 MPEG Packet Byte 18 Page 76 of 203 Function Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x36 R/W [7:0] 00000000 MPEG Packet Byte 19 0x37 R/W [7:0] 00000000 MPEG Packet Byte 20 0x38 R/W [7:0] 00000000 MPEG Packet Byte 21 0x39 R/W [7:0] 00000000 MPEG Packet Byte 22 0x3A R/W [7:0] 00000000 MPEG Packet Byte 23 0x3B R/W [7:0] 00000000 MPEG Packet Byte 24 0x3C R/W [7:0] 00000000 MPEG Packet Byte 25 0x3D R/W [7:0] 00000000 MPEG Packet Byte 26 0x3E R/W [7:0] 00000000 MPEG Packet Byte 27 0x3F 4.3.9.3 R/W [7] 0******* MPEG Packet Update Function MPEG Packet Update: Before updating the MPEG Packet using I2C set to '1' to continue sending the current values. 0 = MPEG Packet I2C update inactive 1 = MPEG Packet I2C update active Gamut Metadata Packet The Gamut Metadata Packet (GMP) contains the sources Gamut Boundary Description. It is defined in the ▷ HDMI 1.3a specification. The contents of the GMP InfoFrame are set in the Packet Memory. The device address for the Packet Memory map is programmable and is controlled by register 0x45 of the primary register map. The default setting is 0x70. Transmission of the GMP data over the HDMI link is enabled by setting the GMP Enable bit (0x40[2] of the Main Register Map) to 1. The ADV7511 transmits the GMP data starting 400 pixel clock cycles after the leading edge of Vsync. In order to update the GMP at the expected frame, it is recommended that the user set the packet update bit to 0 after the 512th pixel clock cycle after the Vsync leading edge. The Vsync interrupt of the ADV7511 should be used to synchronize this timing. ▶ Figure 12illustrates this GM Packet timing. Page 77 of 203 Rev G PROGRAMMING GUIDE Figure 12 ADV7511 I2C Write Timing of GMP Data Falling edge of last DE of last field Rising edge of first DE of next field Vsync GMP sending window 400 pixel clocks 112 pixel clocks Initiate I2C change after 512 clocks The Packet Update feature can be used to ensure that the GMP Infoframe information is not partially sent while being updated. The GM Packet Update register bit (0xBF[7]), should be set to 1, then the GM Packet Registers written, and finally set back to 0. See section 4.2.5 for details. Page 78 of 203 Rev G PROGRAMMING GUIDE Table 70 ADV7511 Gamut Metadata Packet Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 R/W [2] *****0** GM Packet Enable GM Packet Enable 0 = Disabled 1 = Enabled Table 71 Gamut Metadata Packet Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0xA0 R/W [7:0] 00000000 GM Header Byte 0 0xA1 R/W [7:0] 00000000 GM Header Byte 1 0xA2 R/W [7:0] 00000000 GM Header Byte 2 0xA3 R/W [7:0] 00000000 GM Packet Byte 0 0xA4 R/W [7:0] 00000000 GM Packet Byte 1 0xA5 R/W [7:0] 00000000 GM Packet Byte 2 0xA6 R/W [7:0] 00000000 GM Packet Byte 3 0xA7 R/W [7:0] 00000000 GM Packet Byte 4 0xA8 R/W [7:0] 00000000 GM Packet Byte 5 0xA9 R/W [7:0] 00000000 GM Packet Byte 6 0xAA R/W [7:0] 00000000 GM Packet Byte 7 0xAB R/W [7:0] 00000000 GM Packet Byte 8 0xAC R/W [7:0] 00000000 GM Packet Byte 9 0xAD R/W [7:0] 00000000 GM Packet Byte 10 0xAE R/W [7:0] 00000000 GM Packet Byte 11 0xAF R/W [7:0] 00000000 GM Packet Byte 12 0xB0 R/W [7:0] 00000000 GM Packet Byte 13 0xB1 R/W [7:0] 00000000 GM Packet Byte 14 0xB2 R/W [7:0] 00000000 GM Packet Byte 15 0xB3 R/W [7:0] 00000000 GM Packet Byte 16 0xB4 R/W [7:0] 00000000 GM Packet Byte 17 0xB5 R/W [7:0] 00000000 GM Packet Byte 18 0xB6 R/W [7:0] 00000000 GM Packet Byte 19 0xB7 R/W [7:0] 00000000 GM Packet Byte 20 Page 79 of 203 Function Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0xB8 R/W [7:0] 00000000 GM Packet Byte 21 0xB9 R/W [7:0] 00000000 GM Packet Byte 22 0xBA R/W [7:0] 00000000 GM Packet Byte 23 0xBB R/W [7:0] 00000000 GM Packet Byte 24 0xBC R/W [7:0] 00000000 GM Packet Byte 25 0xBD R/W [7:0] 00000000 GM Packet Byte 26 0xBE R/W [7:0] 00000000 GM Packet Byte 27 0xBF 4.3.10 R/W [7] 0******* GM Packet Update Function GM Packet Update: Before updating the GM Packet using I2C set to '1' to continue sending the current values. 0 = GM Packet I2C update inactive 1 = GM Packet I2C update active 3D Video Setup When sending 3D video formats from the ADV7511, both the VIC in the AVI InfoFrame and the Vendor Specific InfoFrame must be setup. 4.3.10.1 VIC The ADV7511 does not detect the VIC for 3D formats. The VIC must be programmed using the manual pixel repeat mode by setting 0x3B[6:5] to ‘10’. The VIC should be programmed in register bits 0x3C[5:0]. A list of VICs can be found in the CEA861 document. 4.3.10.2 Pixel Repeat The Pixel repeat value should be set in register 0x3B[2:1] and 0x3B[4:3]. This will be 0 for most formats However, depending on the audio and video formats used, sometimes pixel repeat must be used to increase the bandwidth available for audio. Look at table 7-5 in HDMISpecification1.4 to determine the appropriate pixel repeat value for the 2D VIC and audio format, then look at ▶ Table 72 to select the an appropriate PR for the corresponding 3D structure. Page 80 of 203 Rev G PROGRAMMING GUIDE ADV7511 Pixel Repeat Values for 3D Formats Table 72 2D PR Value in table 7‐5 Frame Side‐by‐ Top‐and‐ Field Packing PR Side (Half) Bottom PR Alternative Value PR Value Value PR Value Line Alternative PR Value Side‐by‐ Side (Full) PR Value L + Depth PR Value L + depth + Graphics + Graphics‐ depth PR Value None None None None None None None None None 2X None 2X 2X None None None None None 4X 2X 4X 4X 2X 2X 2X 2X None 4.3.10.3 Vendor Specific InfoFrame Either Spare Packet 1 or Spare Packet 2 can be used to set up the Vendor Specific InfoFrame. For information about setting up the InfoFrame packet see section 8.2.3 of the HDMI 1.4a Specification. For details about how to program the spare packet see section ▶4.2.7of this Programming Guide. Page 81 of 203 Rev G PROGRAMMING GUIDE ADV7511 Audio Setup 4.4 4.4.1 Input Format ADV7511 is capable of receiving audio data in either I2S, SPDIF, DSD, DST, or HBR format for packetization and transmission over the HDMI interface. Table 73 Audio Input Format Summary Audio Select 0x0A[6:4] Audio Mode 0x0A[3:2] 000 ** 000 1 Input I2S Format 0x0C[1:0] Output Data Pins Clock Pins Encoding Format Packet Type 00 I2S[3:0] Required:SCLK Optional:MCLK Normal 1 Standard I2S Audio Sample Packet ** 01 I2S[3:0] Required:SCLK Optional: MCLK Normal Right Justified Audio Sample Packet 000 ** 10 I2S[3:0] Required: SCLK Optional: MCLK Normal Left Justified Audio Sample Packet 000 ** 11 I2S[3:0] Required: SCLK Optional: MCLK Normal AES3 Direct Audio Sample Packet 001 00 ** SPDIF Optional: MCLK Biphase Mark IEC60958 or IEC61937 Audio Sample Packet 010 0* ** DSD[5:0] & I2S[3:2] for Required: DSD_CLK DSD[7:6] Normal DSD One Bit Audio Sample Packet 010 1* ** DSD[5:0] & I2S[3:2] for Required: DSD_CLK DSD[7:6] SDIF-3 DSD One Bit Audio Sample Packet 011 00 ** I2S[3:0] Required: MCLK Biphase Mark IEC61937 HBR Audio Stream Packet 011 01 00 I2S[3:0] Required: SCLK Optional: MCLK Normal Standard I2S HBR Audio Stream Packet 011 01 01 I2S[3:0] Required: SCLK Optional: MCLK Normal Right Justified HBR Audio Stream Packet 011 01 10 I2S[3:0] Required: SCLK Optional: MCLK Normal Left Justified HBR Audio Stream Packet 011 01 11 I2S[3:0] Required: SCLK Optional: MCLK Normal AES3 Direct HBR Audio Stream Packet 011 10 ** SPDIF Required: MCLK Biphase Mark IEC61937 HBR Audio Stream Packet 011 11 00 SPDIF Required: SCLK Optional: MCLK Normal Standard I2S HBR Audio Stream Packet 011 11 01 I2S[3:0] Required: SCLK Optional: MCLK Normal Right Justified HBR Audio Stream Packet 011 11 10 I2S[3:0] Required: SCLK Optional: MCLK Normal Left Justified HBR Audio Stream Packet 011 11 11 I2S[3:0] Required: MCLK Normal IEC61937 HBR Audio Stream Packet 100 *0 ** DSD[5] = DST_FF DSD[4] = DST_D Required: DSD_CLK Normal DST Normal DST Audio Packet 100 01 ** DSD[5] = DST_FF DSD[4] = DST_D Required: DSD_CLK Normal DST 2X DST Audio Packet 100 11 ** DSD[5] = DST_FF DSD[4] = DST_D Required: DSD_CLK Normal DST 1X (DDR) DST Audio Packet Normal Encoding means data is captured on the rising edge of the data clock Page 82 of 203 Rev G PROGRAMMING GUIDE Table 74 Address 0x04 Input Format Related Registers (Main Map) Type RO Bits [7:4] [6:4] 0x0A ADV7511 Default Value 0000**** *000**** Register Name Function SPDIF Sampling Frequency SPDIF Sampling Frequency from SPDIF Channel Status. 0000 = 44.1 kHz 0001 = N/A 0010 = 48.0 kHz 0011 = 32.0 kHz 0100 = N/A 0101 = N/A 0110 = N/A 0111 = N/A 1000 = 88.2 kHz 1001 = N/A 1010 = 96.0 kHz 1011 = N/A 1100 = 176.4 kHz 1101 = N/A 1110 = 192.0 kHz 1111 = N/A Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding MCLK Ratio MCLK Ratio The ratio between the audio sampling frequency and the clock described using N and CTS 00 = 128xfs 01 = 256xfs R/W [3:2] [1:0] ****00** ******01 Page 83 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 10 = 384xfs 11 = 512xfs [7] 0x0B 0x0C 0x0D 0x42 R/W R/W R/W RO 0******* SPDIF Enable Enable or Disable SPDIF receiver 0 = disable 1 = Enabled [6] *0****** Audio Clock Polarity SPDIF MCLK, I2S SCLK, and DSD Clock Polarity Indicates edge where input data is latched 0 = rising edge 1 = falling edge [5] **0***** MCLK Enable MCLK Enable 0 = MCLK internally generated 1 = MCLK is available [7] 1******* Audio Sampling Frequency Select Select source of audio sampling frequency for pixel repeat and I2S mode 4 0 = use sampling frequency from I2S stream 1 = use sampling frequency from I2C register [6] *0****** Channel Status Override Source of channel status bits when using I2S mode 4 0 = use channel status bits from I2S stream 1 = use channel status bits from I2C registers [5] **1***** I2S3 Enable I2S3 enable for theI2S 3 pin. 0 = Disabled 1 = Enabled [4] ***1**** I2S2 Enable I2S2 enable for the I2S 2 pin. 0 = Disabled 1 = Enabled [3] ****1*** I2S1 Enable I2S1 enable for the 4 I2S 1 pin. 0 = Disabled 1 = Enabled [2] *****1** I2S0 Enable I2S0 enable for the I2S 0 pin. 0 = Disabled 1 = Enabled [1:0] ******00 I2S Format I2S Format 00 = Standard I2S mode 01 = right justified mode 10 = left justified mode 11 = AES3 direct mode [4:0] ***11000 I2S Bit Width I2S Bit Width For right justified audio only. Default is 24. Not valid for widths greater than 24. I2S 32 Bit Mode Detect I2S Mode Detections Shows the number of SCLK periods per LRCLK period. 0 = 32 bit mode detected [3] ****0*** Page 84 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 1 = 64 bit mode detected 0x94 R/W [4] ***0**** Audio FIFO Full Interrupt Enable Audio FIFO Full Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 0x96 R/W [4] ***0**** Audio FIFO Full Interrupt Audio FIFO Full Interrupt 0 = no interrupt detected 1 = interrupt detected 4.4.1.1 Inter-IC Sound (I2S) Audio The ADV7511 can accommodate from two to eight channels of Inter-IC Sound (I2S) audio at up to a 192KHz sampling rate. The number of channels can be selected in register 0x73[2:0] Which I2S channels are active can be selected in register 0x0C[5:2] If all eight channels (I2S0 – I2S3) are required, setting all bits in registers 0x73[2:0] and 0x0C[5:2] to 1 will select eight channels. If I2S0 only is needed, setting the Channel Count register (0x73[2:0]) and I2S enable (0x0C[2]) to 1 will select this. The I2S Sampling Frequency (0x15[7:4]) must be set appropriately. This value is used along with the VIC to determine pixel repeat (see ▶ 4.3.4) and sent across the TMDS link in the channel status information contained in the Audio Sample Packet. The placement of I2S channels into the Audio Sample Packet Subpackets, defined in the ▷ HDMI specification, can be specified in registers 0x0E – 0x11. Default settings place all channels in their respective position (I2S0 left channel in channel 0 left position, I2S3 right channel in channel 3 right position), but this mapping is completely programmable if desired. The ADV7511 supports standard I2S, left-justified, right-justified, and direct AES3 stream formats via register 0x0C[1:0] and sample word lengths between 16 bits and 24 bits (0x14[3:0]). The ADV7511 supports both 64-bit and 32-bit modes, so either 64 or 32 SCLK edges per channel are valid. The ADV7511 will adapt to 32 or 64 bit mode automatically, and the current mode can be read in register 0x42[3]. See ▶ Figure 15– ▶ Figure 20 for I2S format details. In the direct AES3 stream I2S format, the user can send an IEC60958 sub-frame, seen in ▶ Figure 13. The data should be aligned as seen in ▶ Figure 18, with the Preamble left out as shown in ▶ Figure 14. Notice that the parity bit is replaced by the block start flag. The parity bit will be calculated automatically. The information contained in "C" of I2S0 is used in the HDMI audio sample packet. This information can either be extracted from the stream or programmed through the ADV7511 register map. To choose the channel status source, use register 0x0C[6]. When Channel Status Override (0x0C[6]) is set to extract channel status information from the register map, by setting Audio Sampling Frequency Select (0x0C[7]) to 1, all of the data from the stream will be used except the sampling frequency will be obtained through the Sampling Frequency register (0x15[7:4]). When Audio Sampling Frequency Select is set to 1, the sampling frequency from the register map will be used for pixel repetition decisions as well. Figure 13 IEC60958 Sub-Frame Page 85 of 203 Rev G PROGRAMMING GUIDE ADV7511 Figure 14 Sub-Frame Format for ADV7511 Figure 15 Standard I2S Timing LRCLK LEFT RIGHT SCLK DATA LSB MSBleft MSB LSB 32 Clock Slots 32 Clock Slots I2S Standard R0x0C[1:0] = ‘00’ Figure 16 Right-Justified Timing LRCLK LEFT RIGHT SCLK DATA MSB MSB MSB MSB MSB-1 LSB MSB MSB extended MSB MSB MSB MSB-1 LSB MSB extended 32 Clock Slots 32 Clock Slots Serial Audio Right Justified R0x0C[1:0] = ‘01’ Page 86 of 203 Rev G PROGRAMMING GUIDE Figure 17 ADV7511 Left-Justified Timing LRCLK LEFT RIGHT SCLK DATA MSB MSB LSB 32 Clock Slots LSB 32 Clock Slots Serial Audio Left Justified R0x0C[1:0] = ‘10’ Figure 18 AES3 Direct Timing Figure 19 I2S 32 Bit Mode Timing LRCLK LEFT RIGHT SCLK DATA LSBright LSBleft MSBleft MSB right 16 Clock Slots LSB 16 Clock Slots I2S Standard 16-bit per channel R0x0C[1:0] = ‘00’ Page 87 of 203 Rev G PROGRAMMING GUIDE ADV7511 Figure 20 32 Bit Mode Left- or Right-Justified Timing Table 75 Inter-IC Sound (I2S) Audio Related Registers (Main Map) Address Type Bits [6:4] 0x0A *000**** Register Name Function Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding R/W [3:2] 4.4.1.2 Default Value ****00** Sony/Philips Digital Interface (SPDIF) Audio The ADV7511 is capable of accepting two-channel LPCM and encoded multi-channel audio up to a 192KHz sampling rate via the Sony/Philips Digital Interface (SPDIF). The detected sampling frequency for SPDIF (from 32KHz to 192KHz) can be read in register0x04[7:4]. For SPDIF, by setting the Audio Frequency Select register (0x0C[7]) to 1, the sampling frequency used to determine pixel repeat can be obtained by the Sampling Frequency register (0x15[7:4]) instead of extracted from the stream; however the sampling frequency read in the SPDIF Sampling Frequency register (0x04) will be sent in the audio sample packet channel status. The ADV7511 is capable of accepting SPDIF with or without an MCLK input. When no MCLK is present, the ADV7511 uses MCLK to internally generate the MCLK and determine the CTS value. Page 88 of 203 Rev G PROGRAMMING GUIDE Table 76 Address Sony/Philips Digital Interface (SPDIF) Audio Related Registers (Main Map) Type Bits [6:4] 0x0A Default Value *000**** Register Name Function Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding R/W [3:2] 4.4.1.3 ADV7511 ****00** Direct Stream Digital (DSD) Audio Direct Stream Digital (DSD) Audio uses the One Bit Audio packets to transfer data across the TMDS link. Up to eight channels of DSD data can be input onto eight data lines clocked by the DSD_CLK. DSD can be selected as the input format using the Audio Select register (0x0A[6:4]) = 0b010. Raw mode or SDIF-3 mode can be selected by the Audio Mode register (0x0A[3]). Each input can be enabled or disabled in the DSD Enable register (0x46). ▶ Table 73 shows the register settings for different modes. For DSD, the Sampling Frequency (Audio InfoFrame) register (0x74[4:2]) needs to be set.Manual pixel repeat mode should be used for DSD as described in Section▶ 4.3.4.The DSD clock and data are 64 times the corresponding PCM sampling frequencies. Page 89 of 203 Rev G PROGRAMMING GUIDE Table 77 Direct Stream Digital (DSD) Audio Related Registers (Main Map) Address Type Bits [6:4] 0x0A ADV7511 Default Value *000**** Register Name Function Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A [3:2] ****00** Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding R/W 0x46 R/W [7:0] 00000000 DSD Enable DSD Channel Enable Each bit enables one of the 8 DSD audio input channels. Bit 0 enables channel 0, and bit 7 enables channel 7. 0x47 R/W [7] 0******* DSD Mux Enable DSD Mux Enable. User has to set this bit to one to use DSD[7:6]. 0 = Disabled 1 = Enabled 4.4.1.4 High Bit-Rate (HBR) Audio High Bit-Rate (HBR) audio uses the HBR audio packets to transfer compressed data at rates greater than 6.144Mbps across the TMDS link. HBR Audio can be selected as the input format using the Audio Select register (0x0A[6:4]) = 0b011. The use of four-stream or one-stream encoding can be set in the Audio Mode register (0x0A[3]), and the BPM encoding can be selected or deselected using the Audio mode register (0x0A[2]). ▶ Table 73 shows the register settings for different modes. Register 0x47[6] can be toggled from 0 to 1 to synchronize the PaPb syncword, which marks the beginning of a stream repetition, with HDMI HBR subpacket 0. For data bursts with a repetition period, which is a multiple of four frames, the synchronization will persist. If the data burst does not have a repetition period of four frames, setting register 0x47[6] to 1 is not needed, but will not have any negative effects. The transition of the bit from 0 to 1 causes the one-time synchronization, so setting the bit from 1 to 0 will have no effect. For HBR Audio, the Sampling Frequency register (0x15[7:4]) needs to be set to 0b1001.Manual pixel repeat mode should be used for DSD as described in Section▶ 4.3.4. An MCLK is always required for the BPM encoding modes. Page 90 of 203 Rev G PROGRAMMING GUIDE ADV7511 The mapping from the I2S input channels to the HBR subpackets can be set by registers 0x0E to 0x11. When using an ADI HDMI Rx as the input the default should be used. Since there is no standard for chip to chip HBR transfer, different settings may be required for different chips used as the input. Table 78 High Bit-Rate (HBR) Audio Related Registers (Main Map) Address TypeBits 0x0A Default Value Register Name [6:4] *000**** Audio Select [3:2] ****00** Audio Mode Function R/W 0x15 R/W [7:4] 0000**** 0x47 R/W [6] *0****** I2S Sampling Frequency (CS bits 27-24) PaPb Sync Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Sampling frequency for I2S audio. This information is used by both the audio Rx and the pixel repetition. 0000 = 44.1 kHz 0001 = Do not use 0010 = 48.0 kHz 0011 = 32.0 kHz 0100 = Do not use 0101 = Do not use 0110 = Do not use 0111 = Do not use 1000 = 88.2 kHz 1001 = HBR Audio 1010 = 96.0 kHz 1011 = Do not use 1100 = 176.4 kHz 1101 = Do not use 1110 = 192.0 kHz 1111 = Do not use For HBR audio this syncs PaPb with sub packet 0. Page 91 of 203 Rev G PROGRAMMING GUIDE 4.4.1.5 ADV7511 Direct Stream Transfer (DST) Audio Direct Stream Transfer (DST) audio is compressed DSD audio. This format is sent in frames which are in time slots equal to 1/75 of a second. The DST audio packets will be used to send the data across the TMDS link. ▶ Figure 21 shows the method for DST input. DST Audio can be selected as the input format using the Audio Select register (0x0A[6:4]) = 0b100. The Audio Mode register (0x0A[3:2]) selects between normal mode, 2x clock, or 1clock/DDR mode. ▶ Table 73 shows the register settings for different modes. Manual pixel repeat mode should be used for DSD as described in Section▶ 4.3.4. Figure 21 DST Timing Table 79 Direct Stream Transfer (DST) Audio Related Registers (Main Map) Address Type Bits [6:4] 0x0A Default Value *000**** Register Name Function Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 110 = N/A 111 = N/A Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding R/W [3:2] ****00** Page 92 of 203 Rev G PROGRAMMING GUIDE 4.4.2 ADV7511 N and CTS Audio data carried across the HDMI link, which is driven by a TMDS (video) clock only, does not retain the original audio sample clock. The task of recreating this clock at the Sink is called Audio Clock Regeneration. There are varieties of clock regeneration methods that can be implemented in an HDMI Sink, each with a different set of performance characteristics. The ▷ HDMI specification does not attempt to define exactly how these mechanisms operate. It does, however, present a possible configuration and define the data items that the HDMI Source shall supply to the HDMI Sink in order to allow the HDMI Sink to adequately regenerate the audio clock. It also defines how that data shall be generated. In many video source devices, the audio and video clocks are generated from a common clock (coherent clocks). In this situation, there exists a rational (integer divided by integer) relationship between these two clocks. The HDMI clock regeneration architecture can take advantage of this rational relationship and can also work in an environment where there is no such relationship between these two clocks; that is, where the two clocks are truly asynchronous or where their relationship is unknown. Audio Clock Regeneration SOURCE DEVICE 128 × fS DIVIDE BY N SINK DEVICE CYCLE TIME COUNTER CTS1 DIVIDE BY CTS TMDS VIDEO CLOCK CLOCK N REGISTER N MULTIPLY BY N 128 × fS N1 1N AND CTS VALUES ARE TRANSMITTED USING THE “AUDIO CLOCK REGENERATION” PACKET. VIDEO CLOCK IS TRANSMITTED ON TMDS CLOCK CHANNEL. 06076-008 Figure 22 The Audio Clock Regeneration model in ▶ Figure 22 illustrates the overall system architecture model used by HDMI for audio clock regeneration. The Source shall determine the fractional relationship between the video clock and an audio reference clock (128*audio sample rate) and shall pass the numerator and denominator for that fraction to the Sink across the HDMI link. The Sink may then recreate the audio clock from the TMDS clock by using a clock divider and a clock multiplier. The exact relationship between the two clocks will be: 128 f s = f TMDS _ CLK N CTS The Source shall determine the value of the numerator N as specified in Section 7.2.1 of the ▷ HDMI specification. Typically, this value N will be used in a clock divider to generate an intermediate clock that is slower than the 128*fS clock by the factor N. The Source will typically determine the value of the denominator Cycle Time Stamp (CTS) by counting the number of TMDS clocks in each of the 128*fS/N clocks. 4.4.2.1 N Parameter N shall be an integer number and shall meet the following restriction: 128*fS/1500Hz ≤N ≤128*fS/300Hz with a recommended optimal value of 128*fS/1000Hz approximately equals N for coherent audio and video clock Sources. ▶ Table 80 – Table 82 can be used to determine the value of N. For non-coherent sources or sources where coherency is not known, the equations above should be used. Page 93 of 203 Rev G PROGRAMMING GUIDE 4.4.2.2 ADV7511 CTS Parameter CTS shall be an integer number that satisfies the following: CTS Average = 4.4.2.3 f TMDS _ CLK N 128 f s Recommended N and Expected CTS Values The recommended value of N for several standard pixel clocks are given in ▶ Table 80 – Table 82. It is recommended that Sources with non-coherent clocks use the values listed for a pixel clock of “Other.” The ADV7511 has two modes for CTS generation: manual mode and automatic mode. In manual mode, the user can program the CTS number directly into the chip (0x07–0x09) and select this external mode by setting 0x0A[7] to 1. In automatic mode, the chip computes the CTS based on the actual audio and video rates. This can be selected by setting 0x0A[7] to 0 and the results can be read from 0x04 – 0x06. The manual mode is good for coherent audio and video, where the audio and video clock are generated from the same crystal; thus CTS should be a fixed number. The auto mode is good for incoherent audio -video, where there is no simple integer ratio between the audio and video clock. The 20 bit N value can be programmed into the ADV7511 in registers 0x01–0x03. Table 80 Recommended N and Expected CTS Values for 32KHz Audio Pixel Clock (MHz) 25.2 / 1.001 25.2 27 27 * 1.001 54 54 * 1.001 74.25 / 1.001 74.25 148.5 / 1.001 148.5 Other Table 81 32KHz CTS 28125 25200 27000 27027 54000 54054 210937 – 210938 74250 421875 148500 Measured N 4576 4096 4096 4096 4096 4096 11648 4096 11648 4096 4096 Recommended N and Expected CTS values for 44.1KHz Audio and Multiples Pixel Clock (MHz) 25.2 / 1.001 25.2 27 27 * 1.001 54 54 * 1.001 74.25 / 1.001 74.25 148.5 / 1.001 148.5 Other N 7007 6272 6272 6272 6272 6272 17836 6272 8918 6272 6272 44.1KHz CTS 31250 28000 30000 30030 60000 60060 234375 82500 234375 16500 measured N 14014 12544 12544 12544 12544 12544 35672 12544 17836 12544 12544 88.2KHz CTS 31250 28000 30000 30030 60000 60060 234375 82500 234375 16500 measured Page 94 of 203 N 28028 25088 25088 25088 25088 25088 71344 25088 35672 25088 25088 176.4KHz CTS 31250 28000 30000 30030 60000 60060 234375 82500 234375 16500 Measured Rev G PROGRAMMING GUIDE Table 82 Recommended N and Expected CTS values for 448KHz Audio and Multiples Pixel Clock (MHz) 25.2 / 1.001 25.2 27 27 * 1.001 54 54 * 1.001 74.25 / 1.001 74.25 148.5 / 1.001 148.5 Other Table 83 ADV7511 N 6864 6144 6144 6144 6144 6144 11648 6144 5824 6144 6144 48KHz CTS 28125 25200 27000 27027 54000 54054 140625 74250 140625 148500 measured Default Value 0x01 ****0000 R/W [19:0] 00000000 0x03 00000000 0x04 ****0000 0x05 RO [19:0] 00000000 0x06 00000000 0x07 ****0000 0x08 96KHz CTS 28125 25200 27000 27027 54000 54054 140625 74250 140625 148500 measured R/W [19:0] 0x09 00000000 Register Name 192KHz CTS 28125 25200 27000 27027 54000 54054 140625 74250 140625 148500 measured N Function 20 bit N used with CTS to regenerate the audio clock in the receiver. CTS Automatic Cycle Time Stamp (CTS) Automatically Generated This 20 bit value is used in the receiver with the N value to regenerate an audio clock. For remaining bits see 0x05 and 0x06. CTS Manual Cycle Time Stamp (CTS) Manually Entered This 20 bit value is used in the receiver with the N value to regenerate an audio clock. For remaining bits see 0x08 and 0x09. 00000000 0x0A R/W [7] 0******* CTS Select CTS Source Select. 0 = CTS Automatic 1 = CTS Manual 0x44 R/W [6] *1****** N CTS Packet Enable N CTS Packet Enable 0 = Disabled 1 = Enabled 4.4.3 N 27456 24576 24576 24576 24576 24576 46592 24576 23296 24576 24576 N and CTS Related Registers (Main Map) Address Type Bits 0x02 N 13728 12288 12288 12288 12288 12288 35672 12288 17836 12288 12288 Audio Sample Packets By setting the Chanel Count (CC) register (0x73[2:0]) to greater than three channels, the eight-channel audio packet format will be used. The I2S can be routed to different subpackets using registers 0xE – 0x11. The Channel Allocation (CA) register (0x76[7:0]) must be set to a speaker mapping that corresponds to the I2S to subpacket routing. Using SPDIF has a default setting of two channels. The audio packets in HDMI use the channel status format from IEC60958. When using I2S, the information sent in the channel status fields is provided by registers Copyright Bit (0x12[5]), Pre-emphasis (0x12[4:2]), clock accuracy (0x12[1:0]), Page 95 of 203 Rev G PROGRAMMING GUIDE ADV7511 category code (0x13), source number (0x14[7:4]), word length (0x14[3:0]), bits [1:0] 0x12[7:6], and audio sampling frequency (0x15[7:4]). In SPDIF mode the channel status information is taken from the SPDIF stream. 4.4.3.1 Details for I2S Channel Status ▶ Table 84 shows the ADV7511 register map location or fixed value for each bit in the channel status information sent across the HDMI link. This is applicable for I2S modes 0 – 3 as set in register 0x0C[1:0]. Page 96 of 203 Rev G PROGRAMMING GUIDE Table 84 ADV7511 I2S Channel Status ADV7511 Register Map Location or Fixed Value Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Name consumer use. audio sample word copyright emphasis emphasis emphasis mode mode category code category code category code category code category code category code category code category code source number source number source number source number ADV7511 Register Used to Set Field or Fixed Value 0x12[6] 0x12[7] 0x12[5] 0x12[2] 0x12[3] 0x12[4] 0 0 0x13[0] 0x13[1] 0x13[2] 0x13[3] 0x13[4] 0x13[5] 0x13[6] 0x13[7] 0x14[4] 0x14[5] 0x14[6] 0x14[7] 20 channel number See ▶ Figure 23 21 channel number See ▶ Figure 23 22 channel number See ▶ Figure 23 23 channel number 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 sampling frequency sampling frequency sampling frequency sampling frequency clock accuracy clock accuracy Not Defined Not Defined word length word length word length word length original sampling frequency original sampling frequency original sampling frequency original sampling frequency CGMS-A See ▶ Figure 23 0x15[4] 0x15[5] 0x15[6] 0x15[7] 0x12[0] 0x12[1] 0 0 0x14[0] 0x14[1] 0x14[2] 0x14[3] 0 0 0 0 0 41 42 CGMS-A Not Defined 0 0 191 Not Defined 0 Page 97 of 203 Rev G PROGRAMMING GUIDE ADV7511 In ▶ Figure 23 the layout bit in the Audio Sample Packet Header and the sample_present.spX bit are determined based on the Audio InfoFrame Channel Count register (0x73[2:0]). For example, if Channel Count = 0b001, indicating stereo audio, the layout bit will be zero and all Audio Sample Subpackets will contain information for channel 1 and 2. If Channel Count = 0b011, indicating four channels, the layout bit will be one, and sample_present.sp0 = 1, sample_present.sp1 = 1, sample_present.sp2 = 0, and sample_present.sp2 = 0. ▶ Figure 23 shows how the channel number bits will be set based on the layout bit and sample_present.spX. Figure 23 Definition of Channel Status Bits 20 to 23 Page 98 of 203 Rev G PROGRAMMING GUIDE Table 85 ADV7511 Audio Sample Packets Related Registers (Main Map) Address Type Bits Default Value Register Name Function [5:3] **000*** Subpacket 0 L Source Source of sub packet 0, left channel [2:0] *****001 Subpacket 0 R Source Source of sub packet 0, right channel [5:3] **010*** Subpacket 1 L Source Source of sub packet 1, left channel [2:0] *****011 Subpacket 1 R Source Source of sub packet 1, right channel [5:3] **100*** Subpacket 2 L Source Source of sub packet 2, left channel [2:0] *****101 Subpacket 2 R Source Source of sub packet 2, right channel [5:3] **110*** Subpacket 3 L Source Source of sub packet 3, left channel [2:0] *****111 Subpacket 3 R Source Source of sub packet 3, right channel 0x0E R/W 0x0F R/W 0x10 R/W 0x11 R/W 0x12 [7] 0******* Audio Sample Word (CS bit 1) Audio Sample Word 0 = Audio sample word represents linear PCM samples 1 = Audio sample word used for other purposes Consumer Use Should be 0 for HDMI [6] *0****** Consumer Use (CS bit 0) Consumer Use Bit 0 = Audio sample word represents linear PCM samples 1 = Audio sample word used for other purposes [5] **0***** Copyright Bit (CS bit 2) Copy Right Bit 0 = Copyright Protected 1 = Not Copyright Protected Additional Audio Info (CS bits 5-3) Additional information for Channel Status Bits 000 = 2 audio channels w/o pre-emphasis 001 = 2 audio channels with 50/15uS pre-emphasis 010 = Fixed 011 = Fixed R/W [4:2] 0x13 0x14 R/W ***000** [1:0] ******00 Audio Clock Accuracy (CS bits 29-28) Audio Clock Accuracy 00 = level II - normal accuracy +/-1000 X 10-6 10 = level III -variable pitch shifted clock 01 = level I - high accuracy +/-50 X 10-6 11 = Fixed [7:0] 00000000 Category Code (CS bits 15-8) Channel Status Category Code [7:4] 0000**** Source Number (CS bits 1916) Channel Status Source Number R/W [3:0] ****0000 Word Length (CS bits 35-32) Audio Word Length 0000 = Not Specified 0001 = Not Specified 0010 = 16 Bits 0011 = 20 Bits 0100 = 18 Bits 0101 = 22 Bits 0110 = No description 0111 = No description 1000 = 19 Bits 1001 = 23 Bits 1010 = 20 Bits Page 99 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 1011 = 24 Bits 1100 = 17 Bits 1101 = 21 Bits 1110 = No description 1111 = No description 0x15 R/W [7:4] 0000**** I2S Sampling Frequency (CS bits 27-24) Sampling frequency for I2S audio. This information is used by both the audio Rx and the pixel repetition. 0000 = 44.1 kHz 0001 = Do not use 0010 = 48.0 kHz 0011 = 32.0 kHz 0100 = Do not use 0101 = Do not use 0110 = Do not use 0111 = Do not use 1000 = 88.2 kHz 1001 = HBR Audio 1010 = 96.0 kHz 1011 = Do not use 1100 = 176.4 kHz 1101 = Do not use 1110 = 192.0 kHz 1111 = Do not use 0x44 R/W [5] **1***** Audio Sample Packet Enable Audio Sample Packet Enable 0 = Disabled 1 = Enabled **0***** Audio Sample 3 Valid Indicates when sub packet 3 has invalid data. [4] ***0**** Audio Sample 2 Valid Indicates when sub packet 2 has invalid data. [3] ****0*** Audio Sample 1 Valid Indicates when sub packet 1 has invalid data. [2] *****0** Audio Sample 0 Valid Indicates when sub packet 0 has invalid data. [5] 0x47 4.4.4 R/W Audio InfoFrame The audio InfoFrame allows the receiver to identify the characteristics of an audio stream before the channel status information is available. The Audio Channel Count register (0x73[2:0]) sets the channel count field for the InfoFrame, and determines the number of channels to send in the audio sample packets. Down Mix Inhibit (0x77[7]), Level Shift Values (0x77[6:3]), and Speaker Mapping (0x76) are defined in the ▷ CEA-861D specification. The number of channels in the Channel Count register must match the number of channels in the Speaker Mapping register. The values for the Speaker Mapping bits are included in ▶ Table 86 for reference. To avoid a partial update of the Audio InfoFrame Packets the Packet Update feature should be used. By setting the Audio InfoFrame Packet Update register bit to ‘1’, the current values will be stored and sent in the packets. The user should update the values then set the Audio InfoFrame Packet Update register bit to 0 to begin sending the new packets. See section 4.2.5 for details. Page 100 of 203 Rev G PROGRAMMING GUIDE Table 86 Audio Channel Mapping CA (Speaker Mapping) 4 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 Table 87 ADV7511 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Channel Number 2 8 7 RRC RRC RRC RRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC RC RC RC RC RLC RLC RLC RLC FLC FLC FLC FLC FLC FLC FLC FLC FLC FLC FLC FLC 6 5 RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RC RC RC RC RL RL RL RL RL RL RL RL RL RL RL RL RC RC RC RC RL RL RL RL 4 FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC 3 LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE LFE 2 FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR FR 1 FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL FL Audio InfoFrame Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x44 [3] ****1*** Audio InfoFrame Enable Audio InfoFrame Enable 0 = Disabled 1 = Enabled [7] 1******* Auto Checksum Enable Auto Checksum Enable 0 = Use checksum from registers 1 = Use automatically generated checksum [5] **0***** Audio InfoFrame Packet Update Audio InfoFrame Packet Update: Before updating the Audio InfoFrame Packet using I2C set to '1' to continue sending the current values. 0x4A 2 R/W R/W FL = Front Left, FC = FrontCenter, FR = Front Right, FLC = FrontLeftCenter, FRC = FrontRightCenter, RL = Rear Left, RC = RearCenter, RR = Rear Right, RLC = RearLeftCenter, RRC = RearRightCenter, LFE = Low Frequency Effect Page 101 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 0 = Audio InfoFrame Packet I2C update inactive 1 = Audio InfoFrame Packet I2C update active 0x74 R/W [7:5] 000***** Byte 2 bit [7:5] (Audio InfoFrame) Fixed per HDMI spec. Set to 0. [4:2] ***000** Sampling Frequency (Audio InfoFrame) Audio sampling frequency. Should be 0, except for SACD. [1:0] ******00 Sample Size (Audio InfoFrame) Set to 0 0x75 R/W [7:0] 00000000 Byte 3 (Audio InfoFrame) Set to 0 0x76 R/W [7:0] 00000000 Speaker Mapping (Audio InfoFrame) CA[7:0] Speaker mapping or placement for up to 2 channels. [7] 0******* DM_INH (Audio InfoFrame) Down-mix Inhibit 0x77 [6:3] *0000*** Level Shift (Audio InfoFrame) LSV[3:0]-Audio Level Shift Values With Attenuation Information 0000 = 0dB attenuation 0001 = 1dB attenuation 0010 = 2dB attenuation 0011 = 3dB attenuation 0100 = 4dB attenuation 0101 = 5dB attenuation 0110 = 6dB attenuation 0111 = 7dB attenuation 1000 = 8dB attenuation 1001 = 9dB attenuation 1010 = 10dB attenuation 1011 = 11dB attenuation 1100 = 12dB attenuation 1101 = 13dB attenuation 1110 = 14dB attenuation 1111 = 15dB attenuation [2] *****0** Byte 5 bit [2] Fixed per HDMI spec R/W [1:0] ******00 LFEPBL[1:0] Set to 0b0,ow Frequency Effect Playback Level 00 = No information 01 = 0 dB playback 10 = +10 dB playback 11 = Reserved 0x78 R/W [7:0] 00000000 Byte 6 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 0x79 R/W [7:0] 00000000 Byte 7 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 0x7A R/W [7:0] 00000000 Byte 8 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 0x7B R/W [7:0] 00000000 Byte 9 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 0x7C R/W [7:0] 00000000 Byte 10 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' Page 102 of 203 Rev G PROGRAMMING GUIDE 4.4.5 ADV7511 Audio Content Protection (ACP) Packet The Audio Content Protection (ACP) packet is used for transmitting content-related information about the active audio stream. Use of the ACP will be defined in the license agreements of the protected audio stream. To avoid a partial update of the ACP Packets the Packet Update features should be used. By setting the ACP Packet Update register bit to ‘1’, the current values will be stored and sent in the packets. The user should update the values then set the ACP Packet Update register bit to ‘0’ to begin sending the new packets. See section 4.2.5 for details. Table 88 Audio Content Protection (ACP) Packet Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 R/W [4] ***0**** ACP Packet Enable ACP Packet Enable 0 = Disabled 1 = Enabled Page 103 of 203 Rev G PROGRAMMING GUIDE Table 89 ADV7511 Audio Content Protection (ACP) Packet Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0x40 R/W [7:0] 00000000 ACP Header Byte 0 0x41 R/W [7:0] 00000000 ACP Header Byte 1 0x42 R/W [7:0] 00000000 ACP Header Byte 2 0x43 R/W [7:0] 00000000 ACP Packet Byte 0 0x44 R/W [7:0] 00000000 ACP Packet Byte 1 0x45 R/W [7:0] 00000000 ACP Packet Byte 2 0x46 R/W [7:0] 00000000 ACP Packet Byte 3 0x47 R/W [7:0] 00000000 ACP Packet Byte 4 0x48 R/W [7:0] 00000000 ACP Packet Byte 5 0x49 R/W [7:0] 00000000 ACP Packet Byte 6 0x4A R/W [7:0] 00000000 ACP Packet Byte 7 0x4B R/W [7:0] 00000000 ACP Packet Byte 8 0x4C R/W [7:0] 00000000 ACP Packet Byte 9 0x4D R/W [7:0] 00000000 ACP Packet Byte 10 0x4E R/W [7:0] 00000000 ACP Packet Byte 11 0x4F R/W [7:0] 00000000 ACP Packet Byte 12 0x50 R/W [7:0] 00000000 ACP Packet Byte 13 0x51 R/W [7:0] 00000000 ACP Packet Byte 14 0x52 R/W [7:0] 00000000 ACP Packet Byte 15 0x53 R/W [7:0] 00000000 ACP Packet Byte 16 0x54 R/W [7:0] 00000000 ACP Packet Byte 17 0x55 R/W [7:0] 00000000 ACP Packet Byte 18 0x56 R/W [7:0] 00000000 ACP Packet Byte 19 0x57 R/W [7:0] 00000000 ACP Packet Byte 20 0x58 R/W [7:0] 00000000 ACP Packet Byte 21 0x59 R/W [7:0] 00000000 ACP Packet Byte 22 0x5A R/W [7:0] 00000000 ACP Packet Byte 23 0x5B R/W [7:0] 00000000 ACP Packet Byte 24 0x5C R/W [7:0] 00000000 ACP Packet Byte 25 Page 104 of 203 Function Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x5D R/W [7:0] 00000000 ACP Packet Byte 26 0x5E R/W [7:0] 00000000 ACP Packet Byte 27 0x5F 4.4.6 R/W [7] 0******* ACP Packet Update Function ACP Packet Update: Before updating the ACP Packet using I2C set to '1' to continue sending the current values. 0 = ACP Packet I2C update inactive 1 = ACP Packet I2C update active. International Standard Recording Code (ISRC) Packet If the Supports_AI bit in the Vendor Specific Data Block (VSDB) of the sink EDID is 1 then the International Standard Recording Code (ISRC) packets 1 and 2 can be transmitted. The use of the ISRC fields is described in ▷ "DVD Specifications for Read-Only Disc”, Part 4: AUDIO SPECIFICATIONS Version 1.0, March 1999, Annex B. To avoid a partial update of the ISRC Packets the Packet Update features should be used. By setting the ISRC1 Packet Update or ISRC2 Packet Update register bit to 1 the current values will be stored and sent in the packets. The user should update the values then set the ISRC1 Packet Update or ISRC2 Packet Update register bit to 0 to begin sending the new packets. See section 4.2.5 for details. Table 90 International Standard Recording Code (ISRC) Packet Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x40 R/W [3] ****0*** ISRC Packet Enable ISRC Packet Enable 0 = Disabled 1 = Enabled Table 91 International Standard Recording Code (ISRC) Packet Related Registers (Packetmemory Map) Address Type Bits Default Value Register Name 0x60 R/W [7:0] 00000000 ISRC1 Header Byte 0 0x61 R/W [7:0] 00000000 ISRC1 Header Byte 1 0x62 R/W [7:0] 00000000 ISRC1 Header Byte 2 0x63 R/W [7:0] 00000000 ISRC1 Packet Byte 0 0x64 R/W [7:0] 00000000 ISRC1 Packet Byte 1 0x65 R/W [7:0] 00000000 ISRC1 Packet Byte 2 0x66 R/W [7:0] 00000000 ISRC1 Packet Byte 3 0x67 R/W [7:0] 00000000 ISRC1 Packet Byte 4 0x68 R/W [7:0] 00000000 ISRC1 Packet Byte 5 0x69 R/W [7:0] 00000000 ISRC1 Packet Byte 6 Page 105 of 203 Function Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x6A R/W [7:0] 00000000 ISRC1 Packet Byte 7 0x6B R/W [7:0] 00000000 ISRC1 Packet Byte 8 0x6C R/W [7:0] 00000000 ISRC1 Packet Byte 9 0x6D R/W [7:0] 00000000 ISRC1 Packet Byte 10 0x6E R/W [7:0] 00000000 ISRC1 Packet Byte 11 0x6F R/W [7:0] 00000000 ISRC1 Packet Byte 12 0x70 RO [7:0] 00000000 ISRC1 Packet Byte 13 0x71 RO [7:0] 00000000 ISRC1 Packet Byte 14 0x72 RO [7:0] 00000000 ISRC1 Packet Byte 15 0x73 RO [7:0] 00000000 ISRC1 Packet Byte 16 0x74 RO [7:0] 00000000 ISRC1 Packet Byte 17 0x75 R/W [7:0] 00000000 ISRC1 Packet Byte 18 0x76 R/W [7:0] 00000000 ISRC1 Packet Byte 19 0x77 R/W [7:0] 00000000 ISRC1 Packet Byte 20 0x78 R/W [7:0] 00000000 ISRC1 Packet Byte 21 0x79 R/W [7:0] 00000000 ISRC1 Packet Byte 22 0x7A R/W [7:0] 00000000 ISRC1 Packet Byte 23 0x7B R/W [7:0] 00000000 ISRC1 Packet Byte 24 0x7C R/W [7:0] 00000000 ISRC1 Packet Byte 25 0x7D R/W [7:0] 00000000 ISRC1 Packet Byte 26 0x7E R/W [7:0] 00000000 ISRC1 Packet Byte 27 0x7F R/W [7] 0******* ISRC1 Packet Update 0x80 R/W [7:0] 00000000 ISRC2 Header Byte 0 0x81 R/W [7:0] 00000000 ISRC2 Header Byte 1 0x82 R/W [7:0] 00000000 ISRC2 Header Byte 2 0x83 R/W [7:0] 00000000 ISRC2 Packet Byte 0 0x84 R/W [7:0] 00000000 ISRC2 Packet Byte 1 0x85 R/W [7:0] 00000000 ISRC2 Packet Byte 2 Page 106 of 203 Function ISRC1 Packet Update: Before updating the ISRC1 Packet using I2C set to '1' to continue sending the current values. 0 = ISRC1 Packet I2C update inactive 1 = ISRC1 Packet I2C update active Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x86 R/W [7:0] 00000000 ISRC2 Packet Byte 3 0x87 R/W [7:0] 00000000 ISRC2 Packet Byte 4 0x88 R/W [7:0] 00000000 ISRC2 Packet Byte 5 0x89 R/W [7:0] 00000000 ISRC2 Packet Byte 6 0x8A R/W [7:0] 00000000 ISRC2 Packet Byte 7 0x8B R/W [7:0] 00000000 ISRC2 Packet Byte 8 0x8C R/W [7:0] 00000000 ISRC2 Packet Byte 9 0x8D R/W [7:0] 00000000 ISRC2 Packet Byte 10 0x8E R/W [7:0] 00000000 ISRC2 Packet Byte 11 0x8F R/W [7:0] 00000000 ISRC2 Packet Byte 12 0x90 R/W [7:0] 00000000 ISRC2 Packet Byte 13 0x91 R/W [7:0] 00000000 ISRC2 Packet Byte 14 0x92 R/W [7:0] 00000000 ISRC2 Packet Byte 15 0x93 R/W [7:0] 00000000 ISRC2 Packet Byte 16 0x94 R/W [7:0] 00000000 ISRC2 Packet Byte 17 0x95 R/W [7:0] 00000000 ISRC2 Packet Byte 18 0x96 R/W [7:0] 00000000 ISRC2 Packet Byte 19 0x97 R/W [7:0] 00000000 ISRC2 Packet Byte 20 0x98 R/W [7:0] 00000000 ISRC2 Packet Byte 21 0x99 R/W [7:0] 00000000 ISRC2 Packet Byte 22 0x9A R/W [7:0] 00000000 ISRC2 Packet Byte 23 0x9B R/W [7:0] 00000000 ISRC2 Packet Byte 24 0x9C R/W [7:0] 00000000 ISRC2 Packet Byte 25 0x9D R/W [7:0] 00000000 ISRC2 Packet Byte 26 0x9E R/W [7:0] 00000000 ISRC2 Packet Byte 27 0x9F R/W [7] 0******* ISRC2 Packet Update Page 107 of 203 Function ISRC2 Packet Update: Before updating the ISRC2 Packet using I2C set to '1' to continue sending the current values. 0 = ISRC2 Packet I2C update inactive 1 = ISRC2 Packet I2C update active Rev G PROGRAMMING GUIDE 4.5 ADV7511 Audio Return Channel (ARC) One of the HDMI v1.4 features that has been incorporated in the ADV7511 is the Audio Return Channel portion of HEAC . With this capability, the TV can send back audio to the TMDS source for processing and distribution. This audio channel can be sent over a differential pair (common mode component) or on a single line. The common mode signals are on the HEAC+ pin and the HEAC- pin. A single mode transmission will be on the HEAC+ pin. The ARC allows audio from a display with a tuner to be sent to a receiver over the HDMI cable for better audio reproduction. All HDMI cables will support this feature and use of this can reduce the amount of cables in the system. The audio data is a stereo L-PCM (IEC 60958-1) stream supporting 32KHz, 44.1KHz or 48KHz sampling rates. These represent a clock rate of respectively: 4.096MHz, 5.6448MHz and 6.144MHz. Compressed audio as described in IEC 61937 is optional. Control of the ARC is initiated by the sink over the CEC lines. The capabilities of the source can be discovered in this fashion whenthe TMDS sink initiates the use of the ARC line(s). 4.5.1 ARC Configuration The ADV7511’s ARC receiver accepts single-ended or common mode signals and directs the resulting SPDIF signal to the SPDIF_OUT pin. A block diagram of the ADV7511’s ARC circuit is illustrated in ▶Figure 24.To initialize and power on the ARC circuit, the following register bits must be set: ■ Select Single ended or common mode by setting 0xDF[7] to ‘0’ or ‘1’ ■ Set “ARC Disable bit 0xDF[0] to ‘0’ When ARC is not being used, the ARC Disable bit (0xDF[0]) should be set to its default value of ‘1’. The ARC receiver control registers are shown in ▶Table 92. Figure 24 ARC Hardware Configuration ADV7511 HEAC+ 1uF 52 SPDIF_ OUT 46 ARC Receiver 1.8V 50 ohms 1uF 51 HEAC- DC bias Page 108 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 92 Audio Return Channel (ARC) Related Registers (Main Map) Address Type 0xDF 4.6 Bits Default Value Register Name Function [7] 0******* ARC Mode Select ARC Single Ended or Common Mode Selection, ARC Disable 0 = Common Mode ARC Input 1 = Single Ended ARC Input [0] *******1 ARC Power Down Control ARC Power Down Control 0 = ARC Powered up 1 = ARC in Power Down R/W EDID Handling The ADV7511 has an I2C master (DDCSDA and DDCSCL) to read the EDID. It begins buffering segment 0 of the Sink’s EDID after HPD is detected and ADV7511 is powered up. The system can request additional segments by programming the EDID Segment register (0xC4). An interrupt bit 0x96[2] indicates that a 256-byte EDID read has been completed, and the information is available in the EDID Memory. The EDID Memory is at I2C address 0x7E by default. This is the default address but can be changed by writing the desired address into the EDID Memory Address register (0x43 of the main register map). 4.6.1.1 EDID Definitions EnhancedEDID (E-EDID) supports up to 256 segments. A segment is a 256-byte segment of EDID containing information for either one or two 128-byte EDID blocks. A typical HDMI system will have only two EDID blocks and will only use segment 0. The first EDID block is always a base EDID structure defined in VESA EDID specifications; the second EDID block is usually the CEA extension defined in the ▷ CEA-861D specification. EDID and HDCP use a shared memory space. During HDCP repeater initialization, the EDID data is overwritten with HDCP information. EDID is not re-read after HDCP initialization. If the user would like to re-buffer an EDID segment the EDID re-read register described in section 4.6.1.4 should be used. 4.6.1.2 Additional Segments EDID block 0 byte number 0x7E tells how many additional EDID blocks are available. If byte 0x7E is greater than 1, additional EDID segments will need to be read. If there is more than one segment, the second block (block 1) is required to be an EDID extension map. This map should be parsed according to the ▷ VESA EDID specifications to determine where additional EDID blocks are stored in the receiver’s EDID EEPROM. The ADV7511 is capable of accessing any of the up to 256 segments allowed by the ▷ EDID specification. By writing the desired segment number to register 0xC4, the ADV7511 will automatically access the correct portion of the EDID EEPROM over the DDC lines and load the 256 bytes into the EDID memory. When the action is complete, an EDID ready interrupt will occur to tell the user. If the host controller needs access to previously requested EDID information, then it can be stored in its own memory. ▶ Figure 25 shows how to implement software to read EDID from the receiver using the ADV7511. Page 109 of 203 Rev G PROGRAMMING GUIDE Figure 25 4.6.1.3 ADV7511 Reading EDID through the ADV7511 EDID Tries Register (0xC9 [3:0]) The EDID Tries register limits the number of times the HDCP/EDID controller will try to read the EDID. Each time an EDID read fails with an I2C “Not Acknowledged” (NACK), this value is decremented. The default start-up value of this register is 3. Once the EDID Tries register is 0, the controller will not attempt to read the EDID until this register is set to something other than 0. This could be used if a sink asserts HPD before the DDC bus is ready resulting in several NACKs as the Tx attempts to read the EDID. 4.6.1.4 EDID Reread Register (0xC9[4]) If the EDID data is read in and the host determines that the data needs to be reread, this bit can be set from 0 to 1 for 10 times consecutively, and the current segment will be reread each time. This register should be toggled from 0 to 1 for 10 times consecutively to ensure a successful capture of the register value. This could be useful if the EDID checksum is calculated and determined not to match. Another method to reread the EDID is to toggle the Main Power Down register bit (0x41[6]) from 0 to 1. Page 110 of 203 Rev G PROGRAMMING GUIDE Table 93 ADV7511 EDID Handling Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x94 R/W [2] *****0** EDID Ready Interrupt Enable EDID Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 0x96 R/W [2] *****0** EDID Ready Interrupt EDID Ready Interrupt 0 = no interrupt detected 1 = interrupt detected 0xC4 R/W [7:0] 00000000 EDID Segment Sets the E-DDC segment used by the EDID Fetch routine. [4] ***0**** EDID Reread Rereads current segment if toggled from 0 to 1 0 = disable 1 = enable [3:0] ****0011 EDID Tries Maximum number of times that the EDID read will be attempted if unsuccessful. 0xC9 4.7 4.7.1 R/W HDCP Handling For One Sink and No Upstream Devices The ADV7511 has a built-in micro-controller to handle HDCP transmitter states, including handling down-stream HDCP repeaters. To activate HDCP from a system level the main controller needs to set the HDCP Desired register (0xAF[7]) to 1 and the Frame Encryption register (0xAF[4]) to 1, This informs the ADV7511 that the video stream should be encrypted. The ADV7511 takes control from there, and implements all of the remaining tasks defined by the HDCP 1.3 specification. Before sending audio and video, the BKSVs stored in registers 0xBF – 0xC3 should be compared with the revocation list which is compiled by managing System Renewability Messages (SRMs) provided on the source content (typically a DVD), and the BKSV Ready Interrupt register should be cleared. After the link is established, the system controller should monitor the status of HDCP by reading the HDCP Encrypted register (0xB8[6]) every two seconds. The DDC Controller Error Interrupt register (0x97[7]) will become active if there is an error relating to the controller. The meaning of the error can be determined by checking the DDC Controller Error register (0xC8[7:4]). 4.7.2 For Multiple Sinks and No Upstream Devices When connecting the ADV7511 to a repeater, it is necessary to read all BKSV from downstream devices. These BKSVs must be checked against a revocation list, which will be provided on the source content. The BKSV Count register (0xC7[6:0]) will read 0 when the first BKSV interrupt occurs. After the first BKSV interrupt is cleared, if the device is a repeater, a second BKSV interrupt will occur. The ADV7511 will automatically read up to 13 5-byte BKSVs at a time and store these in the EDID memory location (default location I2C address 0x7E). Refer to ▶ Table 94 for details about the location of the downstream BKSVs. The number of additional BKSVs currently stored in the EDID memory location can be read in register 0xC7[6:0]. If there are more than 13 additional BKSVs to be processed, the ADV7511 will collect the next up to 13 BKSVs across the DDC lines, then generate another interrupt when the next set is ready. There can be a maximum of 127 BKSVs total. The BKVS Flag Interrupt register (0x97[6]) should be cleared by writing a 1 after each set of BKSVs is read. To check when authentication is complete, the system should monitor the register DDC Controller State register (0xC8[3:0]) and wait until this reaches state 4. At this time, the last step is to compare the BKSV list with the revocation list and then send the content. Page 111 of 203 Rev G PROGRAMMING GUIDE Table 94 ADV7511 HDCP Related Register (EDID Memory Map) Address Type Bits Default Value Register Name Function 0x00 RO [7:0] 0000000 BKSV0 – Byte 0 Downstream BKSV 0x01 RO [7:0] 0000000 BKSV0 – Byte 1 … 0x02 RO [7:0] 0000000 BKSV0 – Byte 2 … 0x03 RO [7:0] 0000000 BKSV0 – Byte 3 … 0x04 RO [7:0] 0000000 BKSV0 – Byte 4 … 0x05 RO [7:0] 0000000 BKSV1 – Byte 0 … … … … … … … 0x60 RO [7:0] 0000000 BKSV12 – Byte 0 … 0x61 RO [7:0] 0000000 BKSV12 – Byte 1 … 0x62 RO [7:0] 0000000 BKSV12 – Byte 2 … 0x63 RO [7:0] 0000000 BKSV12 – Byte 3 … 0x64 RO [7:0] 0000000 BKSV12 – Byte 4 … RO [7] 0******* BSTATUS Bit 7 Maximum Downstream Devices Exceeded (MAX_DEVS_EXCEEDED) 0 = Less than or equal to 127 devices 1 = More than 127 devices [6:0] *0000000 BSTATUS Bits 6:0 Device Count (DEVICE_COUNT) Number of Downstream Devices [7:5] 000***** BSTATUS Bits 15:13 Reserved in HDCP 1.3 Specification [4] ***0**** BSTATUS Bit 12 HDMI Mode (HDMI_MODE) 0 = Sink is in DVI mode 1 = Sink is in HDMI mode [3] ****0*** BSTATUS Bit 11 Maximum Levels Exceeded (MAX_CASCADE_EXCEEDED) 0 = Less than or equal to 7 levels 1 = More than 7 levels [2:0] *****000 BSTATUS Bits 10:8 Depth (DEPTH) Number of downstream levels 0xF9 RO 0xFA 4.7.3 For Use in a Repeater The ADV7511 can be used in a repeater, which is a device that has one or more HDMI Rx upstream from the ADV7511. To use the ADV7511 as a repeater, there are some additional requirements. The system software needs to pass the BKSVs of all downstream devices upstream through the repeater’s receiver. In addition, the depth of the device tree and the total number of devices need to be communicated upstream. This depth and device count information can be found in the BSTATUS information, which is supplied in the EDID memory (default location I2C address 0x7E) at an offset of 0xF9 for the LSB's and 0xFA for the MSB’s. ▶ Table 94 shows the meaning of the bits in the BSTATUS bit field. The BSTATUS information is only available when the BKSVs are in the memory space. This is from the time there is a BKSV ready interrupt with BKSV Count register (0xC7[6:0]) greater than 0 to the time the interrupt flag is cleared. The EDID will not automatically be re-buffered. If the user would like to re-buffer an EDID segment the EDID re-read register described in section 4.6.1.4 should be used. 4.7.4 Software Implementation ▶ Figure 26 is a block diagram of HDCP software implementation for all cases using the ADV7511DDC Controller state machine. The necessary interactions with the ADV7511 registers and EDID memory as well as when these interactions should take place are covered in the block diagram. Note that there is no need to interact with the DDC bus directly, because all of the DDC functionality is controlled by the DDC Controller and follows the ▷ HDCP specification 1.3. Page 112 of 203 Rev G PROGRAMMING GUIDE 4.7.5 ADV7511 AV Mute AV Mute can be enabled once HDCP authentication is completed. This can be used to maintain HDCP synchronization while changing video resolutions. While the BKSVs for downstream devices are being collected, an active HDCP link capable of sending encrypted video is established, but video should not be sent across the link until the BKSVs have been compared with the revocation list. It is not recommended to rely on AV mute to avoid sending audio and video during HDCP authentication. This is because AV Mute does not actually mute audio or video in the Tx. It requests the function from the Sink device. The best way to avoid sending unauthorized audio and video is to not send data to the ADV7511 inputs until authentication is complete. Another option is to use the color space converter to black out the video and disable the audio inputs to mute the audio. See ▶ 4.3.8.2 for how to black out the video, and see ▶ 4.3.10 for how to disable the various audio inputs. 4.7.6 HDCP Delay Control During the HDCP authentication there are several steps. The default timing for these steps is sufficient to meet all HDCP requirements. However, in the case of unforeseen interoperability problems, control of the timing of several events is available. The Ri Checking Frequency can be controlled by setting 0xFC[7:6]. The range of available setting is in powers of 2 between once every 128 frames as default (0b00), to once every 16 frames (0b11). Ri Checking occurs soon after the leading edge of Vsync by default. Extra delay in units of Hsyncs can be added by setting the Ri Checking Position Delay register bits 0xFC[5:3]. After bit 0xAF[7] is set to 1 or an DDC Controller error interrupt occurs, usually the BKSV will be read immediately. Delay can be added before this read by setting register 0xFE[7:5]. After the BKSVS are read, the BCAPS is read immediately by default. Delay can be added here by setting register 0xFC[2:0]. After BCAPS is read the An value is written immediately by default. Delay can be added here by setting register 0xFD[7:5]. After the An write is completed, the AKSV is written immediately by default. Delay can be added here by setting 0xFD[4:2]. The time after AKSV is written before R0 is read and the repeater timeout can be adjusted by register 0xD6[2:1]. Page 113 of 203 Rev G PROGRAMMING GUIDE Figure 26 ADV7511 HDCP Software Implementation Page 114 of 203 Rev G PROGRAMMING GUIDE Table 95 ADV7511 HDCP Handling Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x94 R/W [1] ******0* HDCP Authenticated Interrupt Enable HDCP Authenticated Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 0x95 R/W [6] *0****** BKSV Flag Interrupt Enable BKSV Flag Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 0x96 R/W [1] ******0* HDCP Authenticated HDCP Authenticated 0 = no interrupt detected 1 = interrupt detected 0x97 R/W [6] *0****** BKSV Flag Interrupt BKSV Flag Interrupt 0 = no interrupt detected 1 = interrupt detected [7] 0******* HDCP Enable Enable HDCP 0 = HDCP Disabled 1 = HDCP Encryption Enabled [4] ***1**** Frame Encryption Enable HDCP Frame Encryption 0 = Current Frame NOT HDCP Encrypted 1 = Current Frame HDCP Encrypted 0xAF R/W 0xB0 RO [7:0] 00000000 Byte 0 of An or AKSV Byte 0 Byte 0 of An or AKSV Byte 0 0xB1 RO [7:0] 00000000 Byte 1 of An or AKSV Byte 1 Byte 1 of An or AKSV Byte 1 0xB2 RO [7:0] 00000000 Byte 2 of An or AKSV Byte 2 Byte 2 of An or AKSV Byte 2 0xB3 RO [7:0] 00000000 Byte 3 of An or AKSV Byte 3 Byte 3 of An or AKSV Byte 3 0xB4 RO [7:0] 00000000 Byte 4 of An or AKSV Byte 4 Byte 4 of An or AKSV Byte 4 0xB5 RO [7:0] 00000000 Byte 5 of An byte 5 of An 0xB6 RO [7:0] 00000000 Byte 6 of An byte 6 of An 0xB7 RO [7:0] 00000000 Byte 7 of An byte 7 of An [6] *0****** HDCP Encryption Status 1 means the A/V content is being encrypted at present. 0 = A/V Not Encrypted 1 = A/V Encrypted [4] ***0**** Key Read Error 1 means HDCP key reading error. 0 = Read HDCP Keys Correctly 1 = Errors Encountered Reading HDCP Keys 0xB8 0xBA RO [2] *****0** Display AKSV Show AKSV in registers 0xB0 to 0xB4, Check Ri' before and after update, Must be set to Default 0 = Don't Show AKSV 1 = Show AKSV in 0xB0 - 0xB4 [1] ******0* Ri Two Point Check Ri Two Point Check. Check Ri' before and after update. 0 = HDCP Ri standard R/W Page 115 of 203 Rev G PROGRAMMING GUIDE Address Type Bits Default Value ADV7511 Register Name Function 1 = enable HDCP Ri two point check HDCP related register [7] Reserved, [6] Repeater, [5] BKSV FIFO ready, [4] Fast DDC Bus, [3:2] Reserved, [1] HDCP 1.1 Features, [0] Fast Re-Authentication. 0xBE RO [7:0] 00000000 BCAPS 0xBF RO [7:0] 00000000 BKSV Byte 0 Bksv read from Rx by the DDC Controller 0xC0 RO [7:0] 00000000 BKSV Byte 1 Bksv read from Rx by the DDC Controller 0xC1 RO [7:0] 00000000 BKSV Byte 2 Bksv read from Rx by the DDC Controller 0xC2 RO [7:0] 00000000 BKSV Byte 3 Bksv read from Rx by the DDC Controller 0xC3 RO [7:0] 00000000 BKSV Byte 4 Bksv read from Rx by the DDC Controller 0xC7 RO [6:0] *0000000 BKSV Count BKSVs Available in Sink's BKSV FIFO [7:4] 0000**** DDC Controller Error DDC Controller Error Error code report when the DDC Controller Error Interrupt register 0x97[7] = 1 [3:0] ****0000 DDC Controller State DDC Controller State State of the controller used for HDCP debug purposes 0xC8 RO 0xCA RO [7:0] 00000000 HDCP BSTATUS[15:8] BSTATUS information for HDCP [15:8] 0xCB RO [7:0] 00000000 HDCP BSTATUS[7:0] BSTATUS information for HDCP [7:0] Ri Checking Frequency Ri Checking Frequency 00 = 128 frames 01 = 64 frames 10 = 32 frames 11 = 16 frames Ri Checking Position Delay Ri Checking Position Delay in Units of Hsync 0 = no delay 1 = 8 Hsyncs 2 = 16 Hsyncs 3 = 32 Hsyncs 4 = 64 Hsyncs 5 = 128 Hsyncs 6 = 256 Hsyncs 7 = 512 Hsycns [7:6] [5:3] 0xFC 0xFD 00****** **000*** R/W R/W [2:0] *****000 BCAPS Read Delay Delay Between Reading of BKSV and BCAPs 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms [7:5] 000***** An Write Delay Delay Between Reading of BCAPS and Writing of An 000 = no delay Page 116 of 203 Rev G PROGRAMMING GUIDE Address Type Bits Default Value ADV7511 Register Name Function 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms [4:2] 0xFE 4.8 R/W [7:5] ***000** 000***** AKSV Write Delay Delay Between Writing of An and Writing of AKSV 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms HDCP Start Delay Delay Between Setting Enable HDCP Register 0xAF[7] = 1 and Reading of BKSV 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms Power Management The ADV7511 has a Main Power Down, as well as additional methods, which can be used to further achieve power savings. The Main Power-Down section describes the method and results of using Main Power Down. The Additional Power-Down Methods section describes the methods and trade-offs for achieving minimum power consumption. 4.8.1 Main Power-Down The ADV7511 can put into the Main Power-Down mode by the power-down pin or by register 0x41[6]. The ADV7511 will power down if either the pin or register are active, but will only power up if both are inactive. Also the ADV7511 can only be powered up if the HPD pin is 1. The conditions for Main Power Down are shown in Table 96. The ADV7511 power-down pin polarity depends on the chip I2C address selection. If the user wants to use 0x72, then the PD/AD pin is active high. If the user wants to use 0x7A, the PD/AD pin is active low. The power-down pin polarity can be verified by reading register 0x42[7]. See the ADV7511 Hardware User’s Guide for more information about the PD/AD pin and power specifications. Some registers will be reset when the device is put into the Main Power-Down mode. Which registers are reset and which registers retain their values depends on the method of power down used. The details are in ▶ Table 97. Page 117 of 203 Rev G PROGRAMMING GUIDE Table 96 Main Power Down Conditions HPD Pin Table 97 Power Down Register Power Down Pin Result (0x41[6], 1 = Power Down) (1 = Power Down) 0 0 0 Main Power Down 0 0 1 Main Power Down 0 1 0 Main Power Down 0 1 1 Main Power Down 1 0 0 Main Power Up 1 0 1 Main Power Down 1 1 0 Main Power Down 1 1 1 Main Power Down Register Reset Control Address Main Register Map 0x00 – 0x93 0x94 - 0x97 (except 0x96[7:6] and 0x97[5:0]) 0x96[7:6] and 0x97[5:0] 0x98 – 0xAE 0xAF-0xCC 0xCD -0xF8 0xF9 – 0xFE Packet Memory Map 0x00 – 0xFF CEC Memory Map 0x00 – 0xFF 4.8.2 ADV7511 HPD Pin = 0 or Power Down Pin Active Power Down Register 0x41[1] CEC Power Down Register 0xE2[0] Reset Not Reset Not Reset Reset Reset Not Reset Not Reset Not Reset Reset Not Reset Reset Not Reset Not Reset Reset Not Reset Not Reset Not Reset Not Reset Not Reset Not Reset Not Reset Reset Reset Not Reset Not Reset Not Reset Reset Additional Power Down Methods An ultra-low power down level can be achieved by setting the Monitor Sense Power Down register (0xA1[6]) to 1. As a tradeoff interrupt handling and Monitor Sense monitoring cannot be used. With Monitor Sense Power-Down active, the HPD State register (0x42[6]) is still valid. Polling of this register can be used to determine if a Sink is connected. If SPDIF is not being used, the SPDIF Enable register (0x0B[7]) can be set to 0. This will turn off the SPDIF receiver. This is not necessary during main power-down mode as the SPIDF receiver will be already powered down. CEC can be powered on and off independent from the Main Power Down mode. If CEC is not being used, then the CEC Power Down bit (0xE2[0]), can be set to 1. If the inputs to the ADV7511 are toggling while the HDMI Tx is in power down mode, some power will be consumed. If there is no way to disable the toggling of the data and clock input video, then clock gating can be used to reduce power. This is activated by setting the Video Input and Clock Gating register (0xD6[0]) to 1. Similarly the CEC clock toggling will consume some power. Disabling or reducing the speed of this clock will further save power during power down mode. Page 118 of 203 Rev G PROGRAMMING GUIDE Table 98 Additional Power Down Methods and Effects Power Reductions Method Monitor Sense Power Down (0xA1[6]) = 1 SPDIF Enable (0x0B[7]) =0 Input Clock Gating (0xD6[0]) CEC Power Down (0xE2[0]) Disable CEC Clock Table 99 ADV7511 Power Reduction Trade Off -Interrupts Cannot be used -Registers 0x94 – 0x97 invalued -Monitor Sense State (0x42[5]) is invalid -SPDIF Cannot be used -Video Cannot be Used CEC Cannot be used CEC Cannot be used Power Management Related Registers (Main Map) Address Type Bits Default Value Register Name Function 0x41 R/W [6] *1****** POWER DOWN Main Power Down 0 = all circuits powered up 1 = power down whole chip, except I2C,HPD interrupt,Monitor Sense interrupt,CEC 0 = Normal Operation 1 = ADV7511 Powered Down 0x42 RO [7] 1******* Power Down Polarity Polarity for chip pin , Default is 1 0 = active low 1 = active high 0xA1 R/W [6] *0****** Monitor Sense Power Down Monitor Sense Power Down 0 = Monitor Sense monitoring enabled 1 = Monitor Sense monitoring disabled *******0 Audio and Video Input Gating 0xD6 R/W [0] 4.9 CEC Processing Audio and Video Input Gating 0 = video input and clock not gated 1 = video input and clock gated Consumer Electronic Control (CEC) is a single-wire, bidirectional interface intended to facilitate the control of any device on an HDMI network, as shownin ▶Figure 27, with the remote control unit or on-device control buttons of any other device connected to the network. Defined as an optional feature in the HDMI specification, it is based on the AV Link function defined in the European SCART (Syndicat des Constructeurs d'Appareils Radiorécepteurs et Téléviseurs) specification. ▶Table 100describes some typical end-user CEC features. Page 119 of 203 Rev G PROGRAMMING GUIDE Figure 27 ADV7511 Typical All-HDMI Home Theatre Table 100 Some typical“End-User” CEC Features: Feature One-Touch Play Stand-By One-Touch Record Description Pushing the “play” button commands a source to play and become the active video source for the TV. Pushing the “power down” button of any active device commands all devices on the HDMI network to shut down. Pushing the “record” button commands a recording device to power up and record the content currently displayed on the TV. Many of these end-user features require sending multiple messages over the CEC bus such as “Active Source,” and “Routing Change,” which support the CEC feature “Routing Control.” This feature allows a device to play and become the active source by switching the TV’s source input. If the TV is displaying another source at the time this command is used, it may place the other source into “stand-by” mode, depending on the implementation. Please see the CEC section of the HDMI 1.4 specification for details about CEC itself. 4.9.1 CEC Addressing On receiving the HPD Interrupt, the system software has to parse the EDID from the sink to determine the CEC device’s Physical Address. Once this is done, the Logical Address is determined using a polling method as defined in the HDMI Specification. Once the Logical Address is determined, it is programmed in to the Logical Address (0x4C[7:4]) register. The ADV7511 allows the system to configure three separate Logical Addresses which can then be selected using the Logical Address Mask (0x4B[6:4]) register. This allows the system to emulate up to three separate CEC devices using the same CEC module. 4.9.2 CEC Transmitter The CEC Transmitter module is used to describe the CEC messages when the on-chip CEC device acts as an initiator. The host utilizes this module to transmit directly addressed messages or broadcast messages on the CEC bus. Page 120 of 203 Rev G PROGRAMMING GUIDE 4.9.2.1 ADV7511 CEC Transmitter Setup and Control If the host wants to send a message to other CEC devices, the host should write the message to the CEC Tx Frame Data[0:14] registers (0x01 -0x0F) and other CEC Tx-related control registers one by one. Finally, it will enable the transmission process through setting the register bit of CECTx Transmission Enable (0x11[0]) to ‘1’. Then the CEC Tx module will kick off the transmission process. 4.9.2.2 CEC Transmitter Interrupt Handling When the message transmission is completed or any error occurs, the CEC Tx module will flag an interrupt signal to the host. There are three kinds of interrupt sources in this module. These are Tx Ready, Tx Arbitration Lost, and Tx Retry Timeout. The Tx Ready interrupt means that the message in the Tx buffer has been transmitted successfully and the CEC Tx module has been ready to accept and transmit the next message. The Tx Arbitration Lost interrupt means that arbitration has been lost to another initiator, when one or more other initiators are trying to access the bus at the same time as the ADV7511. The CEC Tx module will stop transmitting and become a follower. The Tx Retry Timeout interrupt means that the initiator has tried to transmit the message and retried up to the number of times, which is indicated by the Tx Retry register, with no acknowledge. The reason for the failure is either due to a “no acknowledge” flagged by the follower, or low drive occurring on CEC bus. The Tx Nack Counter shows how many times the transmission has failed because of a “no acknowledge.” The Tx Lowdrive Counter shows how many times the transmission has failed because of low drive. For these three interrupt types, only one can occur at a time, and the CEC Tx module will stop the transmission process immediately. According to the interrupt type, the host must decide how to process the interrupt. ▶ Figure 28is the state machine for control of the CEC message transmission process. Figure 28 CEC Transmitter State Machine IDLE tx enable & SFT is reached & tx is not done START lowdrive is detected start bit is done TX_DATA lowdrive is detected EOM bit is done byte is done & frame is not done ACK_CHECK frame is done || nack is detected || lowdrive is detected Table 101 CEC Transmitter Related Registers (Main Map) Address Type Bits Default Value Register Name Page 121 of 203 Function Rev G PROGRAMMING GUIDE 0x95 0x97 R/W R/W ADV7511 [5] **0***** Tx Ready Interrupt Enable CEC Tx Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [4] ***0**** Tx Arbitration Lost Interrupt Enable CEC Tx Arbitration Lost Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [3] ****0*** Tx Retry Timeout Interrupt Enable CEC Tx Retry Timeout Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [5] **0***** Tx Ready Interrupt CEC Tx Ready Interrupt 0 = no interrupt detected 1 = interrupt detected [4] ***0**** Tx Arbitration Lost Interrupt CEC Tx Arbitration Lost interrupt 0 = no interrupt detected 1 = interrupt detected [3] ****0*** Tx Retry Timeout Interrupt CEC Tx Retry Timeout interrupt 0 = no interrupt detected 1 = interrupt detected Page 122 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 102 CEC Transmitter Related Registers (CEC Map) Address Type Bits Default Value Register Name 0x00 R/W [7:0] 00000000 CEC Tx Frame Header CEC Tx Header 0x01 R/W [7:0] 00000000 CEC Tx Frame Data 0 CEC Tx Opcode 0x02 R/W [7:0] 00000000 CEC Tx Frame Data 1 CEC Message Operand 1 0x03 R/W [7:0] 00000000 CEC Tx Frame Data 2 CEC Message Operand 2 0x04 R/W [7:0] 00000000 CEC Tx Frame Data 3 CEC Message Operand 3 0x05 R/W [7:0] 00000000 CEC Tx Frame Data 4 CEC Message Operand 4 0x06 R/W [7:0] 00000000 CEC Tx Frame Data 5 CEC Message Operand 5 0x07 R/W [7:0] 00000000 CEC Tx Frame Data 6 CEC Message Operand 6 0x08 R/W [7:0] 00000000 CEC Tx Frame Data 7 CEC Message Operand 7 0x09 R/W [7:0] 00000000 CEC Tx Frame Data 8 CEC Message Operand 8 0x0A R/W [7:0] 00000000 CEC Tx Frame Data 9 CEC Message Operand 9 0x0B R/W [7:0] 00000000 CEC Tx Frame Data 10 CEC Message Operand 10 0x0C R/W [7:0] 00000000 CEC Tx Frame Data 11 CEC Message Operand 11 0x0D R/W [7:0] 00000000 CEC Tx Frame Data 12 CEC Message Operand 12 0x0E R/W [7:0] 00000000 CEC Tx Frame Data 13 CEC Message Operand 13 0x0F R/W [7:0] 00000000 CEC Tx Frame Data 14 CEC Message Operand 14 0x10 R/W [4:0] ***00000 CEC Tx Frame Length CEC Tx Message Size 0x11 R/W [0] *******0 CEC Tx Transmission Enable CEC Tx Enable 0 = Do not transmit CEC frame in Tx buffer 1 = Transmit CEC frame in Tx buffer [6:4] *001**** CEC Tx Retry CEC Tx Retry [3:0] ****0011 CEC Tx Retry Signal Free Time Signal Free Time Period for retransmission retry [7:4] 0101**** CEC Tx SFT5 Signal Free Time of 5 periods SFT5: New initiator wants to send a frame [3:0] ****0111 CEC Tx SFT7 Signal Free Time of 7 periods SFT7: Present Initiator wants to send another frame immediately after its previous frame. [7:4] 0000**** CEC Tx Lowdrive Counter Report error times in case of low impedance detection This is automatically cleared upon sending next message. [3:0] ****0000 CEC Tx NACK Counter Report Error Times In Case of Negative Acknowledge 0x12 0x13 0x14 Function R/W R/W RO Page 123 of 203 Rev G PROGRAMMING GUIDE 4.9.3 ADV7511 CEC Receiver The CEC Rx module is used to retrieve CEC messages from the CEC bus when the on-chip CEC device acts as a follower. The host utilizes this module to receive both broadcast messages and messages directly addressed to the ADV7511. The onchip CEC Rx module is equipped with three internal 16-byte frame buffers which can be used to improve system latency for CEC message processing and reduce the likelihood of dropping messages. 4.9.3.1 CEC Receiver Setup and Control The CEC Receiver module is enabled by setting 0x4E[1:0] = 0b01 if the CEC clock is enabled and timing parameters match the clock frequency. The CEC Rx module will then monitor the CEC bus and accept the broadcast messages or messages addressed directly to the device with the HDMI Tx. To enable usage of all three internal frame buffers, the Use all CEC Rx Buffers (0x4A[3]) bit must be set. To provide information on the order of arrival of a new frame in each buffer, three two-bit timestamp registers are available (0x26[5:0]). Each timestamp register can contain a value between and including 0b01 and 0b11, depending on when a new frame arrives at the corresponding CEC Rx Buffer. The earliest frame arrival is assigned a value of 0b01, and the latest frame arrival is assigned a value of 0b11. A value of 0b00 for the timestamp indicates that no frame is currently present in the respective CEC Rx Buffer. See Section ▶ 4.9.3.2.for more details on timestamp operation and processing. Registers 0x77 – 0x7E are used to set pre-defined Wake Up Opcodes for the CEC Rx module. When an opcode which is defined in these registers is received, a corresponding interrupt (0x93[7:0] in the Main Register Map) is generated. This feature is not required for full featured CEC operation. 4.9.3.2 CEC Receiver Message Processing and Interrupt Handling When any message besides a polling message is completely buffered in one of the CEC Rx Buffers, the CEC Receiver module will set the corresponding CEC Rx Buffer Ready bit (0x49[2:0]), and also assert the corresponding CEC Rx Buffer Ready Interrupt bit (0x97[2:0] Main Register Map). Received CEC messages can be accessed from the CEC Rx Frame Buffer registers: Buffer 1 – CEC Rx Buffer Frame Header + Data (0x15 – 0x24) Buffer 2 – CEC Rx Buffer Frame Header + Data (0x27- 0x36) Buffer 3 – CEC Rx Buffer Frame Header + Data (0x38 – 0x47) Once the host processes the recently arrived frame (or earlier frame arrivals), the host system must clear the CEC Rx Buffer Ready bit (0x49[2:0]) by toggling the value of the corresponding CEC Rx Buffer Ready Clear (0x4A[2:0]) bit. Toggling the CEC Rx Buffer Ready Clear bit (0x4A[2:0]) resets the value of the respective timestamp to ‘0’. For example, when the CEC Rx Buffer 3 Ready Clear (0x4A[2]) bit is toggled, the CEC Rx Buffer 3 Timestamp (0x26[5:4]) gets reset to 0b00, and the CEC Rx Buffer 3 Ready bit (0x49[2]) also gets reset to 0b0. Timestamp values are only updated when a new frame arrives. Once the host processes the recently arrived frame (or earlier frame arrivals), the host system must also clear the corresponding CEC Rx Buffer Ready Interrupt bit (0x27[2:0] Main Map). See ▶Section 4.10 for details on using interrupts. Clearing the CEC Rx Buffer Ready Interrupt bit (0x27[2:0] Main Map) causes the INT pin to go low thereby allowing the host system to process other interrupts. ▶ Figure 29 to ▶Figure 31 illustrate the behavior of the CEC Rx Buffer Timestamp (0x26[5:0]) registers. Page 124 of 203 Rev G PROGRAMMING GUIDE Figure 29 ADV7511 CEC Receiver Timestamp Operation – Message Arrival As shown ▶Figure 29, once messages arrive and fill up the three CEC Rx Buffers, timestamp values are assigned to the corresponding CEC Rx Buffer Timestamp (0x26[5:0]) registers with the earliest arrival being assigned a value of 1, and later arrivals being assigned incrementally higher integer values. In the example shown in ▶Figure 29, message “A” is the earliest arrival at CEC Rx Buffer 1 and therefore CEC Rx Buffer 1 Timestamp (0x26[1:0]) assumes a value of ‘1’. Messages “B” and “C” are subsequent arrivals and their corresponding timestamp registers assume values of ‘2’ and ‘3’ respectively. Page 125 of 203 Rev G PROGRAMMING GUIDE Figure 30 ADV7511 CEC Receiver Timestamp Operation – Partial Message Processing ▶ Figure 30shows the status of the CEC Rx Buffer Timestamp registers once the corresponding messages have been processed by the system host and the corresponding CEC Rx Buffer Ready Clear (0x4A[2:0]) bits have been toggled. As can be seen in ▶ Figure 30, toggling the CEC Rx Buffer Ready Clear bit resets the respective timestamp value to ‘0’ and readies the CEC Rx Buffer to receive a new message. Note that the corresponding CEC Rx Buffer Ready Interrupt (0x97[2:0] – Main Map) also has to be cleared to cause the INT pin to go low and allow the system host to continue processing other system interrupts. Page 126 of 203 Rev G PROGRAMMING GUIDE Figure 31 ADV7511 CEC Receiver Timestamp Operation – New Message Arrival ▶Figure 31 shows the status of the CEC Rx Buffer Timestamps once new messages have arrived into the CEC Rx Buffers. As seen in ▶Figure 31, the value of CEC Rx Buffer 3 timestamp is assigned a value of ‘1’, since it is the earliest available message. The timestamp values corresponding to the new message arrivals at CEC Rx Buffers 1 and 2 are assigned values of ‘2’ and ‘3’ respectively. ▶ Figure 32 illustrates the state machine for control of the CEC message receiving process. Page 127 of 203 Rev G PROGRAMMING GUIDE ADV7511 CEC Receiver State Machine Figure 32 IDLE cec falling edge START valid start bit is own message || bit period timeout RX_DATA lowdrive 3.6ms for period error handle is done invalid start bit ERROR period error EOM bit is done byte is done & frame is not done frame is done || bit period timeout 4.9.3.3 ACK period error Handling CEC Initiators with non-compliant EOM The CEC hardware does not check for an End of Message (EOM) signal to identify the end of a message. Instead the CEC Rx will continue to buffer bytes until a “time out” occurs. This could cause a problem for the HDMI compliance test because bytes sent after an EOM should be ignored. The following procedure can be used to work around issues with non HDMI compliant CEC sources, which continue sending data after the EOM signal. 1. Read the message opcode in the corresponding Rx Frame Buffer register 2. Check expected length of message in HDMI 1.4 Specification Supplement 1 3. Compare expected length with length reported in the corresponding Rx Frame Buffer Frame Length register 4. If the expected length is greater than the reported length, then use the expected length Page 128 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 103 CEC Receiver Related Registers (Main Map) Address Type 0x95 R/W Bits Default Value Register Name Function [2] *****0** Rx Ready 3 Interrupt Enable CEC Rx Ready 3 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [1] ******0* Rx Ready 2 Interrupt Enable CEC Rx Ready 2 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [0] *******0 Rx Ready 1 Interrupt Enable CEC Rx Ready 1 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled Rx Ready 3 Interrupt CEC Rx Ready 3 Interrupt 1 = interrupt detected for rx buffer 3 0 = no interrupt detected for buffer 3 1 = interrupt detected for buffer 3 0 = no interrupt detected for buffer 3 Rx Ready 2 Interrupt CEC Rx Ready 2 Interrupt 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 Rx Ready 1 Interrupt CEC Rx Ready 1 Interrupt 1 = interrupt detected for rx buffer 1 0 = no interrupt detected for buffer 1 1 = interrupt detected for buffer 1 0 = no interrupt detected for buffer 1 [2] 0x97 R/W [1] [0] *****0** ******0* *******0 Table 104 CEC Receiver Related Registers (CEC Map) Address Type Bits Default Value Register Name 0x15 RO [7:0] 00000000 CEC Rx Buffer 1 Frame Header Rx Header Block in the Frame (Buffer 1) 0x16 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 0 Rx Data Opcode (Buffer 1) 0x17 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 1 Received CEC Operand 1(Buffer 1) 0x18 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 2 Received CEC Operand 2 (Buffer 1) 0x19 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 3 Received CEC Operand 3 (Buffer 1) 0x1A RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 4 Received CEC Operand 4 (Buffer 1) 0x1B RO [7:0] 00000000 CEC Rx Frame Buffer 1 Received CEC Operand 5 (Buffer 1) Function Page 129 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function Data byte 5 0x1C RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 6 Received CEC Operand 6 (Buffer 1) 0x1D RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 7 Received CEC Operand 7 (Buffer 1) 0x1E RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 8 Received CEC Operand 8 (Buffer 1) 0x1F RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 9 Received CEC Operand 9 (Buffer 1) 0x20 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 10 Received CEC Operand 10 (Buffer 1) 0x21 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 11 Received CEC Operand 11 (Buffer 1) 0x22 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 12 Received CEC Operand 12 (Buffer 1) 0x23 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 13 Received CEC Operand 13 (Buffer 1) 0x24 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 14 Received CEC Operand 14 (Buffer 1) 0x25 RO [4:0] ***00000 CEC Rx Buffer 1 Frame Length Rx Message Size (Buffer 1) Number of operands + 2 [6] *1****** CEC Rx Enable RX enable 0 = The CEC module is currently not able to receive a new CEC frame 1 = The CEC module is currently able to receive a new CEC frame CEC Rx Buffer 3 Timestamp Specifies the order in which the message in Buffer 3 was received relative to Buffer 1 and Buffer 2 for the current buffered messages 00 = No valid message 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message CEC Rx Buffer 2 Timestamp Specifies the order in which the message in Buffer 2 was received relative to Buffer 1 and Buffer 3 for the current buffered messages 00 = No valid message 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message CEC Rx Buffer 1 Timestamp Specifies the order in which the message in Buffer 1 was received relative to Buffer 2 and Buffer 3 for the current buffered messages 00 = No valid message 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message [5:4] 0x26 **00**** RO [3:2] [1:0] ****00** ******00 Page 130 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x27 RO [7:0] 00000000 CEC Rx Buffer 2 Frame Header Rx Header Block in the Frame (Buffer 2) 0x28 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 0 Rx Data Opcode (Buffer 2) 0x29 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 1 ReceivedCEC Operand 1(Buffer 2) 0x2A RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 2 ReceivedCEC Operand 2 (Buffer 2) 0x2B RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 3 Received CEC Operand 3 (Buffer 2) 0x2C RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 4 Received CEC Operand 4 (Buffer 2) 0x2D RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 5 Received CEC Operand 5 (Buffer 2) 0x2E RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 6 Received CEC Operand 6 (Buffer 2) 0x2F RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 7 Received CEC Operand 7 (Buffer 2) 0x30 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 8 Received CEC Operand 8 (Buffer 2) 0x31 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 9 Received CEC Operand 9 (Buffer 2) 0x32 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 10 Received CEC Operand 10 (Buffer 2) 0x33 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 11 Received CEC Operand 11 (Buffer 2) 0x34 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 12 Received CEC Operand 12 (Buffer 2) 0x35 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 13 Received CEC Operand 13 (Buffer 2) 0x36 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 14 Received CEC Operand 14 (Buffer 2) 0x37 RO [4:0] ***00000 CEC Rx Buffer 2 Frame Length 0x38 RO [7:0] 00000000 CEC Rx Buffer 3 Frame Header Rx Header Block in the Frame (Buffer 3) 0x39 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 0 Rx Data Opcode (Buffer 3) Function Rx Message Size (Buffer 2) Number of operands + 2 Page 131 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name 0x3A RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 1 Received CEC Operand 1(Buffer 3) 0x3B RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 2 Received CEC Operand 2 (Buffer 3) 0x3C RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 3 Received CEC Operand 3 (Buffer 3) 0x3D RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 4 Received CEC Operand 4 (Buffer 3) 0x3E RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 5 Received CEC Operand 5 (Buffer 3) 0x3F RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 6 Received CEC Operand 6 (Buffer 3) 0x40 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 7 Received CEC Operand 7 (Buffer 3) 0x41 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 8 Received CEC Operand 8 (Buffer 3) 0x42 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 9 Received CEC Operand 9 (Buffer 3) 0x43 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 10 Received CEC Operand 10 (Buffer 3) 0x44 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 11 Received CEC Operand 11 (Buffer 3) 0x45 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 12 Received CEC Operand 12 (Buffer 3) 0x46 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 13 Received CEC Operand 13 (Buffer 3) 0x47 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 14 Received CEC Operand 14 (Buffer 3) 0x48 RO [4:0] ***00000 CEC Rx Buffer 3 Frame Length Rx Message Size (Buffer 3) Number of operands + 2 [2] *****0** CEC Rx Buffer 3 Ready Indicates frame presence in Buffer 3 0 = No CEC frame available in buffer 3 1 = A CEC frame is available in buffer 3 [1] ******0* CEC Rx Buffer 2 Ready Indicates frame presence in Buffer 2 0 = No CEC frame available in buffer 2 1 = A CEC frame is available in buffer 2 [0] *******0 CEC Rx Buffer 1 Ready Indicates frame presence in Buffer 1 0 = No CEC frame available in buffer 1 1 = A CEC frame is available in buffer 1 0x49 RO Function Page 132 of 203 Rev G PROGRAMMING GUIDE Address Type Bits 0x4A ADV7511 Default Value Register Name Function [3] ****1*** Use all CEC Rx Buffers Choose whether the new frames should be received in all 3 buffers or only one buffer 0 = Use only buffer 0 to store CEC frames (Legacy mode) 1 = Use all 3 buffers to stores the CEC frames (Non-legacy mode) [2] *****0** CEC Rx Buffer 3 Ready Clear Set high to clear 0x49[2] and reset 0x26[5:4] 0 = Retain the value of 0x49[2] 1 = Clear out 0x49[2] [1] ******0* CEC Rx Buffer 2 Ready Clear Set high to clear 0x49[1] and reset 0x26[3:2] 0 = Retain the value of 0x49[1] 1 = Clear out 0x49[1] [0] *******0 CEC Rx Buffer 1 Ready Clear Set high to clear 0x49[0] and reset 0x26[1:0] 0 = Retain the value of 0x49[0] 1 = Clear out 0x49[0] R/W 4.9.4 Typical Operation Flow 4.9.4.1 CEC Acting as an Initiator: Step 1 The host writes the message to the Tx Frame Header (0x00 CEC Memory Map) and Tx FrameData[0:14] registers. Then the Tx Enable register (0x11[0] CECMemory Map) will be set to ‘1’ to enable the CEC Tx module. Step 2 When CEC module detects that the host has set the Tx Enable signal to be valid, it will begin to send the message in the Tx buffer after waiting for the signal free time. During the message transmission, if CEC bus arbitration is lost, CEC Tx module will stop the transmission operation immediately and interrupt the host through setting Tx Arbitration Lost signal. If no acknowledge signal is received or lowdrive is detected although TX has tried Tx Retry (0x12[6:4] CEC Memory Map) times, the CEC Tx module will report that the transmission is failed through setting the interrupt signal of Tx Retry Timeout. If the message transmission is successful, the Tx Ready interrupt signal will be set to notify the host. Step 3 The host will be interrupted once the message has been completed whether it is successful of not. Then the host is responsible for deciding what to do next according to the interrupt type. The Tx Nack Counter and Tx Lowdrive Counter show complementary information to the host so that the host can know how many times the transmission has failed due to no acknowledge and how many times the transmission has failed due to low drive. These two counters play an important role during the operation of logical address allocation. In this situation, the host should process the following flow: If (Tx Ready ==1) This equality means that the logical address has been occupied by another CEC device. The host should give up this logical address and try another logical address. Else if (Tx Retry Timeout ==1) If (Tx Nack Counter == Tx Retry +1) This means that the logical address is an available address and can be allocated to the device containing the HDMI Tx. Else This means the CEC Tx transmission has failed (Tx Retry +1) times – because either the initiator has detected NO ACK or a follower on the CEC bus has responded with a ”low drive” error.. In this situation, the host needs to keep this logical address and try it again later. Page 133 of 203 Rev G PROGRAMMING GUIDE ADV7511 Step 4 After confirming one of the three interrupts has occurred, Tx Enable has to be cleared, by writing ‘0’ to 0x11[0], to prepare for the next transmission. 4.9.4.2 CEC Acts as a Follower: Step 1 The host is ready to accept CEC messages on power-up. Step 2 The CEC module will always monitor the CEC bus and accept broadcast messages or directly addressed messages. When any message besides a polling message is completely buffered in one of the CEC Rx Buffers, the CEC Receiver module will assert the corresponding CEC Rx Buffer Ready bit(0x49[2:0]) and the CEC Rx Buffer Ready Interrupt (0x97[2:0] Main map) bit will be asserted. The order of arrival of a new frame in each buffer is assigned to three two-bit timestamp registers (0x96[5:0]). Each timestamp register can assume a value between and including 0b01 and 0b11, depending on when a new frame arrives at the corresponding CEC Rx Buffer. A value of 0b01 corresponds to the earliest arrived message and a value of 0b11 corresponds to the latest. Step 3 The host responds to the Rx Ready interrupt, and the CEC message in the received buffer will be read out from CEC module and delivered to the high-level software functions. Step 4 After the interrupt handler has completed, the host system must clear the interrupt by setting the value of the corresponding CEC Rx Buffer Ready Interrupt Clear (0x97[2:0] Main map) to ‘1’. It must then toggle the CEC Rx Buffer Ready Clear (0xBA[2:0]) bit, which will clear the CEC Rx Buffer Ready (0xB9[2:0]) and also reset the value of the respective timestamp to ‘0’. Timestamp registers will be updated on arrival of a new data frame. 4.9.5 CEC System Control 4.9.6 CEC System Power and CDC Control There is power-down bit, CEC PD, at register 0xE2 bit 0 in the main register map. This bit will reset all CEC logic and the CEC I2C map. Note that if CEC is powered down then the CEC can no longer respond to CEC commands. Refer to the “Additional Power Reduction Methods” section ▶ 4.8.2 for more details on the use of this bit. The CEC Power Mode can be controlled by register bits 0x4E[1:0]. It can be always active, always powered down, or depend on the status of HPD. To reset the CEC registers Soft Reset (0x50[0]), can be set to 1, then back to 0. HDMI 1.4 defines special Capability Discover and Control message arbitration rules. These rules are enabled by default, and can be disabled by setting the CDC Arbitration Enable register bit 0xF7[7] to 0. To automatically detect CDC messages the Physical Address must be written in registers 0x80 and 0x81. 4.9.7 CEC Timing Control The CEC module requires an input clock from 3MHz to 100MHz, the timing registers and clock divider need to be adjusted based on the frequency of the input clock. The default settings for these registers are for a 12MHz input clock. If using an alternate frequency, refer to the “CEC Clock Timing Calculator” spreadsheet, which can be obtained by contacting ▶[email protected]. CEC timing register settings for the use of 3MHz, 13.5MHz, and 27MHz are provided in ▶ Table 105, ▶ Table 106, and ▶ Table 107. Page 134 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 105 CEC Clock Timing Register Settings (CEC Memory Map) for 3MHz CEC Clock Register Name Target Value Target (uS) Calculated Value (decimal) Calculated Value (hex) 0x4E[7:2] 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5A 0x5B 0x5C 0x5D 0x5E 0x5F 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6A 0x6B 0x6E 0x6F 0x70 0x71 0x72 0x73 0x74 0x75 0x76 CEC Clock Divider st_total 750KHz 4.5ms 1.33 4500 3 3375 0003 0D2F st_total_min 4.2ms 4200 3150 0C4E st_total_max 4.8ms 4800 3600 0E10 st_low 3.7ms 3700 2775 0AD7 st_low_min 3.4ms 3400 2550 09F6 st_low_max 4.0ms 4000 3000 0BB8 bit_total 2.4ms 2400 1800 0708 bit_total_min 1.95ms 1950 1463 05B7 bit_total_max 2.85ms 2850 2138 085A bit_low_one 0.6ms 600 450 01C2 bit_low_zero 1.5ms 1500 1125 0465 bit_low_max 1.8ms 1800 1350 0546 sample_time 1.05ms 1050 788 0314 line_error_time 3.6ms 3600 2700 0A8C rise_time 250us 250 188 00BC bit_low_one_min 0.3ms 300 225 00E1 bit_low_one_max 0.9ms 900 675 02A3 bit_low_zero_min 1.2ms 1200 900 0384 Page 135 of 203 Register Setting (hex) 00 0D 2F 0C 4E 0E 10 0A D7 09 F6 0B B8 07 08 05 B7 08 5A 01 C2 04 65 05 46 03 14 0A 8C 00 BC 00 E1 02 A3 03 84 Rev G PROGRAMMING GUIDE ADV7511 Table 106 CEC Clock Timing Register Settings (CEC Memory Map) for 13.5MHz CEC Clock Register Name Target Value Target (uS) 0x4e 0x51 0x52 0x53 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 0x6e 0x6f 0x71 0x72 0x73 0x74 0x75 0x76 clock_divider st_total 750KHz 4.5ms 1.33 4500 st_total_min 4.2ms st_total_max Calculated Value (decimal) Calculated Value (hex) 17 11 3375 0D2F 4200 3150 0C4E 4.8ms 4800 3600 0E10 st_low 3.7ms 3700 2775 0AD7 st_low_min 3.4ms 3400 2550 09F6 st_low_max 4.0ms 4000 3000 0BB8 bit_total 2.4ms 2400 1800 0708 bit_total_min 1.95ms 1950 1463 05B7 bit_total_max 2.85ms 2850 2138 085A bit_low_one 0.6ms 600 450 01C2 bit_low_zero 1.5ms 1500 1125 0465 bit_low_max 1.8ms 1800 1350 0546 sample_time 1.05ms 1050 788 0314 line_error_time 3.6ms 3600 2700 0A8C rise_time 250us 250 188 00BC bit_low_one_min 0.3ms 300 225 00E1 bit_low_one_max 0.9ms 900 675 02A3 bit_low_zero_min 1.2ms 1200 900 0384 Page 136 of 203 Register Setting (hex) 11 0D 2F 0C 4E 0E 10 0A D7 09 F6 0B B8 07 08 05 B7 08 5A 01 C2 04 65 05 46 03 14 0A 8C 00 BC 00 E1 02 A3 03 84 Rev G PROGRAMMING GUIDE ADV7511 Table 107 CEC Clock Timing Register Settings (CEC Memory Map) for 27MHz CEC Clock Register 0x4e 0x51 0x52 0x53 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 0x6e 0x6f 0x71 0x72 0x73 0x74 0x75 0x76 Target Value Target (uS) Calculated Value (decimal) Calculated Value (hex) clock_divider st_total 750KHz 4.5ms 1.33 4500 35 3375 23 0D2F st_total_min 4.2ms 4200 3150 0C4E st_total_max 4.8ms 4800 3600 0E10 st_low 3.7ms 3700 2775 0AD7 st_low_min 3.4ms 3400 2550 09F6 st_low_max 4.0ms 4000 3000 0BB8 bit_total 2.4ms 2400 1800 0708 bit_total_min 1.95ms 1950 1463 05B7 bit_total_max 2.85ms 2850 2138 085A bit_low_one 0.6ms 600 450 01C2 bit_low_zero 1.5ms 1500 1125 0465 bit_low_max 1.8ms 1800 1350 0546 sample_time 1.05ms 1050 788 0314 line_error_time 3.6ms 3600 2700 0A8C rise_time 250us 250 188 00BC bit_low_one_min 0.3ms 300 225 00E1 bit_low_one_max 0.9ms 900 675 02A3 bit_low_zero_min 1.2ms 1200 900 0384 Name Page 137 of 203 Register Setting (hex) 23 0D 2F 0C 4E 0E 10 0A D7 09 F6 0B B8 07 08 05 B7 08 5A 01 C2 04 65 05 46 03 14 0A 8C 00 BC 00 E1 02 A3 03 84 Rev G PROGRAMMING GUIDE ADV7511 Table 108 CEC System Control Related Registers (Main Map) Address Type Bits Default Value Register Name [7] [6] [5] [4] 0x92 *0****** **0***** ***0**** Wake Up Opcode8 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode8 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode7 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode7 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode6 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode6 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode5 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode5 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode4 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode4 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode3 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode3 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode2 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode2 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode1 Interrupt Enable CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode1 in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled Wake Up Opcode8 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode8 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode7 Interrupt CEC Wake Up Code Interrupt Enable interrupt detecting Wake Up Opcode7 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode6 Interrupt CEC Wake Up Code Interrupt Enable Interrupt detecting Wake Up Opcode6 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected R/W [3] [2] [1] [0] [7] 0x93 0******* Function R/W [6] [5] ****0*** *****0** ******0* *******0 0******* *0****** **0***** Page 138 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value Register Name [4] [3] [2] [1] [0] 0xE2 R/W [0] ***0**** ****0*** *****0** ******0* *******0 *******0 Function Wake Up Opcode5 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode5 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode4 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode4 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode3 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode3 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode2 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode2 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Wake Up Opcode1 Interrupt CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode1 in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Power Down CEC Power Down Power down CEC logic and reset CEC I2C map 0 = disabled 1 = enabled Page 139 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 109 CEC System Control Related Registers (CEC Map) Address Type Bits 0x4B R/W 0x4D 0x4F Function [6:4] *001**** Logical Address Mask [3] ****0*** Error Report Mode Error report mode 0 = only report short bit period error 1 = report both short and long bit period errors Error Detect Mode Error Detect Mode If an error is detected, CEC controller will drive the CEC line low for 3.6msec immediately to notify the line error to the initiator 0 = any short bit period except start bit 1 = only when destination is broadcast Force NACK Force NACK. If this bit is set, CEC Rx module will NACK any message. 0 = ACK the relevant messages 1 = NACK all messages If this bit is set, CEC Rx module will ignore any directly addressed message belonging to it. 0 = ACK the relevant messages 1 = NACK all messages [2] *****0** ******0* [0] *******0 Force Ignore [7:4] 1111**** Logical Address 1 Logical Address of logical device 1 [3:0] ****1111 Logical Address 0 Logical Address of logical device 0 [3:0] ****1111 Logical Address 2 Logical Address of logical device 2 R/W R/W [7:2] 0x4E Register Name Logical Address Mask of the CEC Devices: Supports up to 3 logical devices. When the bit is one, the related logical device will be enabled, and the messages whose destination address is matched with the logical address will be accepted 001 = mask bit for logical device0 010 = mask bit for logical device1 100 = mask bit for logical device2 [1] 0x4C Default Value 001111** CEC Clock Divider CEC Clock Divider: The input clock frequency is divided according to the value in this register. The divided clock is used as the CEC process clock. Internal clock frequency = input clock frequency / (clock_divider+1) 000000 = no division and the input clock will be used as the CEC process clock directly 000001 = divide by 2 000010 = divide by 3 000011 = divide by 4 111110 = divide by 63 111111 = divide by 64 Power mode of CEC. Does not reset I2C map on power down. 00 = Completely Power Down 01 = Always Active 10 = Depend on HPD status 11 = Depend on HPD status R/W R/W [1:0] ******00 CEC Power Mode [5:0] **000111 Glitch Filter Glitch filter control for the CEC input: The CEC bus is sampled by the input clock. Page 140 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Ctrl 0x50 R/W [0] R/W [15:0] 0x51 CEC reset by external host 0 = Do not reset CEC controller 1 = Reset CEC controller St Total CEC nominal start bit total period. Typically it is 4.5ms Typical value at 750KHz St Total Min CEC minimum start bit total period. Typically, it is 4.3ms, for the default value, keep 0.1ms margin, namely 4.2ms Typical value at 750KHz St Total Max CEC maximum start bit total period. Typically, it is 4.7ms, for the default value, keep 0.1ms margin, namely 4.8ms Typical value at 750KHz St Low CEC nominal start bit low period. Typically it is 3.7ms Typical value at 750KHz St Low Min CEC minimum start bit low period. Typically it is 3.5ms, for the default value, keep 0.1ms margin, namely 3.4ms Typical value at 750KHz St Low Max CEC maximum start bit low period. Typically it is 3.9ms, for the default value, keep 0.1ms margin, namely 4.0ms Typical value at 750KHz Bit Total CEC nominal data bit total period. Typically it is 2.4ms. Typical value at 750KHz Bit Total Min CEC minimum data bit low period. Typically it is 2.05ms, for the default value, keep 0.1ms margin, namely 1.95ms Typical value at 750KHz Bit Total Max CEC maximum data bit low period. Typically it is 2.75ms, for the default value, keep 0.1ms margin, namely 2.85ms Typical value at 750KHz Bit Low One CEC nominal data bit low period for logical 1. Typically it is 0.6ms Typical value at 750KHz Bit Low Zero CEC nominal data bit low period for logical 0. Typically it is 1.5ms Typical value at 750KHz Bit Low Max CEC nominal data bit low period for logical 0. Typically it is 1.8ms 00101111 0x53 00001100 R/W [15:0] 0x54 01001110 0x55 00001110 R/W [15:0] 0x56 00010000 0x57 00001010 R/W [15:0] 0x58 11010111 0x59 00001001 R/W [15:0] 0x5A 11110110 0x5B 00001011 R/W [15:0] 0x5C 10111000 0x5D 00000111 R/W [15:0] 0x5E 00001000 0x5F 00000101 R/W [15:0] 0x60 10110111 0x61 00001000 R/W [15:0] 0x62 01011010 0x63 00000001 R/W [15:0] 0x64 11000010 0x65 00000100 R/W [15:0] 0x66 01100101 R/W [15:0] 00000101 This Register indicates the number of clock cycles. Pulses whose width is less than the value in this register will be filtered by the CEC module. 000000 = filter is disabled 000001 = pulse width less than 1 clock cycle will be filtered. 111111 = pulse width less than 63 will be filtered CEC Soft Reset 00001101 0x52 0x67 *******0 Function Page 141 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address Type Bits Default Value 0x68 01000110 0x69 [15:0] 0x6A 00001010 R/W [15:0] 0x6C 10001100 0x6E [15:0] 0x6F R/W [0] R/W [15:0] *******0 00000000 0x72 11100001 0x73 00000010 R/W [15:0] 0x74 10100011 0x75 00000011 R/W [15:0] 0x76 0x79 Line Error Time CEC Line Error handling time. Typically it is 1.4~1.6 times the nominal data bit period. We set the default value to 1.5 times the nominal data bit period. Rise Time CEC maximum rise time. Typically it is 250us Bit Low Detmode Error detection mode for data bit low period 0 = Disabled 1 = Enable Bit Low One Min CEC minimum data bit low period for logical 1. Typically it is 0.4ms, for the default value, keep 0.1ms margin, namely 0.3ms Typical value at 750KHz Bit Low One Max CEC maximum data bit low period for logical 1. Typically it is 0.8ms, for the default value, keep 0.1ms margin, namely 0.9ms Typical value at 750KHz Bit Low Zero Min CEC minimum data bit low period for logical 0. Typically it is 1.3ms, for the default value, keep 0.1ms margin, namely 1.2ms Typical value at 750KHz Wake Up Opcode 1 Wake up opcode 0 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Power On' opcode Wake Up Opcode 2 Wake up opcode 1 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Give Power Status' opcode Wake Up Opcode 3 Wake up opcode 2 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Active Source' opcode 10111100 0x71 0x78 CEC nominal sample time. Typically it is 1.05ms Typical value at 750KHz 00000000 R/W 0x77 Sample Time 00010011 0x6B Function Typical value at 750KHz 00000011 R/W 0x70 Register Name 10000100 R/W R/W R/W [7:0] [7:0] [7:0] 01101101 10001111 10000010 0x7A R/W [7:0] 00000100 Wake Up Opcode 4 Wake up opcode 3 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Image View On' opcode 0x7B R/W [7:0] 00001101 Wake Up Opcode 5 Wake up opcode 4 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can pre- Page 142 of 203 Rev G PROGRAMMING GUIDE ADV7511 Default Value Address Type Bits Register Name Function define the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Text View On' opcode 0x7C 0x7D 0x7E 0x7F R/W R/W R/W [7:0] [7:0] 01110000 01000010 Wake Up Opcode 6 Wake up opcode 5 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'System Audio Mode Request' opcode Wake Up Opcode 7 Wake up opcode 6 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Deck Control' opcode [7:0] 01000001 Wake Up Opcode 8 Wake up opcode 7 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Play' opcode [7] 1******* CDC Arbitration Enable Controls whether to do special CDC message arbitration upon receiving CDC message 1 = enable 0 = disable [6] *1****** CDC HPD Response Enable Controls whether to toggle internal HPD signals when receiving CDC HPD message 1 = enable 0 = disable CEC Physical Address Physical address of CEC device R/W 0x80 00000000 R/W [15:0] 0x81 00000000 0x82 R/W [7:0] 00000001 CDC HPD Timer Count Controls the time CDC HPD stays low when receiving CDC HPD toggle message. HPD low = CDC_HPD_Timer_Count * CEC_CLK. CEC_CLK is 760KHz by default. 0x83 RO [7] 0******* CDC HPD HPD signal from CEC interface 4.10 HDCP/EDID Controller 4.10.1 ADV7511 EDID/HDCP Support Features The ADV7511’s EDID and DDC Controllerperforms three main functions to support the system’s EDID and HDCP handling. These features are outlined below. A block diagram is illustrated in ▶ Figure 33. ■ Reads EDID segment 0 from the display as soon as Hot Plug is detected and the chip is set to powered up mode. o o The 256-byte EDID segment is stored in internal RAM and can be read via I2C and has its own I2C address. The I2C slave address of the EDID memory can be programmed in the EDID ID register (0x43). The default value for this register is 0x7E. Reads additional EDID segments on demand. Page 143 of 203 Rev G PROGRAMMING GUIDE o ADV7511 These segments are stored in the same location as the first segment. Therefore, the controller should store the first segment prior to initializing another EDID segment download. ■ Implements the HDCP transmitter state machine including handling of downstream repeaters. ■ Includes robust error reporting to report various error conditions to the system firmware. ▶ Figure 33 shows a flow chart of the State Machine implemented by the internal controller. Circles indicate functions that are controlled automatically within the ADV7511, and squares indicate functions that must be implemented in the system software. Figure 33 ADV7511 EDID and DDC Controller Functional Flow 4.11 Interrupt Handling The ADV7511 has interrupts to help with the system design. The interrupts allow the internal HDCP/EDID controller to alert the system of the events listed in ▶ Table 110. For Hot Plug Detect and Monitor Sense, the interrupt will be triggered for every transition, so the read-only register must be used to determine if the HPD or Monitor Sense is logic high or logic low. Page 144 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 110 Interrupt Handling Registers Interrupt 4.11.1 Wake Up Opcode 1 Wake Up Opcode 2 Wake Up Opcode 3 Wake Up Opcode 4 Wake Up Opcode 5 Wake Up Opcode 6 Wake Up Opcode 7 Wake Up Opcode 8 Hot Plug Detect Monitor Sense Active Vsync Edge Audio FIFO full Embedded Sync Parity Error EDID Ready HDCP Authenticated HDCP Error BKSV Flag Interrupt Register 0x93[7] 0x93[6] 0x93[5] 0x93[4] 0x93[3] 0x93[2] 0x93[1] 0x93[0] 0x96[7] 0x96[6] 0x96[5] 0x96[4] 0x96[3] 0x96[2] 0x96[1] 0x97[7] 0x97[6] CEC Tx ready CEC Tx arbitration lost CEC Tx retry timeout CEC Rx ready 3 CEC Rx ready 2 CEC Rx ready 1 0x97[5] 0x97[4] 0x97[3] 0x97[2] 0x97[1] 0x97[0] Related Registers 0x77 (CEC Map) 0x78 (CEC Map) 0x79 (CEC Map) 0x7A (CEC Map) 0x7B (CEC Map) 0x7C (CEC Map) 0x7D (CEC Map) 0x7E (CEC Map) 0x42[6] 0x42[5] N/A N/A N/A EDID Memory Map 0xC8[3:0] 0xC8[7:4] 0xBF – 0xC3 and EDID Memory Map N/A N/A N/A 0x38 – 0x48 (CEC Map) 0x27 – 0x37 (CEC Map) 0x15 - 0x25 (CEC Map) Mask Register 0x92[7] 0x92[6] 0x92[5] 0x92[4] 0x92[3] 0x92[2] 0x92[1] 0x92[0] 0x94[7] 0x94[6] 0x94[5] 0x94[4] 0x94[3] 0x94[2] 0x94[1] 0x95[7] 0x95[6] 0x95[5] 0x95[4] 0x95[3] 0x95[2] 0x95[1] 0x95[0] Wake Up Opcodes The Wake UpOpcode interrupts correspond to registers 0x77 – 0x7E in the CEC register map. When a user defined opcode is detected in an incoming CEC message, the corresponding interrupt will be triggered. 4.11.2 Hot Plug Detect This interrupt is triggered every time there is an HPD transition from high to low or low to high. 4.11.3 Monitor Sense This interrupt is triggered every time the TMDS clock line voltages both cross 1.8V from high to low or low to high. 4.11.4 Active Vsync Edge This interrupt is triggered whenever ADV7511 detects a Vsync leading edge. This applies to all input types. Vsync edge detection is useful for timing some I2C writes such as enabling CSC and Gamut Metadata Packet information. See the following sections for further information: ▶ ▶ 4.3.8.3 - Changing the Color Space with Active Display 4.3.9.3 - Gamut Metadata Packet Page 145 of 203 Rev G PROGRAMMING GUIDE 4.11.5 ADV7511 Audio FIFO Full This interrupt is triggered if more data goes into the audio FIFO than comes out. If it happens at initialization period, it is not a problem. If it happens after the system is fully configured, then there is a problem with the system. 4.11.6 Embedded Sync Parity Error This interrupt is triggered when the embedded sync parity protection encounters two errors in F/V/H bits of EAV or SAV bits. ADV7511 is able to correct a one-bit error and flag a two-bit error. 4.11.7 EDID Ready This interrupt is triggered when the EDID has been read from the receiver and is available in the ADV7511 EDID memory to be read at I2C address 0x7E (programmable). If the EDID Ready flag does not occur after EDID is expected, an I2C Error on the HDCP Error interrupt will occur if enabled. 4.11.8 HDCP Authenticated This interrupt occurs when the HDCP/EDID state machine transitions from state 3 to state 4. This means that the final BKSV flag has been cleared and the host system has access to all of the downstream BKSVs. This means that authentication is complete and it is now safe for the host to send copyrighted audio and video data across the HDCP-protected HDMI link. 4.11.9 HDCP Error This interrupt is triggered when the HDCP/EDID Controller is reporting an error to the system software. The error which occurred is represented by an error code contained in I2C register 0xC8[7:4]. 4.11.10 BKSV Flag This interrupt is triggered when KSVs from a downstream device are read into the ADV7511. If the BKSV count register (0xC7[6:0]) is zero, then the 5 byte KSV from the receiver directly connected to the ADV7511 will be available in registers 0xBF – 0xC3. If the BKSV count register 1 or greater, then the specified amount of 5 byte KSVs from downstream devices will be available in the EDID memory. 4.11.11 CECTx Ready Flag This interrupt indicates that the CEC host is ready to transmit data. 4.11.12 CECTx Arbitration Lost Flag This interrupt reflects the fact that the Tx was trying to transmit but lost a bus arbitration to another CEC device. 4.11.13 CECTx Retry Timeout Flag This interrupt indicates that the Tx retried in excess of the limit programmed into the Tx_retry register (0x12[6:4]) of the CEC memory block. 4.11.14 CEC Rx Ready Flags This interrupt indicates that the CEC host is ready to monitor and receive data for a corresponding CEC Buffer. ▶147Figure 34 shows the process of detecting and clearing an interrupt. The interrupt pin and interrupt register become active simultaneously when an event triggers an interrupt. The system software processes the interrupt, and then writes a ‘1’ to the interrupt register to clear the register and set the interrupt pin back to inactive. The pin will remain active until each active interrupt register is cleared. Page 146 of 203 Rev G PROGRAMMING GUIDE Interrupt Handling WAITNG FOR INTERRUPT PIN = INACTIVE REGISTER = 0 WRITE 1 TO INTERRUPT REGISTER EVENT CAUSES INTERRUPT PROCESSING INTERRUPT PIN = ACTIVE REGISTER = 1 06076-011 Figure 34 ADV7511 Masks are available to let the user selectively activate each interrupt. To enable a specific interrupt register, write 1 to the corresponding mask bit. The mask bits will not affect the interrupt registers, only the interrupt pin. For some interrupts there are read-only registers available for checking the state. ▶ Figure 35 shows a recommended flow for processing ADV7511 interrupts. Page 147 of 203 Rev G PROGRAMMING GUIDE Figure 35 ADV7511 Interrupt Handling Example Page 148 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 111 Interrupt Handling Related Registers (Main Map) Address Type Bits Default Value Register Name 0******* CEC Wake Up Code Interrupt Enable Wake Up Opcode 1 Interrupt Enable interrupt detecting Wake Up Opcode 1 in CEC message 0 = Interrupt Disabled Enable 1 = Interrupt Enabled *0****** CEC Wake Up Code Interrupt Enable Wake Up Opcode 2 Interrupt Enable interrupt detecting Wake Up Opcode 2 in CEC message 0 = Interrupt Disabled Enable 1 = Interrupt Enabled **0***** CEC Wake Up Code Interrupt Enable Wake Up Opcode 3 Interrupt Enable interrupt detecting Wake Up Opcode 3 in CEC message Enable 0 = Interrupt Disabled 1 = Interrupt Enabled ***0**** CEC Wake Up Code Interrupt Enable Wake Up Opcode 4 Interrupt Enable interrupt detecting Wake Up Opcode 4 in CEC message Enable 0 = Interrupt Disabled 1 = Interrupt Enabled ****0*** CEC Wake Up Code Interrupt Enable Wake Up Opcode 5 Interrupt Enable interrupt detecting Wake Up Opcode 5 in CEC message 0 = Interrupt Disabled Enable 1 = Interrupt Enabled *****0** CEC Wake Up Code Interrupt Enable Wake Up Opcode 6 Interrupt Enable interrupt detecting Wake Up Opcode 6 in CEC message Enable 0 = Interrupt Disabled 1 = Interrupt Enabled ******0* CEC Wake Up Code Interrupt Enable Wake Up Opcode 7 Interrupt Enable interrupt detecting Wake Up Opcode 7 in CEC message 0 = Interrupt Disabled Enable 1 = Interrupt Enabled *******0 CEC Wake Up Code Interrupt Enable Wake Up Opcode 8 Interrupt Enable interrupt detecting Wake Up Opcode 8 in CEC message 0 = Interrupt Disabled Enable 1 = Interrupt Enabled *0****** CEC Wake Up Code Interrupt Enable interrupt detecting Wake Up Opcode 2 in CEC message Wake Up Opcode 2 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected **0***** CEC Wake Up Code Interrupt Enable Interrupt detecting Wake Up Opcode 3 in CEC message Wake Up Opcode 3 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected [4] ***0**** CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode 4 in CEC message Wake Up Opcode 4 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected [3] ****0*** CEC Wake Up Code Interrupt Wake Up Opcode 5 Interrupt Interrupt detecting Wake Up Opcode 5 in CEC message 0= No Interrupt Detected [7] [6] [5] [4] 0x92 R/W [3] [2] [1] [0] [6] [5] 0x93 Function R/W Page 149 of 203 Rev G PROGRAMMING GUIDE Address Type Bits ADV7511 Default Value Register Name Function 1 = Interrupt Detected *****0** CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode 6 in CEC message Wake Up Opcode 6 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected ******0* CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode 7 in CEC message Wake Up Opcode 7 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected [0] *******0 CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode 8 in CEC message Wake Up Opcode 8 Interrupt 0= No Interrupt Detected 1 = Interrupt Detected [7] 1******* HPD Interrupt Enable HPD Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [5] **0***** Vsync Interrupt Enable Vsync Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [4] ***0**** Audio FIFO Full Interrupt Enable Audio FIFO Full Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [2] *****0** EDID Ready Interrupt Enable EDID Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [1] ******0* HDCP Authenticated Interrupt Enable HDCP Authenticated Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [7] 0******* DDC Controller Error Interrupt Enable DDC Controller Error Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [6] *0****** BKSV Flag Interrupt Enable BKSV Flag Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [5] **0***** Tx Ready Interrupt Enable Tx Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [4] ***0**** Tx Arbitration Lost Interrupt Enable Tx Arbitration Lost Interrupt 0 = interrupt disabled Enable 1 = interrupt enabled [3] ****0*** Tx Retry Timeout Interrupt Enable Tx Retry Timeout Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [2] *****0** Rx Ready 3 Interrupt Enable Rx Ready 3 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [2] [1] 0x94 0x95 R/W R/W Page 150 of 203 Rev G PROGRAMMING GUIDE Address 0x96 0x97 Type ADV7511 Bits Default Value Register Name Function [1] ******0* Rx Ready 2 Interrupt Enable Rx Ready 2 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [0] *******0 Rx Ready 1 Interrupt Enable Rx Ready 1 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled [7] 0******* HPD Interrupt HPD Interrupt 0 = no interrupt detected 1 = interrupt detected [5] **0***** Vsync Interrupt Vsync Interrupt 0 = no interrupt detected 1 = interrupt detected [4] ***0**** Audio FIFO Full Interrupt Audio FIFO Full Interrupt 0 = no interrupt detected 1 = interrupt detected [2] *****0** EDID Ready Interrupt EDID Ready Interrupt 0 = no interrupt detected 1 = interrupt detected [1] ******0* HDCP Authenticated HDCP Authenticated 0 = no interrupt detected 1 = interrupt detected [0] *******0 Fixed @ 0b Reserved [7] 0******* DDC Controller Error Interrupt DDC Controller Error Interrupt 0 = no interrupt detected 1 = interrupt detected [6] *0****** BKSV Flag Interrupt BKSV Flag Interrupt 0 = no interrupt detected 1 = interrupt detected [5] **0***** Tx Ready Interrupt Tx Ready Interrupt 0 = no interrupt detected 1 = interrupt detected [4] ***0**** Tx Arbitration Lost interrupt Tx Arbitration Lost Interrupt 0 = no interrupt detected 1 = interrupt detected [3] ****0*** Tx Retry Timeout Interrupt Tx Retry Timeout interrupt 0 = no interrupt detected 1 = interrupt detected Rx Ready 3 Interrupt Rx Ready 3 Interrupt 1 = interrupt detected for rx buffer 3 0 = no interrupt detected for buffer 3 1 = interrupt detected for buffer 3 0 = no interrupt detected for buffer 3 Rx Ready 2 Interrupt Rx Ready 2 Interrupt 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 R/W R/W [2] [1] *****0** ******0* Page 151 of 203 Rev G PROGRAMMING GUIDE Address 0xA1 Type R/W Bits ADV7511 Default Value Register Name Function [0] *******0 Rx Ready 1 Interrupt Rx Ready 1 Interrupt 1 = interrupt detected for rx buffer 1 0 = no interrupt detected for buffer 1 1 = interrupt detected for buffer 1 0 = no interrupt detected for buffer 1 [6] *0****** Monitor Sense Power Down Monitor Sense Power Down 0 = Monitor Sense monitoring enabled 1 = Monitor Sense monitoring disabled Page 152 of 203 Rev G PROGRAMMING GUIDE ADV7511 SECTION 5 - REGISTER MAPS The ADV7511 contains four 256-byte register maps as described in section ▶ 4.1. The full details of each relevant address byte is described in the following section. For each register map, addresses between 0x00 and 0xFF not included in the register map are not affected by I2C writes and will always read ‘0’. The far right column of the following tables contain a linked reference to the Programming Guide section that provides more detail as to the operation of the particular register being described. Address (Main) Type Bits Default Value Register Name Function 0x00 RO [7:0] 00010010 Chip Revision Revision of the chip N 20 bit N used with CTS to regenerate the audio clock in the receiver. SPDIF Sampling Frequency SPDIF Sampling Frequency from SPDIF Channel Status. 0000 = 44.1 kHz 0001 = N/A 0010 = 48.0 kHz 0011 = 32.0 kHz 0100 = N/A 0101 = N/A 0110 = N/A 0111 = N/A 1000 = 88.2 kHz 1001 = N/A 1010 = 96.0 kHz 1011 = N/A 1100 = 176.4 kHz 1101 = N/A 1110 = 192.0 kHz 1111 = N/A CTS Automatic Cycle Time Stamp (CTS) Automatically Generated This 20 bit value is used in the receiver with the N value to regenerate an audio clock. For remaining bits see 0x05 and 0x06. CTS Manual Cycle Time Stamp (CTS) Manually Entered This 20 bit value is used in the receiver with the N value to regenerate an audio clock. For remaining bits see 0x08 and 0x09. 4.4.2 CTS Select CTS Source Select. 0 = CTS Automatic 1 = CTS Manual 4.4.2 Audio Select Audio Select All others invalid 000 = I2S 001 = SPDIF 010 = One Bit Audio (DSD) 011 = High Bit Rate (HBR Audio) 100 = DST 101 = N/A 0x01 0x02 ****0000 R/W [19:0] 0x03 0x04 00000000 RO [7:4] 0000**** ****0000 RO [19:0] 00000000 0x06 00000000 0x07 ****0000 0x08 R/W [19:0] 0x09 00000000 00000000 [7] 0x0A 4.4.2 00000000 0x04 0x05 Reference 0******* R/W [6:4] *000**** Page 153 of 203 4.4.1 4.4.2 4.4.1 4.4.1.1 4.4.1.3 4.4.1.4 4.4.1.5 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 110 = N/A 111 = N/A [3:2] 0x0B 0x0C ****00** 4.4.1 4.4.1.1 4.4.1.3 4.4.1.4 4.4.1.5 [1:0] ******01 MCLK Ratio MCLK Ratio The ratio between the audio sampling frequency and the clock described using N and CTS 00 = 128xfs 01 = 256xfs 10 = 384xfs 11 = 512xfs [7] 0******* SPDIF Enable Enable or Disable SPDIF receiver 0 = disable 1 = Enabled 4.4.1 [6] *0****** Audio Clock Polarity SPDIF MCLK, I2S SCLK, and DSD Clock Polarity Indicates edge where input data is latched 0 = rising edge 1 = falling edge 4.4.1 [5] **0***** MCLK Enable MCLK Enable 0 = MCLK internally generated 1 = MCLK is available 4.4.1 [4:1] ***0111* Fixed Must be set to Default Value [7] 1******* Audio Sampling Frequency Select Select source of audio sampling frequency for pixel repeat and I2S mode 4 0 = use sampling frequency from I2S stream 1 = use sampling frequency from I2C register 4.4.1 [6] *0****** Channel Status Override Source of channel status bits when using I2S mode 4 0 = use channel status bits from I2S stream 1 = use channel status bits from I2C registers 4.4.1 [5] **1***** I2S3 Enable I2S3 enable for the I2S 3 pin. 0 = Disabled 1 = Enabled 4.4.1 [4] ***1**** I2S2 Enable I2S2 enable for the I2S 2 pin. 4.4.1 R/W R/W Audio Mode Mode Selection for Audio Select Case 1: DSD (Audio Select register bits (0x0A[6:4] = 0b010)) 0X = DSD raw mode 1X = SDIF-3 mode Case 2: HBR (Audio Select register bits (0x0A[6:4] = 0b011)) 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Case 3: DST (Audio Select register bits (0x0A[6:4] = 0b100)) X0 = normal mode 01 = 2x clock 11 = 1x clock or DDR case 00 = 4 stream, with BPM encoding 01 = 4 stream, no BPM encoding 10 = 1 stream, with BPM encoding 11 = 1 stream, no BPM encoding Page 154 of 203 4.4.1 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 0 = Disabled 1 = Enabled 0x0D 0x0E 0x0F 0x10 0x11 0x12 R/W [3] ****1*** I2S1 Enable I2S1 enable for the I2S 1 pin. 0 = Disabled 1 = Enabled 4.4.1 [2] *****1** I2S0 Enable I2S0 enable for the I2S 0 pin. 0 = Disabled 1 = Enabled 4.4.1 4.4.1 [1:0] ******00 I2S Format I2S Format 00 = Standard I2S mode 01 = right justified mode 10 = left justified mode 11 = AES3 direct mode [4:0] ***11000 I2S Bit Width I2S Bit Width For right justified audio only. Default is 24. Not valid for widths greater than 24. 4.4.1 [5:3] **000*** Subpacket 0 L Source Source of sub packet 0, left channel 4.4.3 [2:0] *****001 Subpacket 0 R Source Source of sub packet 0, right channel 4.4.3 [5:3] **010*** Subpacket 1 L Source Source of sub packet 1, left channel 4.4.3 [2:0] *****011 Subpacket 1 R Source Source of sub packet 1, right channel 4.4.3 [5:3] **100*** Subpacket 2 L Source Source of sub packet 2, left channel 4.4.3 [2:0] *****101 Subpacket 2 R Source Source of sub packet 2, right channel 4.4.3 [5:3] **110*** Subpacket 3 L Source Source of sub packet 3, left channel 4.4.3 [2:0] *****111 Subpacket 3 R Source Source of sub packet 3, right channel 4.4.3 4.4.3 R/W R/W R/W R/W R/W [7] 0******* Audio Sample Word (CS bit 1) Audio Sample Word 0 = Audio sample word represents linear PCM samples 1 = Audio sample word used for other purposes Consumer Use Should be 0 for HDMI [6] *0****** Consumer Use (CS bit 0) Consumer Use Bit 0 = Audio sample word represents linear PCM samples 1 = Audio sample word used for other purposes 4.4.3 [5] **0***** Copyright Bit (CS bit 2) Copy Right Bit 0 = Copyright Protected 1 = Not Copyright Protected 4.4.3 [4:2] ***000** Additional Audio Info (CS bits 5-3) Additional information for Channel Status Bits 000 = 2 audio channels w/o pre-emphasis 4.4.3 Page 155 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 001 = 2 audio channels with 50/15uS pre-emphasis 010 = Fixed 011 = Fixed 0x13 0x14 R/W 4.4.3 [1:0] ******00 [7:0] 00000000 Category Code (CS bits 15-8) Channel Status Category Code 4.4.3 [7:4] 0000**** Source Number (CS bits 19-16) Channel Status Source Number 4.4.3 Word Length (CS bits 35-32) Audio Word Length 0000 = Not Specified 0001 = Not Specified 0010 = 16 Bits 0011 = 20 Bits 0100 = 18 Bits 0101 = 22 Bits 0110 = No description 0111 = No description 1000 = 19 Bits 1001 = 23 Bits 1010 = 20 Bits 1011 = 24 Bits 1100 = 17 Bits 1101 = 21 Bits 1110 = No description 1111 = No description 4.4.3 I2S Sampling Frequency (CS bits 27-24) Sampling frequency for I2S audio. This information is used by both the audio Rx and the pixel repetition. 0000 = 44.1 kHz 0001 = Do not use 0010 = 48.0 kHz 0011 = 32.0 kHz 0100 = Do not use 0101 = Do not use 0110 = Do not use 0111 = Do not use 1000 = 88.2 kHz 1001 = HBR Audio 1010 = 96.0 kHz 1011 = Do not use 1100 = 176.4 kHz 1101 = Do not use 1110 = 192.0 kHz 1111 = Do not use 4.4.3 Input ID Input Video Format See ▶Table 16to ▶Table 27 0000 = 24 bit RGB 4:4:4 or YCbCr 4:4:4 (separate syncs) 0001 = 16, 20, 24 bit YCbCr 4:2:2 (separate syncs) 4.3.1 R/W [3:0] [7:4] 0x15 Audio Clock Accuracy 00 = level II - normal accuracy +/-1000 X 10-6 10 = level III -variable pitch shifted clock 01 = level I - high accuracy +/-50 X 10-6 11 = Fixed Audio Clock Accuracy (CS bits 29-28) ****0000 0000**** R/W [3:0] ****0000 Page 156 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 0010 = 16, 20, 24 bit YCbCr 4:2:2 (embedded syncs) 0011 = 8, 10, 12 bit YCbCr 4:2:2 (2x pixel clock, separate syncs) 0100 = 8, 10, 12 bit YCbCr 4:2:2 (2x pixel clock, embedded syncs) 0101 = 12, 15, 16 bit RGB 4:4:4 or YCbCr (DDR with separate syncs) 0110 = 8,10,12 bit YCbCr 4:2:2 (DDR with separate syncs) 0111 = 8, 10, 12 bit YCbCr 4:2:2 (DDR separate syncs) 1000 = 8, 10, 12 bit YCbCr 4:2:2 (DDR embedded syncs) [7] 0******* Output Format Output Format 0 = 4:4:4 1 = 4:2:2 [6] *0****** Reserved Must be set to Default Value Color Depth Color Depth for Input Video Data. See ▶Table 16 to ▶Table 27 00 = invalid 10 = 12 bit 01 = 10 bit 11 = 8 bit 4.3.1 Input Style Styles refer to the input pin assignments. See ▶Table 16 to ▶Table 27 00 = Not Valid 01 = style 2 10 = style 1 11 = style 3 4.3.1 ******0* DDR Input Edge Video data input edge selection. Defines the first half of pixel data clocking edge. Used for DDR Input ID 5 and 6 only. 0 = falling edge 1 = rising edge 4.3.1 [0] *******0 Output Colorspace for Black Image Input Color Space Selection Used for Black Image and Range Clipping 0 = RGB 1 = YCbCr 4.3.8 [7] 0******* Fixed Must be set to Default Value Vsync Polarity Case 1: Sync Adjustment Register (0x41[1]) = 1 0 = high polarity 1 = low polarity Case 2: Sync Adjustment Register (0x41[1]) = 0 0 = sync polarity pass through 1 = sync polarity invert 0 = High polarity 1 = Low polarity 4.3.1 Hsync Polarity HSync polarity for Embedded Sync Decoder and Sync Adjustment Case 1: Sync Adjustment Register (0x41[1]) = 1 0 = high polarity 1 = low polarity Case 2: Sync Adjustment Register (0x41[1]) = 0 0 = sync polarity pass through 4.3.1 [5:4] 0x16 R/W [3:2] [1] [6] 0x17 **00**** ****00** *0****** R/W [5] **0***** Page 157 of 203 4.3.1 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 1 = sync polarity invert 0 = High polarity 1 = Low polarity 0x18 [4:3] ***00*** Reserved @ 00b Must be set to Default Value [2] *****0** 4:2:2 to 4:4:4 Interpolation Style 4:2:2 to 4:4:4 Up Conversion Method 0 = use zero order interpolation 1 = use first order interpolation 4.3.1 [1] ******0* Aspect Ratio Aspect ratio of input video. 0 = 4:3 Aspect Ratio 1 = 16:9 Aspect Ratio 4.3.3 [0] *******0 DE Generator Enable Enable DE Generator See registers 0x35 - 0x3A 0 = Disabled 1 = Enabled 4.3.7 [7] 0******* CSC Enable Color Space Converter Enable 0 = CSC Disabled 1 = CSC Enabled 4.3.8 CSC Scaling Factor Color Space Converter Mode Sets the fixed point position of the CSC coefficients. Including the a4, b4, c4, offsets. 00 = +/- 1.0, -4096 - 4095 01 = +/- 2.0, -8192 - 8190 10 = +/- 4.0, -16384 - 16380 11 = +/- 4.0, -16384 - 16380 4.3.8 Color space Converter (CSC) coefficient for equations: 4.3.8 R/W [6:5] 0x18 *10***** ***00110 Equation 1: CSC Channel A A1 A2 A3 ⎡ ⎤ + In _ B + In _ C + A4⎥ 2 CSC _ Mode Out _ A = ⎢ In _ A 4096 4096 4096 ⎣ ⎦ Equation 2: CSC Channel B R/W [12:0] 0x19 B1 B2 B3 ⎡ ⎤ + In _ B + In _ C + B4⎥2 CSC _ Mode Out _ B = ⎢ In _ A 4096 4096 4096 ⎣ ⎦ A1 (CSC) 01100010 Equation 3: CSC Channel C C1 C2 C3 ⎡ ⎤ Out _ C = ⎢In _ A + In _ B + In _ C + C 4⎥ 2CSC _ Mode 4096 4096 4096 ⎣ ⎦ 0x1A R/W [5] **0***** Coefficient Update There are 2 methods to update the coefficients. Method 1: When Coefficient Update is always 0, the coefficient will be updated directly. Method 2: When Coefficient Update is used, there are 3 steps for updating a) Set Coefficient Update = 1 to buffer the CSC Coefficients b) Set the new CSC Coefficients c) Set Coefficient Updated = 0 to enable the new CSC Coefficients at the next Vsync rising edge 0 = Update Complete 1 = Allow CSC Update Page 158 of 203 4.3.8 Rev G PROGRAMMING GUIDE Address (Main) Type Bits R/W [12:0] 0x1A Default Value Register Name Function A2 (CSC) See description for registers 0x18 and 0x19 A3 (CSC) See description for registers 0x18 and 0x19 A4 (CSC) See description for registers 0x18 and 0x19 B1 (CSC) See description for registers 0x18 and 0x19 B2 (CSC) See description for registers 0x18 and 0x19 B3 (CSC) See description for registers 0x18 and 0x19 B4 (CSC) See description for registers 0x18 and 0x19 C1 (CSC) See description for registers 0x18 and 0x19 C2 (CSC) See description for registers 0x18 and 0x19 C3 (CSC) See description for registers 0x18 and 0x19 C4 (CSC) See description for registers 0x18 and 0x19 Hsync Placement (Embedded Sync Decoder) Upper 8 bits for Embedded Sync Decoder Hsync Placement (In Pixels) 4.3.7 Hsync Duration (Embedded Sync Decoder) Upper 6 bit for Embedded Sync Decoder Hsync Duration (In Pixels) 4.3.7 Vsync Placement (Embedded Sync Decoder) Upper 4 bits for Embedded Sync Decoder Vsync Placement (In Hsyncs) 4.3.7 Vsync Duration (Embedded Sync Decoder) Upper 2 bit for Embedded Sync Decoder Vsync Duration (In Hsyncs) 4.3.7 Hsync Delay (DE Generator) Upper 8 bits for DE Generation Hsync Delay (In Pixels) 4.3.7 Vsync Delay (DE Generator) Vsync Delay for DE Generation. (In Hsyncs) 4.3.7 ***00100 0x1B Reference 4.3.8 10101000 0x1C ***00000 R/W [12:0] 0x1D 4.3.8 00000000 0x1E ***11100 R/W [12:0] 0x1F 4.3.8 10000100 0x20 ***11100 R/W [12:0] 0x21 4.3.8 10111111 0x22 ***00100 R/W [12:0] 0x23 4.3.8 10101000 0x24 ***11110 R/W [12:0] 0x25 4.3.8 01110000 0x26 ***00010 R/W [12:0] 0x27 4.3.8 00011110 0x28 ***00000 R/W [12:0] 0x29 4.3.8 00000000 0x2A ***00100 R/W [12:0] 0x2B 4.3.8 10101000 0x2C ***01000 R/W [12:0] 0x2D 4.3.8 00010010 0x2E ***11011 R/W [12:0] 0x2F 4.3.8 10101100 0x30 00000000 R/W [9:0] 0x31 00****** 0x31 **000000 R/W [9:0] 0x32 0000**** 0x32 ****0000 R/W [9:0] 0x33 000000** 0x33 ******00 R/W [9:0] 0x34 00000000 0x35 00000000 R/W [9:0] 0x36 0x36 ADV7511 00****** R/W [5:0] **000000 Page 159 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address (Main) Type Bits Default Value Register Name 0x37 R/W [7:5] 000***** Interlace Offset For DE Generation Interlace Offset (DE Sets the difference (in hsyncs) in field length between field 0 and Generator) field 1 4.3.7 R/W [11:0] Active Width (DE Generator) Upper 5 bits for DE Generation Active Width (In Pixels) 4.3.7 Upper 8 bits for DE Generation Active Height (In Lines) 4.3.7 0000**** Active Height (DE Generator) 1******* Reserved @ 1b Must be set to Default Value 0x37 ***00000 0x38 0000000* 0x39 00000000 R/W [11:0] 0x3A [7] Function Reference Pixel Repetition Mode Selection. Set to b00 unless nonstandard video is supported. [6:5] 0x3B 00 = auto mode 01 = max mode 10 = manual mode 11 = manual mode PR Mode R/W ***00*** PR PLL Manual 4.3.4 4.3.4 [2:1] *****00* PR Value Manual User programmed pixel repetition number to send to Rx. 00 = x1 01 = x2 10 = x4 11 = x4 [0] *******0 Reserved @ 0b Must be set to Default Value VIC Manual User programmed VIC to sent to Rx (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 [5:0] **000000 4.3.4 The clock multiplication of the input clock used in pixel repetition. 00 = x1 01 = x2 10 = x4 11 = x4 R/W [4:3] 0x3C *00***** Page 160 of 203 4.3.4 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use [7:6] 0x3D 00****** Pixel Repeat to Rx The actual pixel repetition sent to Rx 00 = x1 01 = x2 10 = x4 11 = x4 4.3.4 VIC to Rx VIC sent to HDMI Rx and Used in the AVI InfoFrame Status (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 4.3.3 4.3.4 RO [5:0] **000000 Page 161 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 Page 162 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use 0x3E RO [7:2] 000000** VIC Detected Input VIC Detected (value defined in CEA861D) 000000 = VIC#0: VIC Unavailable 000001 = VIC#1: VGA (640x480) 4:3 000010 = VIC#2: 480p-60, 4:3 000011 = VIC#3: 480p-60, 16:9 000100 = VIC#4: 720p-60, 16:9 000101 = VIC#5: 1080i-60, 16:9 000110 = VIC#6: 480i-60, 2x Clk, 4:3 000111 = VIC#7: 480i-60, 2x Clk, 16:9 001000 = VIC#8: 240p-60, 2x Clk, 4:3 001001 = VIC#9: 240p-60, 2x Clk, 16:9 001010 = VIC#10: 480i-60, 4x Clk, 4:3 001011 = VIC#11: 480i-60, 4x Clk, 16:9 001100 = VIC#12: 240p-60, 8x Clk, 4:3 001101 = VIC#13: 240p-60, 8x Clk, 16:9 001110 = VIC#14: 480p-60, 2x Clk, 4:3 001111 = VIC#15: 480p-60, 2x Clk, 16:9 010000 = VIC#16: 1080p-60, 16:9 010001 = VIC#17: 576p-50, 4:3 010010 = VIC#18: 576p-50, 16:9 010011 = VIC#19: 720p-50, 16:9 010100 = VIC#20: 1080i-50, 16:9 010101 = VIC#21: 576i-50, 2x Clk, 4:3 010110 = VIC#22: 576i-50, 2x Clk, 16:9 010111 = VIC#23: 288p-50, 2x Clk, 4:3 011000 = VIC#24: 288p-50, 2x Clk, 16:9 011001 = VIC#25: 576i-50, 4x Clk, 4:3 011010 = VIC#26: 576i-50, 4x Clk, 16:9 011011 = VIC#27: 288p-50, 8x Clk, 4:3 011100 = VIC#28: 288p-50, 8x Clk, 16:9 011101 = VIC#29: 576p-50, 2x Clk, 4:3 011110 = VIC#30: 576p-50, 2x Clk, 16:9 011111 = VIC#31: 1080p-50, 16:9 100000 = VIC#32: 1080p-24, 16:9 100001 = VIC#33: 1080p-25, 16:9 100010 = VIC#34: 1080p-30, 16:9 100011 = VIC#35: 480p-60, 4x Clk, 4:3 100100 = VIC#36: 480p-60, 4x Clk, 16:9 100101 = VIC#37: 576p-50, 4x Clk, 4:3 100110 = VIC#38: 576p-50, 4x Clk, 16:9 100111 = VIC#39: 1080i-50, Alt Blanking 101000 = VIC#40: 1080i-100, 16:9 101001 = VIC#41: 720p-100, 16:9 101010 = VIC#42: 576p-100, 4:3 101011 = VIC#43: 576p-100, 16:9 101100 = VIC#44: 576i-100, 4:3 101101 = VIC#45: 576i-100, 16:9 101110 = VIC#46: 1080i-120, 16:9 101111 = VIC#47: 720p-120, 16:9 110000 = VIC#48: 480p-120, 4:3 110001 = VIC#49: 480p-120, 16:9 Page 163 of 203 4.3.3 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 110010 = VIC#50: 480i-120, 4:3 110011 = VIC#51: 480i-120, 16:9 110100 = VIC#52: 576p-200, 4:3 110101 = VIC#53: 576p-200, 16:9 110110 = VIC#54: 576i-200, 4:3 110111 = VIC#55: 576i-200, 16:9 111000 = VIC#56: 480p-240, 4:3 111001 = VIC#57: 480p-240, 16:9 111010 = VIC#58: 480i-240, 4:3 111011 = VIC#59: 480i-240, 16:9 111100 = VIC#60: 60+ For Future Use [7:5] 0x3F 0x40 000***** Auxiliary VIC Detected This register is for video input formats that are not inside the 861D table. 000 = Set by Register 0x3E 001 = 240p Not Active 010 = 576i not active 011 = 288p not active 100 = 480i active 101 = 240p active 110 = 576i active 111 = 288p active 4.3.3 4.3.3 RO R/W [4:3] ***00*** Progressive Mode Information Information about 240p and 288p modes. Case 1: 240p 01 = 262 lines 10 = 263 lines Case 2: 288p 01 = 312 lines 10 = 313 lines 11 = 314 lines [7] 0******* GC Packet Enable GC Packet Enable 0 = GC Packet Disabled 1 = GC Packet Enabled 4.2.3 4.3.3 [6] *0****** SPD Packet Enabled SPD Packet Enable 0 = Disabled 1 = Enabled 4.2.5 [5] **0***** MPEG Packet Enabled MPEG Packet Enable 0 = Disabled 1 = enable [4] ***0**** ACP Packet Enable ACP Packet Enable 0 = Disabled 1 = Enabled [3] ****0*** ISRC Packet Enable ISRC Packet Enable 0 = Disabled 1 = Enabled [2] *****0** GM Packet Enable GM Packet Enable 0 = Disabled 1 = Enabled [1] ******0* Spare Packet 2 Enable Spare Packet 2 Enable 0 = Disabled Page 164 of 203 4.3.9.2 4.4.5 4.3.9.3 4.2.7 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 1 = Enabled [0] 0x41 0x42 0x43 0x44 R/W *******0 Spare Packet 1 Enable 0 = Disabled 1 = Enabled 4.2.7 4.8.1 [6] *1****** POWER DOWN Main Power Down 0 = all circuits powered up 1 = power down whole chip, except I2C,HPD interrupt,Monitor Sense interrupt,CEC 0 = Normal Operation 1 = ADV7511 Powered Down [5] **0***** Fixed Must be set to Default Value [4] ***1**** Reserved @ 1b Must be set to Default Value [3:2] ****00** Fixed Must be set to Default Value [1] ******0* Sync Adjustment Enable Enable Sync Adjustment 0 = Disabled 1 = Enabled [0] *******0 Fixed Must be set to Default Value [7] 1******* Power Down Polarity Polarity for chip pin , Default is 1 0 = active low 1 = active high 4.8.1 [6] *0****** HPD State State of HDMI sink 0 = Hot Plug Detect state is low 1 = Hot Plug Detect state is high 4.2.1 [5] **0***** state of the monitor connection Monitor Sense State 0 = HDMI clock termination not detected 1 = HDMI clock termination detected [4] ***1**** Fixed RO R/W Spare Packet 1 Enable I2S Mode Detections Shows the number of SCLK periods per LRCLK period. 0 = 32 bit mode detected 1 = 64 bit mode detected 4.3.3 4.2.1 [3] ****0*** I2S 32 Bit Mode Detect [2] *****0** Fixed [7:0] 01111110 EDID Memory Address The I2C address for EDID memory [7] 0******* Reserved @ 0b Must be set to Default Value [6] *1****** N CTS Packet Enable N CTS Packet Enable 0 = Disabled 1 = Enabled 4.4.2 [5] **1***** Audio Sample Packet Enable Audio Sample Packet Enable 0 = Disabled 1 = Enabled 4.4.3 [4] ***1**** AVI InfoFrame Enable AVI InfoFrame Enable 0 = Disabled R/W Page 165 of 203 4.4.1 4.1 4.3.9.1 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 1 = Enabled [3] ****1*** Audio InfoFrame Enable Audio InfoFrame Enable 0 = Disabled 1 = Enabled [2:1] *****00* Fixed Must be set to Default Value [0] *******1 Packet Read Mode Packet Memory Read Mode 0=Allow user to read from packet memory 1=Allow HDMI logic to read from packet memory 4.4.4 4.1 0x45 R/W [7:0] 01110000 Packet Memory I2C Map Address 0x46 R/W [7:0] 00000000 DSD Enable DSD Channel Enable Each bit enables one of the 8 DSD audio input channels. Bit 0 enables channel 0, and bit 7 enables channel 7. 4.4.1.3 4.4.1.3 4.4.1.4 [7] 0******* DSD Mux Enable DSD Mux Enable. User has to set this bit to one to use DSD[7:6]. 0 = Disabled 1 = Enabled [6] *0****** PaPb Sync For HBR audio this syncs PaPb with sub packet 0. **0***** Audio Sample 3 Valid ***0**** Audio Sample 2 Valid Indicates when sub packet 2 has invalid data. [5] 0x47 R/W [4] 4.1 Indicates when sub packet 3 has invalid data. 4.4.3 [3] ****0*** Audio Sample 1 Valid Indicates when sub packet 1 has invalid data. [2] *****0** Audio Sample 0 Valid Indicates when sub packet 0 has invalid data. [7] 0******* Reserved Must be set to Default Value [6] *0****** Video Input Bus Reverse Bit order reverse for input signals. 0 = Normal Bus Order 1 = LSB .... MSB Reverse Bus Order 4.3.1 DDR Alignment DDR alignment (Only For ID 5) See ▶Table 23 - ▶Table 27 0 = DDR input is D[17:0] 1 = DDR input is D[35:18] 4.3.1 [5] 0x48 I2C address for the packet memory **0***** R/W Bit Justfication for YCbCr 4:2:2 modes. See ▶Table 17 to ▶Table 22 and ▶Table 25 to ▶Table 27 0x49 R/W [4:3] ***00*** Video Input Justification [7:2] 101010** Bit Trimming Mode 00 = evenly distributed 01 = right justified 10 = left justified 11 = Invalid Bit Trimming Mode All other settings are invalid 000000 = Active Dither Page 166 of 203 4.3.1 4.3.6 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 101010 = Truncate [7] [6] 0x4A 0x4C Auto Checksum Enable 0 = Use checksum from registers 1 = Use automatically generated checksum 0 4.3.9.1 4.3.9.2 4.4.4 *0****** AVI Packet Update: Before updating the AVI Packet using I2C set to '1' to continue sending the current values. AVI Packet Update 0 = AVI Packet I2C update inactive 1 = AVI Packet I2C update active 4.3.9.1 R/W [5] 0x4B 1******* Auto Checksum Enable **0***** Audio InfoFrame Packet Update Audio InfoFrame Packet Update: Before updating the Audio InfoFrame Packet using I2C set to '1' to continue sending the current values. 0 = Audio InfoFrame Packet I2C update inactive 1 = Audio InfoFrame Packet I2C update active 4.4.4 4.2.3 4.3.6 [4] ***0**** GC Packet Update GC Packet Update: Before updating the GC Packet using I2C set to '1' to continue sending the current values. 0 = GC Packet I2C update inactive 1 = GC Packet I2C update active [7] 0******* Clear AV Mute Clear Audio Video Mute 0 = Clear 1 = Set clear av mute 4.2.3 [6] *0****** Set AV Mute Set Audio Video Mute 0 = Clear 1 = Set av mute. 4.2.3 [7:4] 0000**** Pixel Packing (GC Packet) Pixel packing phase for Deep Color conversion. (Read Only) 4.3.6 Color depth of video to Rx All other settings are invalid 0000 = Color Depth Not Indicated 0100 = 24 Bits/Pixel 0101 = 30 Bits/Pixel 0110 = 36 Bits/Pixel 4.3.6 R/W RO [3:0] ****0000 Color Depth (GC Packet) 0x4D R/W [7:0] 00000000 GC Byte 2 Reserved in CEA 861D 0x4E R/W [7:0] 00000000 GC Byte 3 Reserved in CEA 861D 0x4F R/W [7:0] 00000000 GC Byte 4 Reserved in CEA 861D 0x50 R/W [7:0] 00000000 GC Byte 5 Reserved in CEA 861D 0x51 R/W [7:0] 00000000 GC Byte 6 Reserved in CEA 861D 0x52 R/W [2:0] *****010 AVI InfoFrame Version Version of AVI InfoFrame Should be left default 4.3.9.1 0x53 R/W [4:0] ***01101 AVI InfoFrame Length Length of packet body, excluding checksum 4.3.9.1 0x54 R/W [7:0] 00000000 AVI InfoFrame Checksum Checksum for AVI IF. Only used in manual checksum mode.. 4.3.9.1 0x55 R/W [7] 0******* AVI Byte 1 bit 7 Reserved per HDMI spec. - set to 0 4.3.9.1 Page 167 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits R/W Function 4.3.9.1 Reference *00***** Y1Y0 (AVI InfoFrame) [4] ***0**** Active Format Information Status (AVI InfoFrame) Active Format Information Present 0 = no data 1 = Active format Information valid 4.3.9.1 Bar Information (AVI InfoFrame) B[1:0] 00 = invalid bar 01 = vertical 10 = horizontal 11 = Both 4.3.9.1 Scan Information (AVI InfoFrame) S[1:0] 00 = no data 01 = TV 10 = PC 11 = None 4.3.9.1 00****** Colorimetry (AVI InfoFrame) C[1:0] 00 = no data 01 = ITU601 10 = ITU709 11 = Extended Colorimetry Information Valid (Indicated in register 0x57[6:4]) 4.3.9.1 **00**** Picture Aspect Ratio (AVI InfoFrame) M[1:0] 00 = no data 01 = 4:3 10 = 16:9 11 = None 4.3.9.1 [3:0] ****0000 Active Format Aspect Ratio (AVI InfoFrame) R[3:0] 1000 = Same as Aspect Ratio 1001 = 4:3 (center) 1010 = 16:9 (center) 1011 = 14:9 (center) 4.3.9.1 [7] 0******* ITC IT Content 0 = None 1 = IT content available in register bits 0x59[5:4] 4.3.9.1 EC[2:0] E[2:0] All other values reserved per HDMI 1.4 Specification 000 = xvYCC 601 001 =xvYCC 709 010 = sYCC601 011 = AdobeYCC601 100 = AdobeRGB 4.3.9.1 Q[1:0] RGB Quantization range 00 = default range 01 = limited range 10 = full range 4.3.9.1 [7:6] 0x57 Register Name [6:5] [1:0] R/W Default Value Output format - this should be written when 0x16[7:6] is written. 00 = RGB 01 = YCbCr 4:2:2 10 = YCbCr 4:4:4 11 = reserved [3:2] 0x56 ADV7511 [5:4] [6:4] [3:2] ****00** ******00 *000**** ****00** Page 168 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 11 = reserved 0x58 R/W [1:0] ******00 Non-Uniform Picture Scaling (AVI InfoFrame) [7] 0******* Byte 4 Bit 7 (AVI InfoFrame) SC[1:0] 00 = unknown 01 = scaling in Horizontal direction 10 = scaling in Vertical direction 11 = scaling in Both H & V directions 4.3.9.1 Reserved per HDMI spec. Set to '0'. 4.3.9.1 0x59 R/W [7:4] 0000**** Byte 5 bit [7:4] (AVI InfoFrame) YQ[1:0] 00 = Limited Range 01 = Full Range 10 = Reserved 11 = Reserved 0x5A R/W [7:0] 00000000 Active Line Start LSB (AVI InfoFrame) Active Line Start This represents the line number of the end of the top horizontal bar. If 0, there is no horizontal bar. 4.3.9.1 0x5B R/W [7:0] 00000000 Active Line Start MSB (AVI InfoFrame) Active Line Start This represents the line number of the end of the top horizontal bar. If 0, there is no horizontal bar. 4.3.9.1 00000000 Active Line End LSB (AVI InfoFrame) Active Line End This represents the line number of the beginning of a lower horizontal bar. If greater than the number of active video lines, there is no lower horizontal bar. 4.3.9.1 Active Line End This represents the line number of the beginning of a lower horizontal bar. If greater than the number of active video lines, there is no lower horizontal bar. 4.3.9.1 0x5C R/W [7:0] 4.3.9.1 0x5D R/W [7:0] 00000000 Active Line End MSB (AVI InfoFrame) 0x5E R/W [7:0] 00000000 Active Pixel Start LSB (AVI InfoFrame) Active Pixel Start This represents the last pixel in a vertical pillar-bar at the left side of the picture. If 0, there is no left bar. 4.3.9.1 0x5F R/W [7:0] 00000000 Active Pixel Start MSB (AVI InfoFrame) Active Pixel Start This represents the last pixel in a vertical pillar-bar at the left side of the picture. If 0, there is no left bar. 4.3.9.1 00000000 Active Pixel End LSB (AVI InfoFrame) Active Pixel End This represents the first horizontal pixel in a vertical pillar-bar at the right side of the picture. If greater than the maximum number of horizontal pixels, there is no vertical bar. 4.3.9.1 Active Pixel End This represents the first horizontal pixel in a vertical pillar-bar at the right side of the picture. If greater than the maximum number of horizontal pixels, there is no vertical bar. 4.3.9.1 0x60 R/W [7:0] 0x61 R/W [7:0] 00000000 Active Pixel End MSB (AVI InfoFrame) 0x62 R/W [7:0] 00000000 Byte 14 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x63 R/W [7:0] 00000000 Byte 15 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x64 R/W [7:0] 00000000 Byte 16 (AVI Reserved per HDMI spec. Set to 0x00. 4.3.9.1 Page 169 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference InfoFrame) 0x65 R/W [7:0] 00000000 Byte 17 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x66 R/W [7:0] 00000000 Byte 18 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x67 R/W [7:0] 00000000 Byte 19 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x68 R/W [7:0] 00000000 Byte 20 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x69 R/W [7:0] 00000000 Byte 21 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6A R/W [7:0] 00000000 Byte 22 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6B R/W [7:0] 00000000 Byte 23 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6C R/W [7:0] 00000000 Byte 24 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6D R/W [7:0] 00000000 Byte 25 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6E R/W [7:0] 00000000 Byte 26 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x6F R/W [7:0] 00000000 Byte 27 (AVI InfoFrame) Reserved per HDMI spec. Set to 0x00. 4.3.9.1 0x70 R/W [2:0] *****001 Audio InfoFrame Version Version of Audio InfoFrame Set to 001 as defined in CEA861 0x71 R/W [4:0] ***01010 Audio InfoFrame Length 0x72 R/W [7:0] 00000000 Audio InfoFrame Checksum Checksum for AVI InfoFrame packet. Only used in manual checksum mode. [7:4] 0000**** Coding Type (Audio InfoFrame) Coding Type Set to 0 according to HDMI Specification 1.4 [3] ****0*** Byte 1 bit 3 (Audio InfoFrame) 0x73 0x74 Fixed per HDMI spec. Set to 0. [2:0] *****000 CC (Audio InfoFrame) Channel Count 000 = Refer to Stream Header 001 = 2 channels 010 = 3 channels 011 = 4 channels 100 = 5 channels 101 = 6 channels 110 = 7 channels 111 = 8 channels [7:5] 000***** Byte 2 bit [7:5] (Audio InfoFrame) Fixed per HDMI spec. Set to 0. R/W R/W Length of packet body, excluding checksum Page 170 of 203 4.4.4 Rev G PROGRAMMING GUIDE Address (Main) Type ADV7511 Bits Default Value Register Name [4:2] ***000** Sampling Frequency (Audio InfoFrame) Audio sampling frequency. Should be 0, except for SACD. 4.4.4 [1:0] ******00 Sample Size (Audio InfoFrame) Set to 0 4.4.4 Function Reference 0x75 R/W [7:0] 00000000 Byte 3 (Audio InfoFrame) Set to 0 4.4.4 0x76 R/W [7:0] 00000000 Speaker Mapping (Audio InfoFrame) CA[7:0] Speaker mapping or placement for up to 2 channels. 4.4.4 [7] 0******* DM_INH (Audio InfoFrame) Down-mix Inhibit 4.4.4 4.4.4 0x77 [6:3] *0000*** Level Shift (Audio InfoFrame) LSV[3:0]-Audio Level Shift Values With Attenuation Information 0000 = 0dB attenuation 0001 = 1dB attenuation 0010 = 2dB attenuation 0011 = 3dB attenuation 0100 = 4dB attenuation 0101 = 5dB attenuation 0110 = 6dB attenuation 0111 = 7dB attenuation 1000 = 8dB attenuation 1001 = 9dB attenuation 1010 = 10dB attenuation 1011 = 11dB attenuation 1100 = 12dB attenuation 1101 = 13dB attenuation 1110 = 14dB attenuation 1111 = 15dB attenuation [2] *****0** Byte 5 bit [2] Fixed per HDMI spec 4.4.4 4.4.4 R/W [1:0] ******00 LFEPBL[1:0] Set to 0b0,ow Frequency Effect Playback Level 00 = No information 01 = 0 dB playback 10 = +10 dB playback 11 = Reserved 0x78 R/W [7:0] 00000000 Byte 6 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 4.4.4 0x79 R/W [7:0] 00000000 Byte 7 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 4.4.4 0x7A R/W [7:0] 00000000 Byte 8 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 4.4.4 0x7B R/W [7:0] 00000000 Byte 9 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 4.4.4 0x7C R/W [7:0] 00000000 Byte 10 (Audio InfoFrame) Reserved per HDMI spec. Set to '0x00' 4.4.4 0x92 R/W [7] 0******* Wake Up Opcode8Interrupt CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode8in CEC message 4.9.5 4.10 Page 171 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference Enable 0 = Interrupt Disabled 1 = Interrupt Enabled [6] [5] [4] [3] [2] [1] [0] [7] 0x93 *0****** **0***** ***0**** ****0*** *****0** ******0* *******0 0******* Wake Up Opcode7Interrupt Enable Wake Up Opcode6Interrupt Enable Wake Up Opcode5Interrupt Enable Wake Up Opcode4Interrupt Enable Wake Up Opcode3Interrupt Enable Wake Up Opcode2Interrupt Enable Wake Up Opcode1Interrupt Enable Wake Up Opcode8Interrupt CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode7in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode6in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode5in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode4in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode3in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode2in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled CEC Wake Up Code Interrupt Enable Enable interrupt detecting Wake Up Opcode1in CEC message 0 = Interrupt Disabled 1 = Interrupt Enabled 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode8in CEC message 4.9.5 0= No Interrupt Detected 1 = Interrupt Detected R/W [6] *0****** Wake Up Opcode7Interrupt CEC Wake Up Code Interrupt Enable interrupt detecting Wake Up Opcode7in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Page 172 of 203 4.9.5 4.10 Rev G PROGRAMMING GUIDE Address (Main) Type Bits [5] [4] [3] [2] [1] [0] 0x94 ADV7511 Default Value **0***** ***0**** ****0*** *****0** ******0* *******0 Register Name Wake Up Opcode6Interrupt Wake Up Opcode5Interrupt Wake Up Opcode4Interrupt Wake Up Opcode3Interrupt Wake Up Opcode2Interrupt Wake Up Opcode1Interrupt Function CEC Wake Up Code Interrupt Enable Interrupt detecting Wake Up Opcode6in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode5in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode4in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode3in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode2in CEC message 0= No Interrupt Detected 1 = Interrupt Detected CEC Wake Up Code Interrupt Interrupt detecting Wake Up Opcode1in CEC message 0= No Interrupt Detected 1 = Interrupt Detected Reference 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 4.9.5 4.10 [7] 1******* HPD Interrupt Enable HPD Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.2.1 4.10 [6] *1****** Monitor Sense Interrupt Enable Monitor Sense Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.2.1 [5] **0***** Vsync Interrupt Enable Vsync Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.10 [4] ***0**** Audio FIFO Full Interrupt Enable Audio FIFO Full Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.4.1 4.10 [3] ****0*** Fixed Must be set to Default Value [2] *****0** EDID Ready Interrupt Enable EDID Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.6 4.10 [1] ******0* HDCP HDCP Authenticated Interrupt Enable 4.7 R/W Page 173 of 203 Rev G PROGRAMMING GUIDE Address (Main) 0x95 0x96 Type Bits ADV7511 Default Value Register Name Function Authenticated Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled Reference 4.10 [0] *******0 Fixed Must be set to Default Value [7] 0******* DDC Controller Error Interrupt Enable DDC Controller Error Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.2.8 4.10 [6] *0****** BKSV Flag Interrupt Enable BKSV Flag Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.7 4.10 [5] **0***** Tx Ready Interrupt Enable CEC Tx Ready Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.9.2 4.10 [4] ***0**** CEC Tx Arbitration Lost Interrupt Enable Tx Arbitration Lost 0 = interrupt disabled Interrupt Enable 1 = interrupt enabled [3] ****0*** Tx Retry Timeout Interrupt Enable CEC Tx Retry Timeout Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.9.2 4.10 [2] *****0** Rx Ready 3 Interrupt Enable CEC Rx Ready 3 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.9.3 4.10 [1] ******0* Rx Ready 2 Interrupt Enable CEC Rx Ready 2 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.9.3 4.10 [0] *******0 Rx Ready 1 Interrupt Enable CEC Rx Ready 1 Interrupt Enable 0 = interrupt disabled 1 = interrupt enabled 4.9.3 4.10 [7] 0******* HPD Interrupt HPD Interrupt 0 = no interrupt detected 1 = interrupt detected 4.2.1 4.10 [6] *0****** Monitor Sense Interrupt Monitor Sense Interrupt 0 = no interrupt detected 1 = interrupt detected 4.2.1 [5] **0***** Vsync Interrupt Vsync Interrupt 0 = no interrupt detected 1 = interrupt detected 4.10 [4] ***0**** Audio FIFO Full Interrupt Audio FIFO Full Interrupt 0 = no interrupt detected 1 = interrupt detected 4.4.1 4.10 [3] ****0*** Fixed Must be set to Default Value [2] *****0** EDID Ready Interrupt EDID Ready Interrupt 0 = no interrupt detected 1 = interrupt detected 4.6 4.10 [1] ******0* HDCP Authenticated HDCP Authenticated 0 = no interrupt detected 4.7 4.10 4.9.2 4.10 R/W R/W Page 174 of 203 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 1 = interrupt detected 0x97 [0] *******0 Fixed @ 0b Reserved 4.10 [7] 0******* DDC Controller Error Interrupt DDC Controller Error Interrupt 0 = no interrupt detected 1 = interrupt detected 4.2.8 4.10 [6] *0****** BKSV Flag Interrupt BKSV Flag Interrupt 0 = no interrupt detected 1 = interrupt detected 4.7 4.10 [5] **0***** Tx Ready Interrupt CEC Tx Ready Interrupt 0 = no interrupt detected 1 = interrupt detected 4.9.2 4.10 [4] ***0**** CEC Tx Arbitration Lost interrupt Tx Arbitration Lost 0 = no interrupt detected Interrupt 1 = interrupt detected [3] ****0*** Tx Retry Timeout Interrupt CEC Tx Retry Timeout interrupt 0 = no interrupt detected 1 = interrupt detected 4.9.2 4.10 Rx Ready 3 Interrupt CEC Rx Ready 3 Interrupt 1 = interrupt detected for rx buffer 3 0 = no interrupt detected for buffer 3 1 = interrupt detected for buffer 3 0 = no interrupt detected for buffer 3 4.9.2 4.10 Rx Ready 2 Interrupt CEC Rx Ready 2 Interrupt 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 1 = interrupt detected for buffer 2 0 = no interrupt detected for buffer 2 4.9.2 4.10 4.9.2 4.10 R/W [2] [1] *****0** ******0* [0] *******0 Rx Ready 1 Interrupt CEC Rx Ready 1 Interrupt 1 = interrupt detected for rx buffer 1 0 = no interrupt detected for buffer 1 1 = interrupt detected for buffer 1 0 = no interrupt detected for buffer 1 0x98 R/W [7:0] 00001011 Fixed Must be set to 0x03 for proper operation. 0x99 R/W [7:0] 00000010 Fixed Must be set to Default Value 0x9A R/W [7:1] 0000000* Fixed Must be set to 0b1110000 for proper operation 0x9B R/W [5:0] **011000 Fixed Must be set to Default Value 0x9C R/W [7:0] 01011010 Fixed Must be set to 0x30 for proper operation [7:4] 0110**** Fixed Must be set to Default Value 0x9D R/W [3:2] ****00** Input Pixel Clock Divide Input Video CLK Divide 00 = Input Clock not Divided 01 = Input Clock Divided by 2 10 = Input Clock Divided by 4 11 = Invalid Setting [1:0] ******00 Fixed Must be set to 0b01 for proper operation. Page 175 of 203 4.9.2 4.10 Rev G PROGRAMMING GUIDE Address (Main) 0x9E Type ADV7511 Bits Default Value Register Name Function [4] ***0**** PLL Lock Status PLL Lock Status 0 = PLL Not Locked 1 = PLL Locked [3:0] ****0000 Fixed RO Reference 4.2.8 0x9F R/W [7:0] 00000000 Fixed 0xA0 RO [7:0] 00000000 Fixed [7] 0******* Fixed Must be set to Default Value [6] *0****** Monitor Sense Power Down Monitor Sense Power Down 0 = Monitor Sense monitoring enabled 1 = Monitor Sense monitoring disabled 4.2.1 4.8.1 4.10 [5] **0***** Channel 0 Power Down Channel 0 Power Down 0 = power up 1 = power down 4.2.4 [4] ***0**** Channel 1 Power Down Channel 1 Power Down 0 = power up 1 = power down 4.2.4 [3] ****0*** Channel 2 Power Down Channel 2 Power Down 0 = power up 1 = power down 4.2.4 [2] *****0** Clock Driver Power Down Clock Driver Power 0 = power up Down 1 = power down 0xA1 R/W Must be set to Default Value 0xA2 R/W [7:0] 10000000 Fixed Must be set to 0xA4 for proper operation 0xA3 R/W [7:0] 10000000 Fixed Must be set to 0xA4 for proper operation 0xA4 R/W [7:1] 0000100* Fixed Must be set to Default Value 0xA5 R/W [7:1] 0000010* Fixed Must be set to Default Value 0xA6 R/W [7:0] 00000000 Fixed Must be set to Default Value 0xA7 R/W [7:0] 00000000 Fixed Must be set to Default Value 0xA8 R/W [7:0] 00000000 Fixed Must be set to Default Value 0xA9 R/W [7:1] 0000000* Fixed Must be set to Default Value 0xAA R/W [7:0] 00000000 Fixed Must be set to Default Value 0xAB R/W [7:3] 01000*** Fixed Must be set to Default Value 0xAC RO [7:0] 00000000 Fixed 0xAD RO [7:0] 00000000 Fixed 0xAE RO [7:5] 010***** Fixed [7] 0******* HDCP Enable Enable HDCP 0 = HDCP Disabled 1 = HDCP Encryption Enabled [6:5] *00***** Fixed Must be set to Default Value [4] ***1**** Frame Encryption Enable HDCP Frame Encryption 0xAF R/W Page 176 of 203 4.2.4 4.7 4.7 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 0 = Current Frame NOT HDCP Encrypted 1 = Current Frame HDCP Encrypted [3:2] ****01** Fixed Must be set to Default Value [1] ******0* HDMI/DVI Mode Select HDMI Mode 0 = DVI Mode 1 = HDMI Mode [0] *******0 Fixed Must be set to Default Value 4.2.2 0xB0 RO [7:0] 00000000 Byte 0 of An or AKSV Byte 0 Byte 0 of An or AKSV Byte 0 4.7 0xB1 RO [7:0] 00000000 Byte 1 of An or AKSV Byte 1 Byte 1 of An or AKSV Byte 1 4.7 0xB2 RO [7:0] 00000000 Byte 2 of An or AKSV Byte 2 Byte 2 of An or AKSV Byte 2 4.7 0xB3 RO [7:0] 00000000 Byte 3 of An or AKSV Byte 3 Byte 3 of An or AKSV Byte 3 4.7 0xB4 RO [7:0] 00000000 Byte 4 of An or AKSV Byte 4 Byte 4 of An or AKSV Byte 4 4.7 0xB5 RO [7:0] 00000000 Byte 5 of An byte 5 of An 4.7 0xB6 RO [7:0] 00000000 Byte 6 of An byte 6 of An 4.7 0xB7 RO [7:0] 00000000 Byte 7 of An byte 7 of An 4.7 [7] 0******* Fixed [6] *0****** HDCP Encryption Status [5] **0***** Fixed [4] ***0**** [7:0] 00000000 0xB8 0xB9 4.7 Key Read Error 1 means HDCP key reading error. 0 = Read HDCP Keys Correctly 1 = Errors Encountered Reading HDCP Keys 4.7 Fixed Must be set to Default Value 000***** Clock Delay Programmable delay for input video clock. Default is 0 for no delay. 000 = -1.2ns 001 = -0.8ns 010 = -0.4ns 011 = no delay 100 = 0.4ns 101 = 0.8ns 110 = 1.2ns 111 = 1.6ns ***1**** Internal/External HDCP EEPROM 1 means internal EEPROM is used. This would turn on the onchip pullup resistor for MCL and MDA. 0 = external EEPROM 1 = internal EEPROM RO R/W [7:5] 0xBA 1 means the A/V content is being encrypted at present. 0 = A/V Not Encrypted 1 = A/V Encrypted R/W [4] Page 177 of 203 4.3.1 Rev G PROGRAMMING GUIDE Address (Main) Type ADV7511 Bits Default Value Register Name Function [3] ****0*** Fixed Must be set to Default Value 4.7 4.7 [2] *****0** Display AKSV Show AKSV in registers 0xB0 to 0xB4, Check Ri' before and after update, Must be set to Default 0 = Don't Show AKSV 1 = Show AKSV in 0xB0 - 0xB4 [1] ******0* Ri Two Point Check Ri Two Point Check. Check Ri' before and after update. 0 = HDCP Ri standard 1 = enable HDCP Ri two point check Must be set to Default Value Reference 0xBB R/W [7:0] 00000000 Fixed 0xBC RO [7:0] 00000000 Fixed 0xBD RO [7:0] 00000000 Fixed 0xBE RO [7:0] 00000000 BCAPS 0xBF RO [7:0] 00000000 BKSV Byte 0 Bksv read from Rx by the DDC Controller 4.7 0xC0 RO [7:0] 00000000 BKSV Byte 1 Bksv read from Rx by the DDC Controller 4.7 0xC1 RO [7:0] 00000000 BKSV Byte 2 Bksv read from Rx by the DDC Controller 4.7 0xC2 RO [7:0] 00000000 BKSV Byte 3 Bksv read from Rx by the DDC Controller 4.7 0xC3 RO [7:0] 00000000 BKSV Byte 4 Bksv read from Rx by the DDC Controller 4.7 0xC4 R/W [7:0] 00000000 EDID Segment Sets the E-DDC segment used by the EDID Fetch routine. 4.6 0xC5 R/W [7:0] 00000000 Fixed 0xC6 RO [7:0] 00000000 Fixed R/W [7] 0******* Fixed Must be set to Default Value RO [6:0] *0000000 BKSV Count BKSVs Available in Sink's BKSV FIFO [7:4] 0000**** DDC Controller Error DDC Controller Error Error code report when the DDC Controller Error Interrupt register 0x97[7] = 1 4.2.8 4.7 [3:0] ****0000 DDC Controller State DDC Controller State State of the controller used for HDCP debug purposes 4.2.8 4.7 [4] ***0**** EDID Reread Rereads current segment if toggled from 0 to 1 0 = disable 1 = enable 4.6 [3:0] ****0011 EDID Tries Maximum number of times that the EDID read will be attempted if unsuccessful. 4.6 HDCP related register [7] Reserved, [6] Repeater, [5] BKSV FIFO ready, [4] Fast DDC Bus, [3:2] Reserved, [1] HDCP 1.1 Features, [0] Fast Re-Authentication. 4.7 0xC7 0xC8 0xC9 RO R/W 4.7 0xCA RO [7:0] 00000000 HDCP BSTATUS[15:8] BSTATUS information for HDCP [15:8] 4.7 0xCB RO [7:0] 00000000 HDCP BSTATUS[7:0] BSTATUS information for HDCP [7:0] 4.7 0xCC RO [2:0] *****000 Fixed 0xCD R/W [7:4] 0000**** Fixed Must be set to Default Value Page 178 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address (Main) Type Bits Default Value Register Name Function 0xCE R/W [7:0] 00000001 Fixed Must be set to Default Value 0xCF R/W [7:0] 00000100 Fixed Must be set to Default Value [7] 0******* Enable DDR Enable DDR Negative Edge Clock Delay Adjust Negative Edge CLK 0 = Disable DDR Negative Edge CLK Delay Delay 1 = Enable DDR Negative Edge CLK Delay 4.3.1 *011**** Delay Adjust for the Input Video CLK Negative Edge for DDR Capture Should be set to 0b011 for No Delay 000 = -1200 ps 001 = -800 ps DDR Negative Edge 010 = -400 ps CLK Delay 011 = no delay 100 = 400 ps 101 = 800 ps 110 = 1200 ps 111 = Invert CLK 4.3.1 [3:2] ****00** Sync Pulse Select Case 1: Input ID register bits (0x15[3:0] = 5,6,7,8 Must be 0b11 Case 2: For input ID 1, 2, 3, 4 with 1X clock (See the Input Data Clock section, number 0). Can be set to any value. Case 3: For 2X or 4X input clock (See Input Data Clock section) with ID 1, 2, 3, 4. 1X generated clock synchronizes with. 00 = DE 01 = Hsync 10 = Vsync 11 = no sync pulse 4.3.1 [1] ******0* Timing Generation Sequence Timing Generation 0 = sync adjustment then DE generation Sequence 1 = DE generation then sync adjustment [0] *******0 Fixed Must be set to Default Value [6:4] 0xD0 R/W Reference 4.3.7 0xD1 R/W [7:0] 11111111 Fixed Must be set to Default Value 0xD2 R/W [7:0] 10000000 Fixed Must be set to Default Value 0xD3 R/W [7:0] 10000000 Fixed Must be set to Default Value 0xD4 R/W [7:0] 10000000 Fixed Must be set to Default Value [7:4] 0000**** Fixed Must be set to Default Value 4.3.3 0xD5 [3:2] ****00** High Refresh Rate Video High Refresh Rate Video for VIC Detection 00 = normal refresh rate 01 = 2x refresh rate 10 = 4x refresh rate 11 = not valid [1] ******0* YCbCr Code Shift YCbCr Code Shift 0 = Code Shift Disabled 1 = Code Shift Enabled 4.3.8 [0] *******0 Black Image Black Image 0 = Black Image Disabled 1 = Black Image Enabled 4.3.8 R/W Page 179 of 203 Rev G PROGRAMMING GUIDE Address (Main) 0xD6 Type Bits HPD Control [5] **0***** Fixed Must be default for proper operation, [4] ***0**** TMDS CLK Soft Turn On Soft TMDS Clock Turn On 0 = Soft Turn On Disabled 1 = Soft Turn On Enabled [3:1] ****000* Fixed Must be set to Default Value [0] *******0 Audio and Video Input Gating Audio and Video Input Gating 0 = video input and clock not gated 1 = video input and clock gated Hsync Placement (Sync Adjustment) Hsync Front Porch (In Pixels) Hsync Duration (Sync Adjustment) Hsync Duration (In Pixels) Vsync Placement (Sync Adjustment) Vsync Front Porch (In Hsyncs) Vsync Duration (Sync Adjustment) Vsync Duration (In Hsyncs) Offset (Sync Adjustment) Offset for Sync Adjustment Vsync Placement Used only with interlaced formats (In Hsyncs) Fixed Must be default for proper operation. [9:0] 0xD8 00****** 0xD8 **000000 [9:0] 0xD9 0000**** 0xD9 ****0000 R/W [9:0] 0xDA 000000** 0xDA ******00 R/W [9:0] 0xDB 00000000 R/W [7:5] R/W [8:0] 0xDC 0xE0 000***** Reference 4.2.1 4.2.4 4.8.2 4.3.7 4.3.7 4.3.7 4.3.7 4.3.7 ***00000 0xDD 0xDF Function 00****** 00000000 R/W Register Name [7:6] R/W R/W 0xDE Default Value HPD Control 00 = HPD is from both HPD pin or CDC HPD 01 = HPD is from CDC HPD 10 = HPD is from HPD pin 11 = HPD is always high 0xD7 0xDC ADV7511 0000**** R/W R/W R/W [7:4] 0001**** Fixed Must be set to Default for proper operation. [3] ****0*** TMDS Clock Inversion TMDS Clock Inversion 0 = Normal TMDS Clock 1 = Inverted TMDS Clock [2:1] *****000 Fixed Must be set to Default for proper operation [7] 0******* ARC Mode Select ARC Single Ended or Common Mode Selection, ARC Disable 0 = ARC is powered on 1 = ARC is disabled 0 = Common Mode ARC Input 1 = Single Ended ARC Input [6:1] *000000* Fixed Must be set to Default Value [0] *******1 ARC Power Down Control 0= self bias circuit 1 = bias circuit from Irefgen 0 = ARC Powered up 1 = ARC in Power Down [7:0] 10000000 Fixed Must be set to 0xD0 for proper operation Page 180 of 203 4.2.4 4.5 4.5 Rev G PROGRAMMING GUIDE ADV7511 Address (Main) Type Bits Default Value Register Name Function 0xE1 R/W [7:0] 01111000 CEC Map Address CEC ID I2C address for CEC I2C control map [3:1] ****000* Fixed Must be set to Default Value 0xE2 [0] *******0 CEC Power Down CEC Power Down Power down CEC logic and reset CEC I2C map 0 = disabled 1 = enabled R/W Reference 4.1 4.9.5 0xE3 R/W [7:1] 0000000* Fixed Must be set to Default Value 0xE4 R/W [7:2] 011000** Fixed Must be set to Default Value 0xF5 RO [7:0] 01110101 Chip ID High Byte Chip ID High Byte 0xF6 RO [7:0] 00010001 Chip ID Low Byte Chip ID Low Byte 0xF7 RO [7:4] 00000000 Reserved 0xF9 R/W [7:0] 01111100 Fixed I2C Address This should be set to a non-conflicting I2C address [7:5] 000***** Hsync Placement MSB (Embedded Sync Decoding) This is the MSB for Hsync Placment of Embedded Sync Decoding. See Register 0x35[7:0]. 4.3.7 [4:2] ***000** Hsync Placement MSB (Sync Adjustment) This is the MSB for Hsync Placment of Sync Adjustment. See Register 0xD7[7:0]. 4.3.7 [1:0] ******00 Fixed Must be default for proper operation. 4.3.7 [7] 0******* Hsync Delay MSB (DE Generation) MSB for Hsync delay of DE generation. See Register 0x35[7:0] 4.3.7 [6:5] *00***** Vsync Delay MSB(DE Generation) MSB for Vsync delay of DE generation. See Register bits 0x36[5:0] 4.3.7 [4] ***0**** Width MSB (DE Generation) MSB for DE width of DE generation. See Register bits 0x37[4:0] 4.3.7 [3] ****0*** Height MSB (DE Generation) MSB for height of DE generation. See Register bits 0x39[7:0] 4.3.7 Low Refresh Rate (VIC Detection) Low Refresh Rate indicates if input video VS refresh rate if it is less than 50Hz 00 = not low refresh rate 01 = 24Hz 10 = 25Hz 11 = 30Hz 4.3.3 00****** Ri Checking Frequency Ri Checking Frequency 00 = 128 frames 01 = 64 frames 10 = 32 frames 11 = 16 frames 4.7 **000*** Ri Checking Position Delay Ri Checking Position Delay in Units of Hsync 0 = no delay 1 = 8 Hsyncs 2 = 16 Hsyncs 4.7 0xFA 0xFB R/W R/W [2:1] [7:6] 0xFC *****00* R/W [5:3] Page 181 of 203 4.1 Rev G PROGRAMMING GUIDE Address (Main) Type Bits ADV7511 Default Value Register Name Function Reference 3 = 32 Hsyncs 4 = 64 Hsyncs 5 = 128 Hsyncs 6 = 256 Hsyncs 7 = 512 Hsycns [2:0] [7:5] 0xFD 000***** 4.7 An Write Delay Delay Between Reading of BCAPS and Writing of An 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms 4.7 AKSV Write Delay Delay Between Writing of An and Writing of AKSV 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms 4.7 HDCP Start Delay Delay Between Setting Enable HDCP Register 0xAF[7] = 1 and Reading of BKSV 000 = no delay 001 = 1ms 010 = 2ms 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms 4.7 R/W [4:2] 0xFE *****000 Delay Between Reading of BKSV and BCAPs 000 = no delay 001 = 1ms 010 = 2ms BCAPS Read Delay 011 = 5ms 100 = 10ms 101 = 25ms 110 = 50ms 111 = 100ms R/W [7:5] ***000** 000***** Page 182 of 203 Rev G PROGRAMMING GUIDE ADV7511 Table 112 Packetmemory Address (Packet Memory) Type Bits Default Value Register Name 0x00 R/W [7:0] 00000000 SPD Header Byte 0 4.2.5 0x01 R/W [7:0] 00000000 SPD Header Byte 1 4.2.5 0x02 R/W [7:0] 00000000 SPD Header Byte 2 4.2.5 0x03 R/W [7:0] 00000000 SPD Packet Byte 0 4.2.5 0x04 R/W [7:0] 00000000 SPD Packet Byte 1 4.2.5 0x05 R/W [7:0] 00000000 SPD Packet Byte 2 4.2.5 0x06 R/W [7:0] 00000000 SPD Packet Byte 3 4.2.5 0x07 R/W [7:0] 00000000 SPD Packet Byte 4 4.2.5 0x08 R/W [7:0] 00000000 SPD Packet Byte 5 4.2.5 0x09 R/W [7:0] 00000000 SPD Packet Byte 6 4.2.5 0x0A R/W [7:0] 00000000 SPD Packet Byte 7 4.2.5 0x0B R/W [7:0] 00000000 SPD Packet Byte 8 4.2.5 0x0C R/W [7:0] 00000000 SPD Packet Byte 9 4.2.5 0x0D R/W [7:0] 00000000 SPD Packet Byte 10 4.2.5 0x0E R/W [7:0] 00000000 SPD Packet Byte 11 4.2.5 0x0F R/W [7:0] 00000000 SPD Packet Byte 12 4.2.5 0x10 R/W [7:0] 00000000 SPD Packet Byte 13 4.2.5 0x11 R/W [7:0] 00000000 SPD Packet Byte 14 4.2.5 0x12 R/W [7:0] 00000000 SPD Packet Byte 15 4.2.5 0x13 R/W [7:0] 00000000 SPD Packet Byte 16 4.2.5 0x14 R/W [7:0] 00000000 SPD Packet Byte 17 4.2.5 0x15 R/W [7:0] 00000000 SPD Packet Byte 18 4.2.5 0x16 R/W [7:0] 00000000 SPD Packet Byte 19 4.2.5 0x17 R/W [7:0] 00000000 SPD Packet Byte 20 4.2.5 0x18 R/W [7:0] 00000000 SPD Packet Byte 21 4.2.5 0x19 R/W [7:0] 00000000 SPD Packet Byte 22 4.2.5 0x1A R/W [7:0] 00000000 SPD Packet Byte 23 4.2.5 0x1B R/W [7:0] 00000000 SPD Packet Byte 24 4.2.5 Page 183 of 203 Function Reference Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0x1C R/W [7:0] 00000000 SPD Packet Byte 25 4.2.5 0x1D R/W [7:0] 00000000 SPD Packet Byte 26 4.2.5 0x1E R/W [7:0] 00000000 SPD Packet Byte 27 4.2.5 Function SPD Packet Update: Before updating the SPD Packet using I2C set to '1' to continue sending the current values. 0 = SPD Packet I2C update inactive 1 = SPD Packet I2C update active Reference 4.2.5 0x1F R/W [7] 0******* SPD Packet Update 0x20 R/W [7:0] 00000000 MPEG Header Byte 0 4.3.9.2 0x21 R/W [7:0] 00000000 MPEG Header Byte 1 4.3.9.2 0x22 R/W [7:0] 00000000 MPEG Header Byte 2 4.3.9.2 0x23 R/W [7:0] 00000000 MPEG Packet Byte 0 4.3.9.2 0x24 R/W [7:0] 00000000 MPEG Packet Byte 1 4.3.9.2 0x25 R/W [7:0] 00000000 MPEG Packet Byte 2 4.3.9.2 0x26 R/W [7:0] 00000000 MPEG Packet Byte 3 4.3.9.2 0x27 R/W [7:0] 00000000 MPEG Packet Byte 4 4.3.9.2 0x28 R/W [7:0] 00000000 MPEG Packet Byte 5 4.3.9.2 0x29 R/W [7:0] 00000000 MPEG Packet Byte 6 4.3.9.2 0x2A R/W [7:0] 00000000 MPEG Packet Byte 7 4.3.9.2 0x2B R/W [7:0] 00000000 MPEG Packet Byte 8 4.3.9.2 0x2C R/W [7:0] 00000000 MPEG Packet Byte 9 4.3.9.2 0x2D R/W [7:0] 00000000 MPEG Packet Byte 10 4.3.9.2 0x2E R/W [7:0] 00000000 MPEG Packet Byte 11 4.3.9.2 0x2F R/W [7:0] 00000000 MPEG Packet Byte 12 4.3.9.2 0x30 R/W [7:0] 00000000 MPEG Packet Byte 13 4.3.9.2 0x31 R/W [7:0] 00000000 MPEG Packet Byte 14 4.3.9.2 0x32 R/W [7:0] 00000000 MPEG Packet Byte 15 4.3.9.2 0x33 R/W [7:0] 00000000 MPEG Packet Byte 16 4.3.9.2 0x34 R/W [7:0] 00000000 MPEG Packet Byte 17 4.3.9.2 0x35 R/W [7:0] 00000000 MPEG Packet Byte 18 4.3.9.2 Page 184 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0x36 R/W [7:0] 00000000 MPEG Packet Byte 19 4.3.9.2 0x37 R/W [7:0] 00000000 MPEG Packet Byte 20 4.3.9.2 0x38 R/W [7:0] 00000000 MPEG Packet Byte 21 4.3.9.2 0x39 R/W [7:0] 00000000 MPEG Packet Byte 22 4.3.9.2 0x3A R/W [7:0] 00000000 MPEG Packet Byte 23 4.3.9.2 0x3B R/W [7:0] 00000000 MPEG Packet Byte 24 4.3.9.2 0x3C R/W [7:0] 00000000 MPEG Packet Byte 25 4.3.9.2 0x3D R/W [7:0] 00000000 MPEG Packet Byte 26 4.3.9.2 0x3E R/W [7:0] 00000000 MPEG Packet Byte 27 4.3.9.2 Function MPEG Packet Update: Before updating the MPEG Packet using I2C set to '1' to continue sending the current values. 0 = MPEG Packet I2C update inactive 1 = MPEG Packet I2C update active Reference 0x3F R/W [7] 0******* MPEG Packet Update 0x40 R/W [7:0] 00000000 ACP Header Byte 0 4.4.5 0x41 R/W [7:0] 00000000 ACP Header Byte 1 4.4.5 0x42 R/W [7:0] 00000000 ACP Header Byte 2 4.4.5 0x43 R/W [7:0] 00000000 ACP Packet Byte 0 4.4.5 0x44 R/W [7:0] 00000000 ACP Packet Byte 1 4.4.5 0x45 R/W [7:0] 00000000 ACP Packet Byte 2 4.4.5 0x46 R/W [7:0] 00000000 ACP Packet Byte 3 4.4.5 0x47 R/W [7:0] 00000000 ACP Packet Byte 4 4.4.5 0x48 R/W [7:0] 00000000 ACP Packet Byte 5 4.4.5 0x49 R/W [7:0] 00000000 ACP Packet Byte 6 4.4.5 0x4A R/W [7:0] 00000000 ACP Packet Byte 7 4.4.5 0x4B R/W [7:0] 00000000 ACP Packet Byte 8 4.4.5 0x4C R/W [7:0] 00000000 ACP Packet Byte 9 4.4.5 0x4D R/W [7:0] 00000000 ACP Packet Byte 10 4.4.5 0x4E R/W [7:0] 00000000 ACP Packet Byte 11 4.4.5 0x4F R/W [7:0] 00000000 ACP Packet Byte 12 4.4.5 Page 185 of 203 4.3.9.2 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0x50 R/W [7:0] 00000000 ACP Packet Byte 13 4.4.5 0x51 R/W [7:0] 00000000 ACP Packet Byte 14 4.4.5 0x52 R/W [7:0] 00000000 ACP Packet Byte 15 4.4.5 0x53 R/W [7:0] 00000000 ACP Packet Byte 16 4.4.5 0x54 R/W [7:0] 00000000 ACP Packet Byte 17 4.4.5 0x55 R/W [7:0] 00000000 ACP Packet Byte 18 4.4.5 0x56 R/W [7:0] 00000000 ACP Packet Byte 19 4.4.5 0x57 R/W [7:0] 00000000 ACP Packet Byte 20 4.4.5 0x58 R/W [7:0] 00000000 ACP Packet Byte 21 4.4.5 0x59 R/W [7:0] 00000000 ACP Packet Byte 22 4.4.5 0x5A R/W [7:0] 00000000 ACP Packet Byte 23 4.4.5 0x5B R/W [7:0] 00000000 ACP Packet Byte 24 4.4.5 0x5C R/W [7:0] 00000000 ACP Packet Byte 25 4.4.5 0x5D R/W [7:0] 00000000 ACP Packet Byte 26 4.4.5 0x5E R/W [7:0] 00000000 ACP Packet Byte 27 4.4.5 Function ACP Packet Update: Before updating the ACP Packet using I2C set to '1' to continue sending the current values. 0 = ACP Packet I2C update inactive 1 = ACP Packet I2C update active. Reference 0x5F R/W [7] 0******* ACP Packet Update 0x60 R/W [7:0] 00000000 ISRC1 Header Byte 0 4.4.6 0x61 R/W [7:0] 00000000 ISRC1 Header Byte 1 4.4.6 0x62 R/W [7:0] 00000000 ISRC1 Header Byte 2 4.4.6 0x63 R/W [7:0] 00000000 ISRC1 Packet Byte 0 4.4.6 0x64 R/W [7:0] 00000000 ISRC1 Packet Byte 1 4.4.6 0x65 R/W [7:0] 00000000 ISRC1 Packet Byte 2 4.4.6 0x66 R/W [7:0] 00000000 ISRC1 Packet Byte 3 4.4.6 0x67 R/W [7:0] 00000000 ISRC1 Packet Byte 4 4.4.6 0x68 R/W [7:0] 00000000 ISRC1 Packet Byte 5 4.4.6 0x69 R/W [7:0] 00000000 ISRC1 Packet Byte 6 4.4.6 Page 186 of 203 4.4.5 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0x6A R/W [7:0] 00000000 ISRC1 Packet Byte 7 4.4.6 0x6B R/W [7:0] 00000000 ISRC1 Packet Byte 8 4.4.6 0x6C R/W [7:0] 00000000 ISRC1 Packet Byte 9 4.4.6 0x6D R/W [7:0] 00000000 ISRC1 Packet Byte 10 4.4.6 0x6E R/W [7:0] 00000000 ISRC1 Packet Byte 11 4.4.6 0x6F R/W [7:0] 00000000 ISRC1 Packet Byte 12 4.4.6 0x70 RO [7:0] 00000000 ISRC1 Packet Byte 13 4.4.6 0x71 RO [7:0] 00000000 ISRC1 Packet Byte 14 4.4.6 0x72 RO [7:0] 00000000 ISRC1 Packet Byte 15 4.4.6 0x73 RO [7:0] 00000000 ISRC1 Packet Byte 16 4.4.6 0x74 RO [7:0] 00000000 ISRC1 Packet Byte 17 4.4.6 0x75 R/W [7:0] 00000000 ISRC1 Packet Byte 18 4.4.6 0x76 R/W [7:0] 00000000 ISRC1 Packet Byte 19 4.4.6 0x77 R/W [7:0] 00000000 ISRC1 Packet Byte 20 4.4.6 0x78 R/W [7:0] 00000000 ISRC1 Packet Byte 21 4.4.6 0x79 R/W [7:0] 00000000 ISRC1 Packet Byte 22 4.4.6 0x7A R/W [7:0] 00000000 ISRC1 Packet Byte 23 4.4.6 0x7B R/W [7:0] 00000000 ISRC1 Packet Byte 24 4.4.6 0x7C R/W [7:0] 00000000 ISRC1 Packet Byte 25 4.4.6 0x7D R/W [7:0] 00000000 ISRC1 Packet Byte 26 4.4.6 0x7E R/W [7:0] 00000000 ISRC1 Packet Byte 27 4.4.6 Function ISRC1 Packet Update: Before updating the ISRC1 Packet using I2C set to '1' to continue sending the current values. 0 = ISRC1 Packet I2C update inactive 1 = ISRC1 Packet I2C update active Reference 4.4.6 0x7F R/W [7] 0******* ISRC1 Packet Update 0x80 R/W [7:0] 00000000 ISRC2 Header Byte 0 4.4.6 0x81 R/W [7:0] 00000000 ISRC2 Header Byte 1 4.4.6 0x82 R/W [7:0] 00000000 ISRC2 Header Byte 2 4.4.6 0x83 R/W [7:0] 00000000 ISRC2 Packet Byte 0 4.4.6 Page 187 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0x84 R/W [7:0] 00000000 ISRC2 Packet Byte 1 4.4.6 0x85 R/W [7:0] 00000000 ISRC2 Packet Byte 2 4.4.6 0x86 R/W [7:0] 00000000 ISRC2 Packet Byte 3 4.4.6 0x87 R/W [7:0] 00000000 ISRC2 Packet Byte 4 4.4.6 0x88 R/W [7:0] 00000000 ISRC2 Packet Byte 5 4.4.6 0x89 R/W [7:0] 00000000 ISRC2 Packet Byte 6 4.4.6 0x8A R/W [7:0] 00000000 ISRC2 Packet Byte 7 4.4.6 0x8B R/W [7:0] 00000000 ISRC2 Packet Byte 8 4.4.6 0x8C R/W [7:0] 00000000 ISRC2 Packet Byte 9 4.4.6 0x8D R/W [7:0] 00000000 ISRC2 Packet Byte 10 4.4.6 0x8E R/W [7:0] 00000000 ISRC2 Packet Byte 11 4.4.6 0x8F R/W [7:0] 00000000 ISRC2 Packet Byte 12 4.4.6 0x90 R/W [7:0] 00000000 ISRC2 Packet Byte 13 4.4.6 0x91 R/W [7:0] 00000000 ISRC2 Packet Byte 14 4.4.6 0x92 R/W [7:0] 00000000 ISRC2 Packet Byte 15 4.4.6 0x93 R/W [7:0] 00000000 ISRC2 Packet Byte 16 4.4.6 0x94 R/W [7:0] 00000000 ISRC2 Packet Byte 17 4.4.6 0x95 R/W [7:0] 00000000 ISRC2 Packet Byte 18 4.4.6 0x96 R/W [7:0] 00000000 ISRC2 Packet Byte 19 4.4.6 0x97 R/W [7:0] 00000000 ISRC2 Packet Byte 20 4.4.6 0x98 R/W [7:0] 00000000 ISRC2 Packet Byte 21 4.4.6 0x99 R/W [7:0] 00000000 ISRC2 Packet Byte 22 4.4.6 0x9A R/W [7:0] 00000000 ISRC2 Packet Byte 23 4.4.6 0x9B R/W [7:0] 00000000 ISRC2 Packet Byte 24 4.4.6 0x9C R/W [7:0] 00000000 ISRC2 Packet Byte 25 4.4.6 0x9D R/W [7:0] 00000000 ISRC2 Packet Byte 26 4.4.6 0x9E R/W [7:0] 00000000 ISRC2 Packet Byte 27 4.4.6 0x9F R/W [7] 0******* ISRC2 Packet Update Page 188 of 203 Function ISRC2 Packet Update: Before updating the ISRC2 Packet using I2C set to '1' to continue sending the current values. Reference 4.4.6 Rev G PROGRAMMING GUIDE Address (Packet Memory) Type Bits ADV7511 Default Value Register Name Function Reference 0 = ISRC2 Packet I2C update inactive 1 = ISRC2 Packet I2C update active 0xA0 R/W [7:0] 00000000 GM Header Byte 0 4.3.9.3 0xA1 R/W [7:0] 00000000 GM Header Byte 1 4.3.9.3 0xA2 R/W [7:0] 00000000 GM Header Byte 2 4.3.9.3 0xA3 R/W [7:0] 00000000 GM Packet Byte 0 4.3.9.3 0xA4 R/W [7:0] 00000000 GM Packet Byte 1 4.3.9.3 0xA5 R/W [7:0] 00000000 GM Packet Byte 2 4.3.9.3 0xA6 R/W [7:0] 00000000 GM Packet Byte 3 4.3.9.3 0xA7 R/W [7:0] 00000000 GM Packet Byte 4 4.3.9.3 0xA8 R/W [7:0] 00000000 GM Packet Byte 5 4.3.9.3 0xA9 R/W [7:0] 00000000 GM Packet Byte 6 4.3.9.3 0xAA R/W [7:0] 00000000 GM Packet Byte 7 4.3.9.3 0xAB R/W [7:0] 00000000 GM Packet Byte 8 4.3.9.3 0xAC R/W [7:0] 00000000 GM Packet Byte 9 4.3.9.3 0xAD R/W [7:0] 00000000 GM Packet Byte 10 4.3.9.3 0xAE R/W [7:0] 00000000 GM Packet Byte 11 4.3.9.3 0xAF R/W [7:0] 00000000 GM Packet Byte 12 4.3.9.3 0xB0 R/W [7:0] 00000000 GM Packet Byte 13 4.3.9.3 0xB1 R/W [7:0] 00000000 GM Packet Byte 14 4.3.9.3 0xB2 R/W [7:0] 00000000 GM Packet Byte 15 4.3.9.3 0xB3 R/W [7:0] 00000000 GM Packet Byte 16 4.3.9.3 0xB4 R/W [7:0] 00000000 GM Packet Byte 17 4.3.9.3 0xB5 R/W [7:0] 00000000 GM Packet Byte 18 4.3.9.3 0xB6 R/W [7:0] 00000000 GM Packet Byte 19 4.3.9.3 0xB7 R/W [7:0] 00000000 GM Packet Byte 20 4.3.9.3 0xB8 R/W [7:0] 00000000 GM Packet Byte 21 4.3.9.3 0xB9 R/W [7:0] 00000000 GM Packet Byte 22 4.3.9.3 0xBA R/W [7:0] 00000000 GM Packet Byte 23 4.3.9.3 Page 189 of 203 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0xBB R/W [7:0] 00000000 GM Packet Byte 24 4.3.9.3 0xBC R/W [7:0] 00000000 GM Packet Byte 25 4.3.9.3 0xBD R/W [7:0] 00000000 GM Packet Byte 26 4.3.9.3 0xBE R/W [7:0] 00000000 GM Packet Byte 27 4.3.9.3 Function GM Packet Update: Before updating the GM Packet using I2C set to '1' to continue sending the current values. 0 = GM Packet I2C update inactive 1 = GM Packet I2C update active Reference 0xBF R/W [7] 0******* GM Packet Update 0xC0 R/W [7:0] 00000000 Spare Packet 1 Header Byte 0 4.2.7 0xC1 R/W [7:0] 00000000 Spare Packet 1 Header Byte 1 4.2.7 0xC2 R/W [7:0] 00000000 Spare Packet 1 Header Byte 2 4.2.7 0xC3 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 0 4.2.7 0xC4 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 1 4.2.7 0xC5 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 2 4.2.7 0xC6 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 3 4.2.7 0xC7 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 4 4.2.7 0xC8 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 5 4.2.7 0xC9 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 6 4.2.7 0xCA R/W [7:0] 00000000 Spare Packet 1 Packet Byte 7 4.2.7 0xCB R/W [7:0] 00000000 Spare Packet 1 Packet Byte 8 4.2.7 0xCC R/W [7:0] 00000000 Spare Packet 1 Packet Byte 9 4.2.7 0xCD R/W [7:0] 00000000 Spare Packet 1 Packet Byte 10 4.2.7 0xCE R/W [7:0] 00000000 Spare Packet 1 Packet Byte 11 4.2.7 0xCF R/W [7:0] 00000000 Spare Packet 1 Packet Byte 12 4.2.7 0xD0 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 13 4.2.7 0xD1 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 14 4.2.7 0xD2 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 15 4.2.7 0xD3 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 16 4.2.7 0xD4 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 17 4.2.7 Page 190 of 203 4.3.9.3 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0xD5 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 18 4.2.7 0xD6 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 19 4.2.7 0xD7 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 20 4.2.7 0xD8 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 21 4.2.7 0xD9 R/W [7:0] 00000000 Spare Packet 1 Packet Byte 22 4.2.7 0xDA R/W [7:0] 00000000 Spare Packet 1 Packet Byte 23 4.2.7 0xDB R/W [7:0] 00000000 Spare Packet 1 Packet Byte 24 4.2.7 0xDC R/W [7:0] 00000000 Spare Packet 1 Packet Byte 25 4.2.7 0xDD R/W [7:0] 00000000 Spare Packet 1 Packet Byte 26 4.2.7 0xDE R/W [7:0] 00000000 Spare Packet 1 Packet Byte 27 4.2.7 Function Spare Packet 1 Update Before updating the Spare Packet1 using I2C set to '1' to continue sending the current values. 0 = Spare Packet 1 I2C update inactive. 1 = Spare Packet 1 I2C update active. Reference 0xDF R/W [7] 0******* Spare Packet 1 Update 0xE0 R/W [7:0] 00000000 Spare Packet 2 Header Byte 0 4.2.7 0xE1 R/W [7:0] 00000000 Spare Packet 2 Header Byte 1 4.2.7 0xE2 R/W [7:0] 00000000 Spare Packet 2 Header Byte 2 4.2.7 0xE3 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 0 4.2.7 0xE4 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 1 4.2.7 0xE5 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 2 4.2.7 0xE6 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 3 4.2.7 0xE7 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 4 4.2.7 0xE8 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 5 4.2.7 0xE9 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 6 4.2.7 0xEA R/W [7:0] 00000000 Spare Packet 2 Packet Byte 7 4.2.7 0xEB R/W [7:0] 00000000 Spare Packet 2 Packet Byte 8 4.2.7 0xEC R/W [7:0] 00000000 Spare Packet 2 Packet Byte 9 4.2.7 0xED R/W [7:0] 00000000 Spare Packet 2 Packet Byte 10 4.2.7 0xEE R/W [7:0] 00000000 Spare Packet 2 Packet Byte 11 4.2.7 Page 191 of 203 4.2.7 Rev G PROGRAMMING GUIDE ADV7511 Address (Packet Memory) Type Bits Default Value Register Name 0xEF R/W [7:0] 00000000 Spare Packet 2 Packet Byte 12 4.2.7 0xF0 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 13 4.2.7 0xF1 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 14 4.2.7 0xF2 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 15 4.2.7 0xF3 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 16 4.2.7 0xF4 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 17 4.2.7 0xF5 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 18 4.2.7 0xF6 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 19 4.2.7 0xF7 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 20 4.2.7 0xF8 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 21 4.2.7 0xF9 R/W [7:0] 00000000 Spare Packet 2 Packet Byte 22 4.2.7 0xFA R/W [7:0] 00000000 Spare Packet 2 Packet Byte 23 4.2.7 0xFB R/W [7:0] 00000000 Spare Packet 2 Packet Byte 24 4.2.7 0xFC R/W [7:0] 00000000 Spare Packet 2 Packet Byte 25 4.2.7 0xFD R/W [7:0] 00000000 Spare Packet 2 Packet Byte 26 4.2.7 0xFE R/W [7:0] 00000000 Spare Packet 2 Packet Byte 27 4.2.7 0xFF R/W [7] 0******* Spare Packet 2 Update Page 192 of 203 Function Spare Packet 2 Update Before updating the Spare Packet 2 using I2C set to '1' to continue sending the current values. 0 = Spare Packet 2 I2C update inactive 1 = Spare Packet 2 I2C update active Reference 4.2.7 Rev G PROGRAMMING GUIDE ADV7511 Table 113 CEC Memory Address (CEC) Type Bits Default Value Register Name 0x00 R/W [7:0] 00000000 CEC Tx Frame Header CEC Tx Header 4.9.2 0x01 R/W [7:0] 00000000 CEC Tx Frame Data 0 CEC Tx Opcode 4.9.2 0x02 R/W [7:0] 00000000 CEC Tx Frame Data 1 CEC Message Operand 1 4.9.2 0x03 R/W [7:0] 00000000 CEC Tx Frame Data 2 CEC Message Operand 2 4.9.2 0x04 R/W [7:0] 00000000 CEC Tx Frame Data 3 CEC Message Operand 3 4.9.2 0x05 R/W [7:0] 00000000 CEC Tx Frame Data 4 CEC Message Operand 4 4.9.2 0x06 R/W [7:0] 00000000 CEC Tx Frame Data 5 CEC Message Operand 5 4.9.2 0x07 R/W [7:0] 00000000 CEC Tx Frame Data 6 CEC Message Operand 6 4.9.2 0x08 R/W [7:0] 00000000 CEC Tx Frame Data 7 CEC Message Operand 7 4.9.2 0x09 R/W [7:0] 00000000 CEC Tx Frame Data 8 CEC Message Operand 8 4.9.2 0x0A R/W [7:0] 00000000 CEC Tx Frame Data 9 CEC Message Operand 9 4.9.2 0x0B R/W [7:0] 00000000 CEC Tx Frame Data 10 CEC Message Operand 10 4.9.2 0x0C R/W [7:0] 00000000 CEC Tx Frame Data 11 CEC Message Operand 11 4.9.2 0x0D R/W [7:0] 00000000 CEC Tx Frame Data 12 CEC Message Operand 12 4.9.2 0x0E R/W [7:0] 00000000 CEC Tx Frame Data 13 CEC Message Operand 13 4.9.2 0x0F R/W [7:0] 00000000 CEC Tx Frame Data 14 CEC Message Operand 14 4.9.2 0x10 R/W [4:0] ***00000 CEC Tx Frame Length CEC Tx Message Size 4.9.2 0x11 R/W [0] *******0 CEC Tx Transmission Enable CEC Tx Enable 0 = Do not transmit CEC frame in Tx buffer 1 = Transmit CEC frame in Tx buffer 4.9.2 [6:4] *001**** CEC Tx Retry CEC Tx Retry 4.9.2 [3:0] ****0011 CEC Tx Retry Signal Free Time Signal Free Time Period for retransmission retry 4.9.2 [7:4] 0101**** CEC Tx SFT5 Signal Free Time of 5 periods SFT5: New initiator wants to send a frame 4.9.2 4.9.2 4.9.2 0x12 0x13 0x14 R/W [3:0] ****0111 CEC Tx SFT7 Signal Free Time of 7 periods SFT7: Present Initiator wants to send another frame immediately after its previous frame. [7:4] 0000**** CEC Tx Lowdrive Counter Report error times in case of low impedance detection This is automatically cleared upon sending next message. R/W RO Function Page 193 of 203 Reference Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference [3:0] ****0000 CEC Tx NACK Counter Report Error Times In Case of Negative Acknowledge 4.9.2 0x15 RO [7:0] 00000000 CEC Rx Buffer 1 Frame Header Rx Header Block in the Frame (Buffer 1) 0x16 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 0 Rx Data Opcode (Buffer 1) 0x17 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 1 Received CEC Operand 1(Buffer 1) 0x18 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 2 Received CEC Operand 2 (Buffer 1) 0x19 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 3 Received CEC Operand 3 (Buffer 1) 0x1A RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 4 Received CEC Operand 4 (Buffer 1) 0x1B RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 5 Received CEC Operand 5 (Buffer 1) 0x1C RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 6 Received CEC Operand 6 (Buffer 1) 0x1D RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 7 Received CEC Operand 7 (Buffer 1) 0x1E RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 8 Received CEC Operand 8 (Buffer 1) 0x1F RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 9 Received CEC Operand 9 (Buffer 1) 0x20 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 10 Received CEC Operand 10 (Buffer 1) 0x21 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 11 Received CEC Operand 11 (Buffer 1) 0x22 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 12 Received CEC Operand 12 (Buffer 1) 0x23 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 13 Received CEC Operand 13 (Buffer 1) 0x24 RO [7:0] 00000000 CEC Rx Frame Buffer 1 Data byte 14 Received CEC Operand 14 (Buffer 1) 0x25 RO [4:0] ***00000 CEC Rx Buffer 1 Frame Length Rx Message Size (Buffer 1) Number of operands + 2 4.9.3 0x26 RO [6] *1****** CEC Rx Enable RX enable 0 = The CEC module is currently not able to 4.9.3 Page 194 of 203 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference receive a new CEC frame 1 = The CEC module is currently able to receive a new CEC frame [5:4] [3:2] **00**** ****00** 4.9.3 CEC Rx Buffer 3 Timestamp Specifies the order in which the message in Buffer 3 was received relative to Buffer 1 and Buffer 2 for the current buffered messages 00 = No valid message 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message 4.9.3 CEC Rx Buffer 2 Timestamp Specifies the order in which the message in Buffer 2 was received relative to Buffer 1 and Buffer 3 for the current buffered messages 00 = No valid message 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message Specifies the order in which the message in Buffer 1 was received relative to Buffer 2 and Buffer 3 for the current buffered messages 01 = Oldest received buffered message 10 = Second most Recent received buffered message 11 = Most Recent received buffered message 4.9.3 [1:0] ******00 CEC Rx Buffer 1 Timestamp 0x27 RO [7:0] 00000000 CEC Rx Buffer 2 Frame Header Rx Header Block in the Frame (Buffer 2) 0x28 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 0 Rx Data Opcode (Buffer 2) 0x29 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 1 ReceivedCEC Operand 1(Buffer 2) 0x2A RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 2 ReceivedCEC Operand 2 (Buffer 2) 0x2B RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 3 Received CEC Operand 3 (Buffer 2) 0x2C RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 4 Received CEC Operand 4 (Buffer 2) 0x2D RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 5 Received CEC Operand 5 (Buffer 2) 0x2E RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 6 Received CEC Operand 6 (Buffer 2) 0x2F RO [7:0] 00000000 CEC Rx Frame Buffer 2 Received CEC Operand 7 (Buffer 2) Page 195 of 203 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference Data byte 7 0x30 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 8 Received CEC Operand 8 (Buffer 2) 0x31 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 9 Received CEC Operand 9 (Buffer 2) 0x32 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 10 Received CEC Operand 10 (Buffer 2) 0x33 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 11 Received CEC Operand 11 (Buffer 2) 0x34 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 12 Received CEC Operand 12 (Buffer 2) 0x35 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 13 Received CEC Operand 13 (Buffer 2) 0x36 RO [7:0] 00000000 CEC Rx Frame Buffer 2 Data byte 14 Received CEC Operand 14 (Buffer 2) 0x37 RO [4:0] ***00000 CEC Rx Buffer 2 Frame Length 0x38 RO [7:0] 00000000 CEC Rx Buffer 3 Frame Header Rx Header Block in the Frame (Buffer 3) 0x39 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 0 Rx Data Opcode (Buffer 3) 0x3A RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 1 Received CEC Operand 1(Buffer 3) 0x3B RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 2 Received CEC Operand 2 (Buffer 3) 0x3C RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 3 Received CEC Operand 3 (Buffer 3) 0x3D RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 4 Received CEC Operand 4 (Buffer 3) 0x3E RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 5 Received CEC Operand 5 (Buffer 3) 0x3F RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 6 Received CEC Operand 6 (Buffer 3) 0x40 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 7 Received CEC Operand 7 (Buffer 3) 0x41 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 8 Received CEC Operand 8 (Buffer 3) Page 196 of 203 Rx Message Size (Buffer 2) Number of operands + 2 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 Rev G PROGRAMMING GUIDE ADV7511 Address (CEC) Type Bits Default Value Register Name 0x42 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 9 Received CEC Operand 9 (Buffer 3) 0x43 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 10 Received CEC Operand 10 (Buffer 3) 0x44 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 11 Received CEC Operand 11 (Buffer 3) 0x45 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 12 Received CEC Operand 12 (Buffer 3) 0x46 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 13 Received CEC Operand 13 (Buffer 3) 0x47 RO [7:0] 00000000 CEC Rx Frame Buffer 3 Data byte 14 Received CEC Operand 14 (Buffer 3) 0x48 RO [4:0] ***00000 CEC Rx Buffer 3 Frame Length Rx Message Size (Buffer 3) Number of operands + 2 4.9.3 *****0** CEC Rx Buffer 3 Ready Indicates frame presence in Buffer 3 0 = No CEC frame available in buffer 3 1 = A CEC frame is available in buffer 3 4.9.3 [2] ******0* CEC Rx Buffer 2 Ready Indicates frame presence in Buffer 2 0 = No CEC frame available in buffer 2 1 = A CEC frame is available in buffer 2 4.9.3 [1] *******0 CEC Rx Buffer 1 Ready Indicates frame presence in Buffer 1 0 = No CEC frame available in buffer 1 1 = A CEC frame is available in buffer 1 4.9.3 [0] 4.9.3 0x49 0x4A 0x4B RO R/W R/W Function Reference 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 4.9.3 [3] ****1*** Use all CEC Rx Buffers Choose whether the new frames should be received in all 3 buffers or only one buffer 0 = Use only buffer 0 to store CEC frames (Legacy mode) 1 = Use all 3 buffers to stores the CEC frames (Non-legacy mode) *****0** CEC Rx Buffer 3 Ready Clear Set high to clear 0x49[2] and reset 0x26[5:4] 0 = Retain the value of 0x49[2] 1 = Clear out 0x49[2] 4.9.3 [2] ******0* CEC Rx Buffer 2 Ready Clear Set high to clear 0x49[1] and reset 0x26[3:2] 0 = Retain the value of 0x49[1] 1 = Clear out 0x49[1] 4.9.3 [1] *******0 CEC Rx Buffer 1 Ready Clear Set high to clear 0x49[0] and reset 0x26[1:0] 0 = Retain the value of 0x49[0] 1 = Clear out 0x49[0] 4.9.3 [0] Logical Address Mask Logical Address Mask of the CEC Devices: Supports up to 3 logical devices. When the bit is one, the related logical device will be enabled, and the messages whose destination [6:4] *001**** Page 197 of 203 4.9.5 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference address is matched with the logical address will be accepted 001 = mask bit for logical device0 010 = mask bit for logical device1 100 = mask bit for logical device2 [3] [2] [1] ****0*** *****0** ******0* Error Report Mode Error report mode 0 = only report short bit period error 1 = report both short and long bit period errors 4.9.5 Error Detect Mode Error Detect Mode If an error is detected, CEC controller will drive the CEC line low for 3.6msec immediately to notify the line error to the initiator 0 = any short bit period except start bit 1 = only when destination is broadcast 4.9.5 Force NACK Force NACK. If this bit is set, CEC Rx module will NACK any message. 4.9.5 0 = ACK the relevant messages 1 = NACK all messages 0x4C 0x4D 0x4E If this bit is set, CEC Rx module will ignore any directly addressed message belonging to it. 0 = ACK the relevant messages 1 = NACK all messages [0] *******0 Force Ignore 4.9.5 [7:4] 1111**** Logical Address 1 Logical Address of logical device 1 4.9.5 [3:0] ****1111 Logical Address 0 Logical Address of logical device 0 4.9.5 [3:0] ****1111 Logical Address 2 Logical Address of logical device 2 4.9.5 R/W R/W [7:2] 001111** CEC Clock Divider CEC Clock Divider: The input clock frequency is divided according to the value in this register. The divided clock is used as the CEC process clock. Internal clock frequency = input clock frequency / (clock_divider+1) 000000 = no division and the input clock will be used as the CEC process clock directly 000001 = divide by 2 000010 = divide by 3 000011 = divide by 4 111110 = divide by 63 111111 = divide by 64 [1:0] ******00 CEC Power Mode Power mode of CEC. Does not reset I2C map on power down. 00 = Completely Power Down R/W Page 198 of 203 4.9.5 4.9.5 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference 01 = Always Active 10 = Depend on HPD status 11 = Depend on HPD status 0x4F R/W [5:0] **000111 Glitch Filter Ctrl Glitch filter control for the CEC input: The CEC bus is sampled by the input clock. This Register indicates the number of clock cycles. Pulses whose width is less than the value in this register will be filtered by the CEC module. 000000 = filter is disabled 000001 = pulse width less than 1 clock cycle will be filtered. 111111 = pulse width less than 63 will be filtered 0x50 R/W [0] *******0 CEC Soft Reset CEC reset by external host 0 = Do not reset CEC controller 1 = Reset CEC controller R/W [15:0] St Total CEC nominal start bit total period. Typically it is 4.5ms Typical value at 750KHz St Total Min CEC minimum start bit total period. Typically, it is 4.3ms, for the default value, keep 0.1ms margin, namely 4.2ms Typical value at 750KHz 4.9.5 St Total Max CEC maximum start bit total period. Typically, it is 4.7ms, for the default value, keep 0.1ms margin, namely 4.8ms Typical value at 750KHz 4.9.5 St Low CEC nominal start bit low period. Typically it is 3.7ms Typical value at 750KHz 4.9.5 St Low Min CEC minimum start bit low period. Typically it is 3.5ms, for the default value, keep 0.1ms margin, namely 3.4ms Typical value at 750KHz 4.9.5 St Low Max CEC maximum start bit low period. Typically it is 3.9ms, for the default value, keep 0.1ms margin, namely 4.0ms Typical value at 750KHz 4.9.5 Bit Total CEC nominal data bit total period. Typically it is 2.4ms. Typical value at 750KHz 4.9.5 Bit Total Min CEC minimum data bit low period. Typically it is 2.05ms, for the default value, keep 0.1ms margin, namely 1.95ms 4.9.5 0x51 00001101 0x52 00101111 0x53 00001100 R/W [15:0] 0x54 01001110 0x55 00001110 R/W [15:0] 0x56 00010000 0x57 00001010 R/W [15:0] 0x58 11010111 0x59 00001001 R/W [15:0] 0x5A 11110110 0x5B 00001011 R/W [15:0] 0x5C 10111000 0x5D 00000111 R/W [15:0] 0x5E 00001000 0x5F 00000101 R/W 0x60 [15:0] 10110111 Page 199 of 203 4.9.5 4.9.5 4.9.5 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference Typical value at 750KHz 0x61 R/W [15:0] 0x62 [15:0] 0x64 CEC nominal data bit low period for logical 1. Typically it is 0.6ms Typical value at 750KHz 4.9.5 Bit Low Zero CEC nominal data bit low period for logical 0. Typically it is 1.5ms Typical value at 750KHz 4.9.5l Bit Low Max CEC nominal data bit low period for logical 0. Typically it is 1.8ms Typical value at 750KHz 4.9.5 Sample Time CEC nominal sample time. Typically it is 1.05ms Typical value at 750KHz 4.9.5 Line Error Time CEC Line Error handling time. Typically it is 1.4~1.6 times the nominal data bit period. We set the default value to 1.5 times the nominal data bit period. 4.9.5 Fixed Must be default for proper operation Rise Time CEC maximum rise time. Typically it is 250us 4.9.5 Bit Low Detmode Error detection mode for data bit low period 0 = Disabled 1 = Enable 4.9.5 Bit Low One Min CEC minimum data bit low period for logical 1. Typically it is 0.4ms, for the default value, keep 0.1ms margin, namely 0.3ms Typical value at 750KHz 4.9.5 Bit Low One Max CEC maximum data bit low period for logical 1. Typically it is 0.8ms, for the default value, keep 0.1ms margin, namely 0.9ms Typical value at 750KHz 4.9.5 Bit Low Zero Min CEC minimum data bit low period for logical 0. Typically it is 1.3ms, for the default value, keep 0.1ms margin, namely 1.2ms Typical value at 750KHz 4.9.5 Wake Up Opcode 1 Wake up opcode 0 -> When detected and a response is needed, the MPU is woken up 4.9.5 11000010 0x65 00000100 R/W [15:0] 0x66 01100101 0x67 00000101 R/W [15:0] 0x68 01000110 0x69 00000011 R/W [15:0] 0x6A 00010011 0x6B 00001010 R/W [15:0] 0x6C 10001100 R/W [0] R/W [15:0] 0x6E *******0 00000000 0x6F 10111100 R/W [0] 0x71 *******0 00000000 R/W [15:0] 0x72 11100001 0x73 00000010 R/W [15:0] 0x74 10100011 0x75 00000011 R/W [15:0] 0x76 0x77 Bit Low One 00000001 R/W 0x70 4.9.5 01011010 0x63 0x6D Bit Total Max CEC maximum data bit low period. Typically it is 2.75ms, for the default value, keep 0.1ms margin, namely 2.85ms Typical value at 750KHz 00001000 10000100 R/W [7:0] 01101101 Page 200 of 203 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Power On' opcode 0x78 0x79 0x7A 0x7B R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] 10001111 10000010 00000100 00001101 Wake Up Opcode 2 Wake up opcode 1 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Give Power Status' opcode 4.9.5 Wake Up Opcode 3 Wake up opcode 2 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Active Source' opcode 4.9.5 Wake Up Opcode 4 Wake up opcode 3 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Image View On' opcode 4.9.5 Wake Up Opcode 5 Wake up opcode 4 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Text View On' opcode 4.9.5 4.9.5 4.9.5 0x7C R/W [7:0] 01110000 Wake Up Opcode 6 Wake up opcode 5 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'System Audio Mode Request' opcode 0x7D R/W [7:0] 01000010 Wake Up Opcode 7 Wake up opcode 6 -> When detected and a Page 201 of 203 Rev G PROGRAMMING GUIDE Address (CEC) Type ADV7511 Bits Default Value Register Name Function Reference response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Deck Control' opcode 0x7E R/W [7:0] [7] 0x7F 01000001 1******* Wake Up Opcode 8 Wake up opcode 7 -> When detected and a response is needed, the MPU is woken up through an interrupt. Upon receiving this code an interrupt in generated. User can predefine the opcode in their application to automatically generate interrupt upon individual opcode. Default set at 'Play' opcode 4.9.5 CDC Arbitration Enable Controls whether to do special CDC messsage arbitration upon receiving CDC messsage 1 = enable 0 = disable 4.9.5 CDC HPD Response Enable Controls whether to toggle internal HPD signals when receving CDC HPD messsage 1 = enable 0 = disable 4.2.1 4.9.5 CEC Physical Address Physical address of CEC device 4.2.1 4.9.5 4.2.1 4.9.5 R/W [6] 0x80 *1****** 00000000 R/W [15:0] 0x81 00000000 0x82 R/W [7:0] 00000001 CDC HPD Timer Count Controls the time CDC HPD stays low when receiving CDC HPD toggle message. HPD low = CDC_HPD_Timer_Count * CEC_CLK. CEC_CLK is 760KHz by default. 0x83 RO [7] 0******* CDC HPD HPD signal from CEC interface 4.2.1 4.9.5 R/W [11:0] Y or RGB Minimum Minumum value for Y or RGB for video data clipping. 4.3.8 Y or RGB Maximum Maximum value for Y or RGB for video data clipping. CbCr Minimum Minimum value for Cb/Cr for video data clipping CbCr Maximum Maximum value for Cb/Cr for video data clipping. 0xC0 ****0000 0xC1 00000000 0xC2 ****1111 R/W [11:0] 0xC3 11111111 0xC4 ****0000 R/W [11:0] 0xC5 00000000 0xC6 ****1111 R/W 0xC7 [11:0] 11111111 Page 202 of 203 4.3.8 4.3.8 4.3.8 Rev G PROGRAMMING GUIDE ADV7511 Page 203 of 203 Rev G