no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
iio_axi_adc.h
Go to the documentation of this file.
1/***************************************************************************/
33
34#ifndef IIO_AXI_ADC_H_
35#define IIO_AXI_ADC_H_
36
37#include "iio_types.h"
38#include "axi_adc_core.h"
39#include "axi_dmac.h"
40
47 struct axi_adc *adc;
49 uint32_t mask;
51 struct axi_dmac *dmac;
53 void (*dcache_invalidate_range)(uint32_t address, uint32_t bytes_count);
55 int (*get_sampling_frequency)(struct axi_adc *dev, uint32_t chan,
56 uint64_t *sampling_freq_hz);
60 char (*ch_names)[20];
63};
64
71 struct axi_adc *rx_adc;
75 void (*dcache_invalidate_range)(uint32_t address, uint32_t bytes_count);
77 int (*get_sampling_frequency)(struct axi_adc *dev, uint32_t chan,
78 uint64_t *sampling_freq_hz);
82};
83
84/* Init iio. */
85int32_t iio_axi_adc_init(struct iio_axi_adc_desc **desc,
86 struct iio_axi_adc_init_param *param);
87
90 struct iio_device **dev_descriptor);
91
92/* Free the resources allocated by iio_axi_adc_init(). */
93int32_t iio_axi_adc_remove(struct iio_axi_adc_desc *desc);
94
95#endif // IIO_AXI_ADC_H_
Driver for the Analog Devices AXI-ADC-CORE module.
Driver for the Analog Devices AXI-DMAC core.
int32_t iio_axi_adc_init(struct iio_axi_adc_desc **desc, struct iio_axi_adc_init_param *param)
Registers a iio_axi_adc_desc for reading/writing and parameterization of axi_adc device.
Definition iio_axi_adc.c:467
void iio_axi_adc_get_dev_descriptor(struct iio_axi_adc_desc *desc, struct iio_device **dev_descriptor)
Get device descriptor.
Definition iio_axi_adc.c:454
int32_t iio_axi_adc_remove(struct iio_axi_adc_desc *desc)
Release resources.
Definition iio_axi_adc.c:521
Header file for iio_types.
AXI ADC Device Descriptor.
Definition axi_adc_core.h:123
Definition axi_dmac.h:101
iio_axi_adc_descriptor
Definition iio_axi_adc.h:45
struct axi_adc * adc
Definition iio_axi_adc.h:47
struct axi_dmac * dmac
Definition iio_axi_adc.h:51
struct iio_device dev_descriptor
Definition iio_axi_adc.h:58
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition iio_axi_adc.h:53
uint32_t mask
Definition iio_axi_adc.h:49
struct scan_type * scan_type_common
Definition iio_axi_adc.h:62
int(* get_sampling_frequency)(struct axi_adc *dev, uint32_t chan, uint64_t *sampling_freq_hz)
Definition iio_axi_adc.h:55
char(* ch_names)[20]
Definition iio_axi_adc.h:60
iio configuration.
Definition iio_axi_adc.h:69
struct axi_dmac * rx_dmac
Definition iio_axi_adc.h:73
struct axi_adc * rx_adc
Definition iio_axi_adc.h:71
struct scan_type * scan_type_common
Definition iio_axi_adc.h:81
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition iio_axi_adc.h:75
int(* get_sampling_frequency)(struct axi_adc *dev, uint32_t chan, uint64_t *sampling_freq_hz)
Definition iio_axi_adc.h:77
Structure holding channels and attributes of a device.
Definition iio_types.h:238
Definition iio_types.h:142