Most of the documentation for the ADV7182 assumes that you are using a external 28.63636 MHz crystal to clock the ADV7180/ADV7182. How do I use an external oscillator instead?
Firstly you must use an oscillator with an output less than 1.8Vpp. The oscillator must output a 28.63636 MHz clock with a tolerance of +/- 50ppm.
Connect the output of the clock oscillator to the XTALN pin of the ADV7182. Leave the XTALP pin of the ADV7182 floating.
The ADV7182 normally drives a voltage out on the XTALN and XTALP pins. This voltage is used to power the external crystal. However if a clock oscillator is used instead of a crystal, then this voltage on the XTAL pins can affect the oscillator performance.
To prevent this you should perform the following I2C write. Write 0x04 to register 0x13 in the User Main Map. This write sets the XTAL_TTL_SEL bit to 1.
XTAL_TTL_SEL(register 0x13, bit)
When XTAL_TTL_SEL bit is set to 0 (default) the ADV7182 will drive out 1.8 V on its XTALN and XTALP pins.
When XTAL_TTL_SEL bit is set to 1 the ADV7182 will not drive out a voltage on its XTALN and XTALP pins.
The ADV7182 datasheet states that register 0x13 is a read only register (status register 3). Actually two registers share the register address 0x13.
When you read from register 0x13, you read back the Status Register 3 data ( this is read only) . When you write to register 0x13 you write to an internal control register. The internal control register is write only and contains the XTAL_TTL_SEL bit .