Hello,
I have been investigating the ADV7280A-M and have some questions with regards to the Linux driver and the script (ADV7280AM_Cust-VER.5.0.txt) provided by ADI.
From what I understand the drivers/media/i2c/adv7180.c driver is compatible with all the ADV7X8X devices, is this correct?
While looking at the driver and the scripts alongside the datasheets, for both ADV7280A-M and ADV7180, I noticed some disagreements as to the contents of certain registers. I realise there are several undocumented registers and even "read-only" registers that redirect for writes (ez.analog.com/.../adv7280a---itu-r-bt-656-output).
Register 0x0F [Power Management]: Do the reserved bits do anything? More specifically bit 2 which was used in the ADV7180 but not the ADV7280A (non-A datasheet is missing this bit from register map).
Register 0x52 [CVBS_TRIM]: This appears in the datasheet for the ADV7180 but not the ADV7280, however the script still sets this register, does this exist? Does this write do anything?
Register 0x03 [Output Control]: Bits 5:0 these are marked as reserved in the ADV7280 datasheet whereas for the ADV7180 only bit 1 is reserved. Either case the script sets bit 1 what is this doing? Are the other reserved bits for the ADV7280 reserved or unspecified?
Register 0x04 [Extended Ouput Control]: Bits 6:4 are reserved for both but the default and description differ. ADV7180 reserves bit 6 as 1 and 5:4 as don't care. ADV7280 defaults these bits to 011 but doesn't explicitly state reserved in the function column just the description. Are these bits used internally? Do they differ between the devices?
Register 0x13 [Status 3 (read only)]: I realise there is some funky redirection for writes here from the question linked above, are the other bits in this register doing anything? Additionally what is the default state? Do I have to write to this if using an oscillator rather than a crystal?
When I started working on this using the Linux driver, I was having some bizarre video output when disconnect/connecting video sources and/or switching inputs. The colours of the image being incorrect and other oddities. I noticed that the registers had reserved bits set, specifically 0x03 and 0x04, so I read and masked these bits when writing and since then the video corruption doesn't appear to happen anymore.
I have also observed a minor oddity where on first power-up the device never successfully locks, with the bottom few lines jittering on a slope. On an input change (just writing to 0x00) to another channel and back fixes this and every subsequent change of video always locks. Does anyone have any idea why the video never locks on the first power on?
Thanks,
Chris