I am using ADV7610 in my FPGA(kintex 7) design and I have configured adv7610 (ADV7610BBCZ-P) register through I2C but it is not able to detect the source.It is running in free run mode.
PC => HDMI to DVI CABLE => ADV7610 => READING OUTPUT PIN OF ADV7610 through chipscope.
I need output of 1920X1080p ,24 BIT RGB888 SDR MODE 0 from ADV7610.
98 FF 80 ; I2C reset98 F4 80 ; CEC98 F5 7C ; INFOFRAME98 F8 4C ; DPLL98 F9 64 ; KSV98 FA 6C ; EDID98 FB 68 ; HDMI98 FD 44 ; CP98 01 06 ; Prim_Mode =110b HDMI-GR98 02 F2 ; 98 03 40 ; 24 bit SDR 444 Mode 098 05 28 ; AV Codes Off98 06 A6 ; Invert VS,HS pins98 0B 44 ; Power up part98 0C 42 ; Power up part98 14 3F ; Max Drive Strength98 15 80 ; Disable Tristate of Pins98 19 83 ; LLC DLL phase98 33 40 ; LLC DLL enable44 BA 01 ; Set HDMI FreeRun64 40 81 ; Disable HDCP 1.1 features68 9B 03 ; ADI recommended setting68 C1 01 ; ADI recommended setting68 C2 01 ; ADI recommended setting68 C3 01 ; ADI recommended setting68 C4 01 ; ADI recommended setting68 C5 01 ; ADI recommended setting68 C6 01 ; ADI recommended setting68 C7 01 ; ADI recommended setting68 C8 01 ; ADI recommended setting68 C9 01 ; ADI recommended setting68 CA 01 ; ADI recommended setting68 CB 01 ; ADI recommended setting68 CC 01 ; ADI recommended setting68 00 00 ; Set HDMI Input Port A68 83 FE ; Enable clock terminator for port A68 6F 08 ; ADI recommended setting68 85 1F ; ADI recommended setting68 87 70 ; ADI recommended setting68 8D 04 ; LFG68 8E 1E ; HFG68 1A 8A ; unmute audio68 57 DA ; ADI recommended setting68 58 01 ; ADI recommended setting68 75 10 ; DDC drive strength
when i am configuring these values along with EDID value.then it is able to detect the source but when sending white colour its output value is coming 0xfffec9 in place of 0xffffff ,
when sending red colour it value is coming correct i.e 0xff0000 while for green and blue their values are not coming correct i.e 0x00a032 and 0x005e93 respectively.
i think i have not done proper edid configuration or may be something wrong that i am not able to find. so, please help me in resolving this issue.
i have also attached schematic of adv7610 .
68 01 01
64 74 01
EDID CONFIG(generated through ADVANTIV @EEDITGOLD software by analog devices)
0x6C 0x00 0x000x6C 0x01 0xFF0x6C 0x02 0xFF0x6C 0x03 0xFF0x6C 0x04 0xFF0x6C 0x05 0xFF0x6C 0x06 0xFF0x6C 0x07 0x000x6C 0x08 0x520x6C 0x09 0x740x6C 0x0A 0x010x6C 0x0B 0x000x6C 0x0C 0x010x6C 0x0D 0x000x6C 0x0E 0x000x6C 0x0F 0x000x6C 0x10 0x000x6C 0x11 0x000x6C 0x12 0x010x6C 0x13 0x040x6C 0x14 0xA10x6C 0x15 0x000x6C 0x16 0x000x6C 0x17 0x780x6C 0x18 0x040x6C 0x19 0xEE0x6C 0x1A 0x950x6C 0x1B 0xA30x6C 0x1C 0x540x6C 0x1D 0x4C0x6C 0x1E 0x990x6C 0x1F 0x260x6C 0x20 0x0F0x6C 0x21 0x500x6C 0x22 0x540x6C 0x23 0x230x6C 0x24 0x080x6C 0x25 0x000x6C 0x26 0x010x6C 0x27 0xC00x6C 0x28 0x010x6C 0x29 0xC00x6C 0x2A 0x010x6C 0x2B 0xC00x6C 0x2C 0x010x6C 0x2D 0xC00x6C 0x2E 0x010x6C 0x2F 0xC00x6C 0x30 0x010x6C 0x31 0xC00x6C 0x32 0x010x6C 0x33 0xC00x6C 0x34 0x010x6C 0x35 0xC00x6C 0x36 0x020x6C 0x37 0x3A0x6C 0x38 0x800x6C 0x39 0x180x6C 0x3A 0x710x6C 0x3B 0x380x6C 0x3C 0x2D0x6C 0x3D 0x400x6C 0x3E 0x580x6C 0x3F 0x2C0x6C 0x40 0x450x6C 0x41 0x000x6C 0x42 0x800x6C 0x43 0x680x6C 0x44 0x210x6C 0x45 0x000x6C 0x46 0x000x6C 0x47 0x1E0x6C 0x48 0x010x6C 0x49 0x1D0x6C 0x4A 0x800x6C 0x4B 0x180x6C 0x4C 0x710x6C 0x4D 0x380x6C 0x4E 0x2D0x6C 0x4F 0x400x6C 0x50 0x580x6C 0x51 0x2C0x6C 0x52 0x450x6C 0x53 0x000x6C 0x54 0x800x6C 0x55 0x680x6C 0x56 0x210x6C 0x57 0x000x6C 0x58 0x000x6C 0x59 0x1E0x6C 0x5A 0x000x6C 0x5B 0x000x6C 0x5C 0x000x6C 0x5D 0xFC0x6C 0x5E 0x000x6C 0x5F 0x540x6C 0x60 0x450x6C 0x61 0x530x6C 0x62 0x540x6C 0x63 0x200x6C 0x64 0x540x6C 0x65 0x560x6C 0x66 0x0A0x6C 0x67 0x200x6C 0x68 0x200x6C 0x69 0x200x6C 0x6A 0x200x6C 0x6B 0x200x6C 0x6C 0x000x6C 0x6D 0x000x6C 0x6E 0x000x6C 0x6F 0xFD0x6C 0x70 0x000x6C 0x71 0x010x6C 0x72 0x010x6C 0x73 0x010x6C 0x74 0x010x6C 0x75 0x010x6C 0x76 0x000x6C 0x77 0x0A0x6C 0x78 0x200x6C 0x79 0x200x6C 0x7A 0x200x6C 0x7B 0x200x6C 0x7C 0x200x6C 0x7D 0x200x6C 0x7E 0x010x6C 0x7F 0x9E
The schematic looks good, The EDID looks good, The write looks good except I have to ask where you came up with the drive strength settings
1) Drive strength setting are based on board layout. The first time you build a board you need to pick the best drive strength setting based on a quick Schmoo plot run. Using incorrect setting can cause reflections and bad data transmissions. Especially a problem at high data rates like 1080p. Here a link about the Schmoo plot: https://ez.analog.com/video/f/q-a/6377/can-adv7842-handle-components-1080p-60/21158#21158. It's good you have 33Ohm series resistors in there.
2) A couple of things to check:
a) Is the source really transmitting 1080p? Can be checked by scoping TMDS clock line, should have +- 300mV 148.5MHz square wave riding at about 3Vdc.
b) Is chip locked to incoming stream. TMDS_LCK... and V_LOCKED... bit should be set. Read via I2C
c) is the LLC line 148.5MHz?
d) Make sure you have a ADV7610BBCZ-P part not a non-P part. Unless you are a HDCP adopter you should not be able to even buy a keyed part. Use keyless parts if you don't need HDCP, they're easier to work with in my opinion.
3) Does the PC see the ADV7610 edid?
Note: you don't have to unmute audio sine you are not using it. But doesn't really matter.
Just a few initial suggestions to look at
Thanks for the suggestion.By setting proper driver strength setting, my setup is working now.
i have just one more query.
when i am configuring the above mentioned values in my trail post through I2C,then i am noticing that my laptop (i.e source) got detected if hdmi to dvi cable is not connected to my laptop during I2C register configuration.If my laptop is connected through my board through hdmi to dvi cable during I2C configuration,then my laptop doesn't get detected.
Apart from the above mentioned configuration,i have made these changes
1. i am also enabling internal edid.
EDID_A_ENABLE, Addr 64 (Repeater), Address 0x74 Enables I2C access to the internal EDID RAM from DDC Port A. EDID_A_ENABLE Description 0 (default) - Disables E-EDID for Port A 1 - Enables E-EDID for Port A
2. DISABLE HDMI FreeRun - 0x44 0xBA 0x00 ;
Please help in sorting out these query.
I am a bit confused by your questions
1) The ADV7610 detects laptop connection by monitoring the RXA_5V pin. When it goes high then then a source connected
2) Assuming the internal EDID has been loaded into the 7610, when source connection is detected, then the 7610 can pull HPA