I2C register access configuration inquiry

Dear specialist,

I have checked out your forum link: https://ez.analog.com/video/w/documents/773/adv7619-design-support-files

My interested working scenario is 0x80 rather than your example of "98 03 82 ; 24 bit SDR 422 Mode 0", can I reuse this golden example by only overriding address 0x03 with the data of 0x80? If not, could you help to provide some working register configuration with the format of 0x80?

Another question about the indirect subaddress accessing, if you designate the the address which is not in Page 0, for example, "98 FB 68 ; HDMI". How should I assign the new subaddress? Is 0x68 a 8-bit address or 7-bit address? From my trial, it seems to me an 8-bit address.

Following your golden example of ":02-07 720p,1080i,1080p In - 24-bit YCbCr 422 Out:" I couldn't make these indirect accessing work, I got those errors for the last part of your configuration when I was trying to follow your example.

72 01 00 ; Set N Value(6144)
72 02 18 ; Set N Value(6144)
72 03 00 ; Set N Value(6144)
72 15 01 ; Input 422 (YCrCb) with Separate Syncs, 44.1kHz fs
72 16 ED ; YCrCb 422 Style 3
72 18 46 ; CSC disabled
72 3B 80 ; PR Auto Mode
72 40 80 ; General Control Packet Enable
72 41 10 ; Power Down control
72 48 08 ; Data right justified
72 49 A8 ; Set Dither_mode - 12-to-10 bit
72 4C 04 ; 8 bit Output
72 55 20 ; Set YCrCb 422 in AVinfo Frame
72 56 08 ; Set active format Aspect
72 96 20 ; HPD Interrupt clear
72 98 03 ; ADI Required Write
72 99 02 ; ADI Required Write
72 9C 30 ; PLL Filter R1 Value
72 9D 61 ; Set clock divide
72 A2 A4 ; ADI Required Write
72 A3 A4 ; ADI Required Write
72 AF 16 ; Set HDMI Mode
72 BA 60 ; No clock delay
72 DE 9C ; ADI Required Write
72 E4 60 ; VCO Swing Reference Voltage
72 FA 7D ; Nbr of times to search for good phase

Parents
  • 0
    •  Analog Employees 
    on Jul 16, 2019 1:32 PM over 1 year ago

    The writes to address 72 are to a ADV7511 on another board.  If you are just dealing with the ADV7619 then you can ignore those writes.  These scripts are for a system with an ADV7619 and an ADV7511.

    Regarding 98 FB 68, the 68 is 8-bit addressing that the HDMI page will respond to.

    Changing 98 03 will change the output format as defined in the software manual.

  • Hi Specialist,

    When I follow your example of ":02-07 720p,1080i,1080p In - 24-bit YCbCr 422 Out:" that I mentioned before, I encountered some errors for some registers ADI examples highlighted but couldn't be found in your register map under the circumstances that I have a real HDMI input(1080p60) connected in. If I have no input connected in, I don't have this problem, could you help to confirm whether those highlighted in scripts really matter. Thanks.
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xF4 0x80 #; CEC
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xF5 0x7C #; INFOFRAME
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xF8 0x4C #; DPLL
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xF9 0x64 #; KSV
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xFA 0x6C #; EDID
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xFB 0x68 #; HDMI
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xFD 0x44 #; CP
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0xC0 0x03 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x01 0x06 #; Prim_Mode =110b HDMI-GR
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x02 0xF5 #; Auto CSC, YCrCb out, Set op_656 bit
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x03 0x80 #; 16 bit SDR 422 Mode 0
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x05 0x28 #; AV Codes Off
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x06 0xA6 #; Invert VS,HS pins
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x0C 0x42 #; Power up part
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x15 0x80 #; Disable Tristate of Pins
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x19 0x83 #; LLC DLL phase
    root@birddog-c30eb:~# i2cset -y 1 0x4c 0x33 0x40 #; LLC DLL MUX enable
    root@birddog-c30eb:~# i2cset -y 1 0x22 0xBA 0x01 #; Set HDMI FreeRun
    root@birddog-c30eb:~# i2cset -y 1 0x22 0x6C 0x00 #; Required ADI write
    root@birddog-c30eb:~# i2cset -y 1 0x32 0x40 0x81 #; Disable HDCP 1.1 features
    root@birddog-c30eb:~# i2cset -y 1 0x26 0xB5 0x01 #; Setting MCLK to 256Fs
    i2cset -y 1 0x34 0xC0 0x03 #; ADI Required write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0xC0 0x03 #; ADI Required write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x00 0x08 #; Set HDMI Input Port A (BG_MEAS_PORT_SEL = 001b)
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x02 0x03 #; ALL BG Ports enabled
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x03 0x98 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x10 0xA5 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x1B 0x08 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x45 0x04 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x97 0xC0 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x3D 0x10 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x3E 0x69 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x3F 0x46 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x4E 0xFE #; ADI Required Write 
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x4F 0x08 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x50 0x00 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x57 0xA3 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x58 0x07 #; ADI Required Write
    i2cset -y 1 0x34 0x6F 0x08 #; ADI Required Write
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x6F 0x08 #; ADI Required Write
    root@birddog-c30eb:~# #i2cset -y 1 0x34 0x83 0xFC #; Enable clock terminators for port A & B
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x83 0xFE #; Enable clock terminators for port A 
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x84 0x03 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x85 0x10 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x86 0x9B #; ADI Required Write 
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x89 0x03 #; ADI Required Write 
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x9B 0x03 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x93 0x03 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x5A 0x80 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x9C 0x80 #; ADI Required Write
    i2cset -y 1 0x34 0x9C 0xC0 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x9C 0xC0 #; ADI Required Write
    Error: Write failed
    root@birddog-c30eb:~# i2cset -y 1 0x34 0x9C 0x00 #; ADI Required Write
  • Sorry specialist, I need to make a clarification here, I am following your example of ":02-07 720p,1080i,1080p In - 24-bit YCbCr 422 Out:" because it is the closest one to my really interested format of "16-bit YCbCr 422 Out". According to your suggestion previously, it seems that I only need to modify the register 0x03 with 0x80 which is my interested format. Is that correct? If that is the right case, what I was described above matches exactly with this.  

Reply
  • Sorry specialist, I need to make a clarification here, I am following your example of ":02-07 720p,1080i,1080p In - 24-bit YCbCr 422 Out:" because it is the closest one to my really interested format of "16-bit YCbCr 422 Out". According to your suggestion previously, it seems that I only need to modify the register 0x03 with 0x80 which is my interested format. Is that correct? If that is the right case, what I was described above matches exactly with this.  

Children
No Data