Go to the documentation of this file.
52 #define AD4080_REG_INTERFACE_CONFIG_A 0x0000
53 #define AD4080_REG_INTERFACE_CONFIG_B 0x0001
54 #define AD4080_REG_DEVICE_CONFIG 0x0002
55 #define AD4080_REG_CHIP_TYPE 0x0003
56 #define AD4080_REG_PRODUCT_ID_L 0x0004
57 #define AD4080_REG_PRODUCT_ID_H 0x0005
58 #define AD4080_REG_CHIP_GRADE 0x0006
59 #define AD4080_REG_SCRATCH_PAD 0x000A
60 #define AD4080_REG_SPI_REVISION 0x000B
61 #define AD4080_REG_VENDOR_L 0x000C
62 #define AD4080_REG_VENDOR_H 0x000D
63 #define AD4080_REG_STREAM_MODE 0x000E
64 #define AD4080_REG_TRANSFER_CONFIG 0x000F
65 #define AD4080_REG_INTERFACE_CONFIG_C 0x0010
66 #define AD4080_REG_INTERFACE_STATUS_A 0x0011
67 #define AD4080_REG_DEVICE_STATUS 0x0014
68 #define AD4080_REG_DATA_INTF_CONFIG_A 0x0015
69 #define AD4080_REG_DATA_INTF_CONFIG_B 0x0016
70 #define AD4080_REG_DATA_INTF_CONFIG_C 0x0017
71 #define AD4080_REG_PWR_CTRL 0x0018
72 #define AD4080_REG_GPIO_CONFIG_A 0x0019
73 #define AD4080_REG_GPIO_CONFIG_B 0x001A
74 #define AD4080_REG_GPIO_CONFIG_C 0x001B
75 #define AD4080_REG_GENERAL_CONFIG 0x001C
76 #define AD4080_REG_FIFO_WATERMARK 0x001D
77 #define AD4080_REG_EVENT_HYSTERESIS 0x001F
78 #define AD4080_REG_EVENT_DETECTION_HI 0x0021
79 #define AD4080_REG_EVENT_DETECTION_LO 0x0023
80 #define AD4080_REG_OFFSET 0x0025
81 #define AD4080_REG_GAIN 0x0027
82 #define AD4080_REG_FILTER_CONFIG 0x0029
85 #define AD4080_SW_RESET_MSK NO_OS_BIT(7) | NO_OS_BIT(0)
86 #define AD4080_ADDR_ASC_MSK NO_OS_BIT(5)
87 #define AD4080_SDO_ENABLE_MSK NO_OS_BIT(4)
90 #define AD4080_SINGLE_INST_MSK NO_OS_BIT(7)
91 #define AD4080_SHORT_INST_MSK NO_OS_BIT(3)
94 #define AD4080_OP_MODE_MSK NO_OS_GENMASK(1, 0)
97 #define AD4080_KEEP_STREAM_LEN_VAL_MSK NO_OS_BIT(2)
100 #define AD4080_STRICT_REG_ACCESS_MSK NO_OS_BIT(5)
103 #define AD4080_INTF_CHK_EN_MSK NO_OS_BIT(4)
104 #define AD4080_SPI_LVDS_LANES_MSK NO_OS_BIT(2)
105 #define AD4080_DATA_INTF_MODE_MSK NO_OS_BIT(0)
108 #define AD4080_LVDS_CNV_CLK_CNT_MSK NO_OS_GENMASK(7, 4)
109 #define AD4080_LVDS_SELF_CLK_MODE_MSK NO_OS_BIT(3)
110 #define AD4080_LVDS_CNV_EN NO_OS_BIT(0)
113 #define AD4080_LVDS_VOD_MSK NO_OS_GENMASK(6, 4)
116 #define AD4080_ANA_DIG_LDO_PD_MSK NO_OS_BIT(1)
117 #define AD4080_INTF_LDO_PD_MSK NO_OS_BIT(0)
120 #define AD4080_GPIO_EN_MSK(x) NO_OS_BIT(x)
121 #define AD4080_GPIO_SEL_MSK(x) (NO_OS_GENMASK(3, 0) << (4 * ((x)%2)))
122 #define AD4080_GPIO_DATA_MSK(x) (NO_OS_BIT(x) << 4)
125 #define AD4080_FIFO_MODE_MSK NO_OS_GENMASK(1, 0)
128 #define AD4080_SW_RESET NO_OS_BIT(7) | NO_OS_BIT(0)
129 #define AD4080_SPI_READ NO_OS_BIT(7)
130 #define BYTE_ADDR_H NO_OS_GENMASK(15, 8)
131 #define BYTE_ADDR_L NO_OS_GENMASK(7, 0)
132 #define AD4080_CHIP_ID NO_OS_GENMASK(2, 0)
133 #define AD4080_FIFO_SIZE NO_OS_BIT(14)
423 uint8_t lvds_cnv_clk_cnt);
427 uint8_t *lvds_cnv_clk_cnt);
479 uint16_t fifo_watermark);
483 uint16_t *fifo_watermark);
@ AD4080_ADDR_INCR
Definition: ad4080.h:142
int ad4080_set_gpio_output_enable(struct ad4080_dev *dev, enum ad4080_gpio gpio, enum ad4080_gpio_op_enable gpio_op_enable)
Configure GPIO as input or output.
Definition: ad4080.c:940
@ AD4080_GPIO_2
Definition: ad4080.h:223
#define AD4080_DATA_INTF_MODE_MSK
Definition: ad4080.h:105
int ad4080_get_lvds_cnv_clk_cnt(struct ad4080_dev *dev, uint8_t *lvds_cnv_clk_cnt)
Get AD4080 Interface clock periods from CNV rising edge.
Definition: ad4080.c:565
@ AD4080_GPIO_ADI_NSPI_SDO_DATA
Definition: ad4080.h:236
int ad4080_write(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t reg_val)
Write device register.
Definition: ad4080.c:55
@ AD4080_REG_NORMAL_MODE
Definition: ad4080.h:166
int ad4080_gpio_read_data(struct ad4080_dev *dev, enum ad4080_gpio gpio, bool *data)
Read the GPIO data.
Definition: ad4080.c:1031
int ad4080_set_lvds_cnv_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_cnv_clk_mode cnv_clk_mode)
Set AD4080 LVDS CNV Clock Mode.
Definition: ad4080.c:638
int ad4080_set_lvds_vod(struct ad4080_dev *dev, enum ad4080_lvds_vod lvds_vod)
Set AD4080 LVDS Differential Output Voltage.
Definition: ad4080.c:687
#define BYTE_ADDR_H
Definition: ad405x.h:129
enum ad4080_addr_asc addr_asc
Definition: ad4080.h:312
int ad4080_get_lvds_self_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_self_clk_mode *lvds_self_clk_mode)
Get AD4080 LVDS Self Clock Mode.
Definition: ad4080.c:614
@ AD4080_185mVPP
Definition: ad4080.h:202
int ad4080_get_single_instr(struct ad4080_dev *dev, enum ad4080_single_instr *single_instr)
Get Single/Streaming Mode.
Definition: ad4080.c:222
int ad4080_get_lvds_cnv_clk_cnt(struct ad4080_dev *dev, uint8_t *lvds_cnv_clk_cnt)
Get AD4080 Interface clock periods from CNV rising edge.
Definition: ad4080.c:565
int ad4080_set_intf_ldo_pd(struct ad4080_dev *dev, enum ad4080_intf_ldo_pd intf_ldo_pd)
Set AD4080 Interface LDO.
Definition: ad4080.c:784
int ad4080_get_ana_dig_ldo_pd(struct ad4080_dev *dev, enum ad4080_ana_dig_ldo_pd *ana_dig_ldo_pd)
Get AD4080 Analog/Digital LDO.
Definition: ad4080.c:760
@ AD4080_GPIO_LT_DETECT
Definition: ad4080.h:241
#define AD4080_LVDS_VOD_MSK
Definition: ad4080.h:113
int ad4080_get_conv_data_spi_lvds(struct ad4080_dev *dev, enum ad4080_conv_data_spi_lvds *conv_data_spi_lvds)
Get AD4080 Data Interface Configuration.
Definition: ad4080.c:516
int ad4080_remove(struct ad4080_dev *dev)
Remove the device and release resources.
Definition: ad4080.c:1228
#define AD4080_REG_GPIO_CONFIG_B
Definition: ad4080.h:73
int ad4080_set_op_mode(struct ad4080_dev *dev, enum ad4080_op_mode op_mode)
Set Operation Mode.
Definition: ad4080.c:295
@ AD4080_GPIO_3
Definition: ad4080.h:224
@ AD4080_OP_LOW_POWER
Definition: ad4080.h:161
int ad4080_set_conv_data_spi_lvds(struct ad4080_dev *dev, enum ad4080_conv_data_spi_lvds conv_data_spi_lvds)
Set AD4080 Data Interface Configuration.
Definition: ad4080.c:491
@ AD4080_INTF_LDO_DISABLE
Definition: ad4080.h:216
enum ad4080_fifo_mode fifo_mode
Definition: ad4080.h:295
enum ad4080_fifo_mode fifo_mode
Definition: ad4080.h:340
enum ad4080_lvds_cnv_clk_mode cnv_clk_mode
Definition: ad4080.h:287
enum ad4080_cnv_spi_lvds_lanes cnv_spi_lvds_lanes
Definition: ad4080.h:324
int ad4080_get_lvds_cnv_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_cnv_clk_mode *cnv_clk_mode)
Get AD4080 LVDS CNV Clock Mode.
Definition: ad4080.c:663
#define AD4080_REG_INTERFACE_CONFIG_A
Definition: ad4080.h:52
enum ad4080_intf_chk_en intf_chk_en
Definition: ad4080.h:277
#define AD4080_STRICT_REG_ACCESS_MSK
Definition: ad4080.h:100
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:159
#define AD4080_REG_FIFO_WATERMARK
Definition: ad4080.h:76
int ad4080_soft_reset(struct ad4080_dev *dev)
Software reset the device.
Definition: ad4080.c:128
enum ad4080_intf_ldo_pd intf_ldo_pd
Definition: ad4080.h:338
int ad4080_set_op_mode(struct ad4080_dev *dev, enum ad4080_op_mode op_mode)
Set Operation Mode.
Definition: ad4080.c:295
@ AD4080_ONE_LANE
Definition: ad4080.h:178
@ AD4080_325mVPP
Definition: ad4080.h:204
ad4080_addr_asc
Definition: ad4080.h:140
Header file of SPI Interface.
int ad4080_get_lvds_vod(struct ad4080_dev *dev, enum ad4080_lvds_vod *lvds_vod)
Get AD4080 LVDS Differential Output Voltage.
Definition: ad4080.c:712
@ AD4080_GPIO_HT_DETECT
Definition: ad4080.h:240
int ad4080_get_lvds_cnv_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_cnv_clk_mode *cnv_clk_mode)
Get AD4080 LVDS CNV Clock Mode.
Definition: ad4080.c:663
@ AD4080_INTF_LDO_EN
Definition: ad4080.h:215
bool spi3wire
Definition: ad4080.h:265
#define AD4080_REG_GPIO_CONFIG_C
Definition: ad4080.h:74
enum ad4080_intf_ldo_pd intf_ldo_pd
Definition: ad4080.h:293
int ad4080_get_fifo_mode(struct ad4080_dev *dev, enum ad4080_fifo_mode *fifo_mode)
Get Set AD4080 Conversion Data FIFO Mode.
Definition: ad4080.c:858
@ AD4080_EVENT_TRIGGER_LAST_WM
Definition: ad4080.h:253
Header file of Delay functions.
int ad4080_get_addr_asc(struct ad4080_dev *dev, enum ad4080_addr_asc *addr_asc)
Get Address Ascension.
Definition: ad4080.c:174
int ad4080_read(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t *reg_val)
Read device register.
Definition: ad4080.c:76
int ad4080_get_intf_chk_en(struct ad4080_dev *dev, enum ad4080_intf_chk_en *intf_chk_en)
Get AD4080 Output Pattern.
Definition: ad4080.c:418
int ad4080_configuration_intf_init(struct ad4080_dev *dev, struct ad4080_init_param init_param)
Configure the config SPI interface during initialization.
Definition: ad4080.c:1069
int ad4080_set_cnv_spi_lvds_lanes(struct ad4080_dev *dev, enum ad4080_cnv_spi_lvds_lanes cnv_spi_lvds_lanes)
Set AD4080 LVDS/SPI Lane Control.
Definition: ad4080.c:442
enum ad4080_short_instr short_instr
Definition: ad4080.h:271
int ad4080_data_intf_init(struct ad4080_dev *device, struct ad4080_init_param init_param)
Configure the data interface during initialization.
Definition: ad4080.c:1099
@ AD4080_IMMEDIATE_TRIGGER
Definition: ad4080.h:252
ad4080_op_mode
Definition: ad4080.h:158
int ad4080_set_single_instr(struct ad4080_dev *dev, enum ad4080_single_instr single_instr)
Set Single/Streaming Mode.
Definition: ad4080.c:197
#define AD4080_INTF_LDO_PD_MSK
Definition: ad4080.h:117
#define AD4080_SDO_ENABLE_MSK
Definition: ad4080.h:87
enum ad4080_ana_dig_ldo_pd ana_dig_ldo_pd
Definition: ad4080.h:291
int ad4080_gpio_read_data(struct ad4080_dev *dev, enum ad4080_gpio gpio, bool *data)
Read the GPIO data.
Definition: ad4080.c:1031
@ AD4080_15_BIT_ADDR
Definition: ad4080.h:153
enum ad4080_op_mode op_mode
Definition: ad4080.h:318
#define AD4080_REG_DEVICE_CONFIG
Definition: ad4080.h:54
Definition: ad9361_util.h:69
#define AD4080_LVDS_SELF_CLK_MODE_MSK
Definition: ad4080.h:109
int ad4080_get_fifo_watermark(struct ad4080_dev *dev, uint16_t *fifo_watermark)
Get AD4080 FIFO Watermark.
Definition: ad4080.c:907
#define AD4080_REG_DATA_INTF_CONFIG_B
Definition: ad4080.h:69
@ AD4080_FIFO_DISABLE
Definition: ad4080.h:251
ad4080_lvds_cnv_clk_mode
Definition: ad4080.h:195
#define AD4080_ADDR_ASC_MSK
Definition: ad4080.h:86
ad4080_short_instr
Definition: ad4080.h:152
enum ad4080_lvds_vod lvds_vod
Definition: ad4080.h:334
@ AD4080_CONV_DATA_LVDS
Definition: ad4080.h:184
enum ad4080_gpio_op_enable gpio_op_enable[NUM_AD4080_GPIO]
Definition: ad4080.h:342
enum ad4080_lvds_self_clk_mode lvds_self_clk_mode
Definition: ad4080.h:285
int ad4080_set_gpio_output_enable(struct ad4080_dev *dev, enum ad4080_gpio gpio, enum ad4080_gpio_op_enable gpio_op_enable)
Configure GPIO as input or output.
Definition: ad4080.c:940
#define AD4080_REG_CHIP_TYPE
Definition: ad4080.h:55
int ad4080_set_short_instr(struct ad4080_dev *dev, enum ad4080_short_instr short_instr)
Set Short Instruction.
Definition: ad4080.c:246
@ AD4080_CNV_LVDS_MODE
Definition: ad4080.h:197
int ad4080_init(struct ad4080_dev **device, struct ad4080_init_param init_param)
Initialize the device.
Definition: ad4080.c:1141
@ AD4080_ADDR_DECR
Definition: ad4080.h:141
enum ad4080_op_mode op_mode
Definition: ad4080.h:273
int ad4080_update_bits(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t mask, uint8_t reg_val)
Update specific register bits.
Definition: ad4080.c:104
int ad4080_configuration_intf_init(struct ad4080_dev *device, struct ad4080_init_param init_param)
Configure the config SPI interface during initialization.
Definition: ad4080.c:1069
enum ad4080_single_instr single_instr
Definition: ad4080.h:314
#define AD4080_GPIO_EN_MSK(x)
Definition: ad4080.h:120
@ AD4080_CONV_DATA_SPI
Definition: ad4080.h:185
struct no_os_spi_init_param * spi_init
Definition: ad4080.h:308
int ad4080_set_conv_data_spi_lvds(struct ad4080_dev *dev, enum ad4080_conv_data_spi_lvds conv_data_spi_lvds)
Set AD4080 Data Interface Configuration.
Definition: ad4080.c:491
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
int ad4080_set_gpio_output_func(struct ad4080_dev *dev, enum ad4080_gpio gpio, enum ad4080_gpio_op_func_sel gpio_func)
Configure the GPIO output for a specific function.
Definition: ad4080.c:968
#define AD4080_LVDS_CNV_CLK_CNT_MSK
Definition: ad4080.h:108
int ad4080_update_bits(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t mask, uint8_t reg_val)
Update specific register bits.
Definition: ad4080.c:104
#define AD4080_FIFO_SIZE
Definition: ad4080.h:133
int ad4080_get_intf_ldo_pd(struct ad4080_dev *dev, enum ad4080_intf_ldo_pd *intf_ldo_pd)
Get AD4080 Interface LDO.
Definition: ad4080.c:809
@ AD4080_GPIO_0
Definition: ad4080.h:221
@ AD4080_REG_STRICT_MODE
Definition: ad4080.h:167
struct no_os_spi_desc * spi_desc
Definition: ad4080.h:263
int ad4080_get_addr_asc(struct ad4080_dev *dev, enum ad4080_addr_asc *addr_asc)
Get Address Ascension.
Definition: ad4080.c:174
int ad4080_set_cnv_spi_lvds_lanes(struct ad4080_dev *dev, enum ad4080_cnv_spi_lvds_lanes cnv_spi_lvds_lanes)
Set AD4080 LVDS/SPI Lane Control.
Definition: ad4080.c:442
enum ad4080_conv_data_spi_lvds conv_data_spi_lvds
Definition: ad4080.h:326
#define AD4080_SPI_LVDS_LANES_MSK
Definition: ad4080.h:104
@ AD4080_GPIO_1
Definition: ad4080.h:222
int ad4080_get_op_mode(struct ad4080_dev *dev, enum ad4080_op_mode *op_mode)
Get Operation Mode.
Definition: ad4080.c:320
#define AD4080_OP_MODE_MSK
Definition: ad4080.h:94
int ad4080_get_intf_chk_en(struct ad4080_dev *dev, enum ad4080_intf_chk_en *intf_chk_en)
Get AD4080 Output Pattern.
Definition: ad4080.c:418
int ad4080_read(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t *reg_val)
Read device register.
Definition: ad4080.c:76
int ad4080_init(struct ad4080_dev **device, struct ad4080_init_param init_param)
Initialize the device.
Definition: ad4080.c:1141
int ad4080_get_lvds_vod(struct ad4080_dev *dev, enum ad4080_lvds_vod *lvds_vod)
Get AD4080 LVDS Differential Output Voltage.
Definition: ad4080.c:712
int ad4080_set_intf_ldo_pd(struct ad4080_dev *dev, enum ad4080_intf_ldo_pd intf_ldo_pd)
Set AD4080 Interface LDO.
Definition: ad4080.c:784
int ad4080_get_ana_dig_ldo_pd(struct ad4080_dev *dev, enum ad4080_ana_dig_ldo_pd *ana_dig_ldo_pd)
Get AD4080 Analog/Digital LDO.
Definition: ad4080.c:760
int ad4080_get_strict_reg_access(struct ad4080_dev *dev, enum ad4080_strict_reg_access *strict_reg)
Get Strict Register Access.
Definition: ad4080.c:369
uint8_t lvds_cnv_clk_cnt
Definition: ad4080.h:283
enum ad4080_lvds_cnv_clk_mode cnv_clk_mode
Definition: ad4080.h:332
@ AD4080_OP_STANDBY
Definition: ad4080.h:160
enum ad4080_single_instr single_instr
Definition: ad4080.h:269
int ad4080_set_addr_asc(struct ad4080_dev *dev, enum ad4080_addr_asc addr_asc)
Set Address Ascension.
Definition: ad4080.c:150
#define AD4080_SW_RESET_MSK
Definition: ad4080.h:85
@ AD4080_FIXED_PATTERN
Definition: ad4080.h:173
enum ad4080_lvds_self_clk_mode lvds_self_clk_mode
Definition: ad4080.h:330
@ AD4080_GPIO_FILTER_SYNC_INPUT
Definition: ad4080.h:244
ad4080_lvds_vod
Definition: ad4080.h:201
int ad4080_get_cnv_spi_lvds_lanes(struct ad4080_dev *dev, enum ad4080_cnv_spi_lvds_lanes *cnv_spi_lvds_lanes)
Get AD4080 LVDS/SPI Lane Control.
Definition: ad4080.c:467
enum ad4080_cnv_spi_lvds_lanes cnv_spi_lvds_lanes
Definition: ad4080.h:279
#define AD4080_REG_DATA_INTF_CONFIG_A
Definition: ad4080.h:68
int ad4080_set_fifo_mode(struct ad4080_dev *dev, enum ad4080_fifo_mode fifo_mode)
Set AD4080 Conversion Data FIFO Mode.
Definition: ad4080.c:833
int ad4080_set_ana_dig_ldo_pd(struct ad4080_dev *dev, enum ad4080_ana_dig_ldo_pd ana_dig_ldo_pd)
Set AD4080 Analog/Digital LDO.
Definition: ad4080.c:735
@ AD4080_AD_LDO_EN
Definition: ad4080.h:209
enum ad4080_strict_reg_access strict_reg
Definition: ad4080.h:320
int ad4080_get_lvds_self_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_self_clk_mode *lvds_self_clk_mode)
Get AD4080 LVDS Self Clock Mode.
Definition: ad4080.c:614
int ad4080_set_lvds_cnv_clk_cnt(struct ad4080_dev *dev, uint8_t lvds_cnv_clk_cnt)
Set AD4080 Interface clock periods from CNV rising edge.
Definition: ad4080.c:540
int ad4080_get_cnv_spi_lvds_lanes(struct ad4080_dev *dev, enum ad4080_cnv_spi_lvds_lanes *cnv_spi_lvds_lanes)
Get AD4080 LVDS/SPI Lane Control.
Definition: ad4080.c:467
ad4080_cnv_spi_lvds_lanes
Definition: ad4080.h:177
int ad4080_set_lvds_cnv_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_cnv_clk_mode cnv_clk_mode)
Set AD4080 LVDS CNV Clock Mode.
Definition: ad4080.c:638
Structure holding SPI descriptor.
Definition: no_os_spi.h:192
ad4080_conv_data_spi_lvds
Definition: ad4080.h:183
enum ad4080_gpio_op_func_sel gpio_op_func_sel[NUM_AD4080_GPIO]
Definition: ad4080.h:299
enum ad4080_gpio_op_func_sel gpio_op_func_sel[NUM_AD4080_GPIO]
Definition: ad4080.h:344
ad4080_gpio
Definition: ad4080.h:220
enum ad4080_intf_chk_en intf_chk_en
Definition: ad4080.h:322
@ NUM_AD4080_GPIO
Definition: ad4080.h:225
int ad4080_get_fifo_mode(struct ad4080_dev *dev, enum ad4080_fifo_mode *fifo_mode)
Get Set AD4080 Conversion Data FIFO Mode.
Definition: ad4080.c:858
ad4080_gpio_op_enable
Definition: ad4080.h:229
@ AD4080_7_BIT_ADDR
Definition: ad4080.h:154
@ AD4080_GPIO_FILTER_RESULT_READY
Definition: ad4080.h:239
#define AD4080_REG_GENERAL_CONFIG
Definition: ad4080.h:75
@ AD4080_DATA
Definition: ad4080.h:172
@ AD4080_GPIO_EXT_EVENT_TRIGGER_FIFO
Definition: ad4080.h:245
@ AD4080_EVENT_TRIGGER
Definition: ad4080.h:254
enum ad4080_lvds_vod lvds_vod
Definition: ad4080.h:289
ad4080_strict_reg_access
Definition: ad4080.h:165
@ AD4080_GPIO_OUTPUT
Definition: ad4080.h:231
int ad4080_get_single_instr(struct ad4080_dev *dev, enum ad4080_single_instr *single_instr)
Get Single/Streaming Mode.
Definition: ad4080.c:222
int ad4080_set_fifo_mode(struct ad4080_dev *dev, enum ad4080_fifo_mode fifo_mode)
Set AD4080 Conversion Data FIFO Mode.
Definition: ad4080.c:833
int ad4080_get_short_instr(struct ad4080_dev *dev, enum ad4080_short_instr *short_instr)
Get Short Instruction.
Definition: ad4080.c:271
@ AD4080_STREAM_MODE
Definition: ad4080.h:147
#define AD4080_REG_PWR_CTRL
Definition: ad4080.h:71
ad4080_ana_dig_ldo_pd
Definition: ad4080.h:208
#define AD4080_LVDS_CNV_EN
Definition: ad4080.h:110
int ad4080_set_fifo_watermark(struct ad4080_dev *dev, uint16_t fifo_watermark)
Set AD4080 FIFO Watermark.
Definition: ad4080.c:882
int ad4080_get_strict_reg_access(struct ad4080_dev *dev, enum ad4080_strict_reg_access *strict_reg)
Get Strict Register Access.
Definition: ad4080.c:369
int ad4080_set_lvds_self_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_self_clk_mode lvds_self_clk_mode)
Set AD4080 LVDS Self Clock Mode.
Definition: ad4080.c:589
int ad4080_get_short_instr(struct ad4080_dev *dev, enum ad4080_short_instr *short_instr)
Get Short Instruction.
Definition: ad4080.c:271
@ AD4080_SELF_CLK_MODE
Definition: ad4080.h:191
int ad4080_soft_reset(struct ad4080_dev *dev)
Software reset the device.
Definition: ad4080.c:128
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
int ad4080_get_op_mode(struct ad4080_dev *dev, enum ad4080_op_mode *op_mode)
Get Operation Mode.
Definition: ad4080.c:320
int ad4080_gpio_write_data(struct ad4080_dev *dev, enum ad4080_gpio gpio, bool data)
Set the GPIO data.
Definition: ad4080.c:1000
ad4080 Device structure.
Definition: ad4080.h:261
#define AD4080_ANA_DIG_LDO_PD_MSK
Definition: ad4080.h:116
ad4080 Device initialization parameters.
Definition: ad4080.h:306
#define AD4080_REG_DATA_INTF_CONFIG_C
Definition: ad4080.h:70
@ AD4080_GPIO_INPUT
Definition: ad4080.h:230
enum ad4080_short_instr short_instr
Definition: ad4080.h:316
uint8_t lvds_cnv_clk_cnt
Definition: ad4080.h:328
int ad4080_set_strict_reg_access(struct ad4080_dev *dev, enum ad4080_strict_reg_access strict_reg)
Set Strict Register Access.
Definition: ad4080.c:344
int ad4080_set_intf_chk_en(struct ad4080_dev *dev, enum ad4080_intf_chk_en intf_chk_en)
Set AD4080 Output Pattern.
Definition: ad4080.c:393
enum ad4080_gpio_op_enable gpio_op_enable[NUM_AD4080_GPIO]
Definition: ad4080.h:297
@ AD4080_GPIO_GPO_DATA
Definition: ad4080.h:243
#define AD4080_CHIP_ID
Definition: ad4080.h:132
#define AD4080_GPIO_SEL_MSK(x)
Definition: ad4080.h:121
ad4080_intf_ldo_pd
Definition: ad4080.h:214
@ AD4080_SINGLE_INST
Definition: ad4080.h:148
ad4080_lvds_self_clk_mode
Definition: ad4080.h:189
int ad4080_set_short_instr(struct ad4080_dev *dev, enum ad4080_short_instr short_instr)
Set Short Instruction.
Definition: ad4080.c:246
int ad4080_set_gpio_output_func(struct ad4080_dev *dev, enum ad4080_gpio gpio, enum ad4080_gpio_op_func_sel gpio_func)
Configure the GPIO output for a specific function.
Definition: ad4080.c:968
@ AD4080_GPIO_STATUS_ALERT
Definition: ad4080.h:242
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
@ AD4080_GPIO_FIFO_FULL
Definition: ad4080.h:237
@ AD4080_MULTIPLE_LANES
Definition: ad4080.h:179
#define AD4080_SINGLE_INST_MSK
Definition: ad4080.h:90
int ad4080_gpio_write_data(struct ad4080_dev *dev, enum ad4080_gpio gpio, bool data)
Set the GPIO data.
Definition: ad4080.c:1000
#define AD4080_SHORT_INST_MSK
Definition: ad4080.h:91
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:116
enum ad4080_strict_reg_access strict_reg
Definition: ad4080.h:275
Header file of GPIO Interface.
enum ad4080_addr_asc addr_asc
Definition: ad4080.h:267
int ad4080_set_strict_reg_access(struct ad4080_dev *dev, enum ad4080_strict_reg_access strict_reg)
Set Strict Register Access.
Definition: ad4080.c:344
#define AD4080_SPI_READ
Definition: ad4080.h:129
@ AD4080_GPIO_FIFO_READ_DONE
Definition: ad4080.h:238
enum ad4080_ana_dig_ldo_pd ana_dig_ldo_pd
Definition: ad4080.h:336
bool spi3wire
Definition: ad4080.h:310
@ AD4080_CNV_CMOS_MODE
Definition: ad4080.h:196
#define BYTE_ADDR_L
Definition: ad405x.h:130
int ad4080_set_addr_asc(struct ad4080_dev *dev, enum ad4080_addr_asc addr_asc)
Set Address Ascension.
Definition: ad4080.c:150
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:52
int ad4080_set_fifo_watermark(struct ad4080_dev *dev, uint16_t fifo_watermark)
Set AD4080 FIFO Watermark.
Definition: ad4080.c:882
int ad4080_set_lvds_self_clk_mode(struct ad4080_dev *dev, enum ad4080_lvds_self_clk_mode lvds_self_clk_mode)
Set AD4080 LVDS Self Clock Mode.
Definition: ad4080.c:589
@ AD4080_240mVPP
Definition: ad4080.h:203
int ad4080_set_intf_chk_en(struct ad4080_dev *dev, enum ad4080_intf_chk_en intf_chk_en)
Set AD4080 Output Pattern.
Definition: ad4080.c:393
@ AD4080_OP_NORMAL
Definition: ad4080.h:159
Header file of utility functions.
#define AD4080_SW_RESET
Definition: ad4080.h:128
@ AD4080_AD_LDO_DISABLE
Definition: ad4080.h:210
int ad4080_get_conv_data_spi_lvds(struct ad4080_dev *dev, enum ad4080_conv_data_spi_lvds *conv_data_spi_lvds)
Get AD4080 Data Interface Configuration.
Definition: ad4080.c:516
#define AD4080_REG_INTERFACE_CONFIG_C
Definition: ad4080.h:65
int ad4080_set_lvds_vod(struct ad4080_dev *dev, enum ad4080_lvds_vod lvds_vod)
Set AD4080 LVDS Differential Output Voltage.
Definition: ad4080.c:687
ad4080_fifo_mode
Definition: ad4080.h:250
int ad4080_set_lvds_cnv_clk_cnt(struct ad4080_dev *dev, uint8_t lvds_cnv_clk_cnt)
Set AD4080 Interface clock periods from CNV rising edge.
Definition: ad4080.c:540
int ad4080_set_ana_dig_ldo_pd(struct ad4080_dev *dev, enum ad4080_ana_dig_ldo_pd ana_dig_ldo_pd)
Set AD4080 Analog/Digital LDO.
Definition: ad4080.c:735
Header file of AD4080 Driver.
enum ad4080_conv_data_spi_lvds conv_data_spi_lvds
Definition: ad4080.h:281
int ad4080_get_fifo_watermark(struct ad4080_dev *dev, uint16_t *fifo_watermark)
Get AD4080 FIFO Watermark.
Definition: ad4080.c:907
int ad4080_data_intf_init(struct ad4080_dev *dev, struct ad4080_init_param init_param)
Configure the data interface during initialization.
Definition: ad4080.c:1099
ad4080_gpio_op_func_sel
Definition: ad4080.h:235
Error macro definition for ARM Compiler.
ad4080_single_instr
Definition: ad4080.h:146
@ AD4080_ECHO_CLK_MODE
Definition: ad4080.h:190
@ AD4080_GPIO_CNV_INHIBIT_INPUT
Definition: ad4080.h:246
#define AD4080_REG_INTERFACE_CONFIG_B
Definition: ad4080.h:53
#define AD4080_INTF_CHK_EN_MSK
Definition: ad4080.h:103
#define AD4080_GPIO_DATA_MSK(x)
Definition: ad4080.h:122
#define AD4080_FIFO_MODE_MSK
Definition: ad4080.h:125
int ad4080_write(struct ad4080_dev *dev, uint16_t reg_addr, uint8_t reg_val)
Write device register.
Definition: ad4080.c:55
#define AD4080_REG_GPIO_CONFIG_A
Definition: ad4080.h:72
ad4080_intf_chk_en
Definition: ad4080.h:171
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
int ad4080_get_intf_ldo_pd(struct ad4080_dev *dev, enum ad4080_intf_ldo_pd *intf_ldo_pd)
Get AD4080 Interface LDO.
Definition: ad4080.c:809
int ad4080_set_single_instr(struct ad4080_dev *dev, enum ad4080_single_instr single_instr)
Set Single/Streaming Mode.
Definition: ad4080.c:197
int ad4080_remove(struct ad4080_dev *dev)
Remove the device and release resources.
Definition: ad4080.c:1228