The user can refer to “ adi_board_adrv9010_JesdBringup “ API function in adi_adrv9010_daughter_board.c file. Take the link sharing mode with Framer 0 & Framer1 as an example. The JESD204 link sharing framer link bring up procedure in general follows the following steps on ADI EVB platform:
1. Mask all ADRV9010 Framer sysref by call API function adi_adrv9010_FramerSysrefCtrlSet() with ADI_ADRV9010_ALL_FRAMERS parameter;
2. Mask all sysrefs in FPGA side by call API function adi_fpga9010_SysRefEnableSet();
3. Disable all the FPGA deframer by call API function adi_fpga9010_DeframerDisable();
4. Disable all the ADRV9010 Framers by call API function adi_adrv9010_FramerLinkStateSet();
5. Override FPGA side DFE LPM in PHY before sending sysref by call API function adi_fpga9010_ChannelDfeLpmOverrideSet()
6. Enable ADRV9010 Framer1 by call API function adi_adrv9010_FramerLinkStateSet();
7. Unmask incoming sysref in ADRV9010 Framer1 by call API function adi_adrv9010_FramerSysrefCtrlSet() with parameter ADI_ENABLE;
8. Clock chip send out one shot sysref, On ADI EVB platform use one shot sysref;
9. Disable ADRV9010 Framer1 by call API function adi_adrv9010_FramerLinkStateSet();
10. Mask sysref in ADRV9010 Framer1 by call API function adi_adrv9010_FramerSysrefCtrlSet() with parameter ADI_DISABLE ;
11. Enable ADRV9010 Framer0 by call API function adi_adrv9010_FramerLinkStateSet();
12. Unmask incoming sysref in ADRV9026 Framer0 by call API function adi_adrv9010_FramerSysrefCtrlSet();
13. Disable FPGA side DFE LPM in PHY before sysref by call API function adi_fpga9010_ChannelDfeLpmOverrideSet();
14. Wait 100ms for clock recovery on FPGA to lock;
15. Enable/reset FPGA side Deframer(s) by call API function adi_fpga9010_DeframerReset();
16. Disable FPGA side DFE LPM in PHY before sysref by call API function adi_fpga9010_ChannelDfeLpmOverrideSet();
17. Unmask incoming sysref in FPGA deframers by call API function adi_fpga9010_SysRefEnableSet();
18. Request sysref to bring up Rx links;
19. Mask sysref in FPGA deframers by call API function adi_fpga9010_SysRefEnableSet();
20. Check ADRV9010 Framer0 & Framer1 status by call API function adi_adrv9010_FramerStatusGet()
The user can also find the non-link sharing mode JESD204 set up procedure in the “ adi_board_adrv9010_JesdBringup “ API function in adi_adrv9010_daughter_board.c file .