44#define REG_CHIP_ID 0x00
45#define REG_REV_ID 0x01
46#define REG_IOL_STAT 0x02
47#define REG_DEV_STAT1 0x03
48#define REG_DEV_STAT2 0x04
49#define REG_ISDU_STAT 0x05
50#define REG_IOL_ERR_CNT 0x06
51#define REG_FRM_ERR_CNT 0x07
52#define REG_IOL_INT 0x08
53#define REG_DEV_INT 0x09
54#define REG_ISDU_INT 0x0A
55#define REG_IOL_INT_EN 0x0E
56#define REG_DEV_INT_EN 0x0F
57#define REG_ISDU_INT_EN 0x10
58#define REG_IOL_CFG 0x14
59#define REG_WATCHDOG 0x15
60#define REG_WDGCLR 0x16
61#define REG_MISC_CFG 0x17
62#define REG_CLK_CFG 0x18
63#define REG_CLK_TRIM 0x19
64#define REG_PG1_MSTCMD 0x1A
65#define REG_PG1_MSTCYCTM 0x1B
66#define REG_PG1_MINCYCTM 0x1C
67#define REG_PG1_MSEQCAP 0x1D
68#define REG_PG1_REVID 0x1E
69#define REG_PG1_PDIN 0x1F
70#define REG_PG1_PDOUT 0x20
71#define REG_PG1_VID1 0x21
72#define REG_PG1_VID2 0x22
73#define REG_PG1_DEVID1 0x23
74#define REG_PG1_DEVID2 0x24
75#define REG_PG1_DEVID3 0x25
76#define REG_PG1_FUNCID1 0x26
77#define REG_PG1_FUNCID2 0x27
78#define REG_PG1_RES1 0x28
79#define REG_PG1_RES2 0x29
80#define REG_WDG_EVENT 0x2A
81#define REG_STATUS_CODE_DEF 0x2B
82#define REG_STATUS_CODE 0x2C
83#define REG_EVENT_QUAL 0x2D
84#define REG_EVENT_CODE_MSB 0x2E
85#define REG_EVENT_CODE_LSB 0x2F
86#define REG_EVENT_FLAG 0x30
87#define REG_PDIN_FIFO 0x35
88#define REG_PDIN_DATA_RDY 0x36
89#define REG_PDOUT_FIFO 0x37
90#define REG_ISDU_OFFSET 0x3F
91#define REG_ISDU_INFIFO 0x40
92#define REG_ISDU_DATARDY 0x41
93#define REG_ISDU_OUTFIFO 0x42
94#define REG_ISDU_LEVEL 0x43
95#define REG_LED1_CTRL_MSB 0x50
96#define REG_LED1_CTRL_LSB 0x51
97#define REG_LED2_CTRL_MSB 0x52
98#define REG_LED2_CTRL_LSB 0x53
99#define REG_GPIO1_CTRL 0x54
100#define REG_GPIO2_CTRL 0x55
101#define REG_CQ_CTRL1 0x56
102#define REG_CQ_CTRL2 0x57
103#define REG_DO_CTRL1 0x58
104#define REG_DO_CTRL2 0x59
105#define REG_TX_CTRL 0x5A
106#define REG_RX_CTRL 0x5B
107#define REG_MISC_CTRL 0x5C
110#define DEV_STAT2_SET_DOFAULT NO_OS_BIT(5)
111#define DEV_STAT2_SET_CQFAULT NO_OS_BIT(4)
112#define DEV_STAT2_SET_V24ERR NO_OS_BIT(3)
113#define DEV_STAT2_SET_VMWERR NO_OS_BIT(2)
114#define DEV_STAT2_SET_THWARN NO_OS_BIT(1)
115#define DEV_STAT2_SET_TSHD NO_OS_BIT(0)
118#define BIT_CQCTRL1_CQ_SLEW0 0x00
119#define BIT_CQCTRL1_CQ_SLEW1 NO_OS_BIT(6)
120#define BIT_CQCTRL1_CQ_SLEW2 NO_OS_BIT(7)
121#define BIT_CQCTRL1_CQ_SLEW3 NO_OS_BIT(7, 6)
122#define BIT_CQCTRL1_CQ_PD NO_OS_BIT(5)
123#define BIT_CQCTRL1_CQ_PU NO_OS_BIT(4)
124#define BIT_CQCTRL1_CQ_NPN NO_OS_BIT(3)
125#define BIT_CQCTRL1_CQ_PP NO_OS_BIT(2)
126#define BIT_CQCTRL1_CQ_INV NO_OS_BIT(1)
127#define BIT_CQCTRL1_CQ_EN NO_OS_BIT(0)
130#define BIT_CQ_CL_50MA 0x00
131#define BIT_CQ_CL_100MA NO_OS_BIT(6)
132#define BIT_CQ_CL_200MA NO_OS_BIT(7)
133#define BIT_CQ_CL_250MA NO_OS_BIT(7, 6)
134#define BIT_CQ_CLBL_128US 0x00
135#define BIT_CQ_CLBL_500US NO_OS_BIT(3)
136#define BIT_CQ_CLBL_1000US NO_OS_BIT(4)
137#define BIT_CQ_CLBL_5000US NO_OS_BIT(4, 3)
138#define BIT_CQ_AUTORTY_TIME_50MS 0x00
139#define BIT_CQ_AUTORTY_TIME_100MS NO_OS_BIT(1)
140#define BIT_CQ_AUTORTY_TIME_200MS NO_OS_BIT(2)
141#define BIT_CQ_AUTORTY_TIME_500MS NO_OS_BIT(2, 1)
142#define BIT_CQ_AUTORTY NO_OS_BIT(0)
145#define BIT_DOCTRL1_DO_SLEW0 0x00
146#define BIT_DOCTRL1_DO_SLEW1 NO_OS_BIT(6)
147#define BIT_DOCTRL1_DO_SLEW2 NO_OS_BIT(7)
148#define BIT_DOCTRL1_DO_SLEW3 NO_OS_BIT(7, 6)
149#define BIT_DOCTRL1_DO_PD NO_OS_BIT(5)
150#define BIT_DOCTRL1_DO_PU NO_OS_BIT(4)
151#define BIT_DOCTRL1_DO_NPN NO_OS_BIT(3)
152#define BIT_DOCTRL1_DO_PP NO_OS_BIT(2)
153#define BIT_DOCTRL1_DO_INV NO_OS_BIT(1)
154#define BIT_DOCTRL1_DO_EN NO_OS_BIT(0)
157#define BIT_DO_CL_50MA 0x00
158#define BIT_DO_CL_100MA NO_OS_BIT(6)
159#define BIT_DO_CL_200MA NO_OS_BIT(7)
160#define BIT_DO_CL_250MA NO_OS_BIT(7, 6)
161#define BIT_DO_CLBL_128US 0x00
162#define BIT_DO_CLBL_500US NO_OS_BIT(3)
163#define BIT_DO_CLBL_1000US NO_OS_BIT(4)
164#define BIT_DO_CLBL_5000US NO_OS_BIT(4, 3)
165#define BIT_DO_AUTORTY_TIME_50MS 0x00
166#define BIT_DO_AUTORTY_TIME_100MS NO_OS_BIT(1)
167#define BIT_DO_AUTORTY_TIME_200MS NO_OS_BIT(2)
168#define BIT_DO_AUTORTY_TIME_500MS NO_OS_BIT(2, 1)
169#define BIT_DO_AUTORTY NO_OS_BIT(0)
172#define BIT_TXC_CQTX NO_OS_BIT(7)
173#define BIT_TXC_CQTXEN NO_OS_BIT(6)
174#define BIT_TXC_CQDRVSEL NO_OS_BIT(5)
175#define BIT_TXC_DOTX NO_OS_BIT(4)
176#define BIT_TXC_DODRVSEL NO_OS_BIT(3)
177#define BIT_TXC_CQDOPAR NO_OS_BIT(1)
178#define BIT_TXC_DO_AV NO_OS_BIT(0)
181#define DEV_STAT2_SET_V24ERR NO_OS_BIT(3)
182#define DEV_STAT2_SET_VMERR NO_OS_BIT(2)
183#define DEV_STAT2_SET_THWARN NO_OS_BIT(1)
184#define DEV_STAT2_SET_TSHD NO_OS_BIT(0)
187#define EVF_EVENT_FLG NO_OS_BIT(0)
190#define REG_EVENT_CODE_MSB_MSK NO_OS_GENMASK(15, 8)
191#define REG_EVENT_CODE_LSB_MSK NO_OS_GENMASK(7, 0)
194#define PG1_VID1_MSK NO_OS_GENMASK(15, 8)
195#define PG1_VID2_MSK NO_OS_GENMASK(7, 0)
198#define PG1_DEVID1_MSK NO_OS_GENMASK(23, 16)
199#define PG1_DEVID2_MSK NO_OS_GENMASK(15, 8)
200#define PG1_DEVID3_MSK NO_OS_GENMASK(7, 0)
203#define PG1_FUNCID1_MSB_MSK NO_OS_GENMASK(15, 8)
204#define PG1_FUNCID1_LSB_MSK NO_OS_GENMASK(7, 0)
207#define REG_LED1_CTRL_MSB_MSK NO_OS_GENMASK(15, 8)
208#define REG_LED1_CTRL_LSB_MSK NO_OS_GENMASK(7, 0)
211#define REG_LED2_CTRL_MSB_MSK NO_OS_GENMASK(15, 8)
212#define REG_LED2_CTRL_LSB_MSK NO_OS_GENMASK(7, 0)
215#define MAX22516_SPI_DUMMY_DATA 0x00
216#define MAX22516_BUFF_SIZE_BYTES 64
217#define MAX22516_SPI_READ_CMD NO_OS_BIT(7)
249 uint8_t mask, uint8_t data);
253 uint8_t count, uint8_t *data);
257 uint8_t count, uint8_t *data);
363 uint8_t wd_clr, uint8_t wd_event_en,
364 uint8_t wd_event_flag);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int max22516_get_do_stat(struct max22516_dev *dev, uint8_t *status3)
MAX22516 get do stat.
Definition max22516.c:736
int max22516_setup_cq_dis(struct max22516_dev *dev)
MAX22516 setup cq dis.
Definition max22516.c:441
int max22516_get_cq_stat(struct max22516_dev *dev, uint8_t *status3)
MAX22516 get cq stat.
Definition max22516.c:615
int max22516_setup_cq_pp(struct max22516_dev *dev)
MAX22516 setup cq pp.
Definition max22516.c:451
int max22516_set_id(struct max22516_dev *dev, uint16_t vid, uint32_t id, uint16_t fid)
MAX22516 set id.
Definition max22516.c:214
int max22516_get_dl_mode(struct max22516_dev *dev, uint8_t *mode)
MAX22516 get dl mode.
Definition max22516.c:301
#define MAX22516_BUFF_SIZE_BYTES
Definition max22516.h:216
int max22516_setup_cq_npn(struct max22516_dev *dev)
MAX22516 setup cq npn.
Definition max22516.c:489
int max22516_do_get(struct max22516_dev *dev, uint8_t *lvl)
MAX22516 do get.
Definition max22516.c:716
void max22516_build_tcyc(int16_t t, uint8_t *tmr)
MAX22516 build tcyc.
Definition max22516.c:153
int max22516_get_iol_err_cnt(struct max22516_dev *dev, uint8_t *cnt)
MAX22516 get iol err cnt.
Definition max22516.c:312
int max22516_setup_do_npn(struct max22516_dev *dev)
MAX22516 setup do npn.
Definition max22516.c:683
int max22516_clr_frm_err_cnt(struct max22516_dev *dev)
MAX22516 clr frm err cnt.
Definition max22516.c:343
int max22516_update(struct max22516_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update MAX22516 register.
Definition max22516.c:86
int max22516_setup_cq_pnp(struct max22516_dev *dev)
MAX22516 setup cq pnp.
Definition max22516.c:470
int max22516_setup_watchdog(struct max22516_dev *dev, uint8_t wd_timeout, uint8_t wd_clr, uint8_t wd_event_en, uint8_t wd_event_flag)
MAX22516 setup watchdog.
Definition max22516.c:792
int max22516_txen_set(struct max22516_dev *dev, uint8_t lvl)
MAX22516 txen set.
Definition max22516.c:528
int max22516_burst_write_register(struct max22516_dev *dev, uint8_t reg_addr, uint8_t count, uint8_t *data)
MAX22516 burst write.
Definition max22516.c:110
int max22516_remove(struct max22516_dev *dev)
Free resoulces allocated for MAX22516.
Definition max22516.c:861
int max22516_get_cq(struct max22516_dev *dev, uint8_t *cq)
MAX22516 get cq.
Definition max22516.c:592
int max22516_get_mst_ctmr(struct max22516_dev *dev, uint16_t min_t, int16_t *c_tmr)
MAX22516 get mst ctmr.
Definition max22516.c:280
int max22516_tx_set(struct max22516_dev *dev, uint8_t low_high)
MAX22516 tx set.
Definition max22516.c:509
int max22516_set_cq(struct max22516_dev *dev, uint8_t lvl)
MAX22516 set cq.
Definition max22516.c:547
int max22516_do_set(struct max22516_dev *dev, uint8_t lvl)
MAX22516 do set.
Definition max22516.c:704
int max22516_get_v24(struct max22516_dev *dev, uint8_t *status3)
MAX22516 get v24.
Definition max22516.c:392
void max22516_rebuild_min_cyct_to_us(int16_t t, uint8_t *tmr)
MAX22516 rebuild min cyct to microseconds.
Definition max22516.c:175
int max22516_init(struct max22516_dev **device, struct max22516_init_param *init_param)
Initialize the MAX22516 device.
Definition max22516.c:832
void max22516_decode_tcyc(uint8_t tmr, int16_t *t)
MAX22516 decode tcyc.
Definition max22516.c:258
int max22516_set_led2(struct max22516_dev *dev, uint16_t ltmr)
MAX22516 set led2.
Definition max22516.c:373
int max22516_get_thd(struct max22516_dev *dev, uint8_t *status3)
MAX22516 get THD.
Definition max22516.c:417
int max22516_setup_do_dis(struct max22516_dev *dev)
MAX22516 setup do dis.
Definition max22516.c:634
int max22516_set_led1(struct max22516_dev *dev, uint16_t ltmr)
MAX22516 set led1.
Definition max22516.c:354
int max22516_set_min_ctmr(struct max22516_dev *dev, uint16_t min_t)
MAX22516 set min ctmr.
Definition max22516.c:196
int max22516_tx_get(struct max22516_dev *dev, uint8_t *low_high)
MAX22516 tx get.
Definition max22516.c:572
int max22516_set_event(struct max22516_dev *dev, uint8_t ev_qual, uint16_t ev_code)
MAX22516 set event.
Definition max22516.c:757
int max22516_setup_do_pp(struct max22516_dev *dev)
MAX22516 setup do pp.
Definition max22516.c:644
int max22516_setup_do_pnp(struct max22516_dev *dev)
MAX22516 setup do pnp.
Definition max22516.c:664
int max22516_write(struct max22516_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to max22516 over SPI.
Definition max22516.c:47
int max22516_burst_read_register(struct max22516_dev *dev, uint8_t reg_addr, uint8_t count, uint8_t *data)
MAX22516 burst read.
Definition max22516.c:131
int max22516_clr_iol_err_cnt(struct max22516_dev *dev)
MAX22516 clr iol err cnt.
Definition max22516.c:333
int max22516_read(struct max22516_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from max22516 over SPI.
Definition max22516.c:62
int max22516_get_frm_err_cnt(struct max22516_dev *dev, uint8_t *cnt)
MAX22516 get frm err cnt.
Definition max22516.c:323
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
Definition ad9361_util.h:63
MAX22516 Device Descriptor.
Definition max22516.h:232
struct no_os_spi_desc * spi_desc
Definition max22516.h:234
uint8_t comm_buff[MAX22516_BUFF_SIZE_BYTES]
Definition max22516.h:236
MAX22516 Initialization Parameters structure.
Definition max22516.h:223
struct no_os_spi_init_param * spi_init
Definition max22516.h:225
Structure holding SPI descriptor.
Definition no_os_spi.h:180
enum no_os_spi_mode mode
Definition no_os_spi.h:190
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128