Both the number of transceivers and common block present are held in the Configuration register bank and can be used as maximum values in the configuration loops, saving firmware regeneration.
As an example, to program each COMMON PLL block:
1.Read how many COMMON blocks exist in the system (num_com = AXI read 0x8).
2.Loop over each COMMON i = 0; i < num_com; i++.
3.Set the Common Interface number to access (0 to (num_com – 1)) (AXI Write i to 0x020).
4.To write to the DRP:
a.Program the value to write over the DRP interface (AXI Write <value> 0x108).
b.Program the DRP address value also setting the write flag. To set the write flag, OR the address with 0x8000_0000 (AXI Write (<address> | 0x8000_0000) to 0x104).
5.To read from the DRP:
a.Program the DRP address value and also set the read flag. To set the read flag, OR the address with 0x4000_0000 (AXI Write (<address> | 0x4000_0000) to 0x104).