34#ifndef SRC_PULSAR_ADC_H_
35#define SRC_PULSAR_ADC_H_
39#if !defined(USE_STANDARD_SPI)
48#define PULSAR_ADC_READ_COMMAND 0x54
49#define PULSAR_ADC_WRITE_COMMAND 0x14
50#define PULSAR_ADC_RESERVED_MSK 0xE0
52#define PULSAR_ADC_TURBO_MODE(x) (((x) & 0x1) << 1)
53#define PULSAR_ADC_HIGH_Z_MODE(x) (((x) & 0x1) << 2)
54#define PULSAR_ADC_SPAN_COMPRESSION(x) (((x) & 0x1) << 3)
55#define PULSAR_ADC_EN_STATUS_BITS(x) (((x) & 0x1) << 4)
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Driver for the Analog Devices AXI CLKGEN.
Header file of GPIO Interface.
Header file of PWM Interface.
Header file of SPI Interface.
int32_t pulsar_adc_init(struct pulsar_adc_dev **device, struct pulsar_adc_init_param *init_param)
Definition pulsar_adc.c:296
int32_t pulsar_adc_spi_reg_read(struct pulsar_adc_dev *dev, uint8_t *reg_data)
Definition pulsar_adc.c:89
int32_t pulsar_adc_remove(struct pulsar_adc_dev *dev)
Free the resources allocated by pulsar_adc_init().
Definition pulsar_adc.c:386
int32_t pulsar_adc_spi_reg_write(struct pulsar_adc_dev *dev, uint8_t reg_data)
Definition pulsar_adc.c:134
int32_t pulsar_adc_read_data(struct pulsar_adc_dev *dev, uint32_t *buf, uint16_t samples)
Definition pulsar_adc.c:267
pulsar_adc_supported_dev_ids
Definition pulsar_adc.h:57
@ ID_AD4005
Definition pulsar_adc.h:63
@ ID_AD7942
Definition pulsar_adc.h:76
@ ID_AD4004
Definition pulsar_adc.h:62
@ ID_AD7693
Definition pulsar_adc.h:75
@ ID_AD7946
Definition pulsar_adc.h:78
@ ID_AD7691
Definition pulsar_adc.h:74
@ ID_AD7986
Definition pulsar_adc.h:84
@ ID_AD7982
Definition pulsar_adc.h:80
@ ID_AD4007
Definition pulsar_adc.h:65
@ ID_AD4021
Definition pulsar_adc.h:70
@ ID_AD7983
Definition pulsar_adc.h:81
@ ID_AD7985
Definition pulsar_adc.h:83
@ ID_AD4002
Definition pulsar_adc.h:60
@ ID_AD7984
Definition pulsar_adc.h:82
@ ID_AD4001
Definition pulsar_adc.h:59
@ ID_AD4020
Definition pulsar_adc.h:69
@ ID_AD7980
Definition pulsar_adc.h:79
@ ID_AD4006
Definition pulsar_adc.h:64
@ ID_AD4022
Definition pulsar_adc.h:71
@ ID_AD4011
Definition pulsar_adc.h:68
@ ID_ADAQ4003
Definition pulsar_adc.h:72
@ ID_AD4003
Definition pulsar_adc.h:61
@ ID_AD4008
Definition pulsar_adc.h:66
@ ID_AD4010
Definition pulsar_adc.h:67
@ ID_AD7944
Definition pulsar_adc.h:77
@ ID_AD4000
Definition pulsar_adc.h:58
@ ID_AD7690
Definition pulsar_adc.h:73
Definition clk_axi_clkgen.h:44
Definition clk_axi_clkgen.h:38
Definition ad9361_util.h:63
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure representing an PWM generator device.
Definition no_os_pwm.h:83
Structure containing the init parameters needed by the PWM generator.
Definition no_os_pwm.h:56
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Definition pulsar_adc.h:87
char sign
Definition pulsar_adc.h:89
uint16_t resolution
Definition pulsar_adc.h:88
uint16_t max_rate
Definition pulsar_adc.h:90
Definition pulsar_adc.h:93
bool offload_enable
Definition pulsar_adc.h:113
uint32_t reg_access_speed
Definition pulsar_adc.h:103
struct no_os_gpio_desc * gpio_cnv
Definition pulsar_adc.h:101
const struct pulsar_adc_dev_info * dev_info
Definition pulsar_adc.h:109
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition pulsar_adc.h:111
enum pulsar_adc_supported_dev_ids dev_id
Definition pulsar_adc.h:105
struct no_os_pwm_desc * trigger_pwm_desc
Definition pulsar_adc.h:99
struct axi_clkgen * clkgen
Definition pulsar_adc.h:97
struct spi_engine_offload_init_param * offload_init_param
Definition pulsar_adc.h:107
struct no_os_spi_desc * spi_desc
Definition pulsar_adc.h:95
Definition pulsar_adc.h:116
bool high_z_mode
Definition pulsar_adc.h:141
uint32_t reg_access_speed
Definition pulsar_adc.h:128
bool offload_enable
Definition pulsar_adc.h:139
struct spi_engine_offload_init_param * offload_init_param
Definition pulsar_adc.h:132
enum pulsar_adc_supported_dev_ids dev_id
Definition pulsar_adc.h:130
uint32_t * buffer
Definition pulsar_adc.h:136
struct no_os_pwm_init_param * trigger_pwm_init
Definition pulsar_adc.h:120
bool en_status_bits
Definition pulsar_adc.h:143
void(* dcache_invalidate_range)(uint32_t address, uint32_t bytes_count)
Definition pulsar_adc.h:134
struct axi_clkgen_init * clkgen_init
Definition pulsar_adc.h:122
uint32_t axi_clkgen_rate
Definition pulsar_adc.h:124
uint32_t buffer_size
Definition pulsar_adc.h:138
struct no_os_spi_init_param * spi_init
Definition pulsar_adc.h:118
bool span_compression
Definition pulsar_adc.h:142
bool turbo_mode
Definition pulsar_adc.h:140
struct no_os_gpio_init_param * gpio_cnv
Definition pulsar_adc.h:126
Structure containing the init parameters needed by the offload module.
Definition spi_engine.h:131