no-OS
ad7616.h
Go to the documentation of this file.
1 /***************************************************************************/
40 #ifndef AD7616_H_
41 #define AD7616_H_
42 
43 #include "no_os_gpio.h"
44 
45 /******************************************************************************/
46 /********************** Macros and Constants Definitions **********************/
47 /******************************************************************************/
48 /* AD7616 CORE */
49 #define AD7616_REG_PCORE_VERSION 0x400
50 #define AD7616_REG_ID 0x404
51 #define AD7616_REG_UP_SCRATCH 0x408
52 #define AD7616_REG_UP_IF_TYPE 0x40C
53 #define AD7616_REG_UP_CTRL 0x440
54 #define AD7616_REG_UP_CONV_RATE 0x444
55 #define AD7616_REG_UP_BURST_LENGTH 0x448
56 #define AD7616_REG_UP_READ_DATA 0x44C
57 #define AD7616_REG_UP_WRITE_DATA 0x450
58 
59 /* AD7616_REG_UP_CTRL */
60 #define AD7616_CTRL_RESETN (1 << 0)
61 #define AD7616_CTRL_CNVST_EN (1 << 1)
62 
63 #define AD7616_REG_CONFIG 0x02
64 #define AD7616_REG_CHANNEL 0x03
65 #define AD7616_REG_INPUT_RANGE_A1 0x04
66 #define AD7616_REG_INPUT_RANGE_A2 0x05
67 #define AD7616_REG_INPUT_RANGE_B1 0x06
68 #define AD7616_REG_INPUT_RANGE_B2 0x07
69 #define AD7616_REG_SEQUENCER_STACK(x) (0x20 + (x))
70 
71 /* AD7616_REG_CONFIG */
72 #define AD7616_SDEF (1 << 7)
73 #define AD7616_BURSTEN (1 << 6)
74 #define AD7616_SEQEN (1 << 5)
75 #define AD7616_OS(x) (((x) & 0x7) << 2)
76 #define AD7616_STATUSEN (1 << 1)
77 #define AD7616_CRCEN (1 << 0)
78 
79 /* AD7616_REG_INPUT_RANGE */
80 #define AD7616_INPUT_RANGE(ch, x) (((x) & 0x3) << (((ch) & 0x3) * 2))
81 
82 /* AD7616_REG_SEQUENCER_STACK(x) */
83 #define AD7616_ADDR(x) (((x) & 0x7F) << 9)
84 #define AD7616_SSREN (1 << 8)
85 #define AD7616_BSEL(x) (((x) & 0xF) << 4)
86 #define AD7616_ASEL(x) (((x) & 0xF) << 0)
87 
88 /* AD7616_REG_STATUS */
89 #define AD7616_STATUS_A(x) (((x) & 0xF) << 12)
90 #define AD7616_STATUS_B(x) (((x) & 0xF) << 8)
91 #define AD7616_STATUS_CRC(x) (((x) & 0xFF) << 0)
92 
93 /******************************************************************************/
94 /*************************** Types Declarations *******************************/
95 /******************************************************************************/
99 };
100 
104 };
105 
106 enum ad7616_ch {
123 };
124 
129 };
130 
140 };
141 
142 struct ad7616_dev {
143  /* SPI */
147  /* GPIO */
154  /* AXI Core */
155  uint32_t core_baseaddr;
156  /* Device Settings */
159  enum ad7616_range va[8];
160  enum ad7616_range vb[8];
162  void (*dcache_invalidate_range)(uint32_t address, uint32_t bytes_count);
163 };
164 
166  /* SPI */
170  /* GPIO */
177  /* Core */
178  uint32_t core_baseaddr;
179  /* Device Settings */
181  enum ad7616_range va[8];
182  enum ad7616_range vb[8];
184  void (*dcache_invalidate_range)(uint32_t address, uint32_t bytes_count);
185 };
186 
187 /******************************************************************************/
188 /************************ Functions Declarations ******************************/
189 /******************************************************************************/
190 /* SPI read from device. */
191 int32_t ad7616_read(struct ad7616_dev *dev,
192  uint8_t reg_addr,
193  uint16_t *reg_data);
194 /* SPI write to device. */
195 int32_t ad7616_write(struct ad7616_dev *dev,
196  uint8_t reg_addr,
197  uint16_t reg_data);
198 /* SPI read from device using a mask. */
199 int32_t ad7616_read_mask(struct ad7616_dev *dev,
200  uint8_t reg_addr,
201  uint16_t mask,
202  uint16_t *data);
203 /* SPI write to device using a mask. */
204 int32_t ad7616_write_mask(struct ad7616_dev *dev,
205  uint8_t reg_addr,
206  uint16_t mask,
207  uint16_t data);
208 /* SPI read from device. */
209 int32_t ad7616_spi_read(struct ad7616_dev *dev,
210  uint8_t reg_addr,
211  uint16_t *reg_data);
212 /* SPI write to device. */
213 int32_t ad7616_spi_write(struct ad7616_dev *dev,
214  uint8_t reg_addr,
215  uint16_t reg_data);
216 /* PAR read from device. */
217 int32_t ad7616_par_read(struct ad7616_dev *dev,
218  uint8_t reg_addr,
219  uint16_t *reg_data);
220 /* PAR write to device. */
221 int32_t ad7616_par_write(struct ad7616_dev *dev,
222  uint8_t reg_addr,
223  uint16_t reg_data);
224 /* Perform a full reset of the device. */
225 int32_t ad7616_reset(struct ad7616_dev *dev);
226 /* Set the analog input range for the selected analog input channel. */
227 int32_t ad7616_set_range(struct ad7616_dev *dev,
228  enum ad7616_ch ch,
229  enum ad7616_range range);
230 /* Set the operation mode (software or hardware). */
231 int32_t ad7616_set_mode(struct ad7616_dev *dev,
232  enum ad7616_mode mode);
233 /* Set the oversampling ratio. */
234 int32_t ad7616_set_oversampling_ratio(struct ad7616_dev *dev,
235  enum ad7616_osr osr);
236 /* Read data in serial mode. */
237 int32_t ad7616_read_data_serial(struct ad7616_dev *dev,
238  uint32_t *buf,
239  uint32_t samples);
240 /* Read data in parallel mode. */
241 int32_t ad7616_read_data_parallel(struct ad7616_dev *dev,
242  uint32_t *buf,
243  uint32_t samples);
244 /* Initialize the core. */
245 int32_t ad7616_core_setup(struct ad7616_dev *dev);
246 /* Initialize the device. */
247 int32_t ad7616_setup(struct ad7616_dev **device,
248  struct ad7616_init_param *init_param);
249 #endif
ad7616_write_mask
int32_t ad7616_write_mask(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t data)
Definition: ad7616.c:122
AD7616_VA7
@ AD7616_VA7
Definition: ad7616.h:114
AD7616_OSR_32
@ AD7616_OSR_32
Definition: ad7616.h:137
ad7616_dev::gpio_os2
struct no_os_gpio_desc * gpio_os2
Definition: ad7616.h:153
ad7616_set_oversampling_ratio
int32_t ad7616_set_oversampling_ratio(struct ad7616_dev *dev, enum ad7616_osr osr)
Definition: ad7616.c:361
ad7616_init_param::gpio_hw_rngsel0_param
no_os_gpio_init_param * gpio_hw_rngsel0_param
Definition: ad7616.h:171
axi_dmac_init::base
uint32_t base
Definition: axi_dmac.h:131
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
spi_engine_offload_message::no_commands
uint32_t no_commands
Definition: spi_engine.h:167
AD7616_REG_INPUT_RANGE_B2
#define AD7616_REG_INPUT_RANGE_B2
Definition: ad7616.h:68
ad7616_osr
ad7616_osr
Definition: ad7616.h:131
AD7616_REG_INPUT_RANGE_A2
#define AD7616_REG_INPUT_RANGE_A2
Definition: ad7616.h:66
AD7616_VB6
@ AD7616_VB6
Definition: ad7616.h:121
ad7616_write
int32_t ad7616_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:79
ad7616_spi_read
int32_t ad7616_spi_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:151
ad7616_mode
ad7616_mode
Definition: ad7616.h:96
ad7616_dev::va
enum ad7616_range va[8]
Definition: ad7616.h:159
ad7616_init_param::gpio_os2_param
no_os_gpio_init_param * gpio_os2_param
Definition: ad7616.h:176
AD7616_VA3
@ AD7616_VA3
Definition: ad7616.h:110
ad7616_interface
ad7616_interface
Definition: ad7616.h:101
ad7616_dev::gpio_os1
struct no_os_gpio_desc * gpio_os1
Definition: ad7616.h:152
ad7616_spi_write
int32_t ad7616_spi_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:177
AD7616_VA5
@ AD7616_VA5
Definition: ad7616.h:112
no_os_spi_write_and_read
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:82
axi_dmac_init
Definition: axi_dmac.h:129
axi_dmac_init::name
const char * name
Definition: axi_dmac.h:130
ad7616_dev::spi_desc
struct no_os_spi_desc * spi_desc
Definition: ad7616.h:144
ad7616_read_data_parallel
int32_t ad7616_read_data_parallel(struct ad7616_dev *dev, uint32_t *buf, uint32_t samples)
Read from device in parallel mode. Enter register mode to read/write registers.
Definition: ad7616.c:434
CS_LOW
#define CS_LOW
Definition: spi_engine.h:79
ad7616_par_read
int32_t ad7616_par_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:198
ad7616_setup
int32_t ad7616_setup(struct ad7616_dev **device, struct ad7616_init_param *init_param)
Definition: ad7616.c:516
spi_engine_offload_init
int32_t spi_engine_offload_init(struct no_os_spi_desc *desc, const struct spi_engine_offload_init_param *param)
Initialize the SPI engine's offload module.
Definition: spi_engine.c:757
axi_dmac_transfer_wait_completion
int32_t axi_dmac_transfer_wait_completion(struct axi_dmac *dmac, uint32_t timeout_ms)
Definition: axi_dmac.c:506
ad7616_core_setup
int32_t ad7616_core_setup(struct ad7616_dev *dev)
Definition: ad7616.c:485
ad7616_setup
int32_t ad7616_setup(struct ad7616_dev **device, struct ad7616_init_param *init_param)
Definition: ad7616.c:516
spi_engine_offload_message::commands_data
uint32_t * commands_data
Definition: spi_engine.h:169
no_os_delay.h
Header file of Delay functions.
ad7616_dev::vb
enum ad7616_range vb[8]
Definition: ad7616.h:160
ad7616_dev
Definition: ad7616.h:142
ad7616_par_write
int32_t ad7616_par_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:221
ad7616_dev::gpio_hw_rngsel0
struct no_os_gpio_desc * gpio_hw_rngsel0
Definition: ad7616.h:148
spi_engine_offload_message
Structure representing an offload message.
Definition: spi_engine.h:160
AD7616_REG_UP_READ_DATA
#define AD7616_REG_UP_READ_DATA
Definition: ad7616.h:56
ad7616_read_data_serial
int32_t ad7616_read_data_serial(struct ad7616_dev *dev, uint32_t *buf, uint32_t samples)
Read from device in serial mode. Enter register mode to read/write registers.
Definition: ad7616.c:386
device
Definition: ad9361_util.h:75
AD7616_SERIAL
@ AD7616_SERIAL
Definition: ad7616.h:102
NO_OS_GPIO_HIGH
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
AD7616_VA1
@ AD7616_VA1
Definition: ad7616.h:108
AD7616_HW
@ AD7616_HW
Definition: ad7616.h:98
no_os_axi_io.h
Header file of AXI IO.
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
ad7616_init_param::mode
enum ad7616_mode mode
Definition: ad7616.h:180
AD7616_VA0
@ AD7616_VA0
Definition: ad7616.h:107
ad7616_read
int32_t ad7616_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:62
AD7616_PARALLEL
@ AD7616_PARALLEL
Definition: ad7616.h:103
ad7616_set_mode
int32_t ad7616_set_mode(struct ad7616_dev *dev, enum ad7616_mode mode)
Definition: ad7616.c:332
ad7616_dev::offload_init_param
struct spi_engine_offload_init_param * offload_init_param
Definition: ad7616.h:145
ad7616_set_range
int32_t ad7616_set_range(struct ad7616_dev *dev, enum ad7616_ch ch, enum ad7616_range range)
Definition: ad7616.c:277
NO_OS_SPI_MODE_3
@ NO_OS_SPI_MODE_3
Definition: no_os_spi.h:72
ad7616.h
Header file of AD7616 Driver.
NO_OS_GPIO_LOW
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
ad7616_init_param::reg_access_speed
uint32_t reg_access_speed
Definition: ad7616.h:169
AD7616_OSR_128
@ AD7616_OSR_128
Definition: ad7616.h:139
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: delay.c:130
axi_dma_transfer
Definition: axi_dmac.h:106
ad7616_init_param::core_baseaddr
uint32_t core_baseaddr
Definition: ad7616.h:178
ad7616_dev::core_baseaddr
uint32_t core_baseaddr
Definition: ad7616.h:155
ad7616_spi_read
int32_t ad7616_spi_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:151
AD7616_VB7
@ AD7616_VB7
Definition: ad7616.h:122
CS_HIGH
#define CS_HIGH
Definition: spi_engine.h:78
spi_engine_set_speed
void spi_engine_set_speed(struct no_os_spi_desc *desc, uint32_t speed_hz)
Set SPI engine clock frequency.
Definition: spi_engine.c:150
AD7616_OSR_2
@ AD7616_OSR_2
Definition: ad7616.h:133
no_os_error.h
Error codes definition.
AD7616_5V
@ AD7616_5V
Definition: ad7616.h:127
AD7616_OSR_0
@ AD7616_OSR_0
Definition: ad7616.h:132
ad7616_init_param::gpio_reset_param
no_os_gpio_init_param * gpio_reset_param
Definition: ad7616.h:173
AD7616_VB5
@ AD7616_VB5
Definition: ad7616.h:120
IRQ_DISABLED
@ IRQ_DISABLED
Definition: axi_dmac.h:83
ad7616_init_param::offload_init_param
struct spi_engine_offload_init_param * offload_init_param
Definition: ad7616.h:168
AD7616_INPUT_RANGE
#define AD7616_INPUT_RANGE(ch, x)
Definition: ad7616.h:80
ad7616_range
ad7616_range
Definition: ad7616.h:125
spi_engine.h
ad7616_init_param
Definition: ad7616.h:165
AD7616_OSR_8
@ AD7616_OSR_8
Definition: ad7616.h:135
ad7616_core_setup
int32_t ad7616_core_setup(struct ad7616_dev *dev)
Definition: ad7616.c:485
axi_dmac.h
Driver for the Analog Devices AXI-DMAC core.
AD7616_2V5
@ AD7616_2V5
Definition: ad7616.h:126
ad7616_write_mask
int32_t ad7616_write_mask(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t data)
Definition: ad7616.c:122
ad7616_dev::reg_access_speed
uint32_t reg_access_speed
Definition: ad7616.h:146
AD7616_OSR_4
@ AD7616_OSR_4
Definition: ad7616.h:134
ad7616_set_oversampling_ratio
int32_t ad7616_set_oversampling_ratio(struct ad7616_dev *dev, enum ad7616_osr osr)
Definition: ad7616.c:361
ad7616_read_data_serial
int32_t ad7616_read_data_serial(struct ad7616_dev *dev, uint32_t *buf, uint32_t samples)
Read from device in serial mode. Enter register mode to read/write registers.
Definition: ad7616.c:386
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:132
ad7616_init_param::vb
enum ad7616_range vb[8]
Definition: ad7616.h:182
no_os_axi_io_read
int32_t no_os_axi_io_read(uint32_t base, uint32_t offset, uint32_t *data)
AXI IO Altera specific read function.
Definition: axi_io.c:59
ad7616_dev::interface
enum ad7616_interface interface
Definition: ad7616.h:157
ad7616_init_param::osr
enum ad7616_osr osr
Definition: ad7616.h:183
ad7616_read_mask
int32_t ad7616_read_mask(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t *data)
Definition: ad7616.c:97
axi_dmac_init::irq_option
enum use_irq irq_option
Definition: axi_dmac.h:132
AD7616_REG_UP_CTRL
#define AD7616_REG_UP_CTRL
Definition: ad7616.h:53
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
AD7616_REG_UP_IF_TYPE
#define AD7616_REG_UP_IF_TYPE
Definition: ad7616.h:52
ad7616_spi_write
int32_t ad7616_spi_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:177
AD7616_VA4
@ AD7616_VA4
Definition: ad7616.h:111
AD7616_CTRL_CNVST_EN
#define AD7616_CTRL_CNVST_EN
Definition: ad7616.h:61
AD7616_VB1
@ AD7616_VB1
Definition: ad7616.h:116
spi_engine_offload_message::commands
uint32_t * commands
Definition: spi_engine.h:165
ad7616_read_data_parallel
int32_t ad7616_read_data_parallel(struct ad7616_dev *dev, uint32_t *buf, uint32_t samples)
Read from device in parallel mode. Enter register mode to read/write registers.
Definition: ad7616.c:434
spi_engine_offload_init_param::rx_dma_baseaddr
uint32_t rx_dma_baseaddr
Definition: spi_engine.h:147
ad7616_set_mode
int32_t ad7616_set_mode(struct ad7616_dev *dev, enum ad7616_mode mode)
Definition: ad7616.c:332
ad7616_init_param::gpio_hw_rngsel1_param
no_os_gpio_init_param * gpio_hw_rngsel1_param
Definition: ad7616.h:172
ad7616_read_mask
int32_t ad7616_read_mask(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t *data)
Definition: ad7616.c:97
ad7616_set_range
int32_t ad7616_set_range(struct ad7616_dev *dev, enum ad7616_ch ch, enum ad7616_range range)
Definition: ad7616.c:277
ad7616_reset
int32_t ad7616_reset(struct ad7616_dev *dev)
Definition: ad7616.c:237
ad7616_init_param::dcache_invalidate_range
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition: ad7616.h:184
ad7616_init_param::va
enum ad7616_range va[8]
Definition: ad7616.h:181
AD7616_OS
#define AD7616_OS(x)
Definition: ad7616.h:75
AD7616_SW
@ AD7616_SW
Definition: ad7616.h:97
ad7616_reset
int32_t ad7616_reset(struct ad7616_dev *dev)
Definition: ad7616.c:237
AD7616_OSR_64
@ AD7616_OSR_64
Definition: ad7616.h:138
NO
@ NO
Definition: axi_dmac.h:102
AD7616_VB2
@ AD7616_VB2
Definition: ad7616.h:117
ad7616_par_write
int32_t ad7616_par_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:221
AD7616_VB0
@ AD7616_VB0
Definition: ad7616.h:115
AD7616_REG_INPUT_RANGE_B1
#define AD7616_REG_INPUT_RANGE_B1
Definition: ad7616.h:67
axi_dmac_init
int32_t axi_dmac_init(struct axi_dmac **dmac_core, const struct axi_dmac_init *init)
Definition: axi_dmac.c:331
no_os_udelay
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: delay.c:118
ad7616_write
int32_t ad7616_write(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t reg_data)
Definition: ad7616.c:79
AD7616_10V
@ AD7616_10V
Definition: ad7616.h:128
no_os_gpio_set_value
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:160
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
ad7616_dev::osr
enum ad7616_osr osr
Definition: ad7616.h:161
AD7616_VB4
@ AD7616_VB4
Definition: ad7616.h:119
AD7616_CTRL_RESETN
#define AD7616_CTRL_RESETN
Definition: ad7616.h:60
ad7616_dev::dcache_invalidate_range
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition: ad7616.h:162
ad7616_read
int32_t ad7616_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:62
AD7616_VA2
@ AD7616_VA2
Definition: ad7616.h:109
spi_engine_offload_transfer
int32_t spi_engine_offload_transfer(struct no_os_spi_desc *desc, struct spi_engine_offload_message msg, uint32_t no_samples)
Initiate a SPI transfer in offload mode.
Definition: spi_engine.c:803
AD7616_OSR_16
@ AD7616_OSR_16
Definition: ad7616.h:136
no_os_axi_io_write
int32_t no_os_axi_io_write(uint32_t base, uint32_t offset, uint32_t data)
AXI IO Altera specific write function.
Definition: axi_io.c:73
AD7616_VB3
@ AD7616_VB3
Definition: ad7616.h:118
spi_engine_offload_init_param
Structure containing the init parameters needed by the offload module.
Definition: spi_engine.h:145
ad7616_init_param::gpio_os1_param
no_os_gpio_init_param * gpio_os1_param
Definition: ad7616.h:175
no_os_gpio.h
Header file of GPIO Interface.
AD7616_REG_UP_CONV_RATE
#define AD7616_REG_UP_CONV_RATE
Definition: ad7616.h:54
no_os_spi_desc::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:136
AD7616_REG_UP_WRITE_DATA
#define AD7616_REG_UP_WRITE_DATA
Definition: ad7616.h:57
no_os_spi_init
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:51
ad7616_dev::gpio_os0
struct no_os_gpio_desc * gpio_os0
Definition: ad7616.h:151
AD7616_REG_INPUT_RANGE_A1
#define AD7616_REG_INPUT_RANGE_A1
Definition: ad7616.h:65
axi_dmac_transfer_start
int32_t axi_dmac_transfer_start(struct axi_dmac *dmac, struct axi_dma_transfer *dma_transfer)
Definition: axi_dmac.c:378
ad7616_dev::mode
enum ad7616_mode mode
Definition: ad7616.h:158
ad7616_dev::gpio_reset
struct no_os_gpio_desc * gpio_reset
Definition: ad7616.h:150
ad7616_dev::gpio_hw_rngsel1
struct no_os_gpio_desc * gpio_hw_rngsel1
Definition: ad7616.h:149
spi_engine_offload_message::rx_addr
uint32_t rx_addr
Definition: spi_engine.h:173
AD7616_REG_CONFIG
#define AD7616_REG_CONFIG
Definition: ad7616.h:63
no_os_spi_desc::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:140
ad7616_init_param::gpio_os0_param
no_os_gpio_init_param * gpio_os0_param
Definition: ad7616.h:174
no_os_gpio_direction_output
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:124
ad7616_ch
ad7616_ch
Definition: ad7616.h:106
axi_dma_transfer::size
uint32_t size
Definition: axi_dmac.h:107
AD7616_VA6
@ AD7616_VA6
Definition: ad7616.h:113
READ
#define READ(no_bytes)
Definition: spi_engine.h:68
ad7616_init_param::spi_param
struct no_os_spi_init_param * spi_param
Definition: ad7616.h:167
axi_dmac
Definition: axi_dmac.h:114
ad7616_par_read
int32_t ad7616_par_read(struct ad7616_dev *dev, uint8_t reg_addr, uint16_t *reg_data)
Definition: ad7616.c:198
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:112
no_os_gpio_get_optional
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:75