no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ad9265.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef AD9265_H_
34#define AD9265_H_
35
36#include <stdint.h>
37#include "no_os_delay.h"
38#include "no_os_spi.h"
39
40#define AD9265_REG_CHIP_PORT_CONF 0x00
41#define AD9265_REG_CHIP_ID 0x01
42#define AD9265_REG_CHIP_GRADE 0x02
43#define AD9265_REG_CHAN_INDEX 0x05
44#define AD9265_REG_TRANSFER 0xFF
45#define AD9265_REG_MODES 0x08
46#define AD9265_REG_TEST_IO 0x0D
47#define AD9265_REG_ADC_INPUT 0x0F
48#define AD9265_REG_OFFSET 0x10
49#define AD9265_REG_OUTPUT_MODE 0x14
50#define AD9265_REG_OUTPUT_ADJUST 0x15
51#define AD9265_REG_OUTPUT_PHASE 0x16
52#define AD9265_REG_OUTPUT_DELAY 0x17
53#define AD9265_REG_VREF 0x18
54#define AD9265_REG_ANALOG_INPUT 0x2C
55
56/* ADC_REG_TRANSFER */
57#define TRANSFER_SYNC 0x1
58
59/* AD9265_REG_TEST_IO */
60#define TESTMODE_OFF 0x0
61#define TESTMODE_MIDSCALE_SHORT 0x1
62#define TESTMODE_POS_FULLSCALE 0x2
63#define TESTMODE_NEG_FULLSCALE 0x3
64#define TESTMODE_ALT_CHECKERBOARD 0x4
65#define TESTMODE_PN23_SEQ 0x5
66#define TESTMODE_PN9_SEQ 0x6
67#define TESTMODE_ONE_ZERO_TOGGLE 0x7
68
69/* ADC_REG_OUTPUT_MODE */
70#define OUTPUT_MODE_OFFSET_BINARY 0x0
71#define OUTPUT_MODE_TWOS_COMPLEMENT 0x1
72#define OUTPUT_MODE_GRAY_CODE 0x2
73
74/* ADC_REG_OUTPUT_PHASE */
75#define OUTPUT_EVEN_ODD_MODE_EN 0x20
76#define INVERT_DCO_CLK 0x80
77
78#define AD9265_CHIP_ID 0x64
79#define AD9265_DEF_OUTPUT_MODE 0x40
80
82 /* SPI */
84 /* Device Settings */
85 uint8_t output_mode;
86 uint8_t dco; // data clock output
87 uint8_t dco_en; // dco enable
88 uint8_t nb_lanes; // number of lanes
89};
90
91struct ad9265_dev {
92 /* SPI */
94};
95
96int32_t ad9265_testmode_set(struct ad9265_dev *dev,
97 uint8_t mode);
98int32_t ad9265_setup(struct ad9265_dev **device,
100 struct axi_adc core);
101int32_t ad9265_remove(struct ad9265_dev *dev);
102int32_t ad9265_calibrate(struct ad9265_dev *dev,
104 struct axi_adc core);
105int32_t ad9265_outputmode_set(struct ad9265_dev *dev,
106 uint8_t mode);
107int32_t ad9265_spi_write(struct ad9265_dev *dev,
108 uint16_t reg_addr,
109 uint8_t reg_data);
110int32_t ad9265_spi_read(struct ad9265_dev *dev,
111 uint16_t reg_addr,
112 uint8_t *reg_data);
113#endif
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t ad9265_spi_write(struct ad9265_dev *dev, uint16_t reg_addr, uint8_t reg_data)
ad9265_spi_write
Definition ad9265.c:66
int32_t ad9265_calibrate(struct ad9265_dev *dev, struct ad9265_init_param init_param, struct axi_adc core)
ad9265_calibrate
Definition ad9265.c:116
int32_t ad9265_setup(struct ad9265_dev **device, struct ad9265_init_param init_param, struct axi_adc core)
ad9265_setup
Definition ad9265.c:278
int32_t ad9265_spi_read(struct ad9265_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
ad9265_spi_read
Definition ad9265.c:45
int32_t ad9265_testmode_set(struct ad9265_dev *dev, uint8_t mode)
ad9265_setup
Definition ad9265.c:104
int32_t ad9265_remove(struct ad9265_dev *dev)
ad9265_remove
Definition ad9265.c:318
int32_t ad9265_outputmode_set(struct ad9265_dev *dev, uint8_t mode)
ad9265_setup
Definition ad9265.c:86
Header file of Delay functions.
Header file of SPI Interface.
Definition ad9265.h:91
struct no_os_spi_desc * spi_desc
Definition ad9265.h:93
Definition ad9265.h:81
struct no_os_spi_init_param spi_init
Definition ad9265.h:83
uint8_t output_mode
Definition ad9265.h:85
uint8_t dco_en
Definition ad9265.h:87
uint8_t dco
Definition ad9265.h:86
uint8_t nb_lanes
Definition ad9265.h:88
AXI ADC Device Descriptor.
Definition axi_adc_core.h:123
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
enum no_os_spi_mode mode
Definition no_os_spi.h:190
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128