AnsweredAssumed Answered

ADV7511 Linux DRM driver

Question asked by Michael.Wilson on Jan 9, 2014
Latest reply on Jan 10, 2014 by DaveD

The Linux DRM driver for the adv7511 has two arrays for setting registers: adv7511_register_defaults and adv7511_fixed_registers. Both are used in the function adv7511_probe(...) which is called to init the driver and the IC when the driver is loaded.


The array adv7511_register_defaults contains values for all entire register map from address 0 to adrress 0xFF. The array adv7511_fixed_registers is a short list of the 'Fixed-registers-that-must-be-set-on-power-up', per ADI documentation.


My question is why are the values for the fixed registers different in the register_defaults array versus the fixed_registers array. The fixed_registers array contains the values prescribed in the docs. Is there something special about the register_defaults values for the fixed registers? For example, the fixed values for registers 0x98 & 0x9A are 0x03 & 0xE0. The defaults array values for these registers are 0x0B & 0x00.