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.