no-OS
axi_adxcvr.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef AXI_ADXCVR_H_
34 #define AXI_ADXCVR_H_
35 
36 /******************************************************************************/
37 /***************************** Include Files **********************************/
38 /******************************************************************************/
39 #include <stdint.h>
40 #include <stdbool.h>
41 #include "xilinx_transceiver.h"
42 
43 /******************************************************************************/
44 /********************** Macros and Types Declarations *************************/
45 /******************************************************************************/
46 
47 // Selection of PLL reference clock source to drive the RXOUTCLK
48 #define ADXCVR_SYS_CLK_CPLL 0x00
49 #define ADXCVR_SYS_CLK_QPLL1 0x02
50 #define ADXCVR_SYS_CLK_QPLL0 0x03
51 
52 // adi,out-clk-select
53 #define ADXCVR_OUTCLK_PCS 1
54 #define ADXCVR_OUTCLK_PMA 2
55 #define ADXCVR_REFCLK 3
56 #define ADXCVR_REFCLK_DIV2 4
57 #define ADXCVR_PROGDIV_CLK 5 /* GTHE3, GTHE4, GTYE4 only */
58 
63 struct adxcvr {
65  const char *name;
67  uint32_t base;
73  bool tx_enable;
75  bool lpm_enable;
77  uint32_t num_lanes;
79  uint32_t lane_rate_khz;
81  uint32_t ref_rate_khz;
85  uint32_t sys_clk_sel;
89  uint32_t out_clk_sel;
94 };
95 
101 struct adxcvr_init {
103  const char *name;
105  uint32_t base;
109  uint32_t sys_clk_sel;
113  uint32_t out_clk_sel;
117  uint32_t lane_rate_khz;
119  uint32_t ref_rate_khz;
122 };
123 
127 extern const struct no_os_clk_platform_ops adxcvr_clk_ops;
128 
129 /******************************************************************************/
130 /************************ Functions Declarations ******************************/
131 /******************************************************************************/
133 int adxcvr_drp_read(struct adxcvr *xcvr,
134  unsigned int drp_port,
135  unsigned int reg,
136  unsigned int *val);
138 int adxcvr_drp_write(struct adxcvr *xcvr,
139  unsigned int drp_port,
140  unsigned int reg,
141  unsigned int val);
143 int32_t adxcvr_status_error(struct adxcvr *xcvr);
145 int adxcvr_clk_enable(struct adxcvr *xcvr);
147 int adxcvr_clk_disable(struct adxcvr *xcvr);
149 int32_t adxcvr_init(struct adxcvr **ad_xcvr,
150  const struct adxcvr_init *init);
152 int32_t adxcvr_remove(struct adxcvr *xcvr);
154 int adxcvr_clk_set_rate(struct adxcvr *xcvr,
155  unsigned long rate,
156  unsigned long parent_rate);
158 int32_t adxcvr_write(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t reg_val);
160 int32_t adxcvr_read(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t *reg_val);
161 #endif
adxcvr_clk_enable
int adxcvr_clk_enable(struct adxcvr *xcvr)
AXI ADXCVR Clock Enable.
Definition: axi_adxcvr.c:479
xilinx_xcvr::speed_grade
enum axi_fpga_speed_grade speed_grade
Definition: xilinx_transceiver.h:174
AXI_INFO_FPGA_DEV_PACKAGE
#define AXI_INFO_FPGA_DEV_PACKAGE(info)
Definition: clk_axi_clkgen.c:68
timeout
uint32_t timeout
Definition: ad413x.c:49
no_os_alloc.h
adxcvr::lane_rate_khz
uint32_t lane_rate_khz
Definition: altera_adxcvr.h:97
adxcvr_init::export_no_os_clk
bool export_no_os_clk
Definition: axi_adxcvr.h:121
AXI_PCORE_VER_MAJOR
#define AXI_PCORE_VER_MAJOR(version)
Definition: axi_sysid.h:59
xilinx_transceiver.h
Driver for the Xilinx High-speed transceiver dynamic reconfiguration.
adxcvr_remove
int32_t adxcvr_remove(struct adxcvr *xcvr)
adxcvr_remove
Definition: altera_adxcvr.c:489
adxcvr::name
const char * name
Definition: altera_adxcvr.h:90
xilinx_xcvr_calc_qpll_config
int xilinx_xcvr_calc_qpll_config(struct xilinx_xcvr *xcvr, uint32_t sys_clk_sel, uint32_t refclk_khz, uint32_t lane_rate_khz, struct xilinx_xcvr_qpll_config *conf, uint32_t *out_div)
Definition: xilinx_transceiver.c:668
adxcvr::qpll_enable
bool qpll_enable
Definition: axi_adxcvr.h:71
adxcvr_clk_ops
const struct no_os_clk_platform_ops adxcvr_clk_ops
adxcvr clock ops
Definition: axi_adxcvr.c:755
no_os_clk_init_param::platform_ops
const struct no_os_clk_platform_ops * platform_ops
Definition: no_os_clk.h:50
adxcvr_clk_set_rate
int adxcvr_clk_set_rate(struct adxcvr *xcvr, unsigned long rate, unsigned long parent_rate)
AXI ADXCVR Clock Set Rate.
Definition: axi_adxcvr.c:309
adxcvr_status_error
int32_t adxcvr_status_error(struct adxcvr *xcvr)
AXI ADXCVR Status Read.
Definition: axi_adxcvr.c:433
xilinx_xcvr::family
enum axi_fpga_family family
Definition: xilinx_transceiver.h:173
ADXCVR_DRP_PORT_ADDR_COMMON
#define ADXCVR_DRP_PORT_ADDR_COMMON
Definition: axi_adxcvr.c:84
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
adxcvr_drp_write
int adxcvr_drp_write(struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int val)
AXI ADXCVR DPR Port Write.
Definition: axi_adxcvr.c:199
adxcvr::ref_rate_khz
uint32_t ref_rate_khz
Definition: axi_adxcvr.h:81
ADXCVR_PROGDIV_CLK
#define ADXCVR_PROGDIV_CLK
Definition: axi_adxcvr.h:57
pr_err
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:88
no_os_delay.h
Header file of Delay functions.
ADXCVR_REG_DRP_SEL
#define ADXCVR_REG_DRP_SEL(x)
Definition: axi_adxcvr.c:73
ADXCVR_BUFSTATUS_RST
#define ADXCVR_BUFSTATUS_RST
Definition: axi_adxcvr.c:55
adxcvr_no_os_clk_set_rate
int32_t adxcvr_no_os_clk_set_rate(struct no_os_clk_desc *desc, uint64_t rate)
Definition: axi_adxcvr.c:742
XILINX_XCVR_LEGACY_TYPE_S7_GTX2
@ XILINX_XCVR_LEGACY_TYPE_S7_GTX2
Definition: xilinx_transceiver.h:81
no_os_clk_init_param::name
const char * name
Definition: no_os_clk.h:46
pr_info
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:115
adxcvr::base
uint32_t base
Definition: altera_adxcvr.h:91
no_os_clk_init
int32_t no_os_clk_init(struct no_os_clk_desc **desc, const struct no_os_clk_init_param *param)
xilinx_xcvr::type
enum xilinx_xcvr_type type
Definition: xilinx_transceiver.h:167
adxcvr_clk_disable
int adxcvr_clk_disable(struct adxcvr *xcvr)
AXI ADXCVR Clock Disable.
Definition: axi_adxcvr.c:529
xilinx_xcvr::ad_xcvr
struct adxcvr * ad_xcvr
Definition: xilinx_transceiver.h:170
ADXCVR_BUFSTATUS_UNDERFLOW
#define ADXCVR_BUFSTATUS_UNDERFLOW
Definition: axi_adxcvr.c:59
XILINX_XCVR_TYPE_US_GTY4
@ XILINX_XCVR_TYPE_US_GTY4
Definition: xilinx_transceiver.h:73
no_os_print_log.h
Print messages helpers.
xilinx_xcvr_calc_cpll_config
int xilinx_xcvr_calc_cpll_config(struct xilinx_xcvr *xcvr, uint32_t refclk_khz, uint32_t lane_rate_khz, struct xilinx_xcvr_cpll_config *conf, uint32_t *out_div)
Definition: xilinx_transceiver.c:539
PM_200
@ PM_200
Definition: xilinx_transceiver.h:92
xilinx_xcvr::version
uint32_t version
Definition: xilinx_transceiver.h:171
ADXCVR_204C
#define ADXCVR_204C
Definition: axi_adxcvr.c:71
xilinx_xcvr_configure_cdr
int xilinx_xcvr_configure_cdr(struct xilinx_xcvr *xcvr, uint32_t drp_port, uint32_t lane_rate, uint32_t out_div, bool lpm_enable)
Definition: xilinx_transceiver.c:357
no_os_axi_io.h
Header file of AXI IO.
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
adxcvr_init::lpm_enable
bool lpm_enable
Definition: axi_adxcvr.h:115
ADXCVR_OUTCLK_SEL
#define ADXCVR_OUTCLK_SEL(x)
Definition: axi_adxcvr.c:66
xilinx_xcvr_write_prog_div
int xilinx_xcvr_write_prog_div(struct xilinx_xcvr *xcvr, uint32_t drp_port, int32_t rx_prog_div, int32_t tx_prog_div)
Definition: xilinx_transceiver.c:1863
xilinx_xcvr_drp_ops
Definition: xilinx_transceiver.h:185
adxcvr_init
int32_t adxcvr_init(struct adxcvr **ad_xcvr, const struct adxcvr_init *init)
AXI ADXCVR Device Initialization.
Definition: axi_adxcvr.c:562
no_os_clk.h
Header file of Clock Driver.
adxcvr_status_error
int32_t adxcvr_status_error(struct adxcvr *xcvr)
AXI ADXCVR Status Read.
Definition: axi_adxcvr.c:433
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
xilinx_xcvr::refclk_ppm
enum xilinx_xcvr_refclk_ppm refclk_ppm
Definition: xilinx_transceiver.h:168
xilinx_xcvr::tech
enum axi_fgpa_technology tech
Definition: xilinx_transceiver.h:172
AXI_REG_FPGA_INFO
#define AXI_REG_FPGA_INFO
Definition: clk_axi_clkgen.c:62
axi_adxcvr.h
Driver for the ADI AXI-ADXCVR Module.
xilinx_xcvr_qpll_calc_lane_rate
int xilinx_xcvr_qpll_calc_lane_rate(struct xilinx_xcvr *xcvr, uint32_t refclk_hz, const struct xilinx_xcvr_qpll_config *conf, uint32_t out_div)
Definition: xilinx_transceiver.c:1470
no_os_error.h
Error codes definition.
ADXCVR_DRP_CTRL_ADDR
#define ADXCVR_DRP_CTRL_ADDR(x)
Definition: axi_adxcvr.c:77
pr_debug
#define pr_debug(fmt, args...)
Definition: no_os_print_log.h:129
adxcvr::sys_clk_sel
uint32_t sys_clk_sel
Definition: axi_adxcvr.h:85
adxcvr::num_lanes
uint32_t num_lanes
Definition: axi_adxcvr.h:77
ADXCVR_DRP_STATUS_BUSY
#define ADXCVR_DRP_STATUS_BUSY
Definition: axi_adxcvr.c:81
xilinx_xcvr_read_out_div
int xilinx_xcvr_read_out_div(struct xilinx_xcvr *xcvr, uint32_t drp_port, uint32_t *rx_out_div, uint32_t *tx_out_div)
Definition: xilinx_transceiver.c:1560
XILINX_XCVR_LEGACY_TYPE_US_GTH3
@ XILINX_XCVR_LEGACY_TYPE_US_GTH3
Definition: xilinx_transceiver.h:82
adxcvr_write
int32_t adxcvr_write(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t reg_val)
adxcvr_write
Definition: altera_adxcvr.c:82
adxcvr_no_os_clk_disable
int32_t adxcvr_no_os_clk_disable(struct no_os_clk_desc *desc)
Definition: axi_adxcvr.c:705
adxcvr_remove
int32_t adxcvr_remove(struct adxcvr *xcvr)
Free resoulces allocated for AXI_ADXCVR.
Definition: axi_adxcvr.c:687
ADXCVR_REG_DRP_CTRL
#define ADXCVR_REG_DRP_CTRL(x)
Definition: axi_adxcvr.c:75
no_os_clk_desc
Structure holding CLK descriptor.
Definition: no_os_clk.h:75
AXI_REG_VERSION
#define AXI_REG_VERSION
Definition: clk_axi_clkgen.c:57
xilinx_xcvr::dev_package
enum axi_fpga_dev_pack dev_package
Definition: xilinx_transceiver.h:175
adxcvr_init
Definition: altera_adxcvr.h:102
xilinx_xcvr_qpll_write_config
int xilinx_xcvr_qpll_write_config(struct xilinx_xcvr *xcvr, uint32_t sys_clk_sel, uint32_t drp_port, const struct xilinx_xcvr_qpll_config *conf)
Definition: xilinx_transceiver.c:1442
ADXCVR_DRP_CTRL_WDATA
#define ADXCVR_DRP_CTRL_WDATA(x)
Definition: axi_adxcvr.c:78
adxcvr_init::name
const char * name
Definition: altera_adxcvr.h:103
adxcvr_read
int32_t adxcvr_read(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t *reg_val)
adxcvr_read
Definition: altera_adxcvr.c:94
no_os_axi_io_read
int32_t no_os_axi_io_read(uint32_t base, uint32_t offset, uint32_t *data)
AXI IO Altera specific read function.
Definition: altera_axi_io.c:53
no_os_clk_init_param::dev_desc
void * dev_desc
Definition: no_os_clk.h:52
adxcvr_init::out_clk_sel
uint32_t out_clk_sel
Definition: axi_adxcvr.h:113
ADXCVR_SYSCLK_SEL
#define ADXCVR_SYSCLK_SEL(x)
Definition: axi_adxcvr.c:65
adxcvr_init
int32_t adxcvr_init(struct adxcvr **ad_xcvr, const struct adxcvr_init *init)
adxcvr_init
Definition: altera_adxcvr.c:438
adxcvr_init::base
uint32_t base
Definition: altera_adxcvr.h:104
adxcvr_clk_enable
int adxcvr_clk_enable(struct adxcvr *xcvr)
AXI ADXCVR Clock Enable.
Definition: axi_adxcvr.c:479
no_os_clk_init_param
Definition: no_os_clk.h:44
adxcvr_drp_read
int adxcvr_drp_read(struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int *val)
AXI ADXCVR DPR Port Read.
Definition: axi_adxcvr.c:164
ADXCVR_DRP_PORT_ADDR_CHANNEL
#define ADXCVR_DRP_PORT_ADDR_CHANNEL
Definition: axi_adxcvr.c:85
adxcvr_no_os_clk_enable
int32_t adxcvr_no_os_clk_enable(struct no_os_clk_desc *desc)
Definition: axi_adxcvr.c:695
xilinx_xcvr::encoding
uint32_t encoding
Definition: xilinx_transceiver.h:169
AXI_REG_FPGA_VOLTAGE
#define AXI_REG_FPGA_VOLTAGE
Definition: clk_axi_clkgen.c:63
ADXCVR_REG_CONTROL
#define ADXCVR_REG_CONTROL
Definition: axi_adxcvr.c:62
adxcvr::xlx_xcvr
struct xilinx_xcvr xlx_xcvr
Definition: axi_adxcvr.h:91
ADXCVR_REG_SYNTH
#define ADXCVR_REG_SYNTH
Definition: axi_adxcvr.c:68
xilinx_xcvr_drp_ops::read
int(* read)(struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int *val)
Definition: xilinx_transceiver.h:188
adxcvr_clk_disable
int adxcvr_clk_disable(struct adxcvr *xcvr)
AXI ADXCVR Clock Disable.
Definition: axi_adxcvr.c:529
ADXCVR_REG_RESETN
#define ADXCVR_REG_RESETN
Definition: axi_adxcvr.c:53
ENC_66B64B
#define ENC_66B64B
Definition: xilinx_transceiver.h:268
XILINX_XCVR_TYPE_US_GTH3
@ XILINX_XCVR_TYPE_US_GTH3
Definition: xilinx_transceiver.h:71
xilinx_xcvr_qpll_read_config
int xilinx_xcvr_qpll_read_config(struct xilinx_xcvr *xcvr, uint32_t drp_port, uint32_t sys_clk_sel, struct xilinx_xcvr_qpll_config *conf)
Definition: xilinx_transceiver.c:1260
adxcvr_init::ref_rate_khz
uint32_t ref_rate_khz
Definition: axi_adxcvr.h:119
xilinx_xcvr_cpll_config
Structure holding CPLL configuration.
Definition: xilinx_transceiver.h:249
xilinx_xcvr_write_rx_clk25_div
int xilinx_xcvr_write_rx_clk25_div(struct xilinx_xcvr *xcvr, uint32_t drp_port, uint32_t div)
Definition: xilinx_transceiver.c:2013
adxcvr_init::lane_rate_khz
uint32_t lane_rate_khz
Definition: altera_adxcvr.h:107
xilinx_xcvr_write_out_div
int xilinx_xcvr_write_out_div(struct xilinx_xcvr *xcvr, uint32_t drp_port, int32_t rx_out_div, int32_t tx_out_div)
Definition: xilinx_transceiver.c:1673
adxcvr_read
int32_t adxcvr_read(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t *reg_val)
AXI ADXCVR Read.
Definition: axi_adxcvr.c:122
no_os_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
ADXCVR_SYS_CLK_CPLL
#define ADXCVR_SYS_CLK_CPLL
Definition: axi_adxcvr.h:48
adxcvr_clk_set_rate
int adxcvr_clk_set_rate(struct adxcvr *xcvr, unsigned long rate, unsigned long parent_rate)
AXI ADXCVR Clock Set Rate.
Definition: axi_adxcvr.c:309
xilinx_xcvr::voltage
uint32_t voltage
Definition: xilinx_transceiver.h:176
no_os_clk_platform_ops
Structure holding CLK function pointers that point to the platform specific function.
Definition: no_os_clk.h:91
no_os_clk_platform_ops::init
int(* init)(struct no_os_clk_desc **, const struct no_os_clk_init_param *)
Definition: no_os_clk.h:93
xilinx_xcvr_cpll_calc_lane_rate
int xilinx_xcvr_cpll_calc_lane_rate(struct xilinx_xcvr *xcvr, uint32_t refclk_hz, const struct xilinx_xcvr_cpll_config *conf, uint32_t out_div)
Definition: xilinx_transceiver.c:1096
ADXCVR_STATUS
#define ADXCVR_STATUS
Definition: axi_adxcvr.c:58
xilinx_xcvr_write_prog_div_rate
int xilinx_xcvr_write_prog_div_rate(struct xilinx_xcvr *xcvr, uint32_t drp_port, int32_t rx_rate, int32_t tx_rate)
Definition: xilinx_transceiver.c:1942
no_os_udelay
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:114
adxcvr_drp_read
int adxcvr_drp_read(struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int *val)
AXI ADXCVR DPR Port Read.
Definition: axi_adxcvr.c:164
NULL
#define NULL
Definition: wrapper.h:64
ADXCVR_LINK_MODE
#define ADXCVR_LINK_MODE(x)
Definition: axi_adxcvr.c:69
adxcvr::out_clk_sel
uint32_t out_clk_sel
Definition: axi_adxcvr.h:89
xilinx_xcvr
xilinx_xcvr parameters structure.
Definition: xilinx_transceiver.h:166
ADXCVR_REG_STATUS
#define ADXCVR_REG_STATUS
Definition: axi_adxcvr.c:57
no_os_clk_desc::dev_desc
void * dev_desc
Definition: no_os_clk.h:83
adxcvr_no_os_clk_recalc_rate
int32_t adxcvr_no_os_clk_recalc_rate(struct no_os_clk_desc *desc, uint64_t *rate)
Definition: axi_adxcvr.c:715
ADXCVR_BUFSTATUS_OVERFLOW
#define ADXCVR_BUFSTATUS_OVERFLOW
Definition: axi_adxcvr.c:60
no_os_clk_platform_ops::clk_enable
int(* clk_enable)(struct no_os_clk_desc *)
Definition: no_os_clk.h:95
xilinx_xcvr_configure_lpm_dfe_mode
int xilinx_xcvr_configure_lpm_dfe_mode(struct xilinx_xcvr *xcvr, uint32_t drp_port, bool lpm)
Definition: xilinx_transceiver.c:384
ADXCVR_DRP_PORT_COMMON
#define ADXCVR_DRP_PORT_COMMON(x)
Definition: axi_adxcvr.c:87
no_os_axi_io_write
int32_t no_os_axi_io_write(uint32_t base, uint32_t offset, uint32_t data)
AXI IO Altera specific write function.
Definition: altera_axi_io.c:67
xilinx_xcvr_qpll_config
Structure holding QPLL configuration.
Definition: xilinx_transceiver.h:259
ADXCVR_REG_DRP_STATUS
#define ADXCVR_REG_DRP_STATUS(x)
Definition: axi_adxcvr.c:80
AXI_INFO_FPGA_TECH
#define AXI_INFO_FPGA_TECH(info)
Definition: clk_axi_clkgen.c:65
adxcvr_init::sys_clk_sel
uint32_t sys_clk_sel
Definition: axi_adxcvr.h:109
adxcvr_no_os_clk_round_rate
int32_t adxcvr_no_os_clk_round_rate(struct no_os_clk_desc *desc, uint64_t rate, uint64_t *rounded_rate)
Definition: axi_adxcvr.c:728
clk_ops::recalc_rate
unsigned long(* recalc_rate)(struct adxcvr *xcvr, unsigned long parent_rate)
Definition: xilinx_transceiver.h:235
adxcvr::tx_enable
bool tx_enable
Definition: axi_adxcvr.h:73
adxcvr::clk_out
struct no_os_clk_desc * clk_out
Definition: axi_adxcvr.h:93
clk_ops
Definition: xilinx_transceiver.h:232
adxcvr_write
int32_t adxcvr_write(struct adxcvr *xcvr, uint32_t reg_addr, uint32_t reg_val)
AXI ADXCVR Write.
Definition: axi_adxcvr.c:106
ADXCVR_DRP_STATUS_RDATA
#define ADXCVR_DRP_STATUS_RDATA(x)
Definition: axi_adxcvr.c:82
no_os_util.h
Header file of utility functions.
XILINX_XCVR_LEGACY_TYPE_US_GTY4
@ XILINX_XCVR_LEGACY_TYPE_US_GTY4
Definition: xilinx_transceiver.h:84
adxcvr_drp_wait_idle
int32_t adxcvr_drp_wait_idle(struct adxcvr *xcvr, uint32_t drp_addr)
Read AXI ADXCVR DRP status.
Definition: axi_adxcvr.c:137
ADI_AXI_PCORE_VER
#define ADI_AXI_PCORE_VER(major, minor, patch)
Definition: axi_adxcvr.c:92
ADXCVR_DRP_PORT_CHANNEL
#define ADXCVR_DRP_PORT_CHANNEL(x)
Definition: axi_adxcvr.c:88
XILINX_XCVR_TYPE_US_GTH4
@ XILINX_XCVR_TYPE_US_GTH4
Definition: xilinx_transceiver.h:72
adxcvr::cpll_enable
bool cpll_enable
Definition: axi_adxcvr.h:69
XILINX_XCVR_LEGACY_TYPE_US_GTH4
@ XILINX_XCVR_LEGACY_TYPE_US_GTH4
Definition: xilinx_transceiver.h:83
xilinx_xcvr_write_tx_clk25_div
int xilinx_xcvr_write_tx_clk25_div(struct xilinx_xcvr *xcvr, uint32_t drp_port, uint32_t div)
Definition: xilinx_transceiver.c:2055
ADXCVR_LPM_DFE_N
#define ADXCVR_LPM_DFE_N
Definition: axi_adxcvr.c:63
adxcvr_drp_write
int adxcvr_drp_write(struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int val)
AXI ADXCVR DPR Port Write.
Definition: axi_adxcvr.c:199
ENC_8B10B
#define ENC_8B10B
Definition: xilinx_transceiver.h:267
adxcvr_clk_ops
const struct no_os_clk_platform_ops adxcvr_clk_ops
adxcvr clock ops
Definition: axi_adxcvr.c:755
AXI_INFO_FPGA_FAMILY
#define AXI_INFO_FPGA_FAMILY(info)
Definition: clk_axi_clkgen.c:66
xilinx_xcvr_cpll_write_config
int xilinx_xcvr_cpll_write_config(struct xilinx_xcvr *xcvr, uint32_t drp_port, const struct xilinx_xcvr_cpll_config *conf)
Definition: xilinx_transceiver.c:1070
NO_OS_DIV_ROUND_CLOSEST
#define NO_OS_DIV_ROUND_CLOSEST(x, y)
Definition: no_os_util.h:54
AXI_INFO_FPGA_VOLTAGE
#define AXI_INFO_FPGA_VOLTAGE(val)
Definition: clk_axi_clkgen.c:69
xilinx_xcvr_cpll_read_config
int xilinx_xcvr_cpll_read_config(struct xilinx_xcvr *xcvr, uint32_t drp_port, struct xilinx_xcvr_cpll_config *conf)
Definition: xilinx_transceiver.c:915
AXI_INFO_FPGA_SPEED_GRADE
#define AXI_INFO_FPGA_SPEED_GRADE(info)
Definition: clk_axi_clkgen.c:67
adxcvr::lpm_enable
bool lpm_enable
Definition: axi_adxcvr.h:75
ADXCVR_RESETN
#define ADXCVR_RESETN
Definition: axi_adxcvr.c:54
XILINX_XCVR_TYPE_S7_GTX2
@ XILINX_XCVR_TYPE_S7_GTX2
Definition: xilinx_transceiver.h:70
ADXCVR_DRP_CTRL_WR
#define ADXCVR_DRP_CTRL_WR
Definition: axi_adxcvr.c:76