no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
api_def.h
Go to the documentation of this file.
1
13
14#ifndef __API_DEF_H__
15#define __API_DEF_H__
16#include <stdint.h>
17#include "no_os_util.h"
18
19#define ADI_POW2_48 ((uint64_t)1u << 48)
20#define ADI_MAXUINT48 (ADI_POW2_48 - 1)
21
22#define ADI_POW2_32 ((uint64_t)1u << 32)
23#define ADI_MAXUINT32 (ADI_POW2_32 - 1)
24#define ADI_MAXUINT24 (0xFFFFFF)
25#define ADI_GET_BYTE(w, p) (uint8_t)(((w) >> (p)) & 0xFF)
26#define ALL -1
27
28#define DIV_U64_REM(x, y, r) no_os_div64_u64_rem(x, y, r)
29#ifndef NO_OS_DIV_U64
30#define NO_OS_DIV_U64(x, y) no_os_div_u64(x, y)
31#endif
32#define DIV_S64(x, y) no_os_div_s64(x, y)
33
47typedef int (*spi_xfer_t)(void *user_data, uint8_t *indata, uint8_t *outdata,
48 int size_bytes);
49
62typedef int (*delay_us_t)(void *user_data, unsigned int us);
63
80typedef int (*hw_open_t)(void *user_data);
81
98typedef int (*hw_close_t)(void *user_data);
113typedef int (*event_handler_t)(uint16_t event, uint8_t ref, void *data);
114
133typedef int (*tx_en_pin_ctrl_t)(void *user_data, uint8_t enable);
134
152typedef int (*reset_pin_ctrl_t)(void *user_data, uint8_t enable);
153
157 uint16_t reg;
159 uint8_t val;
160};
161
163typedef struct {
165 uint8_t chip_type;
167 uint16_t prod_id;
169 uint8_t prod_grade;
173
175typedef enum {
176 /* Keep this invalid value as 0, so the API can test for wrong setting. */
178 /*
179 * Set SPI SDO (Serial Data Output) pin as active.
180 * This is in case the 4-wire SPI is needed.
181 */
183 /*
184 * Set SPI SDIO (Serial Data Input-Output) pin as active.
185 * This is in case the 3-wire SPI is needed.
186 */
188 /* Keep it last. */
191
198
205
207typedef enum {
212
214typedef enum {
219
228
230typedef struct {
231 uint8_t jesd_L;
232 uint8_t jesd_F;
233 uint8_t jesd_M;
234 uint8_t jesd_S;
235
236 uint8_t jesd_HD;
237 uint8_t jesd_K;
238 uint8_t jesd_N;
239 uint8_t jesd_NP;
240 uint8_t jesd_CF;
241 uint8_t jesd_CS;
242
243 uint8_t jesd_DID;
244 uint8_t jesd_BID;
245 uint8_t jesd_LID0;
246 uint8_t jesd_JESDV;
248
255
264
265#endif /* !__API_DEF_H__ */
signal_type_t
Definition api_def.h:193
@ SIGNAL_LVDS
Definition api_def.h:195
@ SIGNAL_CMOS
Definition api_def.h:194
@ SIGNAL_UNKNOWN
Definition api_def.h:196
int(* delay_us_t)(void *user_data, unsigned int us)
Delay for specified number of microseconds. Platform Dependant.
Definition api_def.h:62
signal_coupling_t
Definition api_def.h:200
@ COUPLING_AC
Definition api_def.h:201
@ COUPLING_UNKNOWN
Definition api_def.h:203
@ COUPLING_DC
Definition api_def.h:202
spi_sdo_config_t
Definition api_def.h:175
@ SPI_NONE
Definition api_def.h:177
@ SPI_SDIO
Definition api_def.h:187
@ SPI_SDO
Definition api_def.h:182
@ SPI_CONFIG_MAX
Definition api_def.h:189
jesd_link_t
Definition api_def.h:207
@ JESD_LINK_0
Definition api_def.h:208
@ JESD_LINK_1
Definition api_def.h:209
@ JESD_LINK_ALL
Definition api_def.h:210
int(* hw_open_t)(void *user_data)
Platform hardware initialisation for the AD9164 Device.
Definition api_def.h:80
jesd_syncoutb_t
Definition api_def.h:214
@ SYNCOUTB_1
Definition api_def.h:216
@ SYNCOUTB_ALL
Definition api_def.h:217
@ SYNCOUTB_0
Definition api_def.h:215
int(* tx_en_pin_ctrl_t)(void *user_data, uint8_t enable)
TX_ENABLE PIN CONTROL FUNCTION.
Definition api_def.h:133
int(* hw_close_t)(void *user_data)
Closes any platform hardware resources for the AD9164 Device.
Definition api_def.h:98
int(* event_handler_t)(uint16_t event, uint8_t ref, void *data)
Client Event Handler.
Definition api_def.h:113
jesd_prbs_pattern_t
Definition api_def.h:257
@ PRBS31
Definition api_def.h:261
@ PRBS15
Definition api_def.h:260
@ PRBS_NONE
Definition api_def.h:258
@ PRBS7
Definition api_def.h:259
@ PRBS_MAX
Definition api_def.h:262
int(* reset_pin_ctrl_t)(void *user_data, uint8_t enable)
RESETB PIN CONTROL FUNCTION.
Definition api_def.h:152
jesd_subclass_t
Definition api_def.h:250
@ JESD_SUBCLASS_1
Definition api_def.h:252
@ JESD_SUBCLASS_INVALID
Definition api_def.h:253
@ JESD_SUBCLASS_0
Definition api_def.h:251
int(* spi_xfer_t)(void *user_data, uint8_t *indata, uint8_t *outdata, int size_bytes)
Platform dependent SPI access functions.
Definition api_def.h:47
jesd_sysref_mode_t
Definition api_def.h:221
@ SYSREF_MON
Definition api_def.h:225
@ SYSREF_NONE
Definition api_def.h:222
@ SYSREF_ONESHOT
Definition api_def.h:223
@ SYSREF_CONT
Definition api_def.h:224
@ SYSREF_MODE_INVLD
Definition api_def.h:226
Header file of utility functions.
Definition api_def.h:163
uint16_t prod_id
Definition api_def.h:167
uint8_t dev_revision
Definition api_def.h:171
uint8_t prod_grade
Definition api_def.h:169
uint8_t chip_type
Definition api_def.h:165
Definition api_def.h:155
uint8_t val
Definition api_def.h:159
uint16_t reg
Definition api_def.h:157
Definition api_def.h:230
uint8_t jesd_L
Definition api_def.h:231
uint8_t jesd_NP
Definition api_def.h:239
uint8_t jesd_JESDV
Definition api_def.h:246
uint8_t jesd_N
Definition api_def.h:238
uint8_t jesd_S
Definition api_def.h:234
uint8_t jesd_M
Definition api_def.h:233
uint8_t jesd_CS
Definition api_def.h:241
uint8_t jesd_BID
Definition api_def.h:244
uint8_t jesd_DID
Definition api_def.h:243
uint8_t jesd_LID0
Definition api_def.h:245
uint8_t jesd_K
Definition api_def.h:237
uint8_t jesd_F
Definition api_def.h:232
uint8_t jesd_CF
Definition api_def.h:240
uint8_t jesd_HD
Definition api_def.h:236