no-OS
Loading...
Searching...
No Matches
ad4170.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef AD4170_H_
34#define AD4170_H_
35
36#include <stdint.h>
37#include <stdbool.h>
38#include "no_os_util.h"
39#include "no_os_gpio.h"
40#include "no_os_spi.h"
41
42#ifndef ECOMM
43#define ECOMM 70
44#endif
45
46#define AD4170_R1B (1ul << 16)
47#define AD4170_R2B (2ul << 16)
48#define AD4170_R3B (3ul << 16)
49#define AD4170_R4B (4ul << 16)
50#define AD4170_TRANSF_LEN(x) ((x) >> 16)
51#define AD4170_ADDR(x) ((x) & 0xFFFF)
52
53#define AD4170_SPI_SYNC_PATTERN 0x2645
54
55#define AD4170_REG_READ_6(x) (((x) & 0x3F) | 0x40)
56#define AD4170_REG_WRITE_6(x) ((x) & 0x3F)
57#define AD4170_REG_READ_14(x) (((x) & 0x3FFF) | 0x4000)
58#define AD4170_REG_WRITE_14(x) ((x) & 0x3FFF)
59#define AD4170_REG_INTERFACE_CONFIG_A (AD4170_R1B | 0x00)
60#define AD4170_REG_INTERFACE_CONFIG_B (AD4170_R1B | 0x01)
61#define AD4170_REG_DEVICE_CONFIG (AD4170_R1B | 0x02)
62#define AD4170_REG_CHIP_TYPE (AD4170_R1B | 0x03)
63#define AD4170_REG_PRODUCT_ID_L (AD4170_R1B | 0x04)
64#define AD4170_REG_PRODUCT_ID_H (AD4170_R1B | 0x05)
65#define AD4170_REG_CHIP_GRADE (AD4170_R1B | 0x06)
66#define AD4170_REG_SCRATCH_PAD (AD4170_R1B | 0x0a)
67#define AD4170_REG_SPI_REVISION (AD4170_R1B | 0x0b)
68#define AD4170_REG_VENDOR_L (AD4170_R1B | 0x0c)
69#define AD4170_REG_VENDOR_H (AD4170_R1B | 0x0d)
70#define AD4170_REG_INTERFACE_CONFIG_C (AD4170_R1B | 0x10)
71#define AD4170_REG_INTERFACE_STATUS_A (AD4170_R1B | 0x11)
72#define AD4170_REG_DATA_STATUS (AD4170_R2B | 0x14)
73#define AD4170_REG_DATA_16b (AD4170_R2B | 0x16)
74#define AD4170_REG_DATA_16b_STATUS (AD4170_R3B | 0x18)
75#define AD4170_REG_DATA_24b (AD4170_R3B | 0x1c)
76#define AD4170_REG_DATA_24b_STATUS (AD4170_R4B | 0x20)
77#define AD4170_REG_DATA_32b (AD4170_R4B | 0x24)
78#define AD4170_REG_DATA_PER_CHANNEL(ch) (AD4170_R3B | (0x28 + 4 * (ch)))
79#define AD4170_REG_PIN_MUXING (AD4170_R2B | 0x68)
80#define AD4170_REG_CLOCK_CTRL (AD4170_R2B | 0x6a)
81#define AD4170_REG_STANDBY_CTRL (AD4170_R2B | 0x6c)
82#define AD4170_REG_POWER_DOWN_SW (AD4170_R2B | 0x6e)
83#define AD4170_REG_ADC_CTRL (AD4170_R2B | 0x70)
84#define AD4170_REG_ERROR_EN (AD4170_R2B | 0x72)
85#define AD4170_REG_ERROR (AD4170_R2B | 0x74)
86#define AD4170_REG_CHANNEL_EN (AD4170_R2B | 0x78)
87#define AD4170_REG_ADC_CHANNEL_SETUP(ch) (AD4170_R2B | (0x80 + 4 * (ch)))
88#define AD4170_REG_ADC_CHANNEL_MAP(ch) (AD4170_R2B | (0x82 + 4 * (ch)))
89#define AD4170_REG_ADC_SETUPS_MISC(n) (AD4170_R2B | (0xc0 + 14 * (n)))
90#define AD4170_REG_ADC_SETUPS_AFE(n) (AD4170_R2B | (0xc2 + 14 * (n)))
91#define AD4170_REG_ADC_SETUPS_FILTER(n) (AD4170_R2B | (0xc4 + 14 * (n)))
92#define AD4170_REG_ADC_SETUPS_FILTER_FS(n) (AD4170_R2B | (0xc6 + 14 * (n)))
93#define AD4170_REG_ADC_SETUPS_OFFSET(n) (AD4170_R3B | (0xc8 + 14 * (n)))
94#define AD4170_REG_ADC_SETUPS_GAIN(n) (AD4170_R3B | (0xcb + 14 * (n)))
95#define AD4170_REG_REF_CONTROL (AD4170_R2B | 0x130)
96#define AD4170_REG_V_BIAS (AD4170_R2B | 0x134)
97#define AD4170_REG_I_PULLUP (AD4170_R2B | 0x136)
98#define AD4170_REG_CURRENT_SOURCE(n) (AD4170_R2B | (0x138 + 2 * (n)))
99#define AD4170_REG_FIR_CONTROL (AD4170_R2B | 0x140)
100#define AD4170_REG_COEFF_WRITE_DATA (AD4170_R4B | 0x143)
101#define AD4170_REG_COEFF_READ_DATA (AD4170_R4B | 0x147)
102#define AD4170_REG_COEFF_ADDRESS (AD4170_R2B | 0x14b)
103#define AD4170_REG_COEFF_WRRD_STB (AD4170_R2B | 0x14d)
104#define AD4170_REG_DAC_SPAN (AD4170_R2B | 0x150)
105#define AD4170_REG_DAC_CHANNEL_EN (AD4170_R2B | 0x152)
106#define AD4170_REG_DAC_HW_TOGGLE_MASK (AD4170_R2B | 0x154)
107#define AD4170_REG_DAC_HW_LDAC_MASK (AD4170_R2B | 0x156)
108#define AD4170_REG_DAC_DATA(ch) (AD4170_R2B | (0x158 + 2 * (ch)))
109#define AD4170_REG_DAC_SW_TOGGLE_TRIGGERS (AD4170_R2B | 0x168)
110#define AD4170_REG_DAC_SW_LDAC_TRIGGERS (AD4170_R2B | 0x16a)
111#define AD4170_REG_DAC_INPUTA(ch) (AD4170_R2B | (0x16c + 2 * (ch)))
112#define AD4170_REG_DAC_INPUTB(ch) (AD4170_R2B | (0x17c + 2 * (ch)))
113#define AD4170_REG_GPIO_MODE (AD4170_R2B | 0x190)
114#define AD4170_REG_OUTPUT_DATA (AD4170_R2B | 0x192)
115#define AD4170_REG_INPUT_DATA (AD4170_R2B | 0x194)
116
117/* AD4170_REG_INTERFACE_CONFIG_A */
118#define AD4170_SW_RESET_MSK NO_OS_BIT(7)
119#define AD4170_ADDR_ASCENSION_MSK NO_OS_BIT(5)
120#define AD4170_SDO_ENABLE_MSK NO_OS_BIT(4)
121#define AD4170_SW_RESETX_MSK NO_OS_BIT(0)
122
123/* AD4170_REG_INTERFACE_CONFIG_B */
124#define AD4170_INTERFACE_CONFIG_B_SINGLE_INST_MSK NO_OS_BIT(7)
125#define AD4170_INTERFACE_CONFIG_B_SHORT_INSTRUCTION_MSK NO_OS_BIT(3)
126#define AD4170_INTERFACE_CONFIG_B_SHORT_INSTRUCTION(x) (((x) & 0x1) << 3)
127
128/* AD4170_REG_INTERFACE_CONFIG_C */
129#define AD4170_INTERFACE_CONFIG_C_CRC_MSK (NO_OS_BIT(7) | NO_OS_BIT(6) | NO_OS_BIT(1) | NO_OS_BIT(0))
130#define AD4170_INTERFACE_CONFIG_C_CRC(x) (((~x) & 0x3) | (((x) << 6) & 0xC0))
131#define AD4170_INTERFACE_CONFIG_C_STRICT_REG_ACCESS_MSK NO_OS_BIT(5)
132#define AD4170_INTERFACE_CONFIG_C_STRICT_REG_ACCESS(x) (((x) & 0x1) << 5)
133#define AD4170_CRC8_POLYNOMIAL 0x7
134#define AD4170_CRC8_INITIAL_VALUE 0xA5
135
136/* AD4170_REG_INTERFACE_STATUS_A */
137#define AD4170_INTERFACE_STATUS_A_NOT_READY_ERR_MSK NO_OS_BIT(7)
138#define AD4170_INTERFACE_STATUS_A_CLOCK_COUNT_ERR_MSK NO_OS_BIT(4)
139#define AD4170_INTERFACE_STATUS_A_CRC_ERR_MSK NO_OS_BIT(3)
140#define AD4170_INTERFACE_STATUS_A_INVALID_ACCESS_ERR_MSK NO_OS_BIT(2)
141#define AD4170_INTERFACE_STATUS_A_PARTIAL_ACCESS_ERR_MSK NO_OS_BIT(1)
142#define AD4170_INTERFACE_STATUS_A_ADDR_INVALID_ERR_MSK NO_OS_BIT(0)
143
144/* AD4170_REG_PRODUCT_ID */
145#define AD4170_PRODUCT_ID_L_VALUE 0x40
146#define AD4170_PRODUCT_ID_H_VALUE 0x0
147
148/* AD4190_REG_PRODUCT_ID */
149#define AD4190_PRODUCT_ID_L_VALUE 0x48
150#define AD4190_PRODUCT_ID_H_VALUE 0x0
151
152/* AD4190_8_REG_PRODUCT_ID */
153#define AD4190_8_PRODUCT_ID_L_VALUE 0x49
154#define AD4190_8_PRODUCT_ID_H_VALUE 0x0
155
156/* AD4195_8_REG_PRODUCT_ID */
157#define AD4195_8_PRODUCT_ID_L_VALUE 0x49
158#define AD4195_8_PRODUCT_ID_H_VALUE 0x0
159
160/* AD4170_REG_DATA_STATUS */
161#define AD4170_DATA_STATUS_MASTER_ERR_S_MSK NO_OS_BIT(7)
162#define AD4170_DATA_STATUS_POR_FLAG_S_MSK NO_OS_BIT(6)
163#define AD4170_DATA_STATUS_RDYB_MSK NO_OS_BIT(5)
164#define AD4170_DATA_STATUS_SETTLED_FIR_MSK NO_OS_BIT(4)
165#define AD4170_DATA_STATUS_CH_ACTIVE_MSK NO_OS_GENMASK(3,0)
166
167/* AD4170_REG_PIN_MUXING */
168#define AD4170_PIN_MUXING_CHAN_TO_GPIO_MSK NO_OS_BIT(14)
169#define AD4170_PIN_MUXING_DIG_AUX2_CTRL_MSK NO_OS_GENMASK(7,6)
170#define AD4170_PIN_MUXING_DIG_AUX1_CTRL_MSK NO_OS_GENMASK(5,4)
171#define AD4170_PIN_MUXING_SYNC_CTRL_MSK NO_OS_GENMASK(3,2)
172#define AD4170_PIN_MUXING_DIG_OUT_STR_MSK NO_OS_BIT(1)
173#define AD4170_PIN_MUXING_SDO_RDBY_DLY_MSK NO_OS_BIT(0)
174
175/* AD4170_REG_CLOCK_CTRL */
176#define AD4170_CLOCK_CTRL_DCLK_DIVIDE_MSK NO_OS_GENMASK(7,6)
177#define AD4170_CLOCK_CTRL_CLOCKDIV_MSK NO_OS_GENMASK(5,4)
178#define AD4170_CLOCK_CTRL_CLOCKSEL_MSK NO_OS_GENMASK(1,0)
179
180/* AD4170_REG_STANDBY_CTRL */
181#define AD4170_STANDBY_CTRL_STB_EN_CLOCK_MSK NO_OS_BIT(8)
182#define AD4170_STANDBY_CTRL_STB_EN_IPULLUP_MSK NO_OS_BIT(7)
183#define AD4170_STANDBY_CTRL_STB_EN_DIAGNOSTICS_MSK NO_OS_BIT(6)
184#define AD4170_STANDBY_CTRL_STB_EN_DAC_MSK NO_OS_BIT(5)
185#define AD4170_STANDBY_CTRL_STB_EN_PDSW1_MSK NO_OS_BIT(4)
186#define AD4170_STANDBY_CTRL_STB_EN_PDSW0_MSK NO_OS_BIT(3)
187#define AD4170_STANDBY_CTRL_STB_EN_VBIAS_MSK NO_OS_BIT(2)
188#define AD4170_STANDBY_CTRL_STB_EN_IEXC_MSK NO_OS_BIT(1)
189#define AD4170_STANDBY_CTRL_STB_EN_REFERENCE_MSK NO_OS_BIT(0)
190
191/* AD4170_REG_POWER_DOWN_SW */
192#define AD4170_POWER_DOWN_SW_PDSW1_MSK NO_OS_BIT(1)
193#define AD4170_POWER_DOWN_SW_PDSW0_MSK NO_OS_BIT(0)
194
195/* AD4170_REG_ADC_CTRL */
196#define AD4170_ADC_CTRL_PARALLEL_FILT_EN_MSK NO_OS_BIT(8)
197#define AD4170_ADC_CTRL_MULTI_DATA_REG_SEL_MSK NO_OS_BIT(7)
198#define AD4170_ADC_CTRL_CONT_READ_STATUS_EN_MSK NO_OS_BIT(6)
199#define AD4170_REG_CTRL_CONT_READ_MSK NO_OS_GENMASK(5,4)
200#define AD4170_REG_CTRL_MODE_MSK NO_OS_GENMASK(3,0)
201
202/* AD4170_REG_ERROR_EN and AD4170_REG_ERROR */
203#define AD4170_ERROR_DEVICE_ERROR_MSK NO_OS_BIT(15)
204#define AD4170_ERROR_DLDO_PSM_ERR_MSK NO_OS_BIT(13)
205#define AD4170_ERROR_ALDO_PSM_ERR_MSK NO_OS_BIT(12)
206#define AD4170_ERROR_IOUT3_COMP_ERR_MSK NO_OS_BIT(11)
207#define AD4170_ERROR_IOUT2_COMP_ERR_MSK NO_OS_BIT(10)
208#define AD4170_ERROR_IOUT1_COMP_ERR_MSK NO_OS_BIT(9)
209#define AD4170_ERROR_IOUT0_COMP_ERR_MSK NO_OS_BIT(8)
210#define AD4170_ERROR_REF_DIFF_MIN_ERR_MSK NO_OS_BIT(7)
211#define AD4170_ERROR_REF_OV_UV_ERR_MSK NO_OS_BIT(6)
212#define AD4170_ERROR_AINM_OV_UV_ERR_MSK NO_OS_BIT(5)
213#define AD4170_ERROR_AINP_OV_UV_ERR_MSK NO_OS_BIT(4)
214#define AD4170_ERROR_ADC_CONV_ERR_MSK NO_OS_BIT(3)
215#define AD4170_ERROR_MM_CRC_ERR_MSK NO_OS_BIT(1)
216#define AD4170_ERROR_ROM_CRC_ERR_MSK NO_OS_BIT(0)
217
218/* AD4170_REG_CHANNEL_EN */
219#define AD4170_CHANNEL(ch) NO_OS_BIT(ch)
220
221/* AD4170_REG_ADC_CHANNEL_SETUP */
222#define AD4170_CHANNEL_SETUPN_REPEAT_N_MSK NO_OS_GENMASK(15,8)
223#define AD4170_CHANNEL_SETUPN_DELAY_N_MSK NO_OS_GENMASK(6,4)
224#define AD4170_CHANNEL_SETUPN_SETUP_N_MSK NO_OS_GENMASK(2,0)
225
226/* AD4170_REG_ADC_CHANNEL_MAP */
227#define AD4170_CHANNEL_MAPN_AINP_MSK NO_OS_GENMASK(12,8)
228#define AD4170_CHANNEL_MAPN_AINM_MSK NO_OS_GENMASK(4,0)
229
230/* AD4170_REG_ADC_SETUPS_MISC */
231#define AD4170_ADC_SETUPS_MISC_CHOP_IEXC_MSK NO_OS_GENMASK(15,14)
232#define AD4170_ADC_SETUPS_MISC_CHOP_ADC_MSK NO_OS_GENMASK(9,8)
233#define AD4170_ADC_SETUPS_MISC_BURNOUT_MSK NO_OS_GENMASK(1,0)
234
235/* AD4170_REG_ADC_SETUPS_AFE */
236#define AD4170_ADC_SETUPS_AFE_REF_BUF_M_MSK NO_OS_GENMASK(11,10)
237#define AD4170_ADC_SETUPS_AFE_REF_BUF_P_MSK NO_OS_GENMASK(9,8)
238#define AD4170_ADC_SETUPS_AFE_REF_SELECT_MSK NO_OS_GENMASK(6,5)
239#define AD4170_ADC_SETUPS_AFE_BIPOLAR_MSK NO_OS_BIT(4)
240#define AD4170_ADC_SETUPS_AFE_PGA_GAIN_MSK NO_OS_GENMASK(3,0)
241
242/* AD4170_REG_ADC_SETUPS_FILTER */
243#define AD4170_ADC_SETUPS_POST_FILTER_SEL_MSK NO_OS_GENMASK(7,4)
244#define AD4170_ADC_SETUPS_FILTER_TYPE_MSK NO_OS_GENMASK(3,0)
245
246/* AD4170_REG_CURRENT_SOURCE */
247#define AD4170_CURRENT_SOURCE_I_OUT_PIN_MSK NO_OS_GENMASK(12,8)
248#define AD4170_CURRENT_SOURCE_I_OUT_VAL_MSK NO_OS_GENMASK(2,0)
249
250/* AD4170_REG_REF_CONTROL */
251#define AD4170_REF_CONTROL_REF_EN_MSK NO_OS_BIT(0)
252
253/* AD4170_REG_FIR_CONTROL */
254#define AD4170_FIR_CONTROL_IIR_MODE_MSK NO_OS_BIT(15)
255#define AD4170_FIR_CONTROL_FIR_MODE_MSK NO_OS_GENMASK(14,12)
256#define AD4170_FIR_CONTROL_COEFF_SET_MSK NO_OS_BIT(10)
257#define AD4170_FIR_CONTROL_FIR_LENGTH_MSK NO_OS_GENMASK(6,0)
258
259/* AD4170_REG_DAC_SPAN */
260#define AD4170_REG_DAC_SPAN_DAC_GAIN_MSK NO_OS_BIT(0)
261
262/* AD4170_REG_DAC_CHANNEL_EN */
263#define AD4170_REG_DAC_CHANNEL_EN_DAC_EN_MSK NO_OS_BIT(0)
264
265/* AD4170_REG_DAC_HW_TOGGLE_MASK */
266#define AD4170_REG_DAC_HW_TOGGLE_MASK_HW_TOGGLE_EN_MSK NO_OS_BIT(0)
267
268/* AD4170_REG_DAC_HW_LDAC_MASK */
269#define AD4170_REG_DAC_HW_LDAC_MASK_HW_LDAC_EN_MSK NO_OS_BIT(0)
270
271/* AD4170_REG_DAC_DATA */
272#define AD4170_REG_DAC_DATA_MSK NO_OS_GENMASK(11,0)
273
274/* AD4170_REG_DAC_SW_TOGGLE_TRIGGERS */
275#define AD4170_REG_DAC_SW_TOGGLE_TRIGGERS_SW_TOGGLE_MSK NO_OS_BIT(0)
276
277/* AD4170_REG_DAC_SW_LDAC_TRIGGERS */
278#define AD4170_REG_DAC_SW_LDAC_TRIGGERS_SW_LDAC_EN_MSK NO_OS_BIT(0)
279
280#define AD4170_NUM_CHANNELS 16
281#define AD4170_NUM_SETUPS 8
282#define AD4170_NUM_CURRENT_SOURCE 4
283#define AD4170_FIR_COEFF_MAX_LENGTH 72
284
295
310
325
338
349
360
379
394
409
424
437
450
479
496
519
560
573
584
599
614
629
642
655
670
697
714
737
750
761
773 uint16_t filter_fs;
775 uint32_t offset;
777 uint32_t gain;
778};
779
786 bool ref_en;
787};
788
837
860
869
888
894 /* FIR set 0. Use coefficient addresses 0 to FIR_LENGTH-1 */
896 /* FIR set 1. Use coefficient addresses 72 to 72 + FIR_LENGTH-1 */
898};
899
914
925
940
979
992
1006
1029
1066
1069
1070int ad4170_spi_reg_read(struct ad4170_dev *dev,
1071 uint32_t reg_addr,
1072 uint32_t *reg_data);
1073int ad4170_spi_reg_write(struct ad4170_dev *dev,
1074 uint32_t reg_addr,
1075 uint32_t reg_data);
1077 uint32_t reg_addr,
1078 uint8_t mask,
1079 uint32_t reg_data);
1080int ad4170_reset_spi_interface(struct ad4170_dev *dev);
1081int ad4170_get_data16(struct ad4170_dev *dev, uint16_t *data);
1082int ad4170_get_data16s(struct ad4170_dev *dev, uint16_t *data,
1083 uint8_t *status);
1084int ad4170_get_data24(struct ad4170_dev *dev, uint32_t *data);
1085int ad4170_get_data24s(struct ad4170_dev *dev, uint32_t *data,
1086 uint8_t *status);
1087int ad4170_get_data32(struct ad4170_dev *dev, uint32_t *data);
1088int ad4170_get_ch_data(struct ad4170_dev *dev, uint8_t ch, uint32_t *data);
1089int ad4170_read16(struct ad4170_dev *dev, uint32_t *pbuf,
1090 uint16_t nb_samples);
1091int ad4170_read16s(struct ad4170_dev *dev, uint32_t *pbuf,
1092 uint16_t nb_samples);
1093int ad4170_read24(struct ad4170_dev *dev, uint32_t *pbuf,
1094 uint16_t nb_samples);
1095int ad4170_read24s(struct ad4170_dev *dev, uint32_t *pbuf,
1096 uint16_t nb_samples);
1097int ad4170_read32(struct ad4170_dev *dev, uint32_t *pbuf,
1098 uint16_t nb_samples);
1099int ad4170_continuous_read(struct ad4170_dev *dev, uint32_t *data_out,
1100 uint8_t *status_out, uint16_t nb_samples);
1103int ad4170_reset(struct ad4170_dev *dev);
1104int ad4170_get_status(struct ad4170_dev *dev, uint16_t *status);
1105int ad4170_set_pin_muxing(struct ad4170_dev *dev,
1107int ad4170_set_dclk_div(struct ad4170_dev *dev,
1108 enum ad4170_dclk_div clk_div);
1109int ad4170_set_mclk_div(struct ad4170_dev *dev,
1110 enum ad4170_mclk_div clk_div);
1111int ad4170_set_clocksel(struct ad4170_dev *dev, enum ad4170_clocksel sel);
1112int ad4170_set_standby_ctrl(struct ad4170_dev *dev, uint16_t standby_ctrl);
1113int ad4170_set_powerdown_sw(struct ad4170_dev *dev, uint16_t powerdown_sw);
1114int ad4170_set_error_en(struct ad4170_dev *dev, uint16_t error_en);
1115int ad4170_set_error(struct ad4170_dev *dev, uint16_t error);
1116int ad4170_get_error(struct ad4170_dev *dev, uint16_t *error);
1117int ad4170_set_adc_ctrl(struct ad4170_dev *dev,
1118 struct ad4170_adc_ctrl adc_ctrl);
1119int ad4170_set_channel_en(struct ad4170_dev *dev, uint16_t channel_en);
1120int ad4170_set_channel_setup(struct ad4170_dev *dev, uint8_t ch,
1122int ad4170_set_channel_map(struct ad4170_dev *dev, uint8_t ch,
1123 struct ad4170_channel_map map);
1124int ad4170_set_setup(struct ad4170_dev *dev, uint8_t n,
1125 struct ad4170_setup setup);
1126int ad4170_set_ref_control(struct ad4170_dev *dev, bool enable);
1127int ad4170_set_v_bias(struct ad4170_dev *dev, uint16_t ch_mask);
1128int ad4170_set_i_pullup(struct ad4170_dev *dev, uint16_t ch_mask);
1129int ad4170_set_current_source(struct ad4170_dev *dev, uint8_t n,
1131int ad4170_set_fir_control(struct ad4170_dev *dev,
1133int ad4170_set_dac_config(struct ad4170_dev *dev,
1134 struct ad4170_dac_config config);
1135int ad4170_set_dac_data(struct ad4170_dev *dev, uint16_t code);
1136int ad4170_set_dac_inputa(struct ad4170_dev *dev, uint16_t code);
1137int ad4170_set_dac_inputb(struct ad4170_dev *dev, uint16_t code);
1138int ad4170_dac_sw_ldac(struct ad4170_dev *dev, bool polarity);
1139int ad4170_dac_sw_toggle(struct ad4170_dev *dev, bool polarity);
1140int ad4170_dac_hw_toggle(struct ad4170_dev *dev, bool polarity);
1141int ad4170_init(struct ad4170_dev **device,
1143int ad4170_remove(struct ad4170_dev *dev);
1144int ad4170_regmap(struct ad4170_dev *dev);
1145#endif
1146
struct ad4170_config ad4170_config_reset
Definition ad4170.c:46
int ad4170_set_v_bias(struct ad4170_dev *dev, uint16_t ch_mask)
Set the AD4170 Voltage bias.
Definition ad4170.c:1481
int ad4170_set_fir_control(struct ad4170_dev *dev, struct ad4170_fir_control fir_control)
Set the AD4170 FIR control settings.
Definition ad4170.c:1554
ad4170_chop_adc
ADC/Mux Chopping Control.
Definition ad4170.h:604
@ AD4170_CHOP_ACX_2PIN
Definition ad4170.h:612
@ AD4170_CHOP_OFF
Definition ad4170.h:606
@ AD4170_CHOP_MUX
Definition ad4170.h:608
@ AD4170_CHOP_ACX_4PIN
Definition ad4170.h:610
ad4170_ref_buf
REFIN Buffer Enable.
Definition ad4170.h:647
@ AD4170_REF_BUF_FULL
Definition ad4170.h:651
@ AD4170_REF_BUF_BYPASS
Definition ad4170.h:653
@ AD4170_REF_BUF_PRE
Definition ad4170.h:649
int ad4170_set_channel_en(struct ad4170_dev *dev, uint16_t channel_en)
Enable AD4170 channels.
Definition ad4170.c:1307
int ad4170_get_data24s(struct ad4170_dev *dev, uint32_t *data, uint8_t *status)
Get data and status from register Data_24b_Status.
Definition ad4170.c:500
int ad4170_get_data32(struct ad4170_dev *dev, uint32_t *data)
Get data from register Data_32b.
Definition ad4170.c:525
ad4170_ref_select
ADC Reference Selection.
Definition ad4170.h:660
@ AD4170_REFIN_REFIN2
Definition ad4170.h:664
@ AD4170_REFIN_AVDD
Definition ad4170.h:668
@ AD4170_REFIN_REFOUT
Definition ad4170.h:666
@ AD4170_REFIN_REFIN1
Definition ad4170.h:662
int ad4170_set_dclk_div(struct ad4170_dev *dev, enum ad4170_dclk_div clk_div)
Set the AD4170 DCLK configuration.
Definition ad4170.c:1079
ad4170_i_out_val
Current Source Value.
Definition ad4170.h:842
@ AD4170_I_OUT_250UA
Definition ad4170.h:852
@ AD4170_I_OUT_50UA
Definition ad4170.h:848
@ AD4170_I_OUT_10UA
Definition ad4170.h:846
@ AD4170_I_OUT_500UA
Definition ad4170.h:854
@ AD4170_I_OUT_0UA
Definition ad4170.h:844
@ AD4170_I_OUT_1500UA
Definition ad4170.h:858
@ AD4170_I_OUT_1000UA
Definition ad4170.h:856
@ AD4170_I_OUT_100UA
Definition ad4170.h:850
int ad4170_set_dac_inputa(struct ad4170_dev *dev, uint16_t code)
Set the AD4170 DAC data by writing the INPUTA register to be loaded separately by LDAC or Toggle oper...
Definition ad4170.c:1687
int ad4170_set_setup(struct ad4170_dev *dev, uint8_t n, struct ad4170_setup setup)
Configure an ADC setup.
Definition ad4170.c:1385
ad4170_dig_aux1_ctrl
Configures Functionality of DIG_AUX1 Pin.
Definition ad4170.h:315
@ AD4170_DIG_AUX1_MODOUT
Definition ad4170.h:323
@ AD4170_DIG_AUX1_SYNC
Definition ad4170.h:321
@ AD4170_DIG_AUX1_DISABLED
Definition ad4170.h:317
@ AD4170_DIG_AUX1_RDY
Definition ad4170.h:319
int ad4170_remove(struct ad4170_dev *dev)
Remove the device and free al the resources.
Definition ad4170.c:1956
ad4170_post_filter
Optional Post-Filter configuration.
Definition ad4170.h:719
@ AD4170_POST_FILTER_60MS
Definition ad4170.h:727
@ AD4170_POST_FILTER_AVG24
Definition ad4170.h:735
@ AD4170_POST_FILTER_40MS
Definition ad4170.h:723
@ AD4170_POST_FILTER_AVG16
Definition ad4170.h:731
@ AD4170_POST_FILTER_NONE
Definition ad4170.h:721
@ AD4170_POST_FILTER_AVG20
Definition ad4170.h:733
@ AD4170_POST_FILTER_FAST_AC
Definition ad4170.h:729
@ AD4170_POST_FILTER_50MS
Definition ad4170.h:725
int ad4170_spi_reg_read(struct ad4170_dev *dev, uint32_t reg_addr, uint32_t *reg_data)
Read device register.
Definition ad4170.c:230
int ad4170_set_clocksel(struct ad4170_dev *dev, enum ad4170_clocksel sel)
Set the AD4170 clock selection configuration.
Definition ad4170.c:1139
int ad4170_get_error(struct ad4170_dev *dev, uint16_t *error)
Get the Error register.
Definition ad4170.c:1246
int ad4170_set_dac_inputb(struct ad4170_dev *dev, uint16_t code)
Set the AD4170 DAC data by writing the INPUTB register to be loaded separately by LDAC or Toggle oper...
Definition ad4170.c:1699
ad4170_ain
Multiplexer Positive/Negative Input for This Channel.
Definition ad4170.h:524
@ AD4170_AIN2
Definition ad4170.h:527
@ AD4170_DAC
Definition ad4170.h:548
@ AD4170_AIN11
Definition ad4170.h:536
@ AD4170_AVDD_AVSS_N
Definition ad4170.h:545
@ AD4170_DLDO
Definition ad4170.h:550
@ AD4170_OPEN
Definition ad4170.h:558
@ AD4170_DGND
Definition ad4170.h:552
@ AD4170_AIN9
Definition ad4170.h:534
@ AD4170_REFIN2_N
Definition ad4170.h:556
@ AD4170_AIN7
Definition ad4170.h:532
@ AD4170_AIN3
Definition ad4170.h:528
@ AD4170_AIN8
Definition ad4170.h:533
@ AD4170_IOVDD_DGND_P
Definition ad4170.h:546
@ AD4170_AIN12
Definition ad4170.h:537
@ AD4170_ALDO
Definition ad4170.h:549
@ AD4170_AIN5
Definition ad4170.h:530
@ AD4170_AIN6
Definition ad4170.h:531
@ AD4170_AIN4
Definition ad4170.h:529
@ AD4170_AIN1
Definition ad4170.h:526
@ AD4170_AIN14
Definition ad4170.h:539
@ AD4170_REFIN1_N
Definition ad4170.h:554
@ AD4170_AIN10
Definition ad4170.h:535
@ AD4170_REFIN1_P
Definition ad4170.h:553
@ AD4170_AIN13
Definition ad4170.h:538
@ AD4170_AVSS
Definition ad4170.h:551
@ AD4170_AVDD_AVSS_P
Definition ad4170.h:544
@ AD4170_AIN16
Definition ad4170.h:541
@ AD4170_IOVDD_DGND_N
Definition ad4170.h:547
@ AD4170_AIN15
Definition ad4170.h:540
@ AD4170_REFIN2_P
Definition ad4170.h:555
@ AD4170_TEMP_SENSOR_P
Definition ad4170.h:542
@ AD4170_AIN0
Definition ad4170.h:525
@ AD4170_REFOUT
Definition ad4170.h:557
@ AD4170_TEMP_SENSOR_N
Definition ad4170.h:543
ad4170_i_out_pin
Current Source Destination.
Definition ad4170.h:793
@ AD4170_I_OUT_GPIO0
Definition ad4170.h:829
@ AD4170_I_OUT_GPIO2
Definition ad4170.h:833
@ AD4170_I_OUT_AIN2
Definition ad4170.h:799
@ AD4170_I_OUT_AIN12
Definition ad4170.h:819
@ AD4170_I_OUT_GPIO3
Definition ad4170.h:835
@ AD4170_I_OUT_AIN5
Definition ad4170.h:805
@ AD4170_I_OUT_AIN9
Definition ad4170.h:813
@ AD4170_I_OUT_GPIO1
Definition ad4170.h:831
@ AD4170_I_OUT_AINCOM
Definition ad4170.h:827
@ AD4170_I_OUT_AIN15
Definition ad4170.h:825
@ AD4170_I_OUT_AIN13
Definition ad4170.h:821
@ AD4170_I_OUT_AIN14
Definition ad4170.h:823
@ AD4170_I_OUT_AIN1
Definition ad4170.h:797
@ AD4170_I_OUT_AIN6
Definition ad4170.h:807
@ AD4170_I_OUT_AIN10
Definition ad4170.h:815
@ AD4170_I_OUT_AIN8
Definition ad4170.h:811
@ AD4170_I_OUT_AIN7
Definition ad4170.h:809
@ AD4170_I_OUT_AIN11
Definition ad4170.h:817
@ AD4170_I_OUT_AIN0
Definition ad4170.h:795
@ AD4170_I_OUT_AIN3
Definition ad4170.h:801
@ AD4170_I_OUT_AIN4
Definition ad4170.h:803
int ad4170_reset_spi_interface(struct ad4170_dev *dev)
Reset the SPI interface by sending reset sequence to device.
Definition ad4170.c:404
ad4170_filter_type
Filter Mode for Sinc-Based Filters.
Definition ad4170.h:742
@ AD4170_FILT_SINC5_AVG
Definition ad4170.h:744
@ AD4170_FILT_SINC3
Definition ad4170.h:748
@ AD4170_FILT_SINC5
Definition ad4170.h:746
int ad4170_get_data24(struct ad4170_dev *dev, uint32_t *data)
Get data from register Data_24b.
Definition ad4170.c:476
int ad4170_set_dac_config(struct ad4170_dev *dev, struct ad4170_dac_config config)
Set the AD4170 DAC settings.
Definition ad4170.c:1619
int ad4170_dac_sw_ldac(struct ad4170_dev *dev, bool polarity)
Perform a software LDAC.
Definition ad4170.c:1711
ad4170_id
Device selector ID.
Definition ad4170.h:997
@ ID_AD4195
Definition ad4170.h:1002
@ ID_AD4172
Definition ad4170.h:1000
@ ID_AD4190
Definition ad4170.h:1001
@ ID_AD4171
Definition ad4170.h:999
@ ID_AD4195_8
Definition ad4170.h:1004
@ ID_AD4170
Definition ad4170.h:998
@ ID_AD4190_8
Definition ad4170.h:1003
int ad4170_set_error_en(struct ad4170_dev *dev, uint16_t error_en)
Set the AD4170 Error enable settings.
Definition ad4170.c:1213
int ad4170_get_data16s(struct ad4170_dev *dev, uint16_t *data, uint8_t *status)
Get data and status from register Data_16b_Status.
Definition ad4170.c:451
int ad4170_reset(struct ad4170_dev *dev)
Perform a software reset.
Definition ad4170.c:972
ad4170_sdo_rdby_dly
Reset Interface on CS or SCLK.
Definition ad4170.h:354
@ AD4170_SDO_RDY_CSB
Definition ad4170.h:358
@ AD4170_SDO_RDY_SCLK
Definition ad4170.h:356
int ad4170_read16s(struct ad4170_dev *dev, uint32_t *pbuf, uint16_t nb_samples)
Read multiple samples using direct register access from Data_16b_Status.
Definition ad4170.c:676
ad4170_chop_iexc
Excitation Current Chopping Control.
Definition ad4170.h:589
@ AD4170_CHOP_IEXC_ABCD
Definition ad4170.h:597
@ AD4170_CHOP_IEXC_OFF
Definition ad4170.h:591
@ AD4170_CHOP_IEXC_AB
Definition ad4170.h:593
@ AD4170_CHOP_IEXC_CD
Definition ad4170.h:595
int ad4170_init(struct ad4170_dev **device, struct ad4170_init_param *init_param)
Initialize an AD4170 device structure.
Definition ad4170.c:1754
int ad4170_set_pin_muxing(struct ad4170_dev *dev, struct ad4170_pin_muxing pin_muxing)
Set the AD4170 Pin Muxing settings.
Definition ad4170.c:1043
int ad4170_dac_hw_toggle(struct ad4170_dev *dev, bool polarity)
Perform a hardware toggle using the DIG_AUX2 pin, assumed to be pre-configured for this.
Definition ad4170.c:1735
int ad4170_set_powerdown_sw(struct ad4170_dev *dev, uint16_t powerdown_sw)
Set the AD4170 Powerdown switches settings.
Definition ad4170.c:1191
int ad4170_set_adc_ctrl(struct ad4170_dev *dev, struct ad4170_adc_ctrl adc_ctrl)
Set the AD4170 ADC Control.
Definition ad4170.c:1269
ad4170_clocksel
ADC Clock Select.
Definition ad4170.h:414
@ AD4170_EXTERNAL_OSC
Definition ad4170.h:420
@ AD4170_EXTERNAL_XTAL
Definition ad4170.h:422
@ AD4170_INTERNAL_OSC_OUTPUT
Definition ad4170.h:418
@ AD4170_INTERNAL_OSC
Definition ad4170.h:416
int ad4170_set_ref_control(struct ad4170_dev *dev, bool enable)
Set the AD4170 Ref Control.
Definition ad4170.c:1459
int ad4170_set_standby_ctrl(struct ad4170_dev *dev, uint16_t standby_ctrl)
Set the AD4170 Standby control settings.
Definition ad4170.c:1169
int ad4170_get_status(struct ad4170_dev *dev, uint16_t *status)
Get status from register Data_Status.
Definition ad4170.c:576
ad4170_fir_coeff_set
Selects FIR coefficient set.
Definition ad4170.h:893
@ AD4170_FIR_COEFF_SET0
Definition ad4170.h:895
@ AD4170_FIR_COEFF_SET1
Definition ad4170.h:897
int ad4170_read24(struct ad4170_dev *dev, uint32_t *pbuf, uint16_t nb_samples)
Read multiple samples using direct register access from Data_24.
Definition ad4170.c:689
int ad4170_set_mclk_div(struct ad4170_dev *dev, enum ad4170_mclk_div clk_div)
Set the AD4170 MCLK configuration.
Definition ad4170.c:1109
int ad4170_set_channel_setup(struct ad4170_dev *dev, uint8_t ch, struct ad4170_channel_setup setup)
Set the AD4170 Channel specific setup.
Definition ad4170.c:1330
int ad4170_set_i_pullup(struct ad4170_dev *dev, uint16_t ch_mask)
Set the AD4170 Input pullup.
Definition ad4170.c:1503
ad4170_burnout
Burnout Current Values.
Definition ad4170.h:619
@ AD4170_BURNOUT_100N
Definition ad4170.h:623
@ AD4170_BURNOUT_10U
Definition ad4170.h:627
@ AD4170_BURNOUT_2U
Definition ad4170.h:625
@ AD4170_BURNOUT_OFF
Definition ad4170.h:621
int ad4170_continuous_read(struct ad4170_dev *dev, uint32_t *data_out, uint8_t *status_out, uint16_t nb_samples)
Read multiple samples in continuous read mode.
Definition ad4170.c:803
int ad4170_read24s(struct ad4170_dev *dev, uint32_t *pbuf, uint16_t nb_samples)
Read multiple samples using direct register access from Data_24_Status.
Definition ad4170.c:702
ad4170_mode
ADC Operating Mode.
Definition ad4170.h:455
@ AD4170_MODE_CONT_FIR
Definition ad4170.h:459
@ AD4170_MODE_CONT
Definition ad4170.h:457
@ AD4170_MODE_SYS_OFFSET_CAL
Definition ad4170.h:471
@ AD4170_MODE_STANDBY
Definition ad4170.h:465
@ AD4170_MODE_SELF_GAIN_CAL
Definition ad4170.h:477
@ AD4170_MODE_SINGLE
Definition ad4170.h:463
@ AD4170_MODE_SELF_OFFSET_CAL
Definition ad4170.h:475
@ AD4170_MODE_SYS_GAIN_CAL
Definition ad4170.h:473
@ AD4170_MODE_IDLE
Definition ad4170.h:469
@ AD4170_MODE_CONT_IIR
Definition ad4170.h:461
@ AD4170_MODE_POWER_DOWN
Definition ad4170.h:467
#define AD4170_NUM_CURRENT_SOURCE
Definition ad4170.h:282
int ad4170_set_channel_map(struct ad4170_dev *dev, uint8_t ch, struct ad4170_channel_map map)
Set the AD4170 Channel specific map.
Definition ad4170.c:1358
#define AD4170_NUM_SETUPS
Definition ad4170.h:281
ad4170_chan_to_gpio
Enables Current Channel Number Be Output to GPIO Pins.
Definition ad4170.h:289
@ AD4170_CHANNEL_NOT_TO_GPIO
Definition ad4170.h:291
@ AD4170_CHANNEL_TO_GPIO
Definition ad4170.h:293
int ad4170_continuous_read_exit(struct ad4170_dev *dev)
Exit continuous read mode.
Definition ad4170.c:913
int ad4170_spi_reg_write(struct ad4170_dev *dev, uint32_t reg_addr, uint32_t reg_data)
Write device register.
Definition ad4170.c:307
int ad4170_regmap(struct ad4170_dev *dev)
Debugging function to print the register map to console.
Definition ad4170.c:1969
#define AD4170_NUM_CHANNELS
Definition ad4170.h:280
int ad4170_set_dac_data(struct ad4170_dev *dev, uint16_t code)
Set the AD4170 DAC data by directly writing the DAT_DATA register.
Definition ad4170.c:1675
ad4170_delay_n
Delay to Add After Channel Switch.
Definition ad4170.h:501
@ AD4170_DLY_1024
Definition ad4170.h:509
@ AD4170_DLY_0
Definition ad4170.h:503
@ AD4170_DLY_256
Definition ad4170.h:507
@ AD4170_DLY_16
Definition ad4170.h:505
@ AD4170_DLY_2048
Definition ad4170.h:511
@ AD4170_DLY_4096
Definition ad4170.h:513
@ AD4170_DLY_16384
Definition ad4170.h:517
@ AD4170_DLY_8192
Definition ad4170.h:515
int ad4170_read32(struct ad4170_dev *dev, uint32_t *pbuf, uint16_t nb_samples)
Read multiple samples using direct register access from Data_32b.
Definition ad4170.c:715
ad4170_sync_ctrl
Configures SYNC_IN Pin for ADC Synchronization.
Definition ad4170.h:330
@ AD4170_SYNC_DISABLED
Definition ad4170.h:332
@ AD4170_SYNC_STANDARD
Definition ad4170.h:334
@ AD4170_SYNC_ALTERNATE
Definition ad4170.h:336
int ad4170_get_data16(struct ad4170_dev *dev, uint16_t *data)
Get data from register Data_16b.
Definition ad4170.c:427
ad4170_dig_aux2_ctrl
Configures Functionality of DIG_AUX2 Pin.
Definition ad4170.h:300
@ AD4170_DIG_AUX2_MODOUT
Definition ad4170.h:308
@ AD4170_DIG_AUX2_LDAC
Definition ad4170.h:304
@ AD4170_DIG_AUX2_SYNC
Definition ad4170.h:306
@ AD4170_DIG_AUX2_DISABLED
Definition ad4170.h:302
ad4170_cont_read
Configures continuous Data Register Read/Transmit.
Definition ad4170.h:442
@ AD4170_CONT_TRANSMIT_ON
Definition ad4170.h:448
@ AD4170_CONT_READ_OFF
Definition ad4170.h:444
@ AD4170_CONT_READ_ON
Definition ad4170.h:446
ad4170_dac_gain
DAC Output Span.
Definition ad4170.h:919
@ AD4170_DAC_GAIN_2
Definition ad4170.h:923
@ AD4170_DAC_GAIN_1
Definition ad4170.h:921
int ad4170_set_current_source(struct ad4170_dev *dev, uint8_t n, struct ad4170_current_source current_source)
Set the AD4170 Excitation Current.
Definition ad4170.c:1526
int ad4170_dac_sw_toggle(struct ad4170_dev *dev, bool polarity)
Perform a software toggle.
Definition ad4170.c:1723
ad4170_dclk_div
Continuous Transmit Data Clock Divider.
Definition ad4170.h:384
@ AD4170_DCLKDIVBY2
Definition ad4170.h:388
@ AD4170_DCLKDIVBY8
Definition ad4170.h:392
@ AD4170_DCLKDIVBY4
Definition ad4170.h:390
@ AD4170_DCLKDIVBY1
Definition ad4170.h:386
int ad4170_get_ch_data(struct ad4170_dev *dev, uint8_t ch, uint32_t *data)
Get data from register Data_Per_Channel[n].
Definition ad4170.c:553
ad4170_mclk_div
Master Clock Divider.
Definition ad4170.h:399
@ AD4170_CLKDIVBY2
Definition ad4170.h:403
@ AD4170_CLKDIVBY8
Definition ad4170.h:407
@ AD4170_CLKDIVBY4
Definition ad4170.h:405
@ AD4170_CLKDIVBY1
Definition ad4170.h:401
ad4170_fir_mode
Selects FIR Type.
Definition ad4170.h:874
@ AD4170_FIR_SYM_EVEN
Definition ad4170.h:880
@ AD4170_FIR_ASYM
Definition ad4170.h:886
@ AD4170_FIR_ANTISYM_ODD
Definition ad4170.h:882
@ AD4170_FIR_DEFAULT
Definition ad4170.h:876
@ AD4170_FIR_ANTISYM_EVEN
Definition ad4170.h:884
@ AD4170_FIR_SYM_ODD
Definition ad4170.h:878
int ad4170_spi_reg_write_mask(struct ad4170_dev *dev, uint32_t reg_addr, uint8_t mask, uint32_t reg_data)
SPI write device register using a mask.
Definition ad4170.c:381
int ad4170_continuous_transmit_exit(struct ad4170_dev *dev)
Exit continuous transmit mode.
Definition ad4170.c:938
ad4170_dig_out_str
Configures the drive strength of the Digital Outputs.
Definition ad4170.h:343
@ AD4170_DIG_STR_HIGH
Definition ad4170.h:347
@ AD4170_DIG_STR_DEFAULT
Definition ad4170.h:345
ad4170_pga_gain
PGA Gain Selection.
Definition ad4170.h:675
@ AD4170_PGA_GAIN_16
Definition ad4170.h:685
@ AD4170_PGA_GAIN_128
Definition ad4170.h:691
@ AD4170_PGA_GAIN_8
Definition ad4170.h:683
@ AD4170_PGA_GAIN_0P5
Definition ad4170.h:693
@ AD4170_PGA_GAIN_32
Definition ad4170.h:687
@ AD4170_PGA_GAIN_4
Definition ad4170.h:681
@ AD4170_PGA_GAIN_1_PRECHARGE
Definition ad4170.h:695
@ AD4170_PGA_GAIN_1
Definition ad4170.h:677
@ AD4170_PGA_GAIN_64
Definition ad4170.h:689
@ AD4170_PGA_GAIN_2
Definition ad4170.h:679
int ad4170_set_error(struct ad4170_dev *dev, uint16_t error)
Set the Error register with a value to clear specific errors.
Definition ad4170.c:1235
int ad4170_read16(struct ad4170_dev *dev, uint32_t *pbuf, uint16_t nb_samples)
Read multiple samples using direct register access from Data_16b.
Definition ad4170.c:663
struct ad7616_init_param init_param
Definition ad7616_sdz.c:109
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
ADC_Ctrl register settings.
Definition ad4170.h:484
bool parallel_filt_en
Definition ad4170.h:486
bool multi_data_reg_sel
Definition ad4170.h:488
enum ad4170_cont_read cont_read
Definition ad4170.h:492
bool cont_read_status_en
Definition ad4170.h:490
enum ad4170_mode mode
Definition ad4170.h:494
AFE register settings.
Definition ad4170.h:702
enum ad4170_ref_buf ref_buf_m
Definition ad4170.h:704
enum ad4170_ref_buf ref_buf_p
Definition ad4170.h:706
enum ad4170_pga_gain pga_gain
Definition ad4170.h:712
enum ad4170_ref_select ref_select
Definition ad4170.h:708
bool bipolar
Definition ad4170.h:710
Channel_Map register settings. Selects Analog Inputs for This Sequencer Channel.
Definition ad4170.h:578
enum ad4170_ain ainp
Definition ad4170.h:580
enum ad4170_ain ainm
Definition ad4170.h:582
Channel_Setup register settings.
Definition ad4170.h:565
uint8_t repeat_n
Definition ad4170.h:567
enum ad4170_delay_n delay_n
Definition ad4170.h:569
uint8_t setup_n
Definition ad4170.h:571
Clock_Ctrl register settings.
Definition ad4170.h:429
enum ad4170_clocksel clocksel
Definition ad4170.h:435
enum ad4170_mclk_div clockdiv
Definition ad4170.h:433
enum ad4170_dclk_div dclk_divide
Definition ad4170.h:431
AD4170 configuration.
Definition ad4170.h:945
struct ad4170_setup setups[AD4170_NUM_SETUPS]
Definition ad4170.h:965
uint16_t v_bias
Definition ad4170.h:969
uint16_t standby_ctrl
Definition ad4170.h:951
struct ad4170_ref_control ref_control
Definition ad4170.h:967
uint16_t channel_en
Definition ad4170.h:959
struct ad4170_channel_map map[AD4170_NUM_CHANNELS]
Definition ad4170.h:963
struct ad4170_clock_ctrl clock_ctrl
Definition ad4170.h:949
struct ad4170_fir_control fir_control
Definition ad4170.h:975
struct ad4170_current_source current_source[AD4170_NUM_CURRENT_SOURCE]
Definition ad4170.h:973
uint16_t powerdown_sw
Definition ad4170.h:953
struct ad4170_channel_setup setup[AD4170_NUM_CHANNELS]
Definition ad4170.h:961
uint16_t i_pullup
Definition ad4170.h:971
struct ad4170_pin_muxing pin_muxing
Definition ad4170.h:947
struct ad4170_dac_config dac
Definition ad4170.h:977
uint16_t error_en
Definition ad4170.h:955
struct ad4170_adc_ctrl adc_ctrl
Definition ad4170.h:957
Current_Source register settings.
Definition ad4170.h:865
enum ad4170_i_out_pin i_out_pin
Definition ad4170.h:866
enum ad4170_i_out_val i_out_val
Definition ad4170.h:867
DAC Config settings (registers HW_LDAC_Mask, HW_Toggle_Mask, Channel_En and DAC_Span)
Definition ad4170.h:930
bool hw_ldac
Definition ad4170.h:938
bool hw_toggle
Definition ad4170.h:936
bool enabled
Definition ad4170.h:932
enum ad4170_dac_gain gain
Definition ad4170.h:934
AD4170 device descriptor.
Definition ad4170.h:1034
struct no_os_gpio_init_param * gpio_dig_aux1_init
Definition ad4170.h:1054
struct no_os_spi_init_param spi_init
Definition ad4170.h:1038
enum ad4170_id id
Definition ad4170.h:1036
bool dig_aux2_output
Definition ad4170.h:1060
struct ad4170_config config
Definition ad4170.h:1048
struct no_os_gpio_desc * gpio_dig_aux2
Definition ad4170.h:1062
struct no_os_gpio_desc * gpio_dig_aux1
Definition ad4170.h:1056
bool digif
Definition ad4170.h:1064
struct ad4170_spi_settings spi_settings
Definition ad4170.h:1042
bool big_endian
Definition ad4170.h:1046
struct no_os_gpio_desc * gpio_sync_inb
Definition ad4170.h:1052
struct no_os_gpio_init_param * gpio_sync_inb_init
Definition ad4170.h:1050
struct no_os_gpio_init_param * gpio_dig_aux2_init
Definition ad4170.h:1058
uint32_t rdy_conv_timeout
Definition ad4170.h:1044
struct no_os_spi_desc * spi_desc
Definition ad4170.h:1040
Filter register settings.
Definition ad4170.h:755
enum ad4170_post_filter post_filter_sel
Definition ad4170.h:757
enum ad4170_filter_type filter_type
Definition ad4170.h:759
FIR_Control register settings.
Definition ad4170.h:904
int32_t * fir_coefficients
Definition ad4170.h:912
uint8_t fir_length
Definition ad4170.h:910
enum ad4170_fir_coeff_set coeff_set
Definition ad4170.h:908
enum ad4170_fir_mode fir_mode
Definition ad4170.h:906
AD4170 SPI init paraeter structure, used for initializing the ad4170_dev.
Definition ad4170.h:1011
uint32_t rdy_conv_timeout
Definition ad4170.h:1019
struct ad4170_spi_settings spi_settings
Definition ad4170.h:1017
enum ad4170_id id
Definition ad4170.h:1013
struct no_os_gpio_init_param * gpio_dig_aux2
Definition ad4170.h:1027
struct no_os_gpio_init_param * gpio_dig_aux1
Definition ad4170.h:1025
struct no_os_spi_init_param spi_init
Definition ad4170.h:1015
struct no_os_gpio_init_param * gpio_sync_inb
Definition ad4170.h:1023
struct ad4170_config config
Definition ad4170.h:1021
Misc register settings.
Definition ad4170.h:634
enum ad4170_chop_adc chop_adc
Definition ad4170.h:638
enum ad4170_burnout burnout
Definition ad4170.h:640
enum ad4170_chop_iexc chop_iexc
Definition ad4170.h:636
Pin_Muxing register settings.
Definition ad4170.h:365
enum ad4170_dig_aux1_ctrl dig_aux1_ctrl
Definition ad4170.h:371
enum ad4170_sync_ctrl sync_ctrl
Definition ad4170.h:373
enum ad4170_dig_aux2_ctrl dig_aux2_ctrl
Definition ad4170.h:369
enum ad4170_dig_out_str dig_out_str
Definition ad4170.h:375
enum ad4170_sdo_rdby_dly sdo_rdby_dly
Definition ad4170.h:377
enum ad4170_chan_to_gpio chan_to_gpio
Definition ad4170.h:367
Ref_Control register settings.
Definition ad4170.h:784
bool ref_en
Definition ad4170.h:786
Sequencer Setup register settings.
Definition ad4170.h:766
struct ad4170_afe afe
Definition ad4170.h:769
struct ad4170_misc misc
Definition ad4170.h:767
struct ad4170_filter filter
Definition ad4170.h:771
uint32_t offset
Definition ad4170.h:775
uint32_t gain
Definition ad4170.h:777
uint16_t filter_fs
Definition ad4170.h:773
AD4170 SPI settings.
Definition ad4170.h:984
bool crc_enabled
Definition ad4170.h:988
bool short_instruction
Definition ad4170.h:986
bool sync_loss_detect
Definition ad4170.h:990
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 holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128