AnsweredAssumed Answered

Simple configuration of ADV7511 in bare metal

Question asked by neowt_leica on Apr 8, 2018
Latest reply on Apr 10, 2018 by neowt_leica

Hi,

  Problem:

      Unable to detect a HDMI signal after configuration of ADV7511.

 

  My setup:

      Windows 7

      Xilinx Vivado, SDK 2017.1

      ADV7511 on Xilinx ZC706 platform

      Analog Devices HDL github master downloaded 4/4/2018

      No-os github master downloaded 4/4/2018,

      

I am trying to get ADV7511 to output a video stream for verification of some video processing algo.  The app is running on bare metal.

 

I have tried to follow this instructions: ADV7511 Ref design No-OS setup for ZC706, but I have difficulty mapping the HAL api to my platform.  So I followed instruction by : ADV7511_Programming_Guide.   But my monitor is not  able to detect a HDMI signal.  FPGA side is already sending Hsync, Vsync, DE and 24 bit data.

 

  I followed Section 3 Quick Start guide to configure the I2C registers, taking care to modify only the bits indicated in the instruction.  So my step for modifying each reg is 

I2C set reg addr  

I2C read reg

Update reg using masking

I2C write reg addr and modified reg

 

These are the registers value I use:

                                                         ___mask__  _Val_

{PCB_ADV7511_IIC_ADDR, 0x41, 0b01000000, 0x00},
{PCB_ADV7511_IIC_ADDR, 0x98, 0b11111111, 0x03},
{PCB_ADV7511_IIC_ADDR, 0x9a, 0b11100000, 0b111},
{PCB_ADV7511_IIC_ADDR, 0x9c, 0b11111111, 0x30},
{PCB_ADV7511_IIC_ADDR, 0x9d, 0b00000011, 0x01},
{PCB_ADV7511_IIC_ADDR, 0xa2, 0b11111111, 0xa4},
{PCB_ADV7511_IIC_ADDR, 0xa3, 0b11111111, 0xa4},
{PCB_ADV7511_IIC_ADDR, 0xe0, 0b11111111, 0xd0},
{PCB_ADV7511_IIC_ADDR, 0xf9, 0b11111111, 0x00},
{PCB_ADV7511_IIC_ADDR, 0x15, 0b00001111, 0x00}, // input id 0, 4:4:4 or RGB, separate sync, table 16, adv7511 programming guide
//{PCB_ADV7511_IIC_ADDR, 0x16, 0b00001100, 0x??}, // Input style, no need for input id 0
//{PCB_ADV7511_IIC_ADDR, 0x48, 0b00011000, 0x??}, // channel alignment, no need for input id 0
{PCB_ADV7511_IIC_ADDR, 0x17, 0b00000010, 0x01}, // aspect ratio 16:9
{PCB_ADV7511_IIC_ADDR, 0x16, 0b11000000, 0x00}, // output format 4:4:4
{PCB_ADV7511_IIC_ADDR, 0x18, 0b10000000, 0x00}, // YCbCr to RGB, CSC disabled
{PCB_ADV7511_IIC_ADDR, 0x18, 0b01100000, 0x00}, // YCbCr to RGB Scaling factor
{PCB_ADV7511_IIC_ADDR, 0xaf, 0b00000010, 0x01}, // HDMI mode, not DVI
{PCB_ADV7511_IIC_ADDR, 0x40, 0b10000000, 0x01}, // enable GC
{PCB_ADV7511_IIC_ADDR, 0x4c, 0b00001111, 0x04}, // set 24b per pix, BUT user guide say this reg is RO
{PCB_ADV7511_IIC_ADDR, 0xaf, 0b10000000, 0x01}, // enable HDCP
//{PCB_ADV7511_IIC_ADDR, 0x97, 0b01000000, 0x01}, // clear BKSV, not done

 

Is there anything else need I need to do?

 

Neo

Outcomes