Driver for the Analog Devices AXI-ADC-CORE module.
struct no_os_gpio_desc * gpio_en[AD796X_NUM_GPIOS]
Definition: ad796x.h:97
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
@ AD796X_MODE10_SNOOZE2
Definition: ad796x.h:65
Structure containing the init parameters needed by the PWM generator.
Definition: no_os_pwm.h:72
ad796x_mode
Definition: ad796x.h:54
int ad796x_remove(struct ad796x_dev *dev)
Remove the device and release resources.
Definition: ad796x.c:229
#define AD796X_NUM_GPIOS
Definition: ad796x.h:68
struct axi_adc_init * ad796x_core_ip
Definition: ad796x.h:78
struct axi_dmac_init * dmac_ip
Definition: ad796x.h:80
Definition: axi_dmac.h:129
@ AD796X_MODE5_TEST
Definition: ad796x.h:60
int32_t no_os_pwm_remove(struct no_os_pwm_desc *desc)
Free the resources allocated by no_os_pwm_init().
Definition: no_os_pwm.c:85
AXI ADC Initialization Parameters structure.
Definition: axi_adc_core.h:149
Driver for the Analog Devices AXI CLKGEN.
int32_t axi_dmac_transfer_wait_completion(struct axi_dmac *dmac, uint32_t timeout_ms)
Definition: axi_dmac.c:510
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:94
int ad796x_remove(struct ad796x_dev *dev)
Remove the device and release resources.
Definition: ad796x.c:229
Definition: clk_axi_clkgen.h:56
struct axi_adc * ad796x_core
Definition: ad796x.h:92
AXI ADC Device Descriptor.
Definition: axi_adc_core.h:128
int32_t axi_clkgen_set_rate(struct axi_clkgen *clkgen, uint32_t rate)
axi_clkgen_set_rate
Definition: clk_axi_clkgen.c:419
Definition: ad9361_util.h:75
enum ad796x_mode mode
Definition: ad796x.h:84
int32_t axi_clkgen_init(struct axi_clkgen **clk, const struct axi_clkgen_init *init)
axi_clkgen_init
Definition: clk_axi_clkgen.c:525
Definition: clk_axi_clkgen.h:50
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
enum ad7616_mode mode
Definition: ad7616.h:232
@ AD796X_MODE1_EXT_REF_5P0
Definition: ad796x.h:56
@ AD796X_MODE0_POWER_DOWN
Definition: ad796x.h:55
Definition: axi_dmac.h:106
int32_t ad796x_read_data(struct ad796x_dev *dev, uint32_t *buf, uint16_t samples)
Read data samples from adc.
Definition: ad796x.c:80
@ AD796X_MODE7_EXT_REF_5P0_9MHZ
Definition: ad796x.h:62
struct no_os_pwm_init_param * axi_pwm_1_ip
Definition: ad796x.h:82
struct no_os_gpio_init_param * gpio_ip[AD796X_NUM_GPIOS]
Definition: ad796x.h:83
Driver for the Analog Devices AXI-DMAC core.
@ AD796X_MODE9_EXT_REF_4P0_9MHZ
Definition: ad796x.h:64
struct no_os_pwm_desc * axi_pwm_0
Definition: ad796x.h:95
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
Structure representing an PWM generator device.
Definition: no_os_pwm.h:99
struct axi_dmac * axi_dmac
Definition: ad796x.h:94
int ad796x_init(struct ad796x_dev **device, struct ad796x_init_param *init_param)
Initialize the device.
Definition: ad796x.c:165
int32_t no_os_pwm_init(struct no_os_pwm_desc **desc, const struct no_os_pwm_init_param *param)
Initialize the PWM peripheral.
Definition: no_os_pwm.c:57
@ AD796X_MODE6_INVALID
Definition: ad796x.h:61
struct axi_clkgen_init * clkgen_ip
Definition: ad796x.h:79
Header file of PWM Interface.
int ad796x_init(struct ad796x_dev **device, struct ad796x_init_param *init_param)
Initialize the device.
Definition: ad796x.c:165
struct no_os_pwm_desc * axi_pwm_1
Definition: ad796x.h:96
@ NO
Definition: axi_dmac.h:102
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
int32_t axi_adc_init(struct axi_adc **adc_core, const struct axi_adc_init *init)
AXI ADC Main Initialization.
Definition: axi_adc_core.c:647
int32_t axi_dmac_init(struct axi_dmac **dmac_core, const struct axi_dmac_init *init)
Definition: axi_dmac.c:332
@ AD796X_MODE4_SNOOZE
Definition: ad796x.h:59
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
AD796X Device structure.
Definition: ad796x.h:91
int32_t axi_adc_remove(struct axi_adc *adc)
AXI ADC Resources deallocation.
Definition: axi_adc_core.c:687
struct no_os_pwm_init_param * axi_pwm_0_ip
Definition: ad796x.h:81
#define AD796X_BYTES_PER_SAMPLE
Definition: ad796x.c:53
@ AD796X_MODE2_INT_REF_4P0
Definition: ad796x.h:57
Header file of GPIO Interface.
Header file of AD796X Driver.
int32_t axi_dmac_transfer_start(struct axi_dmac *dmac, struct axi_dma_transfer *dma_transfer)
Definition: axi_dmac.c:383
int32_t ad796x_read_data(struct ad796x_dev *dev, uint32_t *buf, uint16_t samples)
Read data samples from adc.
Definition: ad796x.c:80
int32_t axi_clkgen_remove(struct axi_clkgen *clkgen)
axi_clkgen_remove
Definition: clk_axi_clkgen.c:546
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:153
uint32_t size
Definition: axi_dmac.h:107
@ AD796X_MODE3_EXT_REF_4P0
Definition: ad796x.h:58
@ AD796X_MODE8_INT_REF_4P0_9MHZ
Definition: ad796x.h:63
Error macro definition for ARM Compiler.
struct axi_clkgen * clkgen
Definition: ad796x.h:93
Definition: axi_dmac.h:114
AD796X Device initialization parameters.
Definition: ad796x.h:77
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:81