Go to the documentation of this file.
57 #define ADPD188_REG_STATUS 0x00
58 #define ADPD188_REG_INT_MASK 0x01
59 #define ADPD188_REG_GPIO_DRV 0x02
60 #define ADPD188_REG_BG_STATUS 0x04
61 #define ADPD188_REG_FIFO_THRESH 0x06
62 #define ADPD188_REG_DEVID 0x08
63 #define ADPD188_REG_I2CS_ID 0x09
64 #define ADPD188_REG_CLK_RATIO 0x0A
65 #define ADPD188_REG_GPIO_CTRL 0x0B
66 #define ADPD188_REG_SLAVE_ADDR_KEY 0x0D
67 #define ADPD188_REG_SW_RESET 0x0F
68 #define ADPD188_REG_MODE 0x10
69 #define ADPD188_REG_SLOT_EN 0x11
70 #define ADPD188_REG_FSAMPLE 0x12
71 #define ADPD188_REG_PD_LED_SELECT 0x14
72 #define ADPD188_REG_NUM_AVG 0x15
73 #define ADPD188_REG_BG_MEAS_A 0x16
74 #define ADPD188_REG_INT_SEQ_A 0x17
75 #define ADPD188_REG_SLOTA_CH1_OFFSET 0x18
76 #define ADPD188_REG_SLOTA_CH2_OFFSET 0x19
77 #define ADPD188_REG_SLOTA_CH3_OFFSET 0x1A
78 #define ADPD188_REG_SLOTA_CH4_OFFSET 0x1B
79 #define ADPD188_REG_BG_MEAS_B 0x1C
80 #define ADPD188_REG_INT_SEQ_B 0x1D
81 #define ADPD188_REG_SLOTB_CH1_OFFSET 0x1E
82 #define ADPD188_REG_SLOTB_CH2_OFFSET 0x1F
83 #define ADPD188_REG_SLOTB_CH3_OFFSET 0x20
84 #define ADPD188_REG_SLOTB_CH4_OFFSET 0x21
85 #define ADPD188_REG_ILED3_COARSE 0x22
86 #define ADPD188_REG_ILED1_COARSE 0x23
87 #define ADPD188_REG_ILED2_COARSE 0x24
88 #define ADPD188_REG_ILED_FINE 0x25
89 #define ADPD188_REG_SLOTA_LED_PULSE 0x30
90 #define ADPD188_REG_SLOTA_NUMPULSES 0x31
91 #define ADPD188_REG_LED_DISABLE 0x34
92 #define ADPD188_REG_SLOTB_LED_PULSE 0x35
93 #define ADPD188_REG_SLOTB_NUMPULSES 0x36
94 #define ADPD188_REG_ALT_PWR_DN 0x37
95 #define ADPD188_REG_EXT_SYNC_STARTUP 0x38
96 #define ADPD188_REG_SLOTA_AFE_WINDOW 0x39
97 #define ADPD188_REG_SLOTB_AFE_WINDOW 0x3B
98 #define ADPD188_REG_AFE_PWR_CFG1 0x3C
99 #define ADPD188_REG_SLOTA_FLOAT_LED 0x3E
100 #define ADPD188_REG_SLOTB_FLOAT_LED 0x3F
101 #define ADPD188_REG_SLOTA_TIA_CFG 0x42
102 #define ADPD188_REG_SLOTA_AFE_CFG 0x43
103 #define ADPD188_REG_SLOTB_TIA_CFG 0x44
104 #define ADPD188_REG_SLOTB_AFE_CFG 0x45
105 #define ADPD188_REG_SAMPLE_CLK 0x4B
106 #define ADPD188_REG_CLK32M_ADJUST 0x4D
107 #define ADPD188_REG_EXT_SYNC_SEL 0x4F
108 #define ADPD188_REG_CLK32M_CAL_EN 0x50
109 #define ADPD188_REG_AFE_PWR_CFG2 0x54
110 #define ADPD188_REG_TIA_INDEP_GAIN 0x55
111 #define ADPD188_REG_MATH 0x58
112 #define ADPD188_REG_FLT_CONFIG_B 0x59
113 #define ADPD188_REG_FLT_LED_FIRE 0x5A
114 #define ADPD188_REG_FLT_CONFIG_A 0x5E
115 #define ADPD188_REG_DATA_ACCESS_CTL 0x5F
116 #define ADPD188_REG_FIFO_ACCESS 0x60
117 #define ADPD188_REG_SLOTA_PD1_16BIT 0x64
118 #define ADPD188_REG_SLOTA_PD2_16BIT 0x65
119 #define ADPD188_REG_SLOTA_PD3_16BIT 0x66
120 #define ADPD188_REG_SLOTA_PD4_16BIT 0x67
121 #define ADPD188_REG_SLOTB_PD1_16BIT 0x68
122 #define ADPD188_REG_SLOTB_PD2_16BIT 0x69
123 #define ADPD188_REG_SLOTB_PD3_16BIT 0x6A
124 #define ADPD188_REG_SLOTB_PD4_16BIT 0x6B
125 #define ADPD188_REG_A_PD1_LOW 0x70
126 #define ADPD188_REG_A_PD2_LOW 0x71
127 #define ADPD188_REG_A_PD3_LOW 0x72
128 #define ADPD188_REG_A_PD4_LOW 0x73
129 #define ADPD188_REG_A_PD1_HIGH 0x74
130 #define ADPD188_REG_A_PD2_HIGH 0x75
131 #define ADPD188_REG_A_PD3_HIGH 0x76
132 #define ADPD188_REG_A_PD4_HIGH 0x77
133 #define ADPD188_REG_B_PD1_LOW 0x78
134 #define ADPD188_REG_B_PD2_LOW 0x79
135 #define ADPD188_REG_B_PD3_LOW 0x7A
136 #define ADPD188_REG_B_PD4_LOW 0x7B
137 #define ADPD188_REG_B_PD1_HIGH 0x7C
138 #define ADPD188_REG_B_PD2_HIGH 0x7D
139 #define ADPD188_REG_B_PD3_HIGH 0x7E
140 #define ADPD188_REG_B_PD4_HIGH 0x7F
143 #define ADPD188_STATUS_FIFO_SAMPLES_MASK 0xFF00
144 #define ADPD188_STATUS_SLOTB_INT_MASK 0x0040
145 #define ADPD188_STATUS_SLOTA_INT_MASK 0x0020
146 #define ADPD188_STATUS_FIFO_SAMPLES_POS 8
147 #define ADPD188_STATUS_SLOTB_INT_POS 6
148 #define ADPD188_STATUS_SLOTA_INT_POS 5
151 #define ADPD188_INT_MASK_FIFO_INT_MASK_MASK 0x0100
152 #define ADPD188_INT_MASK_SLOTB_INT_MASK_MASK 0x0040
153 #define ADPD188_INT_MASK_SLOTA_INT_MASK_MASK 0x0020
154 #define ADPD188_INT_MASK_FIFO_INT_MASK_POS 8
155 #define ADPD188_INT_MASK_SLOTB_INT_MASK_POS 6
156 #define ADPD188_INT_MASK_SLOTA_INT_MASK_POS 5
159 #define ADPD188_GPIO_DRV_GPIO1_DRV_MASK 0x0200
160 #define ADPD188_GPIO_DRV_GPIO1_POL_MASK 0x0100
161 #define ADPD188_GPIO_DRV_GPIO0_ENA_MASK 0x0004
162 #define ADPD188_GPIO_DRV_GPIO0_DRV_MASK 0x0002
163 #define ADPD188_GPIO_DRV_GPIO0_POL_MASK 0x0001
164 #define ADPD188_GPIO_DRV_GPIO1_DRV_POS 9
165 #define ADPD188_GPIO_DRV_GPIO1_POL_POS 8
166 #define ADPD188_GPIO_DRV_GPIO0_ENA_POS 2
167 #define ADPD188_GPIO_DRV_GPIO0_DRV_POS 1
168 #define ADPD188_GPIO_DRV_GPIO0_POL_POS 0
171 #define ADPD188_BG_STATUS_BG_STATUS_B_MASK 0x00F0
172 #define ADPD188_BG_STATUS_BG_STATUS_A_MASK 0x000F
173 #define ADPD188_BG_STATUS_BG_STATUS_B_POS 4
174 #define ADPD188_BG_STATUS_BG_STATUS_A_POS 0
177 #define ADPD188_FIFO_THRESH_FIFO_THRESH_MASK 0x3F00
178 #define ADPD188_FIFO_THRESH_FIFO_THRESH_POS 8
179 #define ADPD188_FIFO_THRESH_MAX_THRESHOLD 63
182 #define ADPD188_DEVID_REV_NUM_MASK 0xFF00
183 #define ADPD188_DEVID_DEV_ID_MASK 0x00FF
184 #define ADPD188_DEVID_REV_NUM_POS 8
185 #define ADPD188_DEVID_DEV_ID_POS 0
187 #define ADPD188_DEVICE_ID 0x0916
189 #define ADPD108X_DEVICE_ID 0x0A16
192 #define ADPD188_I2CS_ID_ADDRESS_WRITE_KEY_MASK 0xFF00
193 #define ADPD188_I2CS_ID_SLAVE_ADDRESS_MASK 0x00FE
194 #define ADPD188_I2CS_ID_ADDRESS_WRITE_KEY_POS 8
195 #define ADPD188_I2CS_ID_SLAVE_ADDRESS_POS 1
198 #define ADPD188_CLK_RATIO_CLK_RATIO_MASK 0x0FFF
199 #define ADPD188_CLK_RATIO_CLK_RATIO_POS 0
202 #define ADPD188_GPIO_CTRL_GPIO1_ALT_CFG_MASK 0x1F00
203 #define ADPD188_GPIO_CTRL_GPIO0_ALT_CFG_MASK 0x001F
204 #define ADPD188_GPIO_CTRL_GPIO1_ALT_CFG_POS 8
205 #define ADPD188_GPIO_CTRL_GPIO0_ALT_CFG_POS 0
208 #define ADPD188_SW_RESET_SW_RESET_MASK 0x0001
209 #define ADPD188_SW_RESET_SW_RESET_POS 0
212 #define ADPD188_MODE_MODE_MASK 0x0003
213 #define ADPD188_MODE_MODE_POS 0
216 #define ADPD188_SLOT_EN_RDOUT_MODE_MASK 0x2000
217 #define ADPD188_SLOT_EN_FIFO_OVRN_PREVENT_MASK 0x1000
218 #define ADPD188_SLOT_EN_SLOTB_FIFO_MODE_MASK 0x01C0
219 #define ADPD188_SLOT_EN_SLOTB_EN_MASK 0x0020
220 #define ADPD188_SLOT_EN_SLOTA_FIFO_MODE_MASK 0x001C
221 #define ADPD188_SLOT_EN_SLOTA_EN_MASK 0x0001
222 #define ADPD188_SLOT_EN_RDOUT_MODE_POS 13
223 #define ADPD188_SLOT_EN_FIFO_OVRN_PREVENT_POS 12
224 #define ADPD188_SLOT_EN_SLOTB_FIFO_MODE_POS 6
225 #define ADPD188_SLOT_EN_SLOTB_EN_POS 5
226 #define ADPD188_SLOT_EN_SLOTA_FIFO_MODE_POS 2
227 #define ADPD188_SLOT_EN_SLOTA_EN_POS 0
230 #define ADPD188_PD_LED_SELECT_SLOTB_PD_SEL_MASK 0x0F00
231 #define ADPD188_PD_LED_SELECT_SLOTA_PD_SEL_MASK 0x00F0
232 #define ADPD188_PD_LED_SELECT_SLOTB_LED_SEL_MASK 0x000C
233 #define ADPD188_PD_LED_SELECT_SLOTA_LED_SEL_MASK 0x0003
234 #define ADPD188_PD_LED_SELECT_SLOTB_PD_SEL_POS 8
235 #define ADPD188_PD_LED_SELECT_SLOTA_PD_SEL_POS 4
236 #define ADPD188_PD_LED_SELECT_SLOTB_LED_SEL_POS 2
237 #define ADPD188_PD_LED_SELECT_SLOTA_LED_SEL_POS 0
240 #define ADPD188_NUM_AVG_SLOTB_NUM_AVG_MASK 0x0700
241 #define ADPD188_NUM_AVG_SLOTA_NUM_AVG_MASK 0x0070
242 #define ADPD188_NUM_AVG_SLOTB_NUM_AVG_POS 8
243 #define ADPD188_NUM_AVG_SLOTA_NUM_AVG_POS 4
246 #define ADPD188_BG_MEAS_A_BG_COUNT_A_MASK 0xC000
247 #define ADPD188_BG_MEAS_A_BG_THRESH_A_MASK 0x3FFF
248 #define ADPD188_BG_MEAS_A_BG_COUNT_A_POS 14
249 #define ADPD188_BG_MEAS_A_BG_THRESH_A_POS 0
252 #define ADPD188_INT_SEQ_A_INTEG_ORDER_A_MASK 0x000F
253 #define ADPD188_INT_SEQ_A_INTEG_ORDER_A_POS 0
256 #define ADPD188_BG_MEAS_B_BG_COUNT_B_MASK 0xC000
257 #define ADPD188_BG_MEAS_B_BG_THRESH_B_MASK 0x3FFF
258 #define ADPD188_BG_MEAS_B_BG_COUNT_B_POS 14
259 #define ADPD188_BG_MEAS_B_BG_THRESH_B_POS 0
262 #define ADPD188_INT_SEQ_B_INTEG_ORDER_B_MASK 0x000F
263 #define ADPD188_INT_SEQ_B_INTEG_ORDER_B_POS 0
266 #define ADPD188_ILED3_COARSE_ILED3_SCALE_MASK 0x2000
267 #define ADPD188_ILED3_COARSE_ILED3_SLEW_MASK 0x0070
268 #define ADPD188_ILED3_COARSE_ILED3_COARSE_MASK 0x000F
269 #define ADPD188_ILED3_COARSE_ILED3_SCALE_POS 13
270 #define ADPD188_ILED3_COARSE_ILED3_SLEW_POS 4
271 #define ADPD188_ILED3_COARSE_ILED3_COARSE_POS 0
274 #define ADPD188_ILED1_COARSE_ILED1_SCALE_MASK 0x2000
275 #define ADPD188_ILED1_COARSE_ILED1_SLEW_MASK 0x0070
276 #define ADPD188_ILED1_COARSE_ILED1_COARSE_MASK 0x000F
277 #define ADPD188_ILED1_COARSE_ILED1_SCALE_POS 13
278 #define ADPD188_ILED1_COARSE_ILED1_SLEW_POS 4
279 #define ADPD188_ILED1_COARSE_ILED1_COARSE_POS 0
282 #define ADPD188_ILED2_COARSE_ILED2_SCALE_MASK 0x2000
283 #define ADPD188_ILED2_COARSE_ILED2_SLEW_MASK 0x0070
284 #define ADPD188_ILED2_COARSE_ILED2_COARSE_MASK 0x000F
285 #define ADPD188_ILED2_COARSE_ILED2_SCALE_POS 13
286 #define ADPD188_ILED2_COARSE_ILED2_SLEW_POS 4
287 #define ADPD188_ILED2_COARSE_ILED2_COARSE_POS 0
290 #define ADPD188_ILED_FINE_ILED3_FINE_MASK 0xF800
291 #define ADPD188_ILED_FINE_ILED2_FINE_MASK 0x07C0
292 #define ADPD188_ILED_FINE_ILED1_FINE_MASK 0x001F
293 #define ADPD188_ILED_FINE_ILED3_FINE_POS 11
294 #define ADPD188_ILED_FINE_ILED2_FINE_POS 6
295 #define ADPD188_ILED_FINE_ILED1_FINE_POS 0
298 #define ADPD188_SLOTA_LED_PULSE_SLOTA_LED_WIDTH_MASK 0x1F00
299 #define ADPD188_SLOTA_LED_PULSE_SLOTA_LED_OFFSET_MASK 0x00FF
300 #define ADPD188_SLOTA_LED_PULSE_SLOTA_LED_WIDTH_POS 8
301 #define ADPD188_SLOTA_LED_PULSE_SLOTA_LED_OFFSET_POS 0
304 #define ADPD188_SLOTA_NUMPULSES_SLOTA_PULSES_MASK 0xFF00
305 #define ADPD188_SLOTA_NUMPULSES_SLOTA_PERIOD_MASK 0x00FF
306 #define ADPD188_SLOTA_NUMPULSES_SLOTA_PULSES_POS 8
307 #define ADPD188_SLOTA_NUMPULSES_SLOTA_PERIOD_POS 0
310 #define ADPD188_LED_DISABLE_SLOTB_LED_DIS_MASK 0x0200
311 #define ADPD188_LED_DISABLE_SLOTA_LED_DIS_MASK 0x0100
312 #define ADPD188_LED_DISABLE_SLOTB_LED_DIS_POS 9
313 #define ADPD188_LED_DISABLE_SLOTA_LED_DIS_POS 8
316 #define ADPD188_SLOTB_LED_PULSE_SLOTB_LED_WIDTH_MASK 0x1F00
317 #define ADPD188_SLOTB_LED_PULSE_SLOTB_LED_OFFSET_MASK 0x00FF
318 #define ADPD188_SLOTB_LED_PULSE_SLOTB_LED_WIDTH_POS 8
319 #define ADPD188_SLOTB_LED_PULSE_SLOTB_LED_OFFSET_POS 0
322 #define ADPD188_SLOTB_NUMPULSES_SLOTB_PULSES_MASK 0xFF00
323 #define ADPD188_SLOTB_NUMPULSES_SLOTB_PERIOD_MASK 0x00FF
324 #define ADPD188_SLOTB_NUMPULSES_SLOTB_PULSES_POS 8
325 #define ADPD188_SLOTB_NUMPULSES_SLOTB_PERIOD_POS 0
328 #define ADPD188_ALT_PWR_DN_CH34_DISABLE_MASK 0xE000
329 #define ADPD188_ALT_PWR_DN_CH2_DISABLE_MASK 0x1C00
330 #define ADPD188_ALT_PWR_DN_SLOTB_PERIOD_MASK 0x0300
331 #define ADPD188_ALT_PWR_DN_SLOTA_PERIOD_MASK 0x0003
332 #define ADPD188_ALT_PWR_DN_CH34_DISABLE_POS 13
333 #define ADPD188_ALT_PWR_DN_CH2_DISABLE_POS 10
334 #define ADPD188_ALT_PWR_DN_SLOTB_PERIOD_POS 8
335 #define ADPD188_ALT_PWR_DN_SLOTA_PERIOD_POS 0
338 #define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_WIDTH_MASK 0xF800
339 #define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_OFFSET_MASK 0x07FF
340 #define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_WIDTH_POS 11
341 #define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_OFFSET_POS 0
344 #define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_WIDTH_MASK 0xF800
345 #define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_OFFSET_MASK 0x07FF
346 #define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_WIDTH_POS 11
347 #define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_OFFSET_POS 0
350 #define ADPD188_AFE_PWR_CFG1_V_CATHODE_MASK 0x0200
351 #define ADPD188_AFE_PWR_CFG1_AFE_POWERDOWN_MASK 0x01F8
352 #define ADPD188_AFE_PWR_CFG1_V_CATHODE_POS 9
353 #define ADPD188_AFE_PWR_CFG1_AFE_POWERDOWN_POS 3
356 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_SELECT_A_MASK 0xC000
357 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_WIDTH_A_MASK 0x1F00
358 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_OFFSET_A_MASK 0x00FF
359 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_SELECT_A_POS 14
360 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_WIDTH_A_POS 8
361 #define ADPD188_SLOTA_FLOAT_LED_FLT_LED_OFFSET_A_POS 0
364 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_SELECT_B_MASK 0xC000
365 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_WIDTH_B_MASK 0x1F00
366 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_OFFSET_B_MASK 0x00FF
367 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_SELECT_B_POS 14
368 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_WIDTH_B_POS 8
369 #define ADPD188_SLOTB_FLOAT_LED_FLT_LED_OFFSET_B_POS 0
373 #define ADPD188_SLOTA_TIA_CFG_SLOTA_BUF_GAIN_MASK 0x0200
374 #define ADPD188_SLOTA_TIA_CFG_SLOTA_BUF_GAIN_POS 9
376 #define ADPD108X_SLOTA_TIA_CFG_SLOTA_BUF_GAIN_MASK 0x0300
377 #define ADPD108X_SLOTA_TIA_CFG_SLOTA_INT_GAIN_POS 8
379 #define ADPD188_SLOTA_TIA_CFG_SLOTA_AFE_MODE_MASK 0xFC00
380 #define ADPD188_SLOTA_TIA_CFG_SLOTA_INT_AS_BUF_MASK 0x0080
381 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_IND_EN_MASK 0x0040
382 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_VREF_MASK 0x0030
383 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_GAIN_MASK 0x0003
384 #define ADPD188_SLOTA_TIA_CFG_SLOTA_AFE_MODE_POS 10
385 #define ADPD188_SLOTA_TIA_CFG_SLOTA_INT_AS_BUF_POS 7
386 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_IND_EN_POS 6
387 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_VREF_POS 4
388 #define ADPD188_SLOTA_TIA_CFG_SLOTA_TIA_GAIN_POS 0
392 #define ADPD188_SLOTB_TIA_CFG_SLOTA_BUF_GAIN_MASK 0x0200
393 #define ADPD188_SLOTB_TIA_CFG_SLOTA_BUF_GAIN_POS 9
395 #define ADPD108X_SLOTB_TIA_CFG_SLOTA_BUF_GAIN_MASK 0x0300
396 #define ADPD108X_SLOTB_TIA_CFG_SLOTA_INT_GAIN_POS 8
398 #define ADPD188_SLOTB_TIA_CFG_SLOTB_AFE_MODE_MASK 0xFC00
399 #define ADPD188_SLOTB_TIA_CFG_SLOTB_INT_AS_BUF_MASK 0x0080
400 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_IND_EN_MASK 0x0040
401 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_VREF_MASK 0x0030
402 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_GAIN_MASK 0x0003
403 #define ADPD188_SLOTB_TIA_CFG_SLOTB_AFE_MODE_POS 10
404 #define ADPD188_SLOTB_TIA_CFG_SLOTB_INT_AS_BUF_POS 7
405 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_IND_EN_POS 6
406 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_VREF_POS 4
407 #define ADPD188_SLOTB_TIA_CFG_SLOTB_TIA_GAIN_POS 0
410 #define ADPD188_SAMPLE_CLK_CLK32K_BYP_MASK 0x0100
411 #define ADPD188_SAMPLE_CLK_CLK32K_EN_MASK 0x0080
412 #define ADPD188_SAMPLE_CLK_CLK32K_ADJUST_MASK 0x003F
413 #define ADPD188_SAMPLE_CLK_CLK32K_BYP_POS 8
414 #define ADPD188_SAMPLE_CLK_CLK32K_EN_POS 7
415 #define ADPD188_SAMPLE_CLK_CLK32K_ADJUST_POS 0
418 #define ADPD188_CLK32M_ADJUST_CLK32M_ADJUST_MASK 0x00FF
419 #define ADPD188_CLK32M_ADJUST_CLK32M_ADJUST_POS 0
422 #define ADPD188_EXT_SYNC_SEL_GPIO1_OE_MASK 0x0040
423 #define ADPD188_EXT_SYNC_SEL_GPIO1_IE_MASK 0x0020
424 #define ADPD188_EXT_SYNC_SEL_EXT_SYNC_SEL_MASK 0x000C
425 #define ADPD188_EXT_SYNC_SEL_GPIO0_IE_MASK 0x0002
426 #define ADPD188_EXT_SYNC_SEL_GPIO1_OE_POS 6
427 #define ADPD188_EXT_SYNC_SEL_GPIO1_IE_POS 5
428 #define ADPD188_EXT_SYNC_SEL_EXT_SYNC_SEL_POS 2
429 #define ADPD188_EXT_SYNC_SEL_GPIO0_IE_POS 1
432 #define ADPD188_CLK32M_CAL_EN_GPIO1_CTRL_MASK 0x0040
433 #define ADPD188_CLK32M_CAL_EN_CLK32M_CAL_EN_MASK 0x0020
434 #define ADPD188_CLK32M_CAL_EN_GPIO1_CTRL_POS 6
435 #define ADPD188_CLK32M_CAL_EN_CLK32M_CAL_EN_POS 5
438 #define ADPD188_AFE_PWR_CFG2_SLEEP_V_CATHODE_MASK 0x3000
439 #define ADPD188_AFE_PWR_CFG2_SLOTB_V_CATHODE_MASK 0x0C00
440 #define ADPD188_AFE_PWR_CFG2_SLOTA_V_CATHODE_MASK 0x0300
441 #define ADPD188_AFE_PWR_CFG2_REG54_VCAT_ENABLE_MASK 0x0080
442 #define ADPD188_AFE_PWR_CFG2_SLEEP_V_CATHODE_POS 12
443 #define ADPD188_AFE_PWR_CFG2_SLOTB_V_CATHODE_POS 10
444 #define ADPD188_AFE_PWR_CFG2_SLOTA_V_CATHODE_POS 8
445 #define ADPD188_AFE_PWR_CFG2_REG54_VCAT_ENABLE_POS 7
448 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_4_MASK 0x0C00
449 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_3_MASK 0x0300
450 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_2_MASK 0x00C0
451 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_4_MASK 0x0030
452 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_3_MASK 0x000C
453 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_2_MASK 0x0003
454 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_4_POS 10
455 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_3_POS 8
456 #define ADPD188_TIA_INDEP_GAIN_SLOTB_TIA_GAIN_2_POS 6
457 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_4_POS 4
458 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_3_POS 2
459 #define ADPD188_TIA_INDEP_GAIN_SLOTA_TIA_GAIN_2_POS 0
462 #define ADPD188_MATH_FLT_MATH34_B_MASK 0x0C00
463 #define ADPD188_MATH_FLT_MATH34_A_MASK 0x0300
464 #define ADPD188_MATH_ENA_INT_AS_BUF_MASK 0x0080
465 #define ADPD188_MATH_FLT_MATH12_B_MASK 0x0060
466 #define ADPD188_MATH_FLT_MATH12_A_MASK 0x0006
467 #define ADPD188_MATH_FLT_MATH34_B_POS 10
468 #define ADPD188_MATH_FLT_MATH34_A_POS 8
469 #define ADPD188_MATH_ENA_INT_AS_BUF_POS 7
470 #define ADPD188_MATH_FLT_MATH12_B_POS 5
471 #define ADPD188_MATH_FLT_MATH12_A_POS 1
474 #define ADPD188_FLT_CONFIG_B_FLT_EN_B_MASK 0x6000
475 #define ADPD188_FLT_CONFIG_B_FLT_PRECON_B_MASK 0x1F00
476 #define ADPD188_FLT_CONFIG_B_FLT_EN_B_POS 13
477 #define ADPD188_FLT_CONFIG_B_FLT_PRECON_B_POS 8
480 #define ADPD188_FLT_LED_FIRE_FLT_LED_FIRE_B_MASK 0xF000
481 #define ADPD188_FLT_LED_FIRE_FLT_LED_FIRE_A_MASK 0x0F00
482 #define ADPD188_FLT_LED_FIRE_FLT_LED_FIRE_B_POS 12
483 #define ADPD188_FLT_LED_FIRE_FLT_LED_FIRE_A_POS 8
486 #define ADPD188_FLT_CONFIG_A_FLT_EN_A_MASK 0x6000
487 #define ADPD188_FLT_CONFIG_A_FLT_PRECON_A_MASK 0x1F00
488 #define ADPD188_FLT_CONFIG_A_FLT_EN_A_POS 13
489 #define ADPD188_FLT_CONFIG_A_FLT_PRECON_A_POS 8
492 #define ADPD188_DATA_ACCESS_CTL_SLOTB_DATA_HOLD_MASK 0x0004
493 #define ADPD188_DATA_ACCESS_CTL_SLOTA_DATA_HOLD_MASK 0x0002
494 #define ADPD188_DATA_ACCESS_CTL_DIGITAL_CLOCK_ENA_MASK 0x0001
495 #define ADPD188_DATA_ACCESS_CTL_SLOTB_DATA_HOLD_POS 2
496 #define ADPD188_DATA_ACCESS_CTL_SLOTA_DATA_HOLD_POS 1
497 #define ADPD188_DATA_ACCESS_CTL_DIGITAL_CLOCK_ENA_POS 0
adpd188_interrupt
Interrupt flags of the ADPD188.
Definition: adpd188.h:553
@ ADPD188_SPI
Definition: adpd188.h:531
#define ADPD188_DEVICE_ID
Definition: adpd188.h:187
@ ADPD188_OUT_LOW
Definition: adpd188.h:609
struct no_os_gpio_desc * gpio0
Definition: adpd188.h:669
#define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_WIDTH_MASK
Definition: adpd188.h:338
#define ADPD188_PD_LED_SELECT_SLOTB_PD_SEL_MASK
Definition: adpd188.h:230
int32_t adpd188_adc_fsample_set(struct adpd188_dev *dev, uint16_t freq_hz)
Set sample frequency of the ADC.
Definition: adpd188.c:631
#define ADPD188_REG_DATA_ACCESS_CTL
Definition: adpd188.h:115
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
#define ADPD188_FIFO_THRESH_FIFO_THRESH_POS
Definition: adpd188.h:178
#define ADPD188_INT_MASK_FIFO_INT_MASK_MASK
Definition: adpd188.h:151
#define ADPD188_REG_NUM_AVG
Definition: adpd188.h:72
int32_t adpd188_gpio_alt_setup(struct adpd188_dev *dev, uint8_t gpio_id, enum adpd188_gpio_alt_config config)
Setup the GPIO source.
Definition: adpd188.c:491
adpd188_mode
ADPD188 operation modes.
Definition: adpd188.h:540
#define ADPD188_STATUS_FIFO_SAMPLES_MASK
Definition: adpd188.h:143
int32_t no_os_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Write data to slave device.
Definition: no_os_i2c.c:97
int32_t adpd188_adc_fsample_set(struct adpd188_dev *dev, uint16_t freq_hz)
Set sample frequency of the ADC.
Definition: adpd188.c:631
#define ADPD188_SLOTB_NUMPULSES_SLOTB_PULSES_MASK
Definition: adpd188.h:322
int32_t no_os_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition: no_os_i2c.c:51
@ ADPD188_SLOTA_PULSE
Definition: adpd188.h:592
int32_t adpd188_interrupt_clear(struct adpd188_dev *dev, uint8_t flags)
Clear the slot and FIFO interrupt flags.
Definition: adpd188.c:384
int32_t adpd188_fifo_clear(struct adpd188_dev *dev)
Empty the FIFO.
Definition: adpd188.c:302
#define ADPD188_GPIO_CTRL_GPIO0_ALT_CFG_POS
Definition: adpd188.h:205
#define ADPD188_ILED3_COARSE_ILED3_COARSE_POS
Definition: adpd188.h:271
#define ADPD188_REG_FSAMPLE
Definition: adpd188.h:70
int32_t adpd188_mode_get(struct adpd188_dev *dev, enum adpd188_mode *mode)
Get the mode of operation of the ADPD188.
Definition: adpd188.c:244
@ ADPD188_FIFO_INT
Definition: adpd188.h:559
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
int32_t adpd188_interrupt_en(struct adpd188_dev *dev, uint8_t flags)
Enable the slot and FIFO interrupt flags.
Definition: adpd188.c:424
@ ADPD188_ANYSLOT_PULSE
Definition: adpd188.h:596
#define ADPD188_REG_ILED3_COARSE
Definition: adpd188.h:85
#define ADPD188_PD_LED_SELECT_SLOTA_LED_SEL_MASK
Definition: adpd188.h:233
int32_t adpd188_mode_set(struct adpd188_dev *dev, enum adpd188_mode new_mode)
Set the mode of operation of the ADPD188.
Definition: adpd188.c:267
int32_t adpd188_init(struct adpd188_dev **device, struct adpd188_init_param *init_param)
Initialize the ADPD188 driver.
Definition: adpd188.c:61
@ ADPD188_NORMAL
Definition: adpd188.h:546
@ ADPD188_ANYSLOT_OUT
Definition: adpd188.h:602
int32_t adpd188_slot_setup(struct adpd188_dev *dev, struct adpd188_slot_config config)
Enable slot and setup its FIFO interaction.
Definition: adpd188.c:594
Header file of SPI Interface.
#define ADPD188_REG_MATH
Definition: adpd188.h:111
#define ADPD188_GPIO_CTRL_GPIO1_ALT_CFG_POS
Definition: adpd188.h:204
enum adpd_supported_devices device
Definition: adpd188.h:663
ADPD188 driver header file.
#define ADPD188_FIFO_THRESH_FIFO_THRESH_MASK
Definition: adpd188.h:177
int32_t no_os_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition: no_os_i2c.c:76
@ ADPD188_SLOTB_OUT
Definition: adpd188.h:600
int32_t adpd188_fifo_thresh_set(struct adpd188_dev *dev, uint8_t word_no)
Set the number of 16 bit words that need to be in the FIFO to trigger an interrupt.
Definition: adpd188.c:325
#define ADPD188_MATH_FLT_MATH12_A_POS
Definition: adpd188.h:471
@ ADPD188_32BIT_4CHAN
Definition: adpd188.h:641
#define ADPD188_REG_INT_MASK
Definition: adpd188.h:58
#define ADPD188_REG_DEVID
Definition: adpd188.h:62
adpd_supported_devices
Devices supported by the driver.
Definition: adpd188.h:507
uint8_t gpio_pol
Definition: adpd188.h:570
#define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_WIDTH_MASK
Definition: adpd188.h:344
Header file of Delay functions.
#define ADPD188_MODE_MODE_MASK
Definition: adpd188.h:212
@ ADPD188_PROGRAM
Definition: adpd188.h:544
union adpd188_phy_init phy_init
Definition: adpd188.h:684
#define ADPD188_MATH_FLT_MATH12_A_MASK
Definition: adpd188.h:466
#define ADPD188_AFE_PWR_CFG1_AFE_POWERDOWN_POS
Definition: adpd188.h:353
int32_t adpd188_smoke_detect_setup(struct adpd188_dev *dev)
Do initial configuration of the device to use as a smoke detector. The configuration is described in ...
Definition: adpd188.c:668
@ ADPD188_SLOTB_INT
Definition: adpd188.h:557
Definition: ad9361_util.h:75
enum adpd188_phy_opt phy_opt
Definition: adpd188.h:682
#define ADPD188_SLOT_EN_SLOTB_EN_POS
Definition: adpd188.h:225
#define ADPD188_REG_INT_SEQ_B
Definition: adpd188.h:80
enum adpd188_slots slot_id
Definition: adpd188.h:650
#define ADPD188_ILED3_COARSE_ILED3_COARSE_MASK
Definition: adpd188.h:268
#define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_OFFSET_MASK
Definition: adpd188.h:345
#define ADPD188_MATH_FLT_MATH34_A_POS
Definition: adpd188.h:468
int32_t adpd188_reg_write(struct adpd188_dev *dev, uint8_t reg_addr, uint16_t reg_val)
Write one 16 bit register of the ADPD188.
Definition: adpd188.c:211
void * no_os_calloc(size_t nitems, size_t size)
#define ADPD188_CLK32M_CAL_EN_CLK32M_CAL_EN_MASK
Definition: adpd188.h:433
int32_t adpd188_sw_reset(struct adpd188_dev *dev)
Do software reset of the device.
Definition: adpd188.c:521
int32_t no_os_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition: no_os_gpio.c:130
#define ADPD188_REG_SW_RESET
Definition: adpd188.h:67
enum adpd_supported_devices device
Definition: adpd188.h:680
#define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_WIDTH_POS
Definition: adpd188.h:340
@ ADPD188_SLOTA_INT
Definition: adpd188.h:555
#define ADPD188_REG_GPIO_DRV
Definition: adpd188.h:59
int32_t adpd188_adc_fsample_get(struct adpd188_dev *dev, uint16_t *freq_hz)
Get sample frequency of the ADC.
Definition: adpd188.c:649
#define ADPD188_GPIO_CTRL_GPIO1_ALT_CFG_MASK
Definition: adpd188.h:202
int32_t adpd188_interrupt_get(struct adpd188_dev *dev, uint8_t *flags)
Get the slot and FIFO interrupt flags.
Definition: adpd188.c:354
#define ADPD188_GPIO_DRV_GPIO1_DRV_MASK
Definition: adpd188.h:159
#define ADPD188_SLOT_EN_SLOTB_EN_MASK
Definition: adpd188.h:219
@ ADPD188_NO_FIFO
Definition: adpd188.h:633
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
#define ADPD188_SLOT_EN_FIFO_OVRN_PREVENT_MASK
Definition: adpd188.h:217
#define ADPD188_REG_SLOTA_CH3_OFFSET
Definition: adpd188.h:77
#define ADPD188_REG_AFE_PWR_CFG1
Definition: adpd188.h:98
@ ADPD188_I2C
Definition: adpd188.h:533
#define ADPD188_REG_PD_LED_SELECT
Definition: adpd188.h:71
#define ADPD188_STATUS_SLOTB_INT_MASK
Definition: adpd188.h:144
#define ADPD188_PD_LED_SELECT_SLOTA_LED_SEL_POS
Definition: adpd188.h:237
struct no_os_gpio_init_param gpio0_init
Definition: adpd188.h:686
#define ADPD188_AFE_PWR_CFG1_AFE_POWERDOWN_MASK
Definition: adpd188.h:351
enum adpd188_slot_fifo_mode sot_fifo_mode
Definition: adpd188.h:654
int32_t adpd188_mode_get(struct adpd188_dev *dev, enum adpd188_mode *mode)
Get the mode of operation of the ADPD188.
Definition: adpd188.c:244
@ ADPD188_32BIT_SUM
Definition: adpd188.h:637
int32_t adpd188_reg_write(struct adpd188_dev *dev, uint8_t reg_addr, uint16_t reg_val)
Write one 16 bit register of the ADPD188.
Definition: adpd188.c:211
#define ADPD188_REG_SLOTB_NUMPULSES
Definition: adpd188.h:93
#define ADPD188_SLOT_EN_SLOTA_EN_POS
Definition: adpd188.h:227
#define ADPD188_PD_LED_SELECT_SLOTA_PD_SEL_POS
Definition: adpd188.h:235
#define ADPD188_REG_GPIO_CTRL
Definition: adpd188.h:65
@ ADPD188_OUT_HIGH
Definition: adpd188.h:611
@ ADPD1081
Definition: adpd188.h:510
@ ADPD188_STANDBY
Definition: adpd188.h:542
adpd188_slot_fifo_mode
The way a time slot stores data in the FIFO.
Definition: adpd188.h:631
#define ADPD188_REG_FIFO_THRESH
Definition: adpd188.h:61
#define ADPD188_SLOTA_NUMPULSES_SLOTA_PERIOD_POS
Definition: adpd188.h:307
#define ADPD188_ILED3_COARSE_ILED3_SCALE_MASK
Definition: adpd188.h:266
#define ADPD188_REG_SLOTA_CH4_OFFSET
Definition: adpd188.h:78
@ ADPD188_32KHZ_OSC
Definition: adpd188.h:613
@ ADPD188_SLOTB_PULSE
Definition: adpd188.h:594
int32_t adpd188_reg_read(struct adpd188_dev *dev, uint8_t reg_addr, uint16_t *reg_val)
Read one 16 bit register of the ADPD188.
Definition: adpd188.c:173
#define ADPD188_SLOTB_NUMPULSES_SLOTB_PULSES_POS
Definition: adpd188.h:324
@ ADPD188_ACTIVE_PULSE
Definition: adpd188.h:590
@ ADPD188_16BIT_SUM
Definition: adpd188.h:635
#define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_OFFSET_POS
Definition: adpd188.h:347
#define ADPD188_REG_SLOTA_NUMPULSES
Definition: adpd188.h:90
Slot configuration initialization structure.
Definition: adpd188.h:648
bool slot_en
Definition: adpd188.h:652
int32_t adpd188_reg_read(struct adpd188_dev *dev, uint8_t reg_addr, uint16_t *reg_val)
Read one 16 bit register of the ADPD188.
Definition: adpd188.c:173
#define ADPD188_GPIO_DRV_GPIO0_POL_MASK
Definition: adpd188.h:163
#define ADPD188_STATUS_FIFO_SAMPLES_POS
Definition: adpd188.h:146
int32_t adpd188_mode_set(struct adpd188_dev *dev, enum adpd188_mode new_mode)
Set the mode of operation of the ADPD188.
Definition: adpd188.c:267
#define ADPD188_PD_LED_SELECT_SLOTB_LED_SEL_MASK
Definition: adpd188.h:232
#define ADPD188_GPIO_DRV_GPIO0_ENA_MASK
Definition: adpd188.h:161
#define ADPD188_REG_CLK32M_ADJUST
Definition: adpd188.h:106
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
int32_t adpd188_smoke_detect_setup(struct adpd188_dev *dev)
Do initial configuration of the device to use as a smoke detector. The configuration is described in ...
Definition: adpd188.c:668
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
int32_t adpd188_fifo_thresh_set(struct adpd188_dev *dev, uint8_t word_no)
Set the number of 16 bit words that need to be in the FIFO to trigger an interrupt.
Definition: adpd188.c:325
int32_t adpd188_fifo_clear(struct adpd188_dev *dev)
Empty the FIFO.
Definition: adpd188.c:302
adpd188_phy_opt
Types of physical communication protocol.
Definition: adpd188.h:529
@ ADPD188_SLOTB
Definition: adpd188.h:624
struct no_os_i2c_init_param i2c_phy
Definition: adpd188.h:520
int32_t adpd188_remove(struct adpd188_dev *dev)
Free resources allocated by adpd188_init().
Definition: adpd188.c:141
int32_t adpd188_clk32mhz_cal(struct adpd188_dev *dev)
Do internal 32MHz clock calibration. This calibration requires the 32kHz clock to be calibrated first...
Definition: adpd188.c:533
#define ADPD188_INT_MASK_SLOTA_INT_MASK_MASK
Definition: adpd188.h:153
#define ADPD188_REG_SLOTB_CH4_OFFSET
Definition: adpd188.h:84
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
#define ADPD188_FIFO_THRESH_MAX_THRESHOLD
Definition: adpd188.h:179
int32_t adpd188_sw_reset(struct adpd188_dev *dev)
Do software reset of the device.
Definition: adpd188.c:521
struct no_os_spi_init_param spi_phy
Definition: adpd188.h:522
#define ADPD188_SLOTB_AFE_WINDOW_SLOTB_AFE_WIDTH_POS
Definition: adpd188.h:346
#define ADPD188_SLOT_EN_SLOTA_FIFO_MODE_POS
Definition: adpd188.h:226
int32_t adpd188_remove(struct adpd188_dev *dev)
Free resources allocated by adpd188_init().
Definition: adpd188.c:141
int32_t adpd188_interrupt_en(struct adpd188_dev *dev, uint8_t flags)
Enable the slot and FIFO interrupt flags.
Definition: adpd188.c:424
int32_t adpd188_gpio_setup(struct adpd188_dev *dev, struct adpd188_gpio_config config)
Setup drive and polarity of the GPIOs. Also enable GPIO if necessary.
Definition: adpd188.c:448
#define ADPD188_GPIO_DRV_GPIO0_DRV_MASK
Definition: adpd188.h:162
#define ADPD188_ILED1_COARSE_ILED1_SLEW_POS
Definition: adpd188.h:278
Communication physical protocol initialization structure. Can be I2C or SPI.
Definition: adpd188.h:518
#define ADPD188_REG_SLOTA_CH2_OFFSET
Definition: adpd188.h:76
int32_t adpd188_adc_fsample_get(struct adpd188_dev *dev, uint16_t *freq_hz)
Get sample frequency of the ADC.
Definition: adpd188.c:649
#define ADPD188_CLK_RATIO_CLK_RATIO_MASK
Definition: adpd188.h:198
int32_t adpd188_clk32mhz_cal(struct adpd188_dev *dev)
Do internal 32MHz clock calibration. This calibration requires the 32kHz clock to be calibrated first...
Definition: adpd188.c:533
Structure holding I2C descriptor.
Definition: no_os_i2c.h:81
#define ADPD188_CLK32M_ADJUST_CLK32M_ADJUST_MASK
Definition: adpd188.h:418
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
int32_t no_os_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Read data from slave device.
Definition: no_os_i2c.c:122
int32_t adpd188_gpio_alt_setup(struct adpd188_dev *dev, uint8_t gpio_id, enum adpd188_gpio_alt_config config)
Setup the GPIO source.
Definition: adpd188.c:491
#define ADPD188_MATH_FLT_MATH12_B_MASK
Definition: adpd188.h:465
int32_t adpd188_fifo_status_get(struct adpd188_dev *dev, uint8_t *bytes_no)
Get the number of bytes currently present in FIFO.
Definition: adpd188.c:282
Header file of I2C Interface.
adpd188_slots
ADPD188 time slots.
Definition: adpd188.h:620
#define ADPD188_REG_STATUS
Definition: adpd188.h:57
Driver initialization structure.
Definition: adpd188.h:678
@ ADPD188_SLOTA_OUT
Definition: adpd188.h:598
#define ADPD188_REG_MODE
Definition: adpd188.h:68
@ ADPD188BI
Definition: adpd188.h:508
void no_os_free(void *ptr)
GPIO level configuration.
Definition: adpd188.h:566
#define ADPD188_SLOTA_NUMPULSES_SLOTA_PULSES_POS
Definition: adpd188.h:306
#define ADPD188_REG_SLOTB_CH1_OFFSET
Definition: adpd188.h:81
#define ADPD188_SLOT_EN_SLOTA_FIFO_MODE_MASK
Definition: adpd188.h:220
int32_t adpd188_fifo_status_get(struct adpd188_dev *dev, uint8_t *bytes_no)
Get the number of bytes currently present in FIFO.
Definition: adpd188.c:282
int32_t adpd188_slot_setup(struct adpd188_dev *dev, struct adpd188_slot_config config)
Enable slot and setup its FIFO interaction.
Definition: adpd188.c:594
#define ADPD188_MATH_FLT_MATH34_B_MASK
Definition: adpd188.h:462
@ ADPD188_INT_FUNC
Definition: adpd188.h:585
#define ADPD188_GPIO_CTRL_GPIO0_ALT_CFG_MASK
Definition: adpd188.h:203
#define ADPD188_SLOTB_NUMPULSES_SLOTB_PERIOD_MASK
Definition: adpd188.h:323
#define ADPD188_PD_LED_SELECT_SLOTB_PD_SEL_POS
Definition: adpd188.h:234
void * phy_desc
Definition: adpd188.h:667
int32_t adpd188_interrupt_get(struct adpd188_dev *dev, uint8_t *flags)
Get the slot and FIFO interrupt flags.
Definition: adpd188.c:354
#define ADPD188_REG_SLOTB_AFE_WINDOW
Definition: adpd188.h:97
#define ADPD188_SLOT_EN_SLOTA_EN_MASK
Definition: adpd188.h:221
struct no_os_gpio_init_param gpio1_init
Definition: adpd188.h:688
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:64
#define ADPD188_INT_MASK_SLOTB_INT_MASK_MASK
Definition: adpd188.h:152
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
#define ADPD188_REG_SLOT_EN
Definition: adpd188.h:69
#define ADPD188_MATH_FLT_MATH34_A_MASK
Definition: adpd188.h:463
uint8_t gpio_drv
Definition: adpd188.h:572
#define ADPD188_ILED3_COARSE_ILED3_SLEW_MASK
Definition: adpd188.h:267
#define ADPD188_DATA_ACCESS_CTL_DIGITAL_CLOCK_ENA_MASK
Definition: adpd188.h:494
#define ADPD188_ILED1_COARSE_ILED1_SLEW_MASK
Definition: adpd188.h:275
@ ADPD188_HALF_SAMPLING
Definition: adpd188.h:607
#define ADPD188_REG_INT_SEQ_A
Definition: adpd188.h:74
@ APDP1080
Definition: adpd188.h:509
#define ADPD188_MATH_FLT_MATH34_B_POS
Definition: adpd188.h:467
#define ADPD188_REG_SLOTA_AFE_WINDOW
Definition: adpd188.h:96
adpd188_gpio_alt_config
GPIO source configuration.
Definition: adpd188.h:581
@ ADPD188_16BIT_4CHAN
Definition: adpd188.h:639
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
#define ADPD188_INT_SEQ_A_INTEG_ORDER_A_MASK
Definition: adpd188.h:252
#define ADPD188_GPIO_DRV_GPIO1_POL_MASK
Definition: adpd188.h:160
#define ADPD188_SLOT_EN_SLOTB_FIFO_MODE_POS
Definition: adpd188.h:224
Header file of GPIO Interface.
#define ADPD108X_DEVICE_ID
Definition: adpd188.h:189
uint8_t gpio_id
Definition: adpd188.h:568
#define ADPD188_ILED1_COARSE_ILED1_COARSE_MASK
Definition: adpd188.h:276
#define ADPD188_ILED1_COARSE_ILED1_SCALE_MASK
Definition: adpd188.h:274
#define ADPD188_REG_CLK_RATIO
Definition: adpd188.h:64
#define ADPD188_PD_LED_SELECT_SLOTB_LED_SEL_POS
Definition: adpd188.h:236
#define ADPD188_REG_ILED1_COARSE
Definition: adpd188.h:86
uint8_t gpio_en
Definition: adpd188.h:574
#define ADPD188_STATUS_SLOTA_INT_MASK
Definition: adpd188.h:145
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
Driver descriptor structure.
Definition: adpd188.h:661
struct no_os_gpio_desc * gpio1
Definition: adpd188.h:671
#define ADPD188_REG_CLK32M_CAL_EN
Definition: adpd188.h:108
@ ADPD188_SLOTA
Definition: adpd188.h:622
#define ADPD188_REG_SLOTB_CH2_OFFSET
Definition: adpd188.h:82
#define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_OFFSET_POS
Definition: adpd188.h:341
#define ADPD188_REG_SLOTA_CH1_OFFSET
Definition: adpd188.h:75
#define ADPD188_ILED1_COARSE_ILED1_COARSE_POS
Definition: adpd188.h:279
#define ADPD188_PD_LED_SELECT_SLOTA_PD_SEL_MASK
Definition: adpd188.h:231
#define ADPD188_SLOT_EN_SLOTB_FIFO_MODE_MASK
Definition: adpd188.h:218
int32_t adpd188_interrupt_clear(struct adpd188_dev *dev, uint8_t flags)
Clear the slot and FIFO interrupt flags.
Definition: adpd188.c:384
#define ADPD188_INT_SEQ_B_INTEG_ORDER_B_MASK
Definition: adpd188.h:262
@ ADPD188_ADPD103
Definition: adpd188.h:583
#define ADPD188_SLOT_EN_RDOUT_MODE_MASK
Definition: adpd188.h:216
int32_t adpd188_gpio_setup(struct adpd188_dev *dev, struct adpd188_gpio_config config)
Setup drive and polarity of the GPIOs. Also enable GPIO if necessary.
Definition: adpd188.c:448
#define ADPD188_ILED3_COARSE_ILED3_SLEW_POS
Definition: adpd188.h:270
#define ADPD188_SLOTA_NUMPULSES_SLOTA_PERIOD_MASK
Definition: adpd188.h:305
#define ADPD188_SLOTB_NUMPULSES_SLOTB_PERIOD_POS
Definition: adpd188.h:325
#define ADPD188_REG_SLOTB_CH3_OFFSET
Definition: adpd188.h:83
#define ADPD188_MATH_FLT_MATH12_B_POS
Definition: adpd188.h:470
#define ADPD188_SLOTA_AFE_WINDOW_SLOTA_AFE_OFFSET_MASK
Definition: adpd188.h:339
int32_t adpd188_init(struct adpd188_dev **device, struct adpd188_init_param *init_param)
Initialize the ADPD188 driver.
Definition: adpd188.c:61
#define ADPD188_SLOTA_NUMPULSES_SLOTA_PULSES_MASK
Definition: adpd188.h:304
enum adpd188_phy_opt phy_opt
Definition: adpd188.h:665
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121