42#define AD7779_REG_CH_CONFIG(ch) (0x00 + (ch))
43#define AD7779_REG_CH_DISABLE 0x08
44#define AD7779_REG_CH_SYNC_OFFSET(ch) (0x09 + (ch))
45#define AD7779_REG_GENERAL_USER_CONFIG_1 0x11
46#define AD7779_REG_GENERAL_USER_CONFIG_2 0x12
47#define AD7779_REG_GENERAL_USER_CONFIG_3 0x13
48#define AD7779_REG_DOUT_FORMAT 0x14
49#define AD7779_REG_ADC_MUX_CONFIG 0x15
50#define AD7779_REG_GLOBAL_MUX_CONFIG 0x16
51#define AD7779_REG_GPIO_CONFIG 0x17
52#define AD7779_REG_GPIO_DATA 0x18
53#define AD7779_REG_BUFFER_CONFIG_1 0x19
54#define AD7779_REG_BUFFER_CONFIG_2 0x1A
55#define AD7779_REG_CH_OFFSET_UPPER_BYTE(ch) (0x1C + (ch) * 6)
56#define AD7779_REG_CH_OFFSET_MID_BYTE(ch) (0x1D + (ch) * 6)
57#define AD7779_REG_CH_OFFSET_LOWER_BYTE(ch) (0x1E + (ch) * 6)
58#define AD7779_REG_CH_GAIN_UPPER_BYTE(ch) (0x1F + (ch) * 6)
59#define AD7779_REG_CH_GAIN_MID_BYTE(ch) (0x20 + (ch) * 6)
60#define AD7779_REG_CH_GAIN_LOWER_BYTE(ch) (0x21 + (ch) * 6)
61#define AD7779_REG_CH_ERR_REG(ch) (0x4C + (ch))
62#define AD7779_REG_CH0_1_SAT_ERR 0x54
63#define AD7779_REG_CH2_3_SAT_ERR 0x55
64#define AD7779_REG_CH4_5_SAT_ERR 0x56
65#define AD7779_REG_CH6_7_SAT_ERR 0x57
66#define AD7779_REG_CHX_ERR_REG_EN 0x58
67#define AD7779_REG_GEN_ERR_REG_1 0x59
68#define AD7779_REG_GEN_ERR_REG_1_EN 0x5A
69#define AD7779_REG_GEN_ERR_REG_2 0x5B
70#define AD7779_REG_GEN_ERR_REG_2_EN 0x5C
71#define AD7779_REG_STATUS_REG_1 0x5D
72#define AD7779_REG_STATUS_REG_2 0x5E
73#define AD7779_REG_STATUS_REG_3 0x5F
74#define AD7779_REG_SRC_N_MSB 0x60
75#define AD7779_REG_SRC_N_LSB 0x61
76#define AD7779_REG_SRC_IF_MSB 0x62
77#define AD7779_REG_SRC_IF_LSB 0x63
78#define AD7779_REG_SRC_UPDATE 0x64
81#define AD7779_CH_GAIN(x) (((x) & 0x3) << 6)
82#define AD7779_CH_RX (1 << 4)
85#define AD7779_CH_DISABLE(x) (1 << (x))
88#define AD7779_ALL_CH_DIS_MCLK_EN (1 << 7)
89#define AD7779_MOD_POWERMODE (1 << 6)
90#define AD7779_PDB_VCM (1 << 5)
91#define AD7779_PDB_REFOUT_BUF (1 << 4)
92#define AD7779_PDB_SAR (1 << 3)
93#define AD7779_PDB_RC_OSC (1 << 2)
94#define AD7779_SOFT_RESET(x) (((x) & 0x3) << 0)
97#define AD7771_FILTER_MODE (1 << 6)
98#define AD7779_SAR_DIAG_MODE_EN (1 << 5)
99#define AD7779_SDO_DRIVE_STR(x) (((x) & 0x3) << 3)
100#define AD7779_DOUT_DRIVE_STR(x) (((x) & 0x3) << 1)
101#define AD7779_SPI_SYNC (1 << 0)
104#define AD7779_CONVST_DEGLITCH_DIS(x) (((x) & 0x3) << 6)
105#define AD7779_SPI_SLAVE_MODE_EN (1 << 4)
106#define AD7779_CLK_QUAL_DIS (1 << 0)
109#define AD7779_DOUT_FORMAT(x) (((x) & 0x3) << 6)
110#define AD7779_DOUT_HEADER_FORMAT (1 << 5)
111#define AD7779_DCLK_CLK_DIV(x) (((x) & 0x7) << 1)
114#define AD7779_REF_MUX_CTRL(x) (((x) & 0x3) << 6)
117#define AD7779_GLOBAL_MUX_CTRL(x) (((x) & 0x1F) << 3)
120#define AD7779_REF_BUF_POS_EN (1 << 4)
121#define AD7779_REF_BUF_NEG_EN (1 << 3)
124#define AD7779_REFBUFP_PREQ (1 << 7)
125#define AD7779_REFBUFN_PREQ (1 << 6)
126#define AD7779_PDB_ALDO1_OVRDRV (1 << 2)
127#define AD7779_PDB_ALDO2_OVRDRV (1 << 1)
128#define AD7779_PDB_DLDO_OVRDRV (1 << 0)
131#define AD7779_MEMMAP_CRC_TEST_EN (1 << 5)
132#define AD7779_ROM_CRC_TEST_EN (1 << 4)
133#define AD7779_SPI_CLK_COUNT_TEST_EN (1 << 3)
134#define AD7779_SPI_INVALID_READ_TEST_EN (1 << 2)
135#define AD7779_SPI_INVALID_WRITE_TEST_EN (1 << 1)
136#define AD7779_SPI_CRC_TEST_EN (1 << 0)
138#define AD7779_CRC8_POLY 0x07
380 uint8_t sync_offset);
384 uint8_t *sync_offset);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t ad7771_set_sinc5_filter_state(ad7779_dev *dev, ad7779_state state)
Definition ad7779.c:1415
int32_t ad7779_remove(ad7779_dev *dev)
Free the resources allocated by ad7779_init().
Definition ad7779.c:1621
int32_t ad7779_get_sync_offset(ad7779_dev *dev, ad7779_ch ch, uint8_t *sync_offset)
Definition ad7779.c:888
int32_t ad7779_get_offset_corr(ad7779_dev *dev, ad7779_ch ch, uint32_t *offset)
Definition ad7779.c:975
int32_t ad7779_get_ref_buf_op_mode(ad7779_dev *dev, ad7779_refx_pin refx_pin, ad7779_ref_buf_op_mode *mode)
Definition ad7779.c:1201
int32_t ad7779_get_state(ad7779_dev *dev, ad7779_ch ch, ad7779_state *state)
Definition ad7779.c:464
ad7779_sar_mux
Definition ad7779.h:208
@ AD7779_REF_OUT_AVSSX
Definition ad7779.h:213
@ AD7779_DREGCAP_DGND_ATT
Definition ad7779.h:217
@ AD7779_AVDD4_AVSSX
Definition ad7779.h:223
@ AD7779_DVBE_AVSSX
Definition ad7779.h:210
@ AD7779_DGND_AVSS1B_ATT
Definition ad7779.h:225
@ AD7779_REF1P_AVSSX
Definition ad7779.h:228
@ AD7779_AVDD2B_AVSSX_ATT
Definition ad7779.h:221
@ AD7779_IOVDD_DGND_ATT
Definition ad7779.h:222
@ AD7779_AVDD1B_AVSSX_ATT
Definition ad7779.h:219
@ AD7779_AREG2CAP_AVSSX_ATT
Definition ad7779.h:216
@ AD7779_DGND_AVSSX_ATT
Definition ad7779.h:226
@ AD7779_VCM_AVSSX
Definition ad7779.h:214
@ AD7779_AVDD4_AVSSX_ATT
Definition ad7779.h:227
@ AD7779_DGND_AVSS1A_ATT
Definition ad7779.h:224
@ AD7779_REF2P_AVSSX
Definition ad7779.h:229
@ AD7779_AUXAINP_AUXAINN
Definition ad7779.h:209
@ AD7779_REF2P_REF2N
Definition ad7779.h:212
@ AD7779_AREG1CAP_AVSSX_ATT
Definition ad7779.h:215
@ AD7779_REF1P_REF1N
Definition ad7779.h:211
@ AD7779_AVDD1A_AVSSX_ATT
Definition ad7779.h:218
@ AD7779_AVDD2A_AVSSX_ATT
Definition ad7779.h:220
@ AD7779_AVSSX_AVDD4_ATT
Definition ad7779.h:230
int32_t ad7779_get_spi_op_mode(ad7779_dev *dev, ad7779_spi_op_mode *mode)
Definition ad7779.c:306
int32_t ad7779_set_power_mode(ad7779_dev *dev, ad7779_pwr_mode pwr_mode)
Definition ad7779.c:675
int32_t ad7779_init(ad7779_dev **device, ad7779_init_param init_param)
Definition ad7779.c:1472
int32_t ad7779_get_sar_cfg(ad7779_dev *dev, ad7779_state *state, ad7779_sar_mux *mux)
Definition ad7779.c:1310
ad7779_ch
Definition ad7779.h:151
@ AD7779_CH4
Definition ad7779.h:156
@ AD7779_CH3
Definition ad7779.h:155
@ AD7779_CH7
Definition ad7779.h:159
@ AD7779_CH1
Definition ad7779.h:153
@ AD7779_CH6
Definition ad7779.h:158
@ AD7779_CH5
Definition ad7779.h:157
@ AD7779_CH0
Definition ad7779.h:152
@ AD7779_CH2
Definition ad7779.h:154
int32_t ad7779_spi_int_reg_write(ad7779_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition ad7779.c:131
int32_t ad7779_get_gain_corr(ad7779_dev *dev, ad7779_ch ch, uint32_t *gain)
Definition ad7779.c:1076
ad7779_ctrl_mode
Definition ad7779.h:140
@ AD7779_SPI_CTRL
Definition ad7779.h:142
@ AD7779_PIN_CTRL
Definition ad7779.h:141
ad7779_dclk_div
Definition ad7779.h:174
@ AD7779_DCLK_DIV_16
Definition ad7779.h:179
@ AD7779_DCLK_DIV_2
Definition ad7779.h:176
@ AD7779_DCLK_DIV_1
Definition ad7779.h:175
@ AD7779_DCLK_DIV_64
Definition ad7779.h:181
@ AD7779_DCLK_DIV_8
Definition ad7779.h:178
@ AD7779_DCLK_DIV_32
Definition ad7779.h:180
@ AD7779_DCLK_DIV_4
Definition ad7779.h:177
@ AD7779_DCLK_DIV_128
Definition ad7779.h:182
#define AD7779_REG_SRC_UPDATE
Definition ad7779.h:78
int32_t ad7779_set_gain_corr(ad7779_dev *dev, ad7779_ch ch, uint32_t gain)
Definition ad7779.c:1028
int32_t ad7779_set_gain(ad7779_dev *dev, ad7779_ch ch, ad7779_gain gain)
Definition ad7779.c:503
int32_t ad7779_set_spi_op_mode(ad7779_dev *dev, ad7779_spi_op_mode mode)
Definition ad7779.c:267
int32_t ad7779_set_sync_offset(ad7779_dev *dev, ad7779_ch ch, uint8_t sync_offset)
Definition ad7779.c:853
ad7779_ref_buf_op_mode
Definition ad7779.h:202
@ AD7779_REF_BUF_DISABLED
Definition ad7779.h:205
@ AD7779_REF_BUF_ENABLED
Definition ad7779.h:203
@ AD7779_REF_BUF_PRECHARGED
Definition ad7779.h:204
int32_t ad7779_do_update_mode_pins(ad7779_dev *dev)
Definition ad7779.c:347
int32_t ad7779_set_state(ad7779_dev *dev, ad7779_ch ch, ad7779_state state)
Definition ad7779.c:434
int32_t ad7779_set_sar_cfg(ad7779_dev *dev, ad7779_state state, ad7779_sar_mux mux)
Definition ad7779.c:1283
int32_t ad7779_get_dclk_div(ad7779_dev *dev, ad7779_dclk_div *div)
Definition ad7779.c:820
uint8_t ad7779_compute_crc8(uint8_t *data, uint8_t data_size)
Definition ad7779.c:67
int32_t ad7779_do_spi_soft_reset(ad7779_dev *dev)
Definition ad7779.c:1395
int32_t ad7779_spi_int_reg_read(ad7779_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition ad7779.c:95
int32_t ad7779_set_ref_buf_op_mode(ad7779_dev *dev, ad7779_refx_pin refx_pin, ad7779_ref_buf_op_mode mode)
Definition ad7779.c:1125
ad7779_refx_pin
Definition ad7779.h:197
@ AD7779_REFX_P
Definition ad7779.h:198
@ AD7779_REFX_N
Definition ad7779.h:199
int32_t ad7779_get_dec_rate(ad7779_dev *dev, uint16_t *int_val, uint16_t *dec_val)
Definition ad7779.c:632
int32_t ad7779_spi_sar_read_code(ad7779_dev *dev, ad7779_sar_mux mux_next_conv, uint16_t *sar_code)
Definition ad7779.c:227
ad7779_state
Definition ad7779.h:162
@ AD7779_DISABLE
Definition ad7779.h:164
@ AD7779_ENABLE
Definition ad7779.h:163
int32_t ad7779_get_gain(ad7779_dev *dev, ad7779_ch ch, ad7779_gain *gain)
Definition ad7779.c:548
int32_t ad7779_set_dclk_div(ad7779_dev *dev, ad7779_dclk_div div)
Definition ad7779.c:791
int32_t ad7779_get_power_mode(ad7779_dev *dev, ad7779_pwr_mode *pwr_mode)
Definition ad7779.c:695
int32_t ad7779_do_single_sar_conv(ad7779_dev *dev, ad7779_sar_mux mux, uint16_t *sar_code)
Definition ad7779.c:1367
ad7779_spi_op_mode
Definition ad7779.h:145
@ AD7779_INT_REG
Definition ad7779.h:146
@ AD7779_SD_CONV
Definition ad7779.h:147
@ AD7779_SAR_CONV
Definition ad7779.h:148
int32_t ad7771_get_sinc5_filter_state(ad7779_dev *dev, ad7779_state *state)
Definition ad7779.c:1442
int32_t ad7779_set_offset_corr(ad7779_dev *dev, ad7779_ch ch, uint32_t offset)
Definition ad7779.c:928
int32_t ad7779_set_reference_type(ad7779_dev *dev, ad7779_ref_type ref_type)
Definition ad7779.c:723
int32_t ad7779_get_reference_type(ad7779_dev *dev, ad7779_ref_type *ref_type)
Definition ad7779.c:759
ad7779_ref_type
Definition ad7779.h:190
@ AD7779_INT_REF
Definition ad7779.h:192
@ AD7779_EXT_REF
Definition ad7779.h:191
@ AD7779_EXT_SUPPLY
Definition ad7779.h:193
@ AD7779_EXT_REF_INV
Definition ad7779.h:194
int32_t ad7779_set_dec_rate(ad7779_dev *dev, uint16_t int_val, uint16_t dec_val)
Definition ad7779.c:574
int32_t ad7779_spi_int_reg_read_mask(ad7779_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t *data)
Definition ad7779.c:159
ad7779_pwr_mode
Definition ad7779.h:185
@ AD7779_LOW_PWR
Definition ad7779.h:186
@ AD7779_HIGH_RES
Definition ad7779.h:187
ad7779_gain
Definition ad7779.h:167
@ AD7779_GAIN_8
Definition ad7779.h:171
@ AD7779_GAIN_4
Definition ad7779.h:170
@ AD7779_GAIN_2
Definition ad7779.h:169
@ AD7779_GAIN_1
Definition ad7779.h:168
int32_t ad7779_spi_int_reg_write_mask(ad7779_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Definition ad7779.c:181
Header file of Delay functions.
Header file of GPIO Interface.
Header file of SPI Interface.
uint16_t dec_rate_int
Definition ad7779.h:253
uint8_t sync_offset[8]
Definition ad7779.h:258
ad7779_state spi_crc_en
Definition ad7779.h:249
ad7779_ref_buf_op_mode ref_buf_op_mode[2]
Definition ad7779.h:261
struct no_os_gpio_desc * gpio_mode3
Definition ad7779.h:241
ad7779_dclk_div dclk_div
Definition ad7779.h:257
struct no_os_spi_desc * spi_desc
Definition ad7779.h:235
struct no_os_gpio_desc * gpio_mode0
Definition ad7779.h:238
uint32_t offset_corr[8]
Definition ad7779.h:259
struct no_os_gpio_desc * gpio_reset
Definition ad7779.h:237
ad7779_state sar_state
Definition ad7779.h:262
struct no_os_gpio_desc * gpio_dclk2
Definition ad7779.h:244
ad7779_state sinc5_state
Definition ad7779.h:264
uint16_t dec_rate_dec
Definition ad7779.h:254
struct no_os_gpio_desc * gpio_dclk1
Definition ad7779.h:243
struct no_os_gpio_desc * gpio_convst_sar
Definition ad7779.h:246
ad7779_sar_mux sar_mux
Definition ad7779.h:263
uint8_t cached_reg_val[AD7779_REG_SRC_UPDATE+1]
Definition ad7779.h:266
uint32_t gain_corr[8]
Definition ad7779.h:260
ad7779_gain gain[8]
Definition ad7779.h:252
ad7779_ref_type ref_type
Definition ad7779.h:255
ad7779_state state[8]
Definition ad7779.h:251
struct no_os_gpio_desc * gpio_mode2
Definition ad7779.h:240
ad7779_ctrl_mode ctrl_mode
Definition ad7779.h:248
struct no_os_gpio_desc * gpio_mode1
Definition ad7779.h:239
ad7779_pwr_mode pwr_mode
Definition ad7779.h:256
struct no_os_gpio_desc * gpio_dclk0
Definition ad7779.h:242
ad7779_spi_op_mode spi_op_mode
Definition ad7779.h:250
struct no_os_gpio_desc * gpio_sync_in
Definition ad7779.h:245
bool read_from_cache
Definition ad7779.h:265
uint16_t dec_rate_dec
Definition ad7779.h:289
struct no_os_spi_init_param spi_init
Definition ad7779.h:271
ad7779_pwr_mode pwr_mode
Definition ad7779.h:291
struct no_os_gpio_init_param gpio_mode2
Definition ad7779.h:276
uint32_t offset_corr[8]
Definition ad7779.h:294
ad7779_state spi_crc_en
Definition ad7779.h:285
struct no_os_gpio_init_param gpio_dclk1
Definition ad7779.h:279
ad7779_ref_buf_op_mode ref_buf_op_mode[2]
Definition ad7779.h:296
ad7779_dclk_div dclk_div
Definition ad7779.h:292
struct no_os_gpio_init_param gpio_mode1
Definition ad7779.h:275
uint32_t gain_corr[8]
Definition ad7779.h:295
ad7779_state state[8]
Definition ad7779.h:286
uint16_t dec_rate_int
Definition ad7779.h:288
ad7779_ctrl_mode ctrl_mode
Definition ad7779.h:284
ad7779_state sinc5_state
Definition ad7779.h:297
struct no_os_gpio_init_param gpio_reset
Definition ad7779.h:273
struct no_os_gpio_init_param gpio_convst_sar
Definition ad7779.h:282
ad7779_ref_type ref_type
Definition ad7779.h:290
ad7779_gain gain[8]
Definition ad7779.h:287
struct no_os_gpio_init_param gpio_sync_in
Definition ad7779.h:281
struct no_os_gpio_init_param gpio_dclk0
Definition ad7779.h:278
struct no_os_gpio_init_param gpio_dclk2
Definition ad7779.h:280
struct no_os_gpio_init_param gpio_mode3
Definition ad7779.h:277
struct no_os_gpio_init_param gpio_mode0
Definition ad7779.h:274
bool read_from_cache
Definition ad7779.h:298
uint8_t sync_offset[8]
Definition ad7779.h:293
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