Go to the documentation of this file.
56 #define AD413X_CMD_WR_COM_REG(x) (0x00 | ((x) & 0x3F)) // Write to Register x
57 #define AD413X_CMD_RD_COM_REG(x) (0x40 | ((x) & 0x3F)) // Read from Register x
60 #define AD413X_R1B (1 << 8)
61 #define AD413X_R2B (2 << 8)
62 #define AD413X_R3B (3 << 8)
63 #define AD413X_TRANSF_LEN(x) (((x) >> 8) & 0xFF)
66 #define AD413X_REG_STATUS (AD413X_R1B | 0x0)
67 #define AD413X_REG_ADC_CTRL (AD413X_R2B | 0x1)
68 #define AD413X_REG_DATA (AD413X_R3B | 0x2)
69 #define AD413X_REG_IO_CTRL (AD413X_R2B | 0x3)
70 #define AD413X_REG_VBIAS_CTRL (AD413X_R2B | 0x4)
71 #define AD413X_REG_ID (AD413X_R1B | 0x5)
72 #define AD413X_REG_ERROR (AD413X_R2B | 0x6)
73 #define AD413X_REG_ERROR_EN (AD413X_R2B | 0x7)
74 #define AD413X_REG_MCLK_CNT (AD413X_R1B | 0x8)
75 #define AD413X_REG_CHN(x) (AD413X_R3B | (0x09U + (x)))
76 #define AD413X_REG_CONFIG(x) (AD413X_R2B | (0x19U + (x)))
77 #define AD413X_REG_FILTER(x) (AD413X_R3B | (0x21U + (x)))
78 #define AD413X_REG_OFFSET(x) (AD413X_R3B | (0x29U + (x)))
79 #define AD413X_REG_GAIN(x) (AD413X_R3B | (0x31U + (x)))
80 #define AD413X_REG_MISC (AD413X_R2B | 0x39)
81 #define AD413X_REG_FIFO_CTRL (AD413X_R3B | 0x3A)
82 #define AD413X_REG_FIFO_STS (AD413X_R1B | 0x3B)
83 #define AD413X_REG_FIFO_THRSHLD (AD413X_R3B | 0x3C)
84 #define AD413X_REG_FIFO_DATA (AD413X_R3B | 0x3D)
88 #define AD413X_ADC_BIPOLAR NO_OS_BIT(14)
89 #define AD413X_ADC_REF_VAL NO_OS_BIT(13)
90 #define AD413X_ADC_DOUT_DIS_DEL NO_OS_BIT(12)
91 #define AD413X_ADC_CONT_READ NO_OS_BIT(11)
92 #define AD413X_ADC_DATA_STATUS NO_OS_BIT(10)
93 #define AD413X_ADC_CSB_EN NO_OS_BIT(9)
94 #define AD413X_ADC_REF_EN NO_OS_BIT(8)
95 #define AD413X_ADC_DUTY_CYC_RATIO NO_OS_BIT(6)
96 #define AD413X_ADC_MODE(x) (((x) & 0xF) << 2)
97 #define AD413X_ADC_CNTRL_MCLK(x) ((x) & 0x3)
100 #define AD413X_SYNCB_CLEAR NO_OS_BIT(10)
101 #define AD413X_INT_PIN_SEL(x) (((x) & 0x3) << 8)
102 #define AD413X_GPO_DATA_P4 NO_OS_BIT(7)
103 #define AD413X_GPO_DATA_P3 NO_OS_BIT(6)
104 #define AD413X_GPO_DATA_P2 NO_OS_BIT(5)
105 #define AD413X_GPO_DATA_P1 NO_OS_BIT(4)
106 #define AD413X_GPO_CTRL_P4 NO_OS_BIT(3)
107 #define AD413X_GPO_CTRL_P3 NO_OS_BIT(2)
108 #define AD413X_GPO_CTRL_P2 NO_OS_BIT(1)
109 #define AD413X_GPO_CTRL_P1 0x01
112 #define AD413X_VBIAS_15 NO_OS_BIT(15)
113 #define AD413X_VBIAS_14 NO_OS_BIT(14)
114 #define AD413X_VBIAS_13 NO_OS_BIT(13)
115 #define AD413X_VBIAS_12 NO_OS_BIT(12)
116 #define AD413X_VBIAS_11 NO_OS_BIT(11)
117 #define AD413X_VBIAS_10 NO_OS_BIT(10)
118 #define AD413X_VBIAS_9 NO_OS_BIT(9)
119 #define AD413X_VBIAS_8 NO_OS_BIT(8)
120 #define AD413X_VBIAS_7 NO_OS_BIT(7)
121 #define AD413X_VBIAS_6 NO_OS_BIT(6)
122 #define AD413X_VBIAS_5 NO_OS_BIT(5)
123 #define AD413X_VBIAS_4 NO_OS_BIT(4)
124 #define AD413X_VBIAS_3 NO_OS_BIT(3)
125 #define AD413X_VBIAS_2 NO_OS_BIT(2)
126 #define AD413X_VBIAS_1 NO_OS_BIT(1)
127 #define AD413X_VBIAS_0 0x01
130 #define AD413X_AINP_OV_UV_ERR NO_OS_BIT(11)
131 #define AD413X_AINM_OV_UV_ERR NO_OS_BIT(10)
132 #define AD413X_REF_OV_UV_ERR NO_OS_BIT(9)
133 #define AD413X_REF_DETECT_ERR NO_OS_BIT(8)
134 #define AD413X_ADC_ERR NO_OS_BIT(7)
135 #define AD413X_SPI_IGNORE_ERR NO_OS_BIT(6)
136 #define AD413X_SPI_SCLK_CNT_ERR NO_OS_BIT(5)
137 #define AD413X_SPI_READ_ERR NO_OS_BIT(4)
138 #define AD413X_SPI_WRITE_ERR NO_OS_BIT(3)
139 #define AD413X_SPI_CRC_ERR NO_OS_BIT(2)
140 #define AD413X_MM_CRC_ERR NO_OS_BIT(1)
141 #define AD413X_ROM_CRC_ERR 0x01
144 #define AD413X_MCLK_CNT_EN NO_OS_BIT(12)
145 #define AD413X_AINP_OV_UV_ERR_EN NO_OS_BIT(11)
146 #define AD413X_AINM_OV_UV_ERR_EN NO_OS_BIT(10)
147 #define AD413X_REF_OV_UV_ERR_EN NO_OS_BIT(9)
148 #define AD413X_REF_DETECT_ERR_EN NO_OS_BIT(8)
149 #define AD413X_ADC_ERR_EN NO_OS_BIT(7)
150 #define AD413X_SPI_IGNORE_ERR_EN NO_OS_BIT(6)
151 #define AD413X_SPI_SCLK_CNT_ERR_EN NO_OS_BIT(5)
152 #define AD413X_SPI_READ_ERR_EN NO_OS_BIT(4)
153 #define AD413X_SPI_WRITE_ERR_EN NO_OS_BIT(3)
154 #define AD413X_SPI_CRC_ERR_EN NO_OS_BIT(2)
155 #define AD413X_MM_CRC_ERR_EN NO_OS_BIT(1)
156 #define AD413X_ROM_CRC_ERR_EN 0x01
159 #define AD413X_ENABLE_M NO_OS_BIT(23)
160 #define AD413X_SETUP_M(x) (((x) & 0x7) << 20)
161 #define AD413X_PDSW_M NO_OS_BIT(19)
162 #define AD413X_THRES_EN_M NO_OS_BIT(18)
163 #define AD413X_AINP_M(x) (((x) & 0x1F) << 13)
164 #define AD413X_AINM_M(x) (((x) & 0x1F) << 8)
165 #define AD413X_I_OUT1_CH_M(x) (((x) & 0xF) << 4)
166 #define AD413X_I_OUT0_CH_M(x) ((x) & 0xF)
167 #define AD413X_I_OUT_CH_MSK NO_OS_GENMASK(7,0)
170 #define AD413X_I_OUT1_N(x) (((x) & 0x7) << 13)
171 #define AD413X_I_OUT0_N(x) (((x) & 0x7) << 10)
172 #define AD413X_I_OUT_MSK NO_OS_GENMASK(15,10)
173 #define AD413X_BURNOUT_N(x) (((x) & 0x3) << 8)
174 #define AD413X_REF_BUF_MSK NO_OS_GENMASK(7,6)
175 #define AD413X_REF_BUFP_N NO_OS_BIT(7)
176 #define AD413X_REF_BUFM_N NO_OS_BIT(6)
177 #define AD413X_REF_SEL_N(x) (((x) & 0x3) << 4)
178 #define AD413X_PGA_N(x) (((x) & 0x7) << 1)
179 #define AD413X_PGA_BYP_N 0x01
182 #define AD413X_SETTLE_N(x) (((x) & 0x7) << 21)
183 #define AD413X_REPEAT_N(x) (((x) & 0x1F) << 16)
184 #define AD413X_FILTER_MODE_N(x) (((x) & 0xF) << 12)
185 #define AD413X_FS_N(x) ((x) & 0x7FF)
188 #define AD413X_OFFSET_N(x) ((x) & 0xFFFFFF)
191 #define AD413X_GAIN_N(x) ((x) & 0xFFFFFF)
194 #define AD413X_BYPASS_OSC NO_OS_BIT(15)
195 #define AD413X_PD_ALDO NO_OS_BIT(14)
196 #define AD413X_CAL_RANGE_X2 NO_OS_BIT(13)
197 #define AD413X_RESERVED(x) (((x) & 0xF) << 9)
198 #define AD413X_STBY_CTRL_MSK NO_OS_GENMASK(8,0)
199 #define AD413X_STBY_OUT_EN NO_OS_BIT(8)
200 #define AD413X_STBY_DIAGNOSTICS_EN NO_OS_BIT(7)
201 #define AD413X_STBY_GPO_EN NO_OS_BIT(6)
202 #define AD413X_STBY_PDSW_EN NO_OS_BIT(5)
203 #define AD413X_STBY_BURNOUT_EN NO_OS_BIT(4)
204 #define AD413X_STBY_VBIAS_EN NO_OS_BIT(3)
205 #define AD413X_STBY_IEXC_EN NO_OS_BIT(2)
206 #define AD413X_STBY_REFHOL_EN NO_OS_BIT(1)
207 #define AD413X_STBY_INTREF_EN 0x01
210 #define AD413X_ADD_FIFO_STATUS NO_OS_BIT(19)
211 #define AD413X_ADD_FIFO_HEADER NO_OS_BIT(18)
212 #define AD413X_FIFO_MODE(x) (((x) & 0x3) << 16)
213 #define AD413X_FIFO_WRITE_ERR_INT_EN NO_OS_BIT(14)
214 #define AD413X_FIFO_READ_ERR_INT_EN NO_OS_BIT(13)
215 #define AD413X_THRES_HIGH_INT_EN NO_OS_BIT(12)
216 #define AD413X_THRES_LOW_INT_EN NO_OS_BIT(11)
217 #define AD413X_OVERRUN_INT_EN NO_OS_BIT(10)
218 #define AD413X_WATERMARK_INT_EN NO_OS_BIT(9)
219 #define AD413X_EMPTY_INT_EN NO_OS_BIT(8)
220 #define AD413X_WATERMARK(x) ((x) & 0xFF)
223 #define AD413X_MASTER_ERR NO_OS_BIT(7)
224 #define AD413X_FIFO_WRITE_ERR NO_OS_BIT(6)
225 #define AD413X_FIFO_READ_ERR NO_OS_BIT(5)
226 #define AD413X_THRES_HIGH_FLAG NO_OS_BIT(4)
227 #define AD413X_THRES_LOW_FLAG NO_OS_BIT(3)
228 #define AD413X_OVERRUN_FLAG NO_OS_BIT(2)
229 #define AD413X_WATERMARK_FLAG NO_OS_BIT(1)
230 #define AD413X_EMPTY_FLAG 0x01
233 #define AD413X_THRES_HIGH_VAL(x) (((x) & 0xFFF) << 12)
234 #define AD413X_THRES_LOW_VAL(x) ((x) & 0xFFF)
237 #define AD413X_CRC8_POLY 0x07 // x^8 + x^2 + x^1 + x^0
618 uint8_t ch_nb, uint32_t sample_nb);
int32_t ad413x_set_v_bias(struct ad413x_dev *dev, uint16_t v_bias_val)
Definition: ad413x.c:558
int32_t ad413x_set_gain(struct ad413x_dev *dev, enum ad413x_gain gain, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:233
enum ad413x_chip_id chip_id
Definition: ad413x.h:508
@ AD413X_STANDBY_MODE
Definition: ad413x.h:315
struct no_os_spi_desc * spi_dev
Definition: ad413x.h:477
#define AD413X_ADC_REF_EN
Definition: ad413x.h:94
#define AD413X_REG_ID
Definition: ad413x.h:71
uint32_t timeout
Definition: ad413x.c:55
int32_t ad413x_set_mclk(struct ad413x_dev *dev, enum ad413x_mclk_sel clk)
Definition: ad413x.c:626
int32_t ad413x_set_int_ref(struct ad413x_dev *dev, enum ad413x_int_ref int_ref)
Definition: ad413x.c:144
#define AD413X_REF_BUFM_N
Definition: ad413x.h:176
enum ad413x_preset_nb preset
Definition: ad413x.h:462
#define AD413X_STBY_CTRL_MSK
Definition: ad413x.h:198
#define AD413X_ADC_MODE(x)
Definition: ad413x.h:96
Initial parameter structure.
Definition: ad413x.h:499
int32_t * buffer
Definition: ad413x.h:524
enum ad413x_chip_id chip_id
Definition: ad413x.h:484
@ AD413X_AIN12
Definition: ad413x.h:262
@ AD413X_INTREF_DISABLED
Definition: ad413x.h:352
enum ad413x_gain gain
Definition: ad413x.h:449
@ AD413X_DLDO_DGND_6M
Definition: ad413x.h:277
int32_t ad413x_set_ch_preset(struct ad413x_dev *dev, uint8_t ch_nb, enum ad413x_preset_nb preset_nb)
Definition: ad413x.c:428
@ AD413X_EXC_20UA
Definition: ad413x.h:418
@ AD413X_SYNC4_SYNC1
Definition: ad413x.h:363
ad413x_input
ADC input sources for each channel.
Definition: ad413x.h:249
@ AD413X_GAIN_128
Definition: ad413x.h:385
#define AD413X_STBY_PDSW_EN
Definition: ad413x.h:202
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:95
#define AD413X_ADC_CNTRL_MCLK(x)
Definition: ad413x.h:97
#define AD413X_CRC8_POLY
Definition: ad413x.h:237
Structure describing a callback to be registered.
Definition: no_os_irq.h:136
int32_t ad413x_ch_en(struct ad413x_dev *dev, uint8_t ch_nb, uint8_t enable)
Definition: ad413x.c:484
#define AD413X_I_OUT1_N(x)
Definition: ad413x.h:170
@ AD413X_SYNC3_SYNC1
Definition: ad413x.h:366
int32_t ad413x_set_filter(struct ad413x_dev *dev, enum ad413x_filter filter, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:329
int32_t ad413x_reg_write_msk(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t data, uint32_t mask)
Definition: ad413x.c:88
@ AD413X_EXC_100UA
Definition: ad413x.h:420
enum ad413x_input iout0_exc_input
Definition: ad413x.h:466
Header file of SPI Interface.
@ AD413X_GAIN_8
Definition: ad413x.h:381
Header file of IRQ interface.
int32_t no_os_irq_register_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Register a callback to handle the irq events.
Definition: no_os_irq.c:94
@ AD413X_GAIN_64
Definition: ad413x.h:384
@ AD413X_EXC_150UA
Definition: ad413x.h:421
enum ad413x_filter filter
Definition: ad413x.h:450
struct ad413x_preset preset[8]
Definition: ad413x.h:482
bool pdsw_en
Definition: ad413x.h:468
int32_t ad413x_set_settle_time(struct ad413x_dev *dev, enum ad413x_settle_time s_time, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:363
int32_t ad413x_data_stat_en(struct ad413x_dev *dev, uint8_t enable)
Definition: ad413x.c:202
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:94
@ AD413X_CONTINOUS_CONV_MODE
Definition: ad413x.h:313
@ AD413X_PRESET_0
Definition: ad413x.h:287
@ AD413X_PW_DOWN_MODE
Definition: ad413x.h:316
int32_t ad413x_do_soft_reset(struct ad413x_dev *dev)
Definition: ad413x.c:648
#define AD413X_SETTLE_N(x)
Definition: ad413x.h:182
@ AD413X_SINGLE_CONV_MODE
Definition: ad413x.h:314
Header file of Delay functions.
@ AD413X_GAIN_16
Definition: ad413x.h:382
@ AD413X_DLDO_DGND_6P
Definition: ad413x.h:276
enum ad413x_ref_sel ref_sel
Definition: ad413x.h:448
#define AD413X_FILTER_MODE_N(x)
Definition: ad413x.h:184
@ AD413X_2048_MCLK
Definition: ad413x.h:407
int32_t ad413x_adc_bipolar(struct ad413x_dev *dev, uint8_t enable)
Definition: ad413x.c:534
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:121
int32_t ad413x_set_gain(struct ad413x_dev *dev, enum ad413x_gain gain, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:233
#define AD413X_REG_CHN(x)
Definition: ad413x.h:75
bool standby_vbias_en
Definition: ad413x.h:434
@ AD413X_SINGLE_CONV_SYNC_IDLE_MODE
Definition: ad413x.h:323
int32_t ad413x_ch_exc_input(struct ad413x_dev *dev, uint8_t ch_nb, enum ad413x_input iout0_exc_inp, enum ad413x_input iout1_exc_inp)
Definition: ad413x.c:455
bool standby_burnout_en
Definition: ad413x.h:435
@ AD413X_INT_REF
Definition: ad413x.h:268
@ AD413X_DUTY_CYCLING_SYNC_STBY_MODE
Definition: ad413x.h:324
uint32_t rdy_pin
Definition: ad413x.h:480
bool standby_gpio_en
Definition: ad413x.h:437
Definition: ad9361_util.h:75
int32_t ad413x_set_mclk(struct ad413x_dev *dev, enum ad413x_mclk_sel clk)
Definition: ad413x.c:626
#define AD413X_REG_STATUS
Definition: ad413x.h:66
#define AD413X_AINM_M(x)
Definition: ad413x.h:164
int32_t ad413x_preset_store(struct ad413x_dev *dev, struct ad413x_preset preset, enum ad413x_preset_nb preset_nb)
Definition: ad413x.c:900
@ AD413X_INT_76_8_KHZ_OUT_OFF
Definition: ad413x.h:302
@ AD413X_EXC_OFF
Definition: ad413x.h:416
int32_t ad413x_set_filter(struct ad413x_dev *dev, enum ad413x_filter filter, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:329
#define AD413X_REF_BUFP_N
Definition: ad413x.h:175
int32_t ad413x_reg_write_msk(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t data, uint32_t mask)
Definition: ad413x.c:88
ad413x_gain
Gain options.
Definition: ad413x.h:377
@ AD413X_EXC_50UA
Definition: ad413x.h:419
#define AD413X_CMD_WR_COM_REG(x)
Definition: ad413x.h:56
@ AD413X_SYNC3_PF2
Definition: ad413x.h:368
@ NO_OS_IRQ_EDGE_FALLING
Definition: no_os_irq.h:80
@ AD413X_EXT_153_6_KHZ_DIV_2
Definition: ad413x.h:305
uint16_t v_bias
Definition: ad413x.h:512
@ AD413X_SYNC3_REJ60
Definition: ad413x.h:365
ADC reference buffer selection.
Definition: ad413x.h:331
int32_t ad413x_set_ref_buf(struct ad413x_dev *dev, struct ad413x_ref_buf ref_buf, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:289
@ AD413X_AVSS
Definition: ad413x.h:267
#define AD413X_I_OUT_MSK
Definition: ad413x.h:172
@ AD413X_AIN3
Definition: ad413x.h:253
@ AD413X_REFOUT_AVSS
Definition: ad413x.h:343
@ AD413X_IOVDD_DGND_6P
Definition: ad413x.h:272
@ AD413X_GAIN_2
Definition: ad413x.h:379
int32_t ad413x_set_adc_mode(struct ad413x_dev *dev, enum ad413x_adc_mode mode)
Definition: ad413x.c:118
struct no_os_irq_ctrl_desc * irq_desc
Definition: ad413x.h:503
Preset setting.
Definition: ad413x.h:446
@ AD413X_PRESET_7
Definition: ad413x.h:294
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
@ AD413X_GAIN_32
Definition: ad413x.h:383
@ AD413X_PRESET_2
Definition: ad413x.h:289
@ AD413X_AIN15
Definition: ad413x.h:265
int32_t ad413x_data_stat_en(struct ad413x_dev *dev, uint8_t enable)
Definition: ad413x.c:202
int32_t ad413x_single_conv(struct ad413x_dev *dev, uint32_t *buffer, uint8_t ch_nb)
Definition: ad413x.c:786
Header file of AD413X Driver.
@ AD413X_AVDD_AVSS_6M
Definition: ad413x.h:271
#define AD413X_STBY_BURNOUT_EN
Definition: ad413x.h:203
#define AD413X_REG_ERROR_EN
Definition: ad413x.h:73
@ AD413X_512_MCLK
Definition: ad413x.h:405
int32_t buffer_size
Definition: ad413x.h:525
#define AD413X_ADC_DATA_STATUS
Definition: ad413x.h:92
@ AD413X_AIN6
Definition: ad413x.h:256
void no_os_crc8_populate_msb(uint8_t *table, const uint8_t polynomial)
#define AD413X_STBY_OUT_EN
Definition: ad413x.h:199
enum ad413x_mclk_sel mclk
Definition: ad413x.h:485
#define AD413X_ADC_REF_VAL
Definition: ad413x.h:89
int32_t ad413x_adc_bipolar(struct ad413x_dev *dev, uint8_t enable)
Definition: ad413x.c:534
#define AD413X_REG_VBIAS_CTRL
Definition: ad413x.h:70
@ AD413X_INTREF_1_25V
Definition: ad413x.h:354
struct ad413x_dev * dev
Definition: ad413x.h:523
void * ctx
Definition: no_os_irq.h:148
@ AD413X_128_MCLK
Definition: ad413x.h:403
int32_t ad413x_single_conv(struct ad413x_dev *dev, uint32_t *buffer, uint8_t ch_nb)
Definition: ad413x.c:786
struct ad413x_channel ch[16]
Definition: ad413x.h:483
struct ad413x_channel ch[16]
Definition: ad413x.h:507
bool ref_buf_p_en
Definition: ad413x.h:332
#define AD413X_SETUP_M(x)
Definition: ad413x.h:160
enum ad413x_int_ref int_ref
Definition: ad413x.h:488
int32_t ad413x_continuous_conv(struct ad413x_dev *dev, uint32_t *buffer, uint8_t ch_nb, uint32_t sample_nb)
Definition: ad413x.c:845
bool standby_iexc_en
Definition: ad413x.h:433
#define AD413X_I_OUT1_CH_M(x)
Definition: ad413x.h:165
int32_t ad413x_pdsw_en(struct ad413x_dev *dev, uint8_t ch_nb, bool pdsw_en)
Definition: ad413x.c:509
@ AD413X_ALDO_AVSS_6P
Definition: ad413x.h:274
#define AD413X_REG_MISC
Definition: ad413x.h:80
ad413x_mclk_sel
Master clock options.
Definition: ad413x.h:301
@ AD413X_AIN7
Definition: ad413x.h:257
int32_t no_os_irq_unregister_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Unregisters a generic IRQ handling function.
Definition: no_os_irq.c:114
uint32_t rdy_pin
Definition: ad413x.h:504
Channel setting.
Definition: ad413x.h:461
struct ad413x_preset preset[8]
Definition: ad413x.h:506
enum ad413x_input ain_m
Definition: ad413x.h:465
bool standby_ref_holder_en
Definition: ad413x.h:432
int32_t ad413x_set_settle_time(struct ad413x_dev *dev, enum ad413x_settle_time s_time, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:363
uint8_t spi_crc_en
Definition: ad413x.h:492
bool standby_int_ref_en
Definition: ad413x.h:431
@ AD413X_AIN2
Definition: ad413x.h:252
uint8_t bipolar
Definition: ad413x.h:510
enum ad413x_exc_current iout0_exc_current
Definition: ad413x.h:453
enum ad413x_exc_current iout1_exc_current
Definition: ad413x.h:454
@ AD413X_4096_MCLK
Definition: ad413x.h:408
uint8_t data_stat
Definition: ad413x.h:514
#define AD413X_I_OUT0_CH_M(x)
Definition: ad413x.h:166
#define AD413X_CMD_RD_COM_REG(x)
Definition: ad413x.h:57
bool ref_buf_m_en
Definition: ad413x.h:333
#define AD413X_ENABLE_M
Definition: ad413x.h:159
ad413x_exc_current
Excitation current value.
Definition: ad413x.h:415
@ AD413X_INT_GAIN_CAL
Definition: ad413x.h:319
@ AD413X_1024_MCLK
Definition: ad413x.h:406
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
int32_t ad413x_reg_write(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t reg_data)
Definition: ad413x.c:673
int32_t ad413x_set_ref(struct ad413x_dev *dev, enum ad413x_ref_sel ref, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:263
enum ad413x_mclk_sel mclk
Definition: ad413x.h:509
#define AD413X_REG_ADC_CTRL
Definition: ad413x.h:67
int32_t ad413x_reg_read(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t *reg_data)
Definition: ad413x.c:718
int32_t ad413x_remove(struct ad413x_dev *dev)
Free the resources allocated by ad413x_init().
Definition: ad413x.c:1095
@ AD413X_REFIN1
Definition: ad413x.h:341
@ AD413X_AIN11
Definition: ad413x.h:261
#define AD413X_REG_CONFIG(x)
Definition: ad413x.h:76
@ AD413X_PRESET_1
Definition: ad413x.h:288
int32_t ad413x_preset_store(struct ad413x_dev *dev, struct ad413x_preset preset, enum ad413x_preset_nb preset_nb)
Definition: ad413x.c:900
void(* callback)(void *context)
Definition: no_os_irq.h:138
#define AD413X_I_OUT0_N(x)
Definition: ad413x.h:171
@ AD413X_TEMP
Definition: ad413x.h:266
bool standby_output_en
Definition: ad413x.h:439
@ AD413X_SYNC3_PF4
Definition: ad413x.h:370
@ AD413X_DUTY_CYCLING_MODE
Definition: ad413x.h:322
ad413x_ref_sel
ADC reference selection.
Definition: ad413x.h:340
#define AD413X_AINP_M(x)
Definition: ad413x.h:163
@ AD413X_GAIN_1
Definition: ad413x.h:378
@ AD413X_EXT_76_8KHZ
Definition: ad413x.h:304
@ AD413X_SYNC3_STANDALONE
Definition: ad413x.h:364
Callback structure.
Definition: ad413x.h:522
@ AD413X_AVDD_AVSS
Definition: ad413x.h:344
@ AD413X_REFIN2
Definition: ad413x.h:342
@ AD413X_PRESET_5
Definition: ad413x.h:292
NO_OS_DECLARE_CRC8_TABLE(ad413x_crc8)
struct ad413x_ref_buf ref_buf
Definition: ad413x.h:447
int32_t ad413x_set_adc_mode(struct ad413x_dev *dev, enum ad413x_adc_mode mode)
Definition: ad413x.c:118
@ AD413X_EXC_10UA
Definition: ad413x.h:417
int32_t ad413x_set_ch_preset(struct ad413x_dev *dev, uint8_t ch_nb, enum ad413x_preset_nb preset_nb)
Definition: ad413x.c:428
int32_t ad413x_set_ref_buf(struct ad413x_dev *dev, struct ad413x_ref_buf ref_buf, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:289
uint16_t v_bias
Definition: ad413x.h:489
#define AD413X_STBY_IEXC_EN
Definition: ad413x.h:205
void * no_os_malloc(size_t size)
enum ad413x_input iout1_exc_input
Definition: ad413x.h:467
int32_t ad413x_init(struct ad413x_dev **device, struct ad413x_init_param init_param)
Definition: ad413x.c:938
enum ad413x_settle_time s_time
Definition: ad413x.h:452
uint8_t data_stat
Definition: ad413x.h:491
int32_t ad413x_set_exc_current(struct ad413x_dev *dev, enum ad413x_exc_current iout0_exc, enum ad413x_exc_current iout1_exc, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:399
#define AD413X_STBY_INTREF_EN
Definition: ad413x.h:207
Standby control flags.
Definition: ad413x.h:430
ad413x_int_ref
Internal reference selection.
Definition: ad413x.h:351
uint8_t no_os_crc8(const uint8_t *table, const uint8_t *pdata, size_t nbytes, uint8_t crc)
@ AD413X_SYS_GAIN_CAL
Definition: ad413x.h:321
#define AD413X_TRANSF_LEN(x)
Definition: ad413x.h:63
@ AD413X_AIN8
Definition: ad413x.h:258
void no_os_free(void *ptr)
#define AD413X_STBY_GPO_EN
Definition: ad413x.h:201
int32_t ad413x_continuous_conv(struct ad413x_dev *dev, uint32_t *buffer, uint8_t ch_nb, uint32_t sample_nb)
Definition: ad413x.c:845
#define AD413X_SPI_CRC_ERR_EN
Definition: ad413x.h:154
int32_t ad413x_set_exc_current(struct ad413x_dev *dev, enum ad413x_exc_current iout0_exc, enum ad413x_exc_current iout1_exc, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:399
enum ad413x_adc_mode op_mode
Definition: ad413x.h:486
int32_t ad413x_ch_en(struct ad413x_dev *dev, uint8_t ch_nb, uint8_t enable)
Definition: ad413x.c:484
int32_t ad413x_pdsw_en(struct ad413x_dev *dev, uint8_t ch_nb, bool pdsw_en)
Definition: ad413x.c:509
struct ad413x_standby_ctrl standby_ctrl
Definition: ad413x.h:490
struct ad413x_standby_ctrl standby_ctrl
Definition: ad413x.h:513
int32_t ad413x_set_int_ref(struct ad413x_dev *dev, enum ad413x_int_ref int_ref)
Definition: ad413x.c:144
@ AD413X_EXC_100NA
Definition: ad413x.h:423
Device structure.
Definition: ad413x.h:475
@ AD4130_8
Definition: ad413x.h:393
ad413x_preset_nb
Preset number.
Definition: ad413x.h:286
enum ad413x_input ain_p
Definition: ad413x.h:464
@ AD413X_SYS_OFFSET_CAL
Definition: ad413x.h:320
@ AD413X_EXC_200UA
Definition: ad413x.h:422
#define AD413X_I_OUT_CH_MSK
Definition: ad413x.h:167
#define AD413X_PGA_N(x)
Definition: ad413x.h:178
#define AD413X_STBY_VBIAS_EN
Definition: ad413x.h:204
bool standby_diagn_en
Definition: ad413x.h:438
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
@ AD413X_AIN1
Definition: ad413x.h:251
int32_t ad413x_set_standby_ctrl(struct ad413x_dev *dev, struct ad413x_standby_ctrl standby_ctrl)
Definition: ad413x.c:581
struct no_os_irq_ctrl_desc * irq_desc
Definition: ad413x.h:479
@ AD413X_AIN5
Definition: ad413x.h:255
uint8_t bipolar
Definition: ad413x.h:487
#define AD413X_STBY_DIAGNOSTICS_EN
Definition: ad413x.h:200
int32_t ad413x_remove(struct ad413x_dev *dev)
Free the resources allocated by ad413x_init().
Definition: ad413x.c:1095
@ AD413X_V_MV_M
Definition: ad413x.h:279
#define AD413X_REG_DATA
Definition: ad413x.h:68
@ AD413X_PRESET_4
Definition: ad413x.h:291
@ AD413X_INTREF_2_5V
Definition: ad413x.h:353
enum ad413x_int_ref int_ref
Definition: ad413x.h:511
@ AD413X_PRESET_3
Definition: ad413x.h:290
@ AD413X_V_MV_P
Definition: ad413x.h:278
@ AD413X_INT_OFFSET_CAL
Definition: ad413x.h:318
@ AD413X_AIN4
Definition: ad413x.h:254
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:77
@ AD413X_PRESET_6
Definition: ad413x.h:293
@ AD413X_AIN13
Definition: ad413x.h:263
int32_t no_os_irq_enable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Enable specific interrupt.
Definition: no_os_irq.c:183
bool standby_pdsw_en
Definition: ad413x.h:436
#define AD413X_ADC_CSB_EN
Definition: ad413x.h:93
@ AD413X_GAIN_4
Definition: ad413x.h:380
#define AD413X_PDSW_M
Definition: ad413x.h:161
Header file of GPIO Interface.
@ AD413X_AIN14
Definition: ad413x.h:264
@ AD413X_32_MCLK
Definition: ad413x.h:401
#define AD413X_ADC_BIPOLAR
Definition: ad413x.h:88
@ AD413X_AIN0
Definition: ad413x.h:250
uint8_t spi_crc_en
Definition: ad413x.h:515
@ AD413X_SYNC4_STANDALONE
Definition: ad413x.h:362
#define AD413X_STBY_REFHOL_EN
Definition: ad413x.h:206
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
struct no_os_spi_init_param * spi_init
Definition: ad413x.h:501
int32_t ad413x_set_standby_ctrl(struct ad413x_dev *dev, struct ad413x_standby_ctrl standby_ctrl)
Definition: ad413x.c:581
int32_t ad413x_ch_exc_input(struct ad413x_dev *dev, uint8_t ch_nb, enum ad413x_input iout0_exc_inp, enum ad413x_input iout1_exc_inp)
Definition: ad413x.c:455
Header file of utility functions.
@ AD413X_AIN9
Definition: ad413x.h:259
uint8_t enable
Definition: ad413x.h:463
@ AD413X_IDLE_MODE
Definition: ad413x.h:317
@ AD413X_SYNC3_PF1
Definition: ad413x.h:367
int32_t no_os_irq_trigger_level_set(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig)
Set interrupt trigger level.
Definition: no_os_irq.c:164
int32_t no_os_irq_disable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Disable specific interrupt.
Definition: no_os_irq.c:200
@ AD413X_256_MCLK
Definition: ad413x.h:404
@ AD413X_AVDD_AVSS_6P
Definition: ad413x.h:270
Definition: no_os_irq.h:119
@ AD413X_ALDO_AVSS_6M
Definition: ad413x.h:275
#define AD413X_REF_BUF_MSK
Definition: ad413x.h:174
@ AD413X_DGND
Definition: ad413x.h:269
ad413x_chip_id
Chip IDs.
Definition: ad413x.h:392
int32_t ad413x_reg_write(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t reg_data)
Definition: ad413x.c:673
ad413x_adc_mode
ADC conversion modes.
Definition: ad413x.h:312
@ AD413X_SYNC3_PF3
Definition: ad413x.h:369
#define AD413X_REG_FILTER(x)
Definition: ad413x.h:77
int32_t ad413x_set_ref(struct ad413x_dev *dev, enum ad413x_ref_sel ref, enum ad413x_preset_nb reg_nb)
Definition: ad413x.c:263
ad413x_filter
Filter types.
Definition: ad413x.h:361
Header file of CRC-8 computation.
ad413x_settle_time
Channel settle time.
Definition: ad413x.h:400
@ AD413X_AIN10
Definition: ad413x.h:260
int32_t ad413x_init(struct ad413x_dev **device, struct ad413x_init_param init_param)
Definition: ad413x.c:938
int32_t ad413x_do_soft_reset(struct ad413x_dev *dev)
Definition: ad413x.c:648
int32_t ad413x_set_v_bias(struct ad413x_dev *dev, uint16_t v_bias_val)
Definition: ad413x.c:558
@ AD413X_INT_76_8_KHZ_OUT_ON
Definition: ad413x.h:303
#define AD413X_REF_SEL_N(x)
Definition: ad413x.h:177
@ AD413X_IOVDD_DGND_6M
Definition: ad413x.h:273
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121
@ AD413X_64_MCLK
Definition: ad413x.h:402
int32_t ad413x_reg_read(struct ad413x_dev *dev, uint32_t reg_addr, uint32_t *reg_data)
Definition: ad413x.c:718