Header file for admv1014 Driver. More...
Go to the source code of this file.
Classes | |
struct | admv1014_init_param |
ADMV1014 Initialization Parameters structure. More... | |
struct | admv1014_dev |
ADMV1014 Device Descriptor. More... | |
Enumerations | |
enum | admv1014_input_mode { ADMV1014_IQ_MODE , ADMV1014_IF_MODE } |
Switch Intermediate Frequency or I/Q Mode. More... | |
enum | admv1014_quad_se_mode { ADMV1014_SE_MODE_POS = 6 , ADMV1014_SE_MODE_NEG = 9 , ADMV1014_SE_MODE_DIFF = 12 } |
Switch Differential/Single-Ended Modes. More... | |
enum | admv1014_quad_filters { ADMV1014_LO_BAND_8_62_TO_10_25_GHZ = 0 , ADMV1014_LO_BAND_6_6_TO_9_2_GHZ = 5 , ADMV1014_LO_BAND_5_4_TO_8_GHZ = 10 , ADMV1014_LO_BAND_5_4_TO_7_GHZ = 15 } |
LO Filters BW Selection. More... | |
enum | admv1014_det_prog { ADMV1014_DET_PROG_NEG_12_DBM_TO_POS_4DBM = 0 , ADMV1014_DET_PROG_NEG_13_DBM_TO_POS_3DBM = 1 , ADMV1014_DET_PROG_NEG_14_DBM_TO_POS_2DBM = 2 , ADMV1014_DET_PROG_NEG_15_DBM_TO_POS_1DBM = 4 , ADMV1014_DET_PROG_NEG_15_5_DBM_TO_POS_0_5_DBM = 8 , ADMV1014_DET_PROG_NEG_16_25_DBM_TO_NEG_0_25_DBM = 16 , ADMV1014_DET_PROG_NEG_17_DBM_TO_NEG_1DBM = 32 , ADMV1014_DET_PROG_NEG_18_DBM_TO_NEG_2DBM = 64 } |
Digital Rx Detector Program. More... | |
Functions | |
int | admv1014_spi_write (struct admv1014_dev *dev, uint8_t reg_addr, uint16_t data) |
Writes data to ADMV1014 over SPI. | |
int | admv1014_spi_update_bits (struct admv1014_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t data) |
Update ADMV1014 register. | |
int | admv1014_spi_read (struct admv1014_dev *dev, uint8_t reg_addr, uint16_t *data) |
Reads data from ADMV1014 over SPI. | |
int | admv1014_set_det_prog (struct admv1014_dev *dev, enum admv1014_det_prog det_prog) |
Set Digital Rx Detector. | |
int | admv1014_get_det_prog (struct admv1014_dev *dev, enum admv1014_det_prog *det_prog) |
Get Digital Rx Detector. | |
int | admv1014_set_bb_amp_gain (struct admv1014_dev *dev, uint8_t gain) |
Set Baseband Amp Gain. | |
int | admv1014_get_bb_amp_gain (struct admv1014_dev *dev, uint8_t *gain) |
Get Baseband Amp Gain. | |
int | admv1014_set_phase (struct admv1014_dev *dev, uint8_t i_phase, uint8_t q_phase) |
Set LO Amp Phase. | |
int | admv1014_get_phase (struct admv1014_dev *dev, uint8_t *i_phase, uint8_t *q_phase) |
Get LO Amp Phase. | |
int | admv1014_set_if_amp_gain (struct admv1014_dev *dev, uint8_t i_coarse_gain, uint8_t q_coarse_gain, uint8_t i_fine_gain, uint8_t q_fine_gain) |
Set IF Amp Gain. | |
int | admv1014_get_if_amp_gain (struct admv1014_dev *dev, uint8_t *i_coarse_gain, uint8_t *q_coarse_gain, uint8_t *i_fine_gain, uint8_t *q_fine_gain) |
Get IF Amp Gain. | |
int | admv1014_init (struct admv1014_dev **device, struct admv1014_init_param *init_param) |
Initializes the admv1014. | |
int | admv1014_remove (struct admv1014_dev *dev) |
ADMV1014 Resources Deallocation. | |
Header file for admv1014 Driver.
Copyright 2022(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 ADMV1014_ADDRESS_RANGE_ERROR_MSK NO_OS_BIT(12) |
#define ADMV1014_BB_AMP_GAIN_CTRL_MSK NO_OS_GENMASK(2, 1) |
#define ADMV1014_BB_AMP_OFFSET_I_MSK NO_OS_GENMASK(4, 0) |
#define ADMV1014_BB_AMP_OFFSET_Q_MSK NO_OS_GENMASK(9, 5) |
#define ADMV1014_BB_AMP_PD_MSK NO_OS_BIT(8) |
#define ADMV1014_BB_AMP_REF_GEN_MSK NO_OS_GENMASK(6, 3) |
#define ADMV1014_BB_SWITCH_HIGH_LOW_CM_MSK NO_OS_BIT(0) |
#define ADMV1014_BG_PD_MSK NO_OS_BIT(5) |
#define ADMV1014_BUFF_SIZE_BYTES 3 |
#define ADMV1014_CHIP_ID 0x9 |
#define ADMV1014_CHIP_ID_MSK NO_OS_GENMASK(11, 4) |
#define ADMV1014_DET_EN_MSK NO_OS_BIT(6) |
#define ADMV1014_DET_PROG_MSK NO_OS_GENMASK(6, 0) |
#define ADMV1014_IBIAS_PD_MSK NO_OS_BIT(14) |
#define ADMV1014_IF_AMP_COARSE_GAIN_I_MSK NO_OS_GENMASK(11, 8) |
#define ADMV1014_IF_AMP_COARSE_GAIN_Q_MSK NO_OS_GENMASK(15, 12) |
#define ADMV1014_IF_AMP_FINE_GAIN_I_MSK NO_OS_GENMASK(3, 0) |
#define ADMV1014_IF_AMP_FINE_GAIN_Q_MSK NO_OS_GENMASK(7, 4) |
#define ADMV1014_IF_AMP_PD_MSK NO_OS_BIT(11) |
#define ADMV1014_LOAMP_PH_ADJ_I_FINE_MSK NO_OS_GENMASK(15, 9) |
#define ADMV1014_LOAMP_PH_ADJ_Q_FINE_MSK NO_OS_GENMASK(8, 2) |
#define ADMV1014_MIXER_VGATE_MSK NO_OS_GENMASK(15, 9) |
#define ADMV1014_NUM_REGULATORS 9 |
#define ADMV1014_P1DB_COMPENSATION_MSK NO_OS_GENMASK(13, 12) |
#define ADMV1014_PARITY_EN_MSK NO_OS_BIT(15) |
#define ADMV1014_PARITY_ERROR_MSK NO_OS_BIT(15) |
#define ADMV1014_QUAD_BG_PD_MSK NO_OS_BIT(9) |
#define ADMV1014_QUAD_FILTERS_MSK NO_OS_GENMASK(3, 0) |
#define ADMV1014_QUAD_IBIAS_PD_MSK NO_OS_BIT(7) |
#define ADMV1014_QUAD_SE_MODE_MSK NO_OS_GENMASK(9, 6) |
#define ADMV1014_READ NO_OS_BIT(7) |
#define ADMV1014_REG_ADDR_READ_MSK NO_OS_GENMASK(6, 1) |
#define ADMV1014_REG_ADDR_WRITE_MSK NO_OS_GENMASK(22, 17) |
#define ADMV1014_REG_ALARM 0x01 |
#define ADMV1014_REG_ALARM_MASKS 0x02 |
#define ADMV1014_REG_BB_AMP_AGC 0x0A |
#define ADMV1014_REG_DATA_MSK NO_OS_GENMASK(16, 1) |
#define ADMV1014_REG_ENABLE 0x03 |
#define ADMV1014_REG_IF_AMP 0x08 |
#define ADMV1014_REG_IF_AMP_BB_AMP 0x09 |
#define ADMV1014_REG_LO_AMP_PHASE_ADJUST1 0x05 |
#define ADMV1014_REG_MIXER 0x07 |
#define ADMV1014_REG_QUAD 0x04 |
#define ADMV1014_REG_SPI_CONTROL 0x00 |
#define ADMV1014_REG_VVA_TEMP_COMP 0x0B |
#define ADMV1014_REVISION_ID_MSK NO_OS_GENMASK(3, 0) |
#define ADMV1014_SPI_READ_CMD NO_OS_BIT(7) |
#define ADMV1014_SPI_SOFT_RESET_MSK NO_OS_BIT(14) |
#define ADMV1014_SPI_WRITE_CMD (0 << 7) |
#define ADMV1014_TOO_FEW_ERRORS_MSK NO_OS_BIT(14) |
#define ADMV1014_TOO_MANY_ERRORS_MSK NO_OS_BIT(13) |
#define ADMV1014_VVA_TEMP_COMP_MSK NO_OS_GENMASK(15, 0) |
enum admv1014_det_prog |
Digital Rx Detector Program.
enum admv1014_input_mode |
int admv1014_get_bb_amp_gain | ( | struct admv1014_dev * | dev, |
uint8_t * | gain ) |
Get Baseband Amp Gain.
Get Baseband Amp Gain
dev | - The device structure. |
gain | - Digital Rx Detector gain. |
int admv1014_get_det_prog | ( | struct admv1014_dev * | dev, |
enum admv1014_det_prog * | det_prog ) |
Get Digital Rx Detector.
Get Digital Rx Detector
dev | - The device structure. |
det_prog | - Digital Rx Detector gain. |
int admv1014_get_if_amp_gain | ( | struct admv1014_dev * | dev, |
uint8_t * | i_coarse_gain, | ||
uint8_t * | q_coarse_gain, | ||
uint8_t * | i_fine_gain, | ||
uint8_t * | q_fine_gain ) |
Get IF Amp Gain.
Get IF Amp Gain
dev | - The device structure. |
i_coarse_gain | - The I coarse gain value. |
q_coarse_gain | - The I coarse gain value. |
i_fine_gain | - The Q fine gain value. |
q_fine_gain | - The Q fine gain value. |
int admv1014_get_phase | ( | struct admv1014_dev * | dev, |
uint8_t * | i_phase, | ||
uint8_t * | q_phase ) |
Get LO Amp Phase.
Get LO Amp Phase
dev | - The device structure. |
i_phase | - The I phase adjust value. |
q_phase | - The Q phase adjust value. |
int admv1014_init | ( | struct admv1014_dev ** | device, |
struct admv1014_init_param * | init_param ) |
Initializes the admv1014.
ADMV1014 Initialization
device | - The device structure. |
init_param | - The structure containing the device initial parameters. |
int admv1014_remove | ( | struct admv1014_dev * | dev | ) |
ADMV1014 Resources Deallocation.
ADMV1014 Resources Deallocation
dev | - The device structure. |
int admv1014_set_bb_amp_gain | ( | struct admv1014_dev * | dev, |
uint8_t | gain ) |
Set Baseband Amp Gain.
Set Baseband Amp Gain
dev | - The device structure. |
gain | - Digital Rx Detector gain. |
int admv1014_set_det_prog | ( | struct admv1014_dev * | dev, |
enum admv1014_det_prog | det_prog ) |
Set Digital Rx Detector.
Set Digital Rx Detector
dev | - The device structure. |
det_prog | - Digital Rx Detector gain. |
int admv1014_set_if_amp_gain | ( | struct admv1014_dev * | dev, |
uint8_t | i_coarse_gain, | ||
uint8_t | q_coarse_gain, | ||
uint8_t | i_fine_gain, | ||
uint8_t | q_fine_gain ) |
Set IF Amp Gain.
Set IF Amp Gain
dev | - The device structure. |
i_coarse_gain | - The I coarse gain value. |
q_coarse_gain | - The I coarse gain value. |
i_fine_gain | - The Q fine gain value. |
q_fine_gain | - The Q fine gain value. |
int admv1014_set_phase | ( | struct admv1014_dev * | dev, |
uint8_t | i_phase, | ||
uint8_t | q_phase ) |
Set LO Amp Phase.
Set LO Amp Phase
dev | - The device structure. |
i_phase | - The I phase adjust value. |
q_phase | - The Q phase adjust value. |
int admv1014_spi_read | ( | struct admv1014_dev * | dev, |
uint8_t | reg_addr, | ||
uint16_t * | data ) |
Reads data from ADMV1014 over SPI.
ADMV1014 SPI Read
dev | - The device structure. |
reg_addr | - The register address. |
data | - Data read from the device. |
int admv1014_spi_update_bits | ( | struct admv1014_dev * | dev, |
uint8_t | reg_addr, | ||
uint16_t | mask, | ||
uint16_t | data ) |
Update ADMV1014 register.
dev | - The device structure. |
reg_addr | - The register address. |
mask | - Mask for specific register bits to be updated. |
data | - Data written to the device (requires prior bit shifting). |
int admv1014_spi_write | ( | struct admv1014_dev * | dev, |
uint8_t | reg_addr, | ||
uint16_t | data ) |
Writes data to ADMV1014 over SPI.
ADMV1014 SPI write
dev | - The device structure. |
reg_addr | - The register address. |
data | - Data value to write. |