no-OS
altera_a10_cdr_pll.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef ALTERA_A10_CDR_PLL_H_
40 #define ALTERA_A10_CDR_PLL_H_
41 
42 /******************************************************************************/
43 /***************************** Include Files **********************************/
44 /******************************************************************************/
45 #include "altera_adxcvr.h"
46 
47 /******************************************************************************/
48 /************************ Functions Declarations ******************************/
49 /******************************************************************************/
50 int32_t altera_a10_cdr_pll_round_rate(struct adxcvr *xcvr,
51  uint32_t rate_khz);
52 int32_t altera_a10_cdr_pll_set_rate(struct adxcvr *xcvr,
53  uint32_t rate_khz);
54 uint32_t altera_a10_cdr_pll_recalc_rate(struct adxcvr *xcvr);
55 
56 #endif
XCVR_REG_RATE_SWITCH_FLAG
#define XCVR_REG_RATE_SWITCH_FLAG
Definition: altera_adxcvr.h:87
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:104
no_os_min_t
#define no_os_min_t(type, x, y)
Definition: no_os_util.h:65
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:220
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:158
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:95
adxcfg_release_arbitration
void adxcfg_release_arbitration(struct adxcvr *xcvr, uint32_t lane, bool calibrate)
adxcfg_release_arbitration
Definition: altera_adxcvr.c:244
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:363
adxcvr::initial_recalc
bool initial_recalc
Definition: altera_adxcvr.h:105
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:341
NO_OS_DIV_ROUND_CLOSEST_ULL
#define NO_OS_DIV_ROUND_CLOSEST_ULL(x, y)
Definition: no_os_util.h:60
adxcfg_read
int32_t adxcfg_read(struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t *val)
adxcfg_read
Definition: altera_adxcvr.c:209
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:363
adxcfg_acquire_arbitration
void adxcfg_acquire_arbitration(struct adxcvr *xcvr, uint32_t lane)
adxcfg_acquire_arbitration
Definition: altera_adxcvr.c:234
XCVR_REG_CAPAB_PMA
#define XCVR_REG_CAPAB_PMA
Definition: altera_adxcvr.h:75
NO_OS_DIV_ROUND_UP
#define NO_OS_DIV_ROUND_UP(x, y)
Definition: no_os_util.h:56
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:485
A10_CDR_PLL_PFD_MAX
#define A10_CDR_PLL_PFD_MAX
Definition: altera_a10_cdr_pll.c:51
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:77
XCVR_CAPAB_RX_CAL_BUSY_EN_MASK
#define XCVR_CAPAB_RX_CAL_BUSY_EN_MASK
Definition: altera_adxcvr.h:76
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:119
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:130
A10_CDR_PLL_VCO_MIN
#define A10_CDR_PLL_VCO_MIN
Definition: altera_a10_cdr_pll.c:52
XCVR_RATE_SWITCH_FLAG_MASK
#define XCVR_RATE_SWITCH_FLAG_MASK
Definition: altera_adxcvr.h:88
A10_CDR_PLL_VCO_MAX
#define A10_CDR_PLL_VCO_MAX
Definition: altera_a10_cdr_pll.c:53
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:485
adxcfg_calibration_check
int32_t adxcfg_calibration_check(struct adxcvr *xcvr, uint32_t lane, bool tx)
adxcfg_calibration_check
Definition: altera_adxcvr.c:280
no_os_max_t
#define no_os_max_t(type, x, y)
Definition: no_os_util.h:70
XCVR_CAPAB_TX_CAL_BUSY_DIS
#define XCVR_CAPAB_TX_CAL_BUSY_DIS
Definition: altera_adxcvr.h:83
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:341
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:75
A10_CDR_PLL_PFD_MIN
#define A10_CDR_PLL_PFD_MIN
Definition: altera_a10_cdr_pll.c:50
adxcvr_pre_lane_rate_change
void adxcvr_pre_lane_rate_change(struct adxcvr *xcvr)
adxcvr_pre_lane_rate_change
Definition: altera_adxcvr.c:350
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:96
XCVR_CALIB_CMU_CDR_PLL_EN
#define XCVR_CALIB_CMU_CDR_PLL_EN
Definition: altera_adxcvr.h:73
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:207
XCVR_CAPAB_TX_CAL_BUSY_EN_MASK
#define XCVR_CAPAB_TX_CAL_BUSY_EN_MASK
Definition: altera_adxcvr.h:81
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:282
adxcvr::lanes_per_link
uint32_t lanes_per_link
Definition: altera_adxcvr.h:99
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:108
XCVR_CALIB_CMU_CDR_PLL_EN_MASK
#define XCVR_CALIB_CMU_CDR_PLL_EN_MASK
Definition: altera_adxcvr.h:72
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:398
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:62
XCVR_REG_CALIB_PMA_EN
#define XCVR_REG_CALIB_PMA_EN
Definition: altera_adxcvr.h:69
XCVR_RATE_SWITCH_FLAG_RATE_SWITCH
#define XCVR_RATE_SWITCH_FLAG_RATE_SWITCH
Definition: altera_adxcvr.h:89
adxcfg_write
int32_t adxcfg_write(struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t val)
adxcfg_write
Definition: altera_adxcvr.c:198