ADV7604 doesn't receive any video after boot from time to time. It happens randomly, but usually we have to reboot 10-20 times to see the problem. We have a camera with 1080p60 RGB 4:4:4 connected to the input. The pixel frequency should be 148.5 MHz, and the mean frequency is close to that, but the minimum frequency is ~146.5 MHz and the maximum frequency is ~150.5 MHZ.
When we don't receive any video we normally have the following situation:
- The measured TMDS frequency in ADV7604 is toggling between 150 MHz and 151 MHz (HDMI map 0x52).
- The PLL in ADV7604 has locked on 148.25 MHz, 250 kHz to low.
- The chip has locked on the clock, but it has not locked on the data. IO map register 0x6a is 0x30: TMDS clock is detected on port A, and the TMDS PLL has locked on it, while DE regeneration block and Vertical sync filter are not locked.
- Register 0x6e in IO map is set to 0xc0 when the driver is loaded by the kernel and never touched after that. The register enables V_LOCKED_ST and DE_REGEN_LCK_ST. If I read out register 0x6e after boot it is 0xc0 when everything is ok, but it is 0x00 when we don't receive any video.
We use an oscillator as clock source which should be accurate, and we have tested with a crystal as well.
The source code for our driver is available from http://git.linuxtv.org/hverkuil/cisco.git?a=shortlog;h=refs/heads/cobalt-mainline under drivers/media/video/adv7604.c (and we plan to upstream it into the linux kernel next year, http://ez.analog.com/message/19248).
Register dumps for some of the I2C maps is attacted to this post:
- adv7604-reg-dump-failing.txt - no video
- adv7604-reference-ok.txt - video ok
Do you have any suggestions for how we should proceed?
Message was edited by: mra Removed attachments and posted updated versions in new post