39#define ADGS1408_REG_SW_DATA 0x01
40#define ADGS1408_REG_ERR_CONFIG 0x02
41#define ADGS1408_REG_ERR_FLAGS 0x03
42#define ADGS1408_REG_BURST_EN 0x05
43#define ADGS1408_REG_ROUND_ROBIN_EN 0x06
44#define ADGS1408_REG_RROBIN_CHANNEL_CONFIG 0x07
45#define ADGS1408_REG_CNV_EDGE_SEL 0x09
46#define ADGS1408_REG_SOFT_RESETB 0x0B
49#define ADGS1408_SW1_EN 0x01
50#define ADGS1408_SW2_EN 0x03
51#define ADGS1408_SW3_EN 0x05
52#define ADGS1408_SW4_EN 0x07
53#define ADGS1408_SW5_EN 0x09
54#define ADGS1408_SW6_EN 0x0B
55#define ADGS1408_SW7_EN 0x0D
56#define ADGS1408_SW8_EN 0x0F
59#define ADGS1409_SW1_EN 0x01
60#define ADGS1409_SW2_EN 0x03
61#define ADGS1409_SW3_EN 0x05
62#define ADGS1409_SW4_EN 0x07
65#define ADGS1408_RW_ERR_EN (1 << 2)
66#define ADGS1408_SCLK_ERR_EN (1 << 1)
67#define ADGS1408_CRC_ERR_EN (1 << 0)
70#define ADGS1408_RW_ERR_FLAG (1 << 2)
71#define ADGS1408_SCLK_ERR_FLAG (1 << 1)
72#define ADGS1408_CRC_ERR_FLAG (1 << 0)
73#define ADGS1408_CLR_1 0x6C
74#define ADGS1408_CLR_2 0xA9
77#define ADGS1408_BURST_MODE_EN (1 << 0)
80#define ADGS1408_ROUND_ROBIN_EN (1 << 0)
83#define ADGS1408_RROBIN_SW1(x) (((x) & 0x1) << 0)
84#define ADGS1408_RROBIN_SW2(x) (((x) & 0x1) << 1)
85#define ADGS1408_RROBIN_SW3(x) (((x) & 0x1) << 2)
86#define ADGS1408_RROBIN_SW4(x) (((x) & 0x1) << 3)
87#define ADGS1408_RROBIN_SW5(x) (((x) & 0x1) << 4)
88#define ADGS1408_RROBIN_SW6(x) (((x) & 0x1) << 5)
89#define ADGS1408_RROBIN_SW7(x) (((x) & 0x1) << 6)
90#define ADGS1408_RROBIN_SW8(x) (((x) & 0x1) << 7)
93#define ADGS1408_RROBIN_SW1(x) (((x) & 0x1) << 0)
94#define ADGS1408_RROBIN_SW2(x) (((x) & 0x1) << 1)
95#define ADGS1408_RROBIN_SW3(x) (((x) & 0x1) << 2)
96#define ADGS1408_RROBIN_SW4(x) (((x) & 0x1) << 3)
99#define ADGS1408_CNV_EDGE_RISING (1 << 0)
102#define ADGS1408_SOFT_RESETB(x) (((x) & 0xFF) << 0)
103#define ADGS1408_RESET_1 0xA3
104#define ADGS1408_RESET_2 0x05
106#define ADGS1408_DAISY_CHAIN_1 0x25
107#define ADGS1408_DAISY_CHAIN_2 0x00
110#define ADGS1408_RROBIN_EXIT_1 0xA3
111#define ADGS1408_RROBIN_EXIT_2 0x18
112#define ADGS1408_RROBIN_EXIT_3 0xE3
113#define ADGS1408_RROBIN_EXIT_4 0xB4
115#define ADGS1408_ALIGNMENT 0x25
117#define ADGS1408_CRC8_POLY 0x07
199 uint8_t cnv_polarity);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t adgs1408_spi_reg_write(struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition adgs1408.c:128
int32_t adgs1408_enter_daisy_chain(struct adgs1408_dev *dev)
Definition adgs1408.c:247
uint8_t adgs1408_compute_crc8(uint8_t *data, uint8_t data_size)
Definition adgs1408.c:47
int32_t adgs1408_clear_err_flags(struct adgs1408_dev *dev)
Definition adgs1408.c:220
int32_t adgs1408_do_soft_reset(struct adgs1408_dev *dev)
Definition adgs1408.c:194
int32_t adgs1408_spi_reg_read(struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition adgs1408.c:76
int32_t adgs1408_spi_reg_write_mask(struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Definition adgs1408.c:166
int32_t adgs1408_remove(struct adgs1408_dev *dev)
Free the resources allocated by adgs1408_init().
Definition adgs1408.c:442
int32_t adgs1408_init(struct adgs1408_dev **device, struct adgs1408_init_param init_param)
Definition adgs1408.c:380
int32_t adgs1408_enter_round_robin(struct adgs1408_dev *dev)
Definition adgs1408.c:291
int32_t adgs1408_send_daisy_chain_cmds(struct adgs1408_dev *dev, uint8_t *cmds, uint8_t cmds_size)
Definition adgs1408.c:271
int32_t adgs1408_spi_reg_read_mask(struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t *data)
int32_t adgs1408_exit_round_robin(struct adgs1408_dev *dev)
Definition adgs1408.c:355
int32_t adgs1408_configure_round_robin(struct adgs1408_dev *dev, uint8_t cnv_polarity)
Definition adgs1408.c:314
adgs1408_state
Definition adgs1408.h:124
@ ADGS1408_ENABLE
Definition adgs1408.h:125
@ ADGS1408_DISABLE
Definition adgs1408.h:126
adgs1408_type
Definition adgs1408.h:119
@ ID_ADGS1409
Definition adgs1408.h:121
@ ID_ADGS1408
Definition adgs1408.h:120
Header file of SPI Interface.
Definition adgs1408.h:140
enum adgs1408_state round_robin_en
Definition adgs1408.h:147
struct adgs1408_rrobin_config rrobin_sw_config
Definition adgs1408.h:148
enum adgs1408_state crc_en
Definition adgs1408.h:144
struct no_os_spi_desc * spi_desc
Definition adgs1408.h:142
enum adgs1408_state daisy_chain_en
Definition adgs1408.h:146
enum adgs1408_state burst_mode_en
Definition adgs1408.h:145
enum adgs1408_type act_device
Definition adgs1408.h:149
Definition adgs1408.h:152
enum adgs1408_state daisy_chain_en
Definition adgs1408.h:158
struct adgs1408_rrobin_config rrobin_sw_config
Definition adgs1408.h:160
enum adgs1408_state crc_en
Definition adgs1408.h:156
enum adgs1408_state round_robin_en
Definition adgs1408.h:159
enum adgs1408_type act_device
Definition adgs1408.h:161
enum adgs1408_state burst_mode_en
Definition adgs1408.h:157
struct no_os_spi_init_param spi_init
Definition adgs1408.h:154
Definition adgs1408.h:129
bool rrobin_sw7
Definition adgs1408.h:136
bool rrobin_sw6
Definition adgs1408.h:135
bool rrobin_sw8
Definition adgs1408.h:137
bool rrobin_sw5
Definition adgs1408.h:134
bool rrobin_sw2
Definition adgs1408.h:131
bool rrobin_sw4
Definition adgs1408.h:133
bool rrobin_sw3
Definition adgs1408.h:132
bool rrobin_sw1
Definition adgs1408.h:130
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128