![]() |
no-OS
|
Driver for the Altera ADXCVR Configuration. More...
#include <stdint.h>#include <stdbool.h>Classes | |
| struct | adxcvr |
| ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure. More... | |
| struct | adxcvr_init |
Functions | |
| int32_t | adxcvr_init (struct adxcvr **ad_xcvr, const struct adxcvr_init *init) |
| adxcvr_init | |
| int32_t | adxcvr_remove (struct adxcvr *xcvr) |
| adxcvr_remove | |
| void | adxcvr_post_lane_rate_change (struct adxcvr *xcvr, unsigned int lane_rate_khz) |
| adxcvr_post_lane_rate_change | |
| int32_t | adxcvr_round_rate (struct adxcvr *xcvr, uint32_t rate_khz) |
| adxcvr_round_rate | |
| int32_t | adxcvr_set_rate (struct adxcvr *xcvr, uint32_t rate_khz) |
| adxcvr_init | |
| uint32_t | adxcvr_recalc_rate (struct adxcvr *xcvr) |
| adxcvr_recalc_rate | |
| void | adxcvr_pre_lane_rate_change (struct adxcvr *xcvr) |
| adxcvr_pre_lane_rate_change | |
| void | atx_pll_acquire_arbitration (struct adxcvr *xcvr) |
| atx_pll_acquire_arbitration | |
| void | atx_pll_release_arbitration (struct adxcvr *xcvr, bool calibrate) |
| atx_pll_release_arbitration | |
| int32_t | atx_pll_write (struct adxcvr *xcvr, uint32_t reg, uint32_t val) |
| atx_pll_write | |
| int32_t | atx_pll_read (struct adxcvr *xcvr, uint32_t reg, uint32_t *val) |
| atx_pll_read | |
| void | atx_pll_update (struct adxcvr *xcvr, uint32_t reg, uint32_t mask, uint32_t val) |
| atx_pll_update | |
| int32_t | atx_pll_calibration_check (struct adxcvr *xcvr) |
| atx_pll_calibration_check | |
| int32_t | xcvr_calib_tx (struct adxcvr *xcvr) |
| xcvr_calib_tx | |
| void | adxcfg_acquire_arbitration (struct adxcvr *xcvr, uint32_t lane) |
| adxcfg_acquire_arbitration | |
| void | adxcfg_release_arbitration (struct adxcvr *xcvr, uint32_t lane, bool calibrate) |
| adxcfg_release_arbitration | |
| int32_t | adxcfg_write (struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t val) |
| adxcfg_write | |
| int32_t | adxcfg_read (struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t *val) |
| adxcfg_read | |
| void | adxcfg_update (struct adxcvr *xcvr, uint32_t lane, uint32_t reg, uint32_t mask, uint32_t val) |
| adxcfg_update | |
| int32_t | adxcfg_calibration_check (struct adxcvr *xcvr, uint32_t lane, bool tx) |
| adxcfg_calibration_check | |
Driver for the Altera ADXCVR Configuration.
Copyright 2018(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
| #define XCVR_ARBITRATION_GET_AVMM 0x02 |
| #define XCVR_ARBITRATION_MASK 0xFF |
| #define XCVR_ARBITRATION_RELEASE_AVMM 0x03 |
| #define XCVR_ARBITRATION_RELEASE_AVMM_CALIB 0x01 |
| #define XCVR_CALIB_ATX_PLL_EN 0x01 |
| #define XCVR_CALIB_ATX_PLL_EN_MASK 0x01 |
| #define XCVR_CALIB_CMU_CDR_PLL_EN 0x02 |
| #define XCVR_CALIB_CMU_CDR_PLL_EN_MASK 0x02 |
| #define XCVR_CALIB_TX_TERM_VOD_EN 0x20 |
| #define XCVR_CALIB_TX_TERM_VOD_MASK 0x20 |
| #define XCVR_CAPAB_ATX_PLL_CAL_BSY_MASK 0x02 |
| #define XCVR_CAPAB_ATX_PLL_CAL_DONE 0x00 |
| #define XCVR_CAPAB_RX_CAL_BUSY_DIS 0x00 |
| #define XCVR_CAPAB_RX_CAL_BUSY_EN 0x20 |
| #define XCVR_CAPAB_RX_CAL_BUSY_EN_MASK 0x20 |
| #define XCVR_CAPAB_RX_CAL_BUSY_MASK 0x02 |
| #define XCVR_CAPAB_RX_CAL_DONE 0x00 |
| #define XCVR_CAPAB_TX_CAL_BUSY_DIS 0x00 |
| #define XCVR_CAPAB_TX_CAL_BUSY_EN 0x10 |
| #define XCVR_CAPAB_TX_CAL_BUSY_EN_MASK 0x10 |
| #define XCVR_CAPAB_TX_CAL_BUSY_MASK 0x01 |
| #define XCVR_CAPAB_TX_CAL_DONE 0x00 |
| #define XCVR_RATE_SWITCH_FLAG_MASK 0x80 |
| #define XCVR_RATE_SWITCH_FLAG_NO_RATE_SWITCH 0x80 |
| #define XCVR_RATE_SWITCH_FLAG_RATE_SWITCH 0x00 |
| #define XCVR_REG_ARBITRATION 0x000 |
| #define XCVR_REG_CALIB_ATX_PLL_EN 0x100 |
| #define XCVR_REG_CALIB_PMA_EN 0x100 |
| #define XCVR_REG_CAPAB_ATX_PLL_STAT 0x280 |
| #define XCVR_REG_CAPAB_PMA 0x281 |
| #define XCVR_REG_RATE_SWITCH_FLAG 0x166 |
| void adxcfg_acquire_arbitration | ( | struct adxcvr * | xcvr, |
| uint32_t | lane ) |
adxcfg_acquire_arbitration
adxcfg_calibration_check
| int32_t adxcfg_read | ( | struct adxcvr * | xcvr, |
| uint32_t | lane, | ||
| uint32_t | reg, | ||
| uint32_t * | val ) |
adxcfg_read
adxcfg_release_arbitration
| void adxcfg_update | ( | struct adxcvr * | xcvr, |
| uint32_t | lane, | ||
| uint32_t | reg, | ||
| uint32_t | mask, | ||
| uint32_t | val ) |
adxcfg_update
| int32_t adxcfg_write | ( | struct adxcvr * | xcvr, |
| uint32_t | lane, | ||
| uint32_t | reg, | ||
| uint32_t | val ) |
adxcfg_write
| int32_t adxcvr_init | ( | struct adxcvr ** | ad_xcvr, |
| const struct adxcvr_init * | init ) |
| ad_xcvr | - The device structure. |
| init | - The structure containing the device initial parameters. |
| void adxcvr_post_lane_rate_change | ( | struct adxcvr * | xcvr, |
| unsigned int | lane_rate_khz ) |
adxcvr_post_lane_rate_change
| void adxcvr_pre_lane_rate_change | ( | struct adxcvr * | xcvr | ) |
adxcvr_pre_lane_rate_change
| uint32_t adxcvr_recalc_rate | ( | struct adxcvr * | xcvr | ) |
adxcvr_recalc_rate
| int32_t adxcvr_remove | ( | struct adxcvr * | xcvr | ) |
adxcvr_remove
adxcvr_remove
| xcvr | - The device structure. |
| int32_t adxcvr_round_rate | ( | struct adxcvr * | xcvr, |
| uint32_t | rate_khz ) |
adxcvr_round_rate
| int32_t adxcvr_set_rate | ( | struct adxcvr * | xcvr, |
| uint32_t | rate_khz ) |
| void atx_pll_acquire_arbitration | ( | struct adxcvr * | xcvr | ) |
atx_pll_acquire_arbitration
| int32_t atx_pll_calibration_check | ( | struct adxcvr * | xcvr | ) |
atx_pll_calibration_check
| int32_t atx_pll_read | ( | struct adxcvr * | xcvr, |
| uint32_t | reg, | ||
| uint32_t * | val ) |
atx_pll_read
atx_pll_release_arbitration
| void atx_pll_update | ( | struct adxcvr * | xcvr, |
| uint32_t | reg, | ||
| uint32_t | mask, | ||
| uint32_t | val ) |
atx_pll_update
| int32_t atx_pll_write | ( | struct adxcvr * | xcvr, |
| uint32_t | reg, | ||
| uint32_t | val ) |
atx_pll_write
| int32_t xcvr_calib_tx | ( | struct adxcvr * | xcvr | ) |
xcvr_calib_tx