Driver for the ADI AXI-ADXCVR Module. More...
Go to the source code of this file.
Classes | |
struct | adxcvr |
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure. More... | |
struct | adxcvr_init |
Macros | |
#define | ADXCVR_SYS_CLK_CPLL 0x00 |
#define | ADXCVR_SYS_CLK_QPLL1 0x02 |
#define | ADXCVR_SYS_CLK_QPLL0 0x03 |
#define | ADXCVR_OUTCLK_PCS 1 |
#define | ADXCVR_OUTCLK_PMA 2 |
#define | ADXCVR_REFCLK 3 |
#define | ADXCVR_REFCLK_DIV2 4 |
#define | ADXCVR_PROGDIV_CLK 5 /* GTHE3, GTHE4, GTYE4 only */ |
Functions | |
int | adxcvr_drp_read (struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int *val) |
AXI ADXCVR DPR Port Read. | |
int | adxcvr_drp_write (struct adxcvr *xcvr, unsigned int drp_port, unsigned int reg, unsigned int val) |
AXI ADXCVR DPR Port Write. | |
int32_t | adxcvr_status_error (struct adxcvr *xcvr) |
AXI ADXCVR Status Read. | |
int | adxcvr_clk_enable (struct adxcvr *xcvr) |
AXI ADXCVR Clock Enable. | |
int | adxcvr_clk_disable (struct adxcvr *xcvr) |
AXI ADXCVR Clock Disable. | |
int32_t | adxcvr_init (struct adxcvr **ad_xcvr, const struct adxcvr_init *init) |
adxcvr_init | |
int32_t | adxcvr_remove (struct adxcvr *xcvr) |
adxcvr_remove | |
int | adxcvr_clk_set_rate (struct adxcvr *xcvr, unsigned long rate, unsigned long parent_rate) |
AXI ADXCVR Clock Set Rate. | |
int32_t | adxcvr_write (struct adxcvr *xcvr, uint32_t reg_addr, uint32_t reg_val) |
adxcvr_write | |
int32_t | adxcvr_read (struct adxcvr *xcvr, uint32_t reg_addr, uint32_t *reg_val) |
adxcvr_read | |
Variables | |
const struct no_os_clk_platform_ops | adxcvr_clk_ops |
adxcvr clock ops | |
Driver for the ADI AXI-ADXCVR Module.
Copyright 2018(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ADXCVR_OUTCLK_PCS 1 |
#define ADXCVR_OUTCLK_PMA 2 |
#define ADXCVR_PROGDIV_CLK 5 /* GTHE3, GTHE4, GTYE4 only */ |
#define ADXCVR_REFCLK 3 |
#define ADXCVR_REFCLK_DIV2 4 |
#define ADXCVR_SYS_CLK_CPLL 0x00 |
#define ADXCVR_SYS_CLK_QPLL0 0x03 |
#define ADXCVR_SYS_CLK_QPLL1 0x02 |
int adxcvr_clk_disable | ( | struct adxcvr * | xcvr | ) |
AXI ADXCVR Clock Disable.
AXI ADXCVR Clock Disable
xcvr | - The device structure. |
int adxcvr_clk_enable | ( | struct adxcvr * | xcvr | ) |
AXI ADXCVR Clock Enable.
AXI ADXCVR Clock Enable
xcvr | - The device structure. |
int adxcvr_clk_set_rate | ( | struct adxcvr * | xcvr, |
unsigned long | rate, | ||
unsigned long | parent_rate ) |
AXI ADXCVR Clock Set Rate.
AXI ADXCVR Clock Set Rate
xcvr | - The device structure. |
rate | - The output rate (kHz). |
parent_rate | - The parent rate (kHz). |
int adxcvr_drp_read | ( | struct adxcvr * | xcvr, |
unsigned int | drp_port, | ||
unsigned int | reg, | ||
unsigned int * | val ) |
AXI ADXCVR DPR Port Read.
AXI ADXCVR DPR Port Read
xcvr | - The device structure. |
drp_port | - The DRP Port. |
reg | - DRP Register address. |
val | - Data read. |
int adxcvr_drp_write | ( | struct adxcvr * | xcvr, |
unsigned int | drp_port, | ||
unsigned int | reg, | ||
unsigned int | val ) |
AXI ADXCVR DPR Port Write.
AXI ADXCVR DPR Port Write
xcvr | - The device structure. |
drp_port | - The DRP Port. |
reg | - DRP Register address. |
val | - Data to be written. |
int32_t adxcvr_init | ( | struct adxcvr ** | ad_xcvr, |
const struct adxcvr_init * | init ) |
AXI ADXCVR Device Initialization
ad_xcvr | - The device structure. |
init | - The structure containing the device initial parameters. |
int32_t adxcvr_read | ( | struct adxcvr * | xcvr, |
uint32_t | reg_addr, | ||
uint32_t * | reg_val ) |
adxcvr_read
AXI ADXCVR Read
adxcvr_read
xcvr | - Device Structure. |
reg_addr | - The register address. |
reg_val | - Data read from the device. |
int32_t adxcvr_remove | ( | struct adxcvr * | xcvr | ) |
adxcvr_remove
AXI ADXCVR Resources Deallocation
adxcvr_remove
xcvr | - The device structure. |
int32_t adxcvr_status_error | ( | struct adxcvr * | xcvr | ) |
AXI ADXCVR Status Read.
AXI ADXCVRS Status Read
xcvr | - The device structure. |
int32_t adxcvr_write | ( | struct adxcvr * | xcvr, |
uint32_t | reg_addr, | ||
uint32_t | reg_val ) |
adxcvr_write
AXI ADXCVR Write
adxcvr_write
xcvr | - Device Structure. |
reg_addr | - The register address. |
reg_val | - Data value to write. |
|
extern |
adxcvr clock ops