43#define ADRF6780_REG_CONTROL 0x00
44#define ADRF6780_REG_ALARM_READBACK 0x01
45#define ADRF6780_REG_ALARM_MASKS 0x02
46#define ADRF6780_REG_ENABLE 0x03
47#define ADRF6780_REG_LINEARIZE 0x04
48#define ADRF6780_REG_LO_PATH 0x05
49#define ADRF6780_REG_ADC_CONTROL 0x06
50#define ADRF6780_REG_ADC_OUTPUT 0x0C
53#define ADRF6780_PARITY_EN_MSK NO_OS_BIT(15)
54#define ADRF6780_SOFT_RESET_MSK NO_OS_BIT(14)
55#define ADRF6780_CHIP_ID_MSK NO_OS_GENMASK(11, 4)
56#define ADRF6780_CHIP_ID 0xA
57#define ADRF6780_CHIP_REVISION_MSK NO_OS_GENMASK(3, 0)
60#define ADRF6780_PARITY_ERROR_MSK NO_OS_BIT(15)
61#define ADRF6780_TOO_FEW_ERRORS_MSK NO_OS_BIT(14)
62#define ADRF6780_TOO_MANY_ERRORS_MSK NO_OS_BIT(13)
63#define ADRF6780_ADDRESS_RANGE_ERROR_MSK NO_OS_BIT(12)
66#define ADRF6780_VGA_BUFFER_EN_MSK NO_OS_BIT(8)
67#define ADRF6780_DETECTOR_EN_MSK NO_OS_BIT(7)
68#define ADRF6780_LO_BUFFER_EN_MSK NO_OS_BIT(6)
69#define ADRF6780_IF_MODE_EN_MSK NO_OS_BIT(5)
70#define ADRF6780_IQ_MODE_EN_MSK NO_OS_BIT(4)
71#define ADRF6780_LO_X2_EN_MSK NO_OS_BIT(3)
72#define ADRF6780_LO_PPF_EN_MSK NO_OS_BIT(2)
73#define ADRF6780_LO_EN_MSK NO_OS_BIT(1)
74#define ADRF6780_UC_BIAS_EN_MSK NO_OS_BIT(0)
77#define ADRF6780_RDAC_LINEARIZE_MSK NO_OS_GENMASK(7, 0)
80#define ADRF6780_LO_SIDEBAND_MSK NO_OS_BIT(10)
81#define ADRF6780_Q_PATH_PHASE_ACCURACY_MSK NO_OS_GENMASK(7, 4)
82#define ADRF6780_I_PATH_PHASE_ACCURACY_MSK NO_OS_GENMASK(3, 0)
85#define ADRF6780_VDET_OUTPUT_SELECT_MSK NO_OS_BIT(3)
86#define ADRF6780_ADC_START_MSK NO_OS_BIT(2)
87#define ADRF6780_ADC_EN_MSK NO_OS_BIT(1)
88#define ADRF6780_ADC_CLOCK_EN_MSK NO_OS_BIT(0)
91#define ADRF6780_ADC_STATUS_MSK NO_OS_BIT(8)
92#define ADRF6780_ADC_VALUE_MSK NO_OS_GENMASK(7, 0)
95#define ADRF6780_BUFF_SIZE_BYTES 3
96#define ADRF6780_SPI_READ_CMD NO_OS_BIT(7)
97#define ADRF6780_SPI_WRITE_CMD (0 << 7)
159 uint16_t mask, uint16_t data);
173 uint8_t i_data, uint8_t q_data);
177 uint8_t *i_data, uint8_t *q_data);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int adrf6780_get_rdac_linearize(struct adrf6780_dev *dev, uint8_t *rdac_lin)
Get IMD Performance Improvement.
Definition adrf6780.c:136
int adrf6780_get_cdac_iq_phase_accuracy(struct adrf6780_dev *dev, uint8_t *i_data, uint8_t *q_data)
Get I/Q Phase Accuracy.
Definition adrf6780.c:182
int adrf6780_set_cdac_iq_phase_accuracy(struct adrf6780_dev *dev, uint8_t i_data, uint8_t q_data)
Set I/Q Phase Accuracy.
Definition adrf6780.c:157
int adrf6780_spi_update_bits(struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t data)
Update ADRF6780 register.
Definition adrf6780.c:102
int adrf6780_spi_write(struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t data)
Writes data to ADRF6780 over SPI.
Definition adrf6780.c:47
int adrf6780_soft_reset(struct adrf6780_dev *dev)
Software Reset.
Definition adrf6780.c:242
int adrf6780_remove(struct adrf6780_dev *dev)
ADRF6780 Resources Deallocation.
Definition adrf6780.c:358
int adrf6780_spi_read(struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t *data)
Reads data from ADRF6780 over SPI.
Definition adrf6780.c:71
int adrf6780_read_adc_raw(struct adrf6780_dev *dev, uint16_t *data)
Read ADC raw data.
Definition adrf6780.c:204
int adrf6780_init(struct adrf6780_dev **device, struct adrf6780_init_param *init_param)
Initializes the adrf6780.
Definition adrf6780.c:263
int adrf6780_set_rdac_linearize(struct adrf6780_dev *dev, uint8_t rdac_lin)
Set IMD Performance Improvement.
Definition adrf6780.c:124
Header file of SPI Interface.
Header file of utility functions.
ADRF6780 Device Descriptor.
Definition adrf6780.h:130
bool lo_buff_en
Definition adrf6780.h:138
unsigned long long lo_in
Definition adrf6780.h:134
bool lo_sideband
Definition adrf6780.h:148
bool if_mode_en
Definition adrf6780.h:140
bool vdet_out_en
Definition adrf6780.h:150
bool vga_buff_en
Definition adrf6780.h:136
bool lo_en
Definition adrf6780.h:144
struct no_os_spi_desc * spi_desc
Definition adrf6780.h:132
bool uc_bias_en
Definition adrf6780.h:146
bool lo_x2_en
Definition adrf6780.h:142
ADRF6780 Initialization Parameters structure.
Definition adrf6780.h:103
bool vdet_out_en
Definition adrf6780.h:123
bool lo_en
Definition adrf6780.h:117
bool uc_bias_en
Definition adrf6780.h:119
bool lo_buff_en
Definition adrf6780.h:111
bool lo_x2_en
Definition adrf6780.h:115
bool vga_buff_en
Definition adrf6780.h:109
struct no_os_spi_init_param * spi_init
Definition adrf6780.h:105
unsigned long long lo_in
Definition adrf6780.h:107
bool lo_sideband
Definition adrf6780.h:121
bool if_mode_en
Definition adrf6780.h:113
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128