Wiki

This version (02 Nov 2023 08:48) was approved by George Mois.The Previously approved version (08 Apr 2022 14:22) is available.Diff

ADI JESD204B/C AXI_ADXCVR Highspeed Transceivers No-OS Driver

Supported Devices

Description

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.

Initialization example

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;
}

Code Documentation

Source code documentation for the driver is automatically generated using the Doxygen tool and it is available at:

Source Code

resources/tools-software/uc-drivers/jesd204/axi_adxcvr.txt · Last modified: 02 Nov 2023 08:48 by George Mois