no-OS
altera_a10_cdr_pll.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef ALTERA_A10_CDR_PLL_H_
34 #define ALTERA_A10_CDR_PLL_H_
35 
36 /******************************************************************************/
37 /***************************** Include Files **********************************/
38 /******************************************************************************/
39 #include "altera_adxcvr.h"
40 
41 /******************************************************************************/
42 /************************ Functions Declarations ******************************/
43 /******************************************************************************/
44 int32_t altera_a10_cdr_pll_round_rate(struct adxcvr *xcvr,
45  uint32_t rate_khz);
46 int32_t altera_a10_cdr_pll_set_rate(struct adxcvr *xcvr,
47  uint32_t rate_khz);
48 uint32_t altera_a10_cdr_pll_recalc_rate(struct adxcvr *xcvr);
49 
50 #endif
XCVR_REG_RATE_SWITCH_FLAG
#define XCVR_REG_RATE_SWITCH_FLAG
Definition: altera_adxcvr.h:81
altera_a10_cdr_pll.h
Driver for the Altera CDR/CMU PLL dynamic reconfiguration.
adxcvr::parent_rate_khz
uint32_t parent_rate_khz
Definition: altera_adxcvr.h:98
no_os_min_t
#define no_os_min_t(type, x, y)
Definition: no_os_util.h:61
adxcfg_update
void adxcfg_update(struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t mask, uint32_t val)
adxcfg_update
Definition: altera_adxcvr.c:215
altera_a10_cdr_lookup_lf_resistor_pfd
uint32_t altera_a10_cdr_lookup_lf_resistor_pfd(uint32_t fvco, uint32_t m, uint32_t lpfd)
altera_a10_cdr_lookup_lf_resistor_pfd
Definition: altera_a10_cdr_pll.c:152
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
adxcfg_release_arbitration
void adxcfg_release_arbitration(struct adxcvr *xcvr, uint32_t lane, bool calibrate)
adxcfg_release_arbitration
Definition: altera_adxcvr.c:239
altera_a10_cdr_pll_set_rate
int32_t altera_a10_cdr_pll_set_rate(struct adxcvr *xcvr, uint32_t rate_khz)
altera_a10_cdr_pll_set_rate
Definition: altera_a10_cdr_pll.c:357
adxcvr::initial_recalc
bool initial_recalc
Definition: altera_adxcvr.h:99
altera_a10_cdr_pll_round_rate
long altera_a10_cdr_pll_round_rate(struct adxcvr *xcvr, uint32_t rate_khz)
altera_a10_cdr_pll_round_rate
Definition: altera_a10_cdr_pll.c:335
NO_OS_DIV_ROUND_CLOSEST_ULL
#define NO_OS_DIV_ROUND_CLOSEST_ULL(x, y)
Definition: no_os_util.h:56
adxcfg_read
int32_t adxcfg_read(struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t *val)
adxcfg_read
Definition: altera_adxcvr.c:204
altera_a10_cdr_pll_set_rate
int32_t altera_a10_cdr_pll_set_rate(struct adxcvr *xcvr, uint32_t rate_khz)
altera_a10_cdr_pll_set_rate
Definition: altera_a10_cdr_pll.c:357
adxcfg_acquire_arbitration
void adxcfg_acquire_arbitration(struct adxcvr *xcvr, uint32_t lane)
adxcfg_acquire_arbitration
Definition: altera_adxcvr.c:229
XCVR_REG_CAPAB_PMA
#define XCVR_REG_CAPAB_PMA
Definition: altera_adxcvr.h:69
NO_OS_DIV_ROUND_UP
#define NO_OS_DIV_ROUND_UP(x, y)
Definition: no_os_util.h:52
altera_a10_cdr_pll_recalc_rate
uint32_t altera_a10_cdr_pll_recalc_rate(struct adxcvr *xcvr)
altera_a10_cdr_pll_recalc_rate
Definition: altera_a10_cdr_pll.c:479
A10_CDR_PLL_PFD_MAX
#define A10_CDR_PLL_PFD_MAX
Definition: altera_a10_cdr_pll.c:45
altera_adxcvr.h
Driver for the Altera ADXCVR Configuration.
XCVR_CAPAB_RX_CAL_BUSY_EN
#define XCVR_CAPAB_RX_CAL_BUSY_EN
Definition: altera_adxcvr.h:71
XCVR_CAPAB_RX_CAL_BUSY_EN_MASK
#define XCVR_CAPAB_RX_CAL_BUSY_EN_MASK
Definition: altera_adxcvr.h:70
altera_a10_cdr_lookup_fastlock
uint32_t altera_a10_cdr_lookup_fastlock(uint32_t lpd)
altera_a10_cdr_lookup_fastlock
Definition: altera_a10_cdr_pll.c:113
altera_a10_cdr_lookup_lf_resistor_pd
uint32_t altera_a10_cdr_lookup_lf_resistor_pd(uint32_t fvco, uint32_t lpd)
altera_a10_cdr_lookup_lf_resistor_pd
Definition: altera_a10_cdr_pll.c:124
A10_CDR_PLL_VCO_MIN
#define A10_CDR_PLL_VCO_MIN
Definition: altera_a10_cdr_pll.c:46
XCVR_RATE_SWITCH_FLAG_MASK
#define XCVR_RATE_SWITCH_FLAG_MASK
Definition: altera_adxcvr.h:82
A10_CDR_PLL_VCO_MAX
#define A10_CDR_PLL_VCO_MAX
Definition: altera_a10_cdr_pll.c:47
altera_a10_cdr_pll_recalc_rate
uint32_t altera_a10_cdr_pll_recalc_rate(struct adxcvr *xcvr)
altera_a10_cdr_pll_recalc_rate
Definition: altera_a10_cdr_pll.c:479
adxcfg_calibration_check
int32_t adxcfg_calibration_check(struct adxcvr *xcvr, uint32_t lane, bool tx)
adxcfg_calibration_check
Definition: altera_adxcvr.c:275
no_os_max_t
#define no_os_max_t(type, x, y)
Definition: no_os_util.h:66
XCVR_CAPAB_TX_CAL_BUSY_DIS
#define XCVR_CAPAB_TX_CAL_BUSY_DIS
Definition: altera_adxcvr.h:77
altera_a10_cdr_pll_round_rate
int32_t altera_a10_cdr_pll_round_rate(struct adxcvr *xcvr, uint32_t rate_khz)
altera_a10_cdr_pll_round_rate
Definition: altera_a10_cdr_pll.c:335
altera_a10_cdr_lookup_vco_speed_fix
uint32_t altera_a10_cdr_lookup_vco_speed_fix(uint32_t fvco)
altera_a10_cdr_lookup_vco_speed_fix
Definition: altera_a10_cdr_pll.c:69
A10_CDR_PLL_PFD_MIN
#define A10_CDR_PLL_PFD_MIN
Definition: altera_a10_cdr_pll.c:44
adxcvr_pre_lane_rate_change
void adxcvr_pre_lane_rate_change(struct adxcvr *xcvr)
adxcvr_pre_lane_rate_change
Definition: altera_adxcvr.c:345
altera_a10_cdr_lookup_cp_current_pd
uint32_t altera_a10_cdr_lookup_cp_current_pd(uint32_t fvco, uint32_t lpd)
altera_a10_cdr_lookup_cp_current_pd
Definition: altera_a10_cdr_pll.c:90
XCVR_CALIB_CMU_CDR_PLL_EN
#define XCVR_CALIB_CMU_CDR_PLL_EN
Definition: altera_adxcvr.h:67
altera_a10_cdr_lookup_cp_current_pfd
uint32_t altera_a10_cdr_lookup_cp_current_pfd(uint32_t fvco, uint32_t m, uint32_t lpfd)
altera_a10_cdr_lookup_cp_current_pfd
Definition: altera_a10_cdr_pll.c:201
XCVR_CAPAB_TX_CAL_BUSY_EN_MASK
#define XCVR_CAPAB_TX_CAL_BUSY_EN_MASK
Definition: altera_adxcvr.h:75
altera_a10_cdr_calc_params
void altera_a10_cdr_calc_params(uint32_t fref, uint32_t fout, uint32_t *best_n, uint32_t *best_m, uint32_t *best_lpfd, uint32_t *best_lpd, uint32_t *best_fvco)
altera_a10_cdr_calc_params
Definition: altera_a10_cdr_pll.c:276
adxcvr::lanes_per_link
uint32_t lanes_per_link
Definition: altera_adxcvr.h:93
no_os_util.h
Header file of utility functions.
altera_a10_cdr_lookup_clklow_div
uint32_t altera_a10_cdr_lookup_clklow_div(uint32_t fref)
altera_a10_cdr_lookup_clklow_div
Definition: altera_a10_cdr_pll.c:102
XCVR_CALIB_CMU_CDR_PLL_EN_MASK
#define XCVR_CALIB_CMU_CDR_PLL_EN_MASK
Definition: altera_adxcvr.h:66
adxcvr_post_lane_rate_change
void adxcvr_post_lane_rate_change(struct adxcvr *xcvr, unsigned int lane_rate_khz)
adxcvr_post_lane_rate_change
Definition: altera_adxcvr.c:393
altera_a10_cdr_lookup_vco_speed
uint32_t altera_a10_cdr_lookup_vco_speed(uint32_t fvco)
altera_a10_cdr_lookup_vco_speed
Definition: altera_a10_cdr_pll.c:56
XCVR_REG_CALIB_PMA_EN
#define XCVR_REG_CALIB_PMA_EN
Definition: altera_adxcvr.h:63
XCVR_RATE_SWITCH_FLAG_RATE_SWITCH
#define XCVR_RATE_SWITCH_FLAG_RATE_SWITCH
Definition: altera_adxcvr.h:83
adxcfg_write
int32_t adxcfg_write(struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t val)
adxcfg_write
Definition: altera_adxcvr.c:193