We're using an ADV7619 with HDCP support to decrypt HDCP video.
We're trying to configure the adv7619 as a repeater for HDCP.
To accomplish this it's my understanding that we need to do the following:
Set BCAPS on initialization.
Determine we want HDCP from upstream AKSV writes (read from IO Map Addr 0x98)
Do downstream authentication and pull in BKSV values, Bstatus, and Bcaps.
Write BKSV values into repeater map 0x80-0xFF changing pages if there are a lot of downstream BKSVs.
Set Bstatus based on downstream devices count and depth and propagate any errors.
Set KSV_LIST_READY at repeater map 0x71.
After doing this I get HDCP Key fail from a Quantum data 780D HDMI protocol analyzer, and a Blu Ray player I'm using to test sends black video DVI mode ( HDMI map 0x05). The blu ray video also flickers white constantly if that helps. It also seems to consistently write AKSV values. I'm not sure if that's expected.
Is there anything else major that should happen?
Do we need to Add the KSV of the downstream transmitter? In our case, we're using a 7511. How do we pull its KSV? I'm pulling from the 7511's 0xB0-0xB4 addresses after setting 0xBA, but the ksv value doesn't have the expected 20 1's and 0's like the downstream KSV's I'm reading.
The ADV7619 Reference Manual mentions the external controller should clear KSV_LIST_READY after the SHA-1 has been computed.
Do we need to clear KSV_LIST_READY immediately after BCAPS is set by the 7619? Or can we simply clear it on re-authentication, errors, and bstatus/bcaps changes?
Are there any timing restrictions between servicing the interrupts and setting the ready's?