The JESD204B/C AXI_ADXCVR Highspeed Transceivers peripheral driver is a simple driver that supports the AXI_ADXCVR Physical Layer Highspeed Transceivers HDL Core. The driver reads some configuration from the initialization structure and configures the peripheral accordingly. After configuration has completed the JESD204 link is enabled, this driver also supports PHY layer PRBS generation and checking.
struct adxcvr_init axi_xcvr_param = { .name = "axi_xcvr", .base = RX_XCVR_BASEADDR, .sys_clk_sel = ADXCVR_SYS_CLK_CPLL, .out_clk_sel = ADXCVR_REFCLK_DIV2, .lpm_enable = 0, .ref_rate_khz = 625000, .lane_rate_khz = 6250000, .export_no_os_clk = true }; struct adxcvr *axi_xcvr; status = adxcvr_init(&axi_xcvr, &axi_xcvr_param); if (status != 0) { printf("error: %s: adxcvr_init() failed\n", axi_xcvr->name); return status; } status = adxcvr_clk_enable(axi_xcvr); if (status != 0) { printf("error: %s: adxcvr_clk_enable() failed\n", axi_xcvr->name); return status; }
Source code documentation for the driver is automatically generated using the Doxygen tool and it is available at: