ngc 1.4.0
 
Loading...
Searching...
No Matches
ngcbAddr.h
Go to the documentation of this file.
1
7#ifndef ngcbAddr_H
8#define ngcbAddr_H
9
10
11
12#include <ngc/core/ngcdrv.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
21#define ngcbNUM_LINK 3
22
23/*
24 * Small block i/o
25 */
26#define ngcbSMALLBLOCK_IO 0x80000000
27#define ngcbSMALLBLOCK_RD_SIZE 8
28#define ngcbSMALLBLOCK_WR_SIZE 8
29
30/*
31 * Front-End module register addresses
32 */
33#define ngcbDFE_ADDR_NULL 0x0
34#define ngcbDFE_ADDR_STAT 0x00001000
35#define ngcbDFE_ADDR_ID 0x00001002
36#define ngcbDFE_ADDR_SERNO1 0x00001006
37#define ngcbDFE_ADDR_SERNO2 0x00001008
38#define ngcbDFE_ADDR_SERNO_SEL 0x0000100A
39#define ngcbDFE_ADDR_TEMP 0x0000100C
40#define ngcbDFE_ADDR_DATE 0x00001010
41#define ngcbDFE_ADDR_UPDATE 0x0000D000
42#define ngcbDFE_ADDR_TSU 0x00003100
43#define ngcbDFE_ADDR_RTMS 0x00003200
44
45/*
46 * Serial number MUX
47 */
48#define ngcbDFE_SERNO_BOARD 0x1
49#define ngcbDFE_SERNO_TRANS 0x2
50#define ngcbDFE_SERNO_BACK 0x3
51
52/*
53 * Front-End module status register bits
54 */
55#define ngcbDFE_STAT_UPLINK 0x00000001
56#define ngcbDFE_STAT_SIDE 0x00000002
57#define ngcbDFE_STAT_CHAN1 0x00000004
58#define ngcbDFE_STAT_CHAN2 0x00010000
59#define ngcbDFE_STAT_CHAN3 0x00020000
60#define ngcbDFE_STAT_HARDERR1 0x00000008
61#define ngcbDFE_STAT_HARDERR2 0x00000010
62#define ngcbDFE_STAT_HARDERR0 0x00000020
63#define ngcbDFE_STAT_SOFTERR1 0x00000040
64#define ngcbDFE_STAT_SOFTERR2 0x00000080
65#define ngcbDFE_STAT_SOFTERR0 0x00000100
66#define ngcbDFE_STAT_FRAMERR1 0x00000200
67#define ngcbDFE_STAT_FRAMERR2 0x00000400
68#define ngcbDFE_STAT_FRAMERR0 0x00000800
69#define ngcbDFE_STAT_BIAS_HI 0x00001000
70#define ngcbDFE_STAT_BIAS_LO 0x00002000
71#define ngcbDFE_STAT_CLK_HI 0x00004000
72#define ngcbDFE_STAT_CLK_LO 0x00008000
73#define ngcbDFE_STAT_OVRILLUM 0x00040000
74#define ngcbDFE_STAT_ILCK 0x00080000
75#define ngcbDFE_STAT_RXC_FULL 0x00100000
76#define ngcbDFE_STAT_RXC_EMPTY 0x00200000
77#define ngcbDFE_STAT_TXA1_EMPTY 0x00400000
78#define ngcbDFE_STAT_TXA2_EMPTY 0x00800000
79#define ngcbDFE_STAT_TXA1_FULL 0x01000000
80#define ngcbDFE_STAT_TXA2_FULL 0x02000000
81#define ngcbDFE_STAT_TXC_FULL 0x04000000
82#define ngcbDFE_STAT_TXC_EMPTY 0x08000000
83#define ngcbDFE_STAT_NEXT_FULL 0x10000000
84#define ngcbDFE_STAT_NEXT_EMPTY 0x20000000
85#define ngcbDFE_STAT_CLDC 0x40000000
86#define ngcbDFE_STAT_SEQ 0x80000000
87
88/*
89 * Front-End module ID register bits
90 */
91#define ngcbDFE_ID_PRODUCT 0x000000FF
92#define ngcbDFE_ID_TYPE 0x0000000F
93#define ngcbDFE_ID_SUBTYPE 0x000000F0
94#define ngcbDFE_ID_REV 0x00000F00
95#define ngcbDFE_ID_FIRMWARE 0x000FF000
96
97/*
98 * Board types
99 */
100#define ngcbDFE_TYPE_UNKNOWN 0
101#define ngcbDFE_TYPE_NODE 0xF
102#define ngcbDFE_TYPE_FEB 1
103#define ngcbDFE_TYPE_AQ32 2
104#define ngcbDFE_TYPE_HIGHSPEED 3
105#define ngcbDFE_TYPE_AOWFS 4
106#define ngcbDFE_TYPE_AQ32_10MHZ 5
107#define ngcbDFE_TYPE_NGSD 6
108#define ngcbDFE_TYPE_WFS 7
109#define ngcbDFE_TYPE_PCI 8
110#define ngcbDFE_TYPE_PMC 9
111#define ngcbDFE_TYPE_PCIe 0xA
112#define ngcbDFE_TYPE_APCIe 0xB
113
114
115/*
116 * Front-End configuration
117 */
118#define ngcbDFE_CFG_HDR_MAX NGCDRV_CTRL_MAXHDR
119#define ngcbDFE_CFG_HDR_SYS NGCDRV_CTRL_SYSHDR
120#define ngcbDFE_CFG_HDR_SELF 0x2
121#define ngcbDFE_CFG_HDR_DOWN1 0x5
122#define ngcbDFE_CFG_HDR_DOWN2 0x6
123#define ngcbDFE_CFG_HDR_DOWN3 0x7
124#define ngcbDFE_CFG_RESET NGCDRV_CTRL_SYSRESET
125
126
127/*
128 * Back-End status
129 */
130#define ngcbIFC_STAT_ACK NGCDRV_STAT_ACK
131#define ngcbIFC_STAT_VALID NGCDRV_STAT_VALID
132#define ngcbIFC_STAT_RX_EMPTY NGCDRV_STAT_RX_EMPTY
133#define ngcbIFC_STAT_RX_FULL NGCDRV_STAT_RX_FULL
134#define ngcbIFC_STAT_TX_EMPTY NGCDRV_STAT_TX_EMPTY
135#define ngcbIFC_STAT_TX_FULL NGCDRV_STAT_TX_FULL
136#define ngcbIFC_STAT_LINK_UP NGCDRV_STAT_LINK_UP
137#define ngcbIFC_STAT_HARD_ERR NGCDRV_STAT_HARD_ERR
138#define ngcbIFC_STAT_SOFT_ERR NGCDRV_STAT_SOFT_ERR
139#define ngcbIFC_STAT_FRAM_ERR NGCDRV_STAT_FRAM_ERR
140#define ngcbIFC_FIFO_SIZE NGCDRV_COM_FIFO_SIZE
141#define ngcbIFC_NOT_OPEN 0x10000000
142#define ngcbIFC_CMD_FAILED 0x20000000
143#define ngcbIFC_SIM 0x40000000
144#define ngcbIFC_ADDR_SERNO1 0xB8
145#define ngcbIFC_ADDR_SERNO2 0xBC
146#define ngcbIFC_ADDR_ID 0xA0
147#define ngcbIFC_ADDR_DATE 0xB4
148#define ngcbIFC_ADDR_TEMP 0xA4
149#define ngcbIFC_ADDR_STATUS 0x14
150#define ngcbIFC_ADDR_SCNT 0xD4
151#define ngcbIFC_ADDR_SCTL 0xD8
152#define ngcbIFC_ADDR_SETUP 0xC8
153
157#define ngcbSEQ_NUM_CLK 64
158
159/*
160 * Sequencer register addresses
161 */
162#define ngcbSEQ_ADDR_SEQRAM 0x00004000
163#define ngcbSEQ_ADDR_PATRAM_LOW 0x00004800
164#define ngcbSEQ_ADDR_PATRAM_HIGH 0x00005000
165#define ngcbSEQ_ADDR_CTRL 0x00006000
166#define ngcbSEQ_ADDR_STAT 0x00006000
167#define ngcbSEQ_ADDR_MON 0x0000B003
168#define ngcbSEQ_ADDR_INITLOW 0x00006002
169#define ngcbSEQ_ADDR_INITHIGH 0x00006003
170#define ngcbSEQ_ADDR_MODE 0x0000E006
171
172/*
173 * Obsolete - TBD
174 */
175#define _ngcbSEQ_ADDR_SLXCMD 0x00003100
176#define _ngcbSEQ_ADDR_SLXSTAT 0x00003100
177#define _ngcbSEQ_ADDR_SHSTART 0x00003101
178#define _ngcbSEQ_ADDR_SHSIZE 0x00003102
179#define _ngcbSEQ_ADDR_SHRAM 0x00003110
180#define ngcbSEQ_SHRAM_SIZE 9
181
182/*
183 * Sequencer monitor bits
184 */
185#define ngcbSEQ_MON1 0x0000003F
186#define ngcbSEQ_MON2 0x00003F00
187#define ngcbSEQ_MON3 0x003F0000
188
189/*
190 * Sequencer control register bits
191 */
192#define ngcbSEQ_CTRL_RUNSYNC 0x00000001
193#define ngcbSEQ_CTRL_DISABLE 0x00000002
194#define ngcbSEQ_CTRL_CVT_INT 0x00000004
195#define ngcbSEQ_CTRL_BREAK 0x00000008
196#define ngcbSEQ_CTRL_PAUSE 0x00000010
197#define ngcbSEQ_CTRL_BREAKMODE 0x00000010
198#define ngcbSEQ_CTRL_SYNC_OFF 0x00000020
199#define ngcbSEQ_CTRL_TRIGGER_ON 0x00000040
200#define ngcbSEQ_CTRL_TRIGGER 0x00000080
201#define ngcbSEQ_CTRL_STOP 0x00008000
202
203/*
204 * Sequencer modes
205 */
206#define ngcbSEQ_MODE_SHUTTER 0x00000200
207
208/*
209 * Sequencer status register bits
210 */
211#define ngcbSEQ_STAT_INTERP 0x00000001
212#define ngcbSEQ_STAT_RUNNING 0x00000002
213#define ngcbSEQ_STAT_WAITING 0x00000004
214#define ngcbSEQ_STAT_PRGEND 0x00000010
215#define ngcbSEQ_STAT_BREAK 0x00000020
216#define ngcbSEQ_STAT_EMPTY 0x00000040
217#define ngcbSEQ_STAT_EMPTY_READ 0x00000080
218#define ngcbSEQ_STAT_FULL 0x00000100
219#define ngcbSEQ_CUR_ADDRESS 0x07FF0000
220
221/*
222 * Sequencer clock pattern bits
223 */
224#define ngcbSEQ_CLK_LOW 0xFFFFFFFF
225#define ngcbSEQ_CLK_CONVERT1 0x00000001
226#define ngcbSEQ_CLK_CONVERT2 0x00000002
227#define ngcbSEQ_CLK_CLAMP 0x00000004
228#define ngcbSEQ_CLK_LEMO1 0x00000008
229#define ngcbSEQ_CLK_LEMO2 0x00000010
230#define ngcbSEQ_CLK_UTIL1 0x00000020
231#define ngcbSEQ_CLK_UTIL2 0x00000040
232#define ngcbSEQ_CLK_DISABLE1 0x00000080
233#define ngcbSEQ_CLK_DISABLE2 0x00000100
234#define ngcbSEQ_CLK_DISABLE3 0x00000200
235#define ngcbSEQ_CLK_DISABLE4 0x00000400
236#define ngcbSEQ_CLK_DISABLE5 0x00000800
237#define ngcbSEQ_CLK_DWELL 0x0FFFF000
238#define ngcbSEQ_CLK_SYNC 0x10000000
239#define ngcbSEQ_CLK_BREAK 0x20000000
240#define ngcbSEQ_CLK_PRGEND 0x40000000
241#define ngcbSEQ_CLK_PATEND 0x80000000
242
246#define ngcbSEQ_PAT_IDLE (ngcbSEQ_CLK_DISABLE1 | \
247 ngcbSEQ_CLK_DISABLE2 | \
248 ngcbSEQ_CLK_DISABLE3 | \
249 ngcbSEQ_CLK_DISABLE4 | \
250 ngcbSEQ_CLK_DISABLE5)
251
255#define ngcbSEQ_PAT_SYNC (ngcbSEQ_PAT_IDLE | ngcbSEQ_CLK_SYNC)
256
260#define ngcbSEQ_PAT_BREAK (ngcbSEQ_PAT_IDLE | ngcbSEQ_CLK_BREAK)
261
265#define ngcbSEQ_PAT_PRGEND (ngcbSEQ_PAT_IDLE | ngcbSEQ_CLK_PRGEND)
266
267/*
268 * Sequencer RAM bits
269 */
270#define ngcbSEQ_RAM_ADDR 0x000007FF
271#define ngcbSEQ_RAM_CNT 0x07FFF800
272#define ngcbSEQ_RAM_CODE 0x70000000
273
277#define ngcbSEQ_RAM_SIZE 2048
278
282#define ngcbSEQ_PATRAM_SIZE 2048
283
287#define ngcbSEQ_MAX_REP (ngcbSEQ_RAM_CNT >> 11)
288
292#define ngcbSEQ_MAX_DWELLTIME (ngcbSEQ_CLK_DWELL >> 12)
293
294/*
295 * Sequencer codes
296 */
297#define ngcbSEQ_CODE_NOP 0x0
298#define ngcbSEQ_CODE_EXEC 0x1
299#define ngcbSEQ_CODE_LOOP 0x2
300#define ngcbSEQ_CODE_LOOP_END 0x3
301#define ngcbSEQ_CODE_LOOP_INF 0x4
302#define ngcbSEQ_CODE_JSR 0x5
303#define ngcbSEQ_CODE_RETURN 0x6
304#define ngcbSEQ_CODE_EXIT 0x7
305
309#define ngcbSEQ_MAX_SUBRT 64
310
314#define ngcbSEQ_MAX_OPEN_LOOPS 128
315
319#define ngcbSEQ_TOK(c,n,r) (((c << 28) & ngcbSEQ_RAM_CODE) | \
320 (n & ngcbSEQ_RAM_ADDR) | \
321 ((r << 11) & ngcbSEQ_RAM_CNT))
322
323/*
324 * CLDC states
325 */
326#define ngcbCLDC_STAT_DISABLED 0
327#define ngcbCLDC_STAT_ENABLED 1
328
329/*
330 * Default number clock- and bias-voltages per CLDC module
331 */
332#define ngcbCLDC_MAX_CLK 24
333#define ngcbCLDC_MAX_DC 128
334#define ngcbCLDC_FEB_MAX_CLK 18
335#define ngcbCLDC_FEB_MAX_DC 20
336
337/*
338 * Some special channels
339 */
340#define ngcbCLDC_VIDOFF1 0x3a
341#define ngcbCLDC_VIDOFF2 0x3b
342#define ngcbCLDC_PAOFF1 0x3c
343#define ngcbCLDC_PAOFF2 0x3d
344#define ngcbCLDC_DIODEBIAS1 0x3e
345#define ngcbCLDC_DIODEBIAS2 0x3f
346
347/*
348 * CDLC register addresses
349 */
350#define ngcbCLDC_ADDR_BIAS 0x00008000
351#define ngcbCLDC_ADDR_CTRL 0x00008001
352#define ngcbCLDC_ADDR_PA 0x00008002
353#define ngcbCLDC_ADDR_TELCHAN 0x0000A000
354#define ngcbCLDC_ADDR_TELDATA 0x0000A000
355#define ngcbCLDC_ADDR_MON1 0x0000B001
356#define ngcbCLDC_ADDR_MON2 0x0000B002
357
358/*
359 * CDLC register bits
360 */
361#define ngcbCLDC_DAC_DATA 0x00003FFF
362#define ngcbCLDC_DAC_NUM 0x003F0000
363#define ngcbCLDC_DAC_SLCT 0x00200000
364#define ngcbCLDC_OFF_SLCT 0x80000000
365#define ngcbCLDC_ENABLE 0x00000001
366#define ngcbCLDC_ILCK 0x00000004
367#define ngcbCLDC_PROT_OFF 0x00000010
368#define ngcbCLDC_SET_ZERO 0x00008000
369#define ngcbCLDC_TEL_CHAN 0x0000003F
370#define ngcbCLDC_TEL_DATA 0x0000FFFF
371
372/*
373 * CLDC DAC data conversion
374 */
375#define ngcbCLDC_DAC_GAIN1 1.259
376#define ngcbCLDC_DAC_GAIN2 1.076
377
378/*
379 * CLDC telemetry data conversion
380 */
381#define ngcbCLDC_ADC_RANGE 10.0
382
383/*
384 * ADC register addresses
385 */
386#define ngcbADC_ADDR_CTRL 0x00003000
387#define ngcbADC_ADDR_STAT 0x00003000
388#define ngcbADC_ADDR_DELAY 0x00003001
389#define ngcbADC_ADDR_RST 0x00003003
390#define ngcbADC_ADDR_MON 0x0000B000
391#define ngcbADC_ADDR_FSIZE 0x00003010
392#define ngcbADC_ADDR_FCNT 0x00003011
393#define ngcbADC_ADDR_SUBSAMP 0x00003012
394#define ngcbADC_ADDR_FMODE 0x00003013
395
396/*
397 * ADC command register bits
398 */
399#define ngcbADC_ENABLE 0x0000003F
400#define ngcbADC_CLAMP 0x00000040
401#define ngcbADC_FILTER 0x00000080
402#define ngcbADC_PKTSIZE 0x0000FF00
403#define ngcbADC_RXCNT 0x000F0000
404#define ngcbADC_CONVERT1 0x00100000
405#define ngcbADC_CONVERT2 0x00200000
406#define ngcbADC_CHAINFIRST 0x01000000
407#define ngcbADC_LED_OFF 0x02000000
408#define ngcbADC_OP_MODE 0x10000000
409#define ngcbADC_SIM_MODE 0x20000000
410#define ngcbADC_DLINK 0x80000000
411
412#define ngcbADC_MODE_NORMAL 0x0
413#define ngcbADC_MODE_SIM 0x1
414#define ngcbADC_SIM_NUMBERS 0x0
415#define ngcbADC_SIM_CNT 0x1
416#define ngcbADC_MAX_ENABLE ngcbADC_ENABLE
417#define ngcbADC_MAX_PKTSIZE 0xFF
418#define ngcbADC_MAX_RXCNT 0xF
419#define ngcbADC_MAX_DELAY 1024
420
421/*
422 * Shutter interface
423 */
424#define ngcbSHUTTER_ADDR_CTRL 0x0000E000
425#define ngcbSHUTTER_ADDR_STAT 0x0000E000
426#define ngcbSHUTTER_ADDR_EXP 0x0000E001
427#define ngcbSHUTTER_ADDR_EVT1 0x0000E002
428#define ngcbSHUTTER_ADDR_EVT2 0x0000E003
429#define ngcbSHUTTER_ADDR_EVT3 0x0000E004
430#define ngcbSHUTTER_ADDR_EVT4 0x0000E005
431
432/*
433 * Shutter control register bits
434 */
435#define ngcbSHUTTER_CTRL_START 0x00008000
436#define ngcbSHUTTER_CTRL_ABORT 0x00004000
437#define ngcbSHUTTER_CTRL_PAUSE 0x00002000
438#define ngcbSHUTTER_CTRL_RESET 0x00001000
439#define ngcbSHUTTER_CTRL_DARK 0x00000800
440#define ngcbSHUTTER_CTRL_OPEN_HI 0x00000400
441#define ngcbSHUTTER_CTRL_EVT4_RE 0x00000080
442#define ngcbSHUTTER_CTRL_EVT3_RE 0x00000040
443#define ngcbSHUTTER_CTRL_EVT2_RE 0x00000020
444#define ngcbSHUTTER_CTRL_EVT1_RE 0x00000010
445#define ngcbSHUTTER_CTRL_AUX_OFF 0x00000004
446#define ngcbSHUTTER_CTRL_MODE 0x00000003
447
448/*
449 * Shutter status register bits
450 */
451#define ngcbSHUTTER_STAT_COMPL 0x00001000
452#define ngcbSHUTTER_STAT_DARK 0x00000800
453#define ngcbSHUTTER_STAT_OPEN_HI 0x00000400
454#define ngcbSHUTTER_STAT_FAIL 0x00000100
455#define ngcbSHUTTER_STAT_EVT4_OVR 0x00000080
456#define ngcbSHUTTER_STAT_EVT3_OVR 0x00000040
457#define ngcbSHUTTER_STAT_EVT2_OVR 0x00000020
458#define ngcbSHUTTER_STAT_EVT1_OVR 0x00000010
459#define ngcbSHUTTER_STAT_EVT4 0x00000008
460#define ngcbSHUTTER_STAT_EVT3 0x00000004
461#define ngcbSHUTTER_STAT_EVT2 0x00000002
462#define ngcbSHUTTER_STAT_EVT1 0x00000001
463#define ngcbSHUTTER_EXP_MASK 0xFFFFFFFF
464#define ngcbSHUTTER_EVT_MASK 0xFFFFFFFF
465
469#define ngcbSHUTTER_CLOCK 100000
470
471/*
472 * For error testing
473 */
474#define ngcbTESTERR_NO_ACK 0x100
475#define ngcbTESTERR_IO_ERR1 0x101
476#define ngcbTESTERR_IO_ERR2 0x102
477#define ngcbTESTERR_IO_ERR3 0x103
478#define ngcbTESTERR_IVLD 0x104
479#define ngcbTESTERR_SEQ_EMPTY 0x200
480#define ngcbTESTERR_SEQ_IDLE 0x201
481
482/*
483 * For sequence timing simulation
484 */
485#define ngcbSIM_SEQ_TIME 0x400
486
487/*
488 * I2C-Bus
489 */
490#define ngcbI2C_PORT 0x0000C000
491#define ngcbI2C_CLK_LINE 0
492#define ngcbI2C_DATA_LINE 1
493#define ngcbI2C_PCF8575 0x4
494
495/*
496 * Preamplifier
497 */
498#define ngcbPREAMP_ADDR_CTRL 0x0000C400
499
500/*
501 * General I/O-ports
502 */
503#define ngcbHDR_PCI_CFG 0xA
504#define ngcbHDR_PCI_LOCAL 0xB
505#define ngcbHDR_GEN_IO 0xC
506#define ngcbHDR_RESET 0xD
507#define ngcbHDR_IFC 0xF
508
509/*
510 * AO-head registers
511 */
512#define ngcbAO_ADDR_CTRL 0x3004
513#define ngcbAO_ADDR_IPHLVL 0x8200
514#define ngcbAO_ADDR_SPHLVL 0x8201
515#define ngcbAO_ADDR_PHCTRL 0x8202
516#define ngcbAO_ADDR_DELAY1 0x8300
517#define ngcbAO_ADDR_DELAY2 0x8301
518#define ngcbAO_ADDR_DELAY3 0x8302
519#define ngcbAO_ADDR_DELAY4 0x8303
520#define ngcbAO_ADDR_DELAY5 0x8304
521#define ngcbAO_ADDR_SENS1 0x8400
522#define ngcbAO_ADDR_SENS2 0x8401
523#define ngcbAO_ADDR_SENS3 0x8402
524#define ngcbAO_ADDR_SENS4 0x8403
525#define ngcbAO_ADDR_SENS5 0x8404
526#define ngcbAO_ADDR_FCNT 0x8405
527#define ngcbAO_ADDR_FRATE 0x8406
528#define ngcbAO_ADDR_DIM 0x8500
529#define ngcbAO_ADDR_AFE_L 0x8600
530#define ngcbAO_ADDR_AFE_R 0x8601
531#define ngcbAFE_PORT 0xF000
532#define ngcbSVS_ADDR 0x84E8
533#define ngcbSVS_ADDR_SENS1 0x8488
534#define ngcbSVS_ADDR_SENS2 0x84C0
535
536/*
537 * AO - Registers for ALICE
538 */
539#define ngcbAL_DAC1_DATA 0x9002
540#define ngcbAL_DAC2_DATA 0x9001
541#define ngcbAL_DAC3_DATA 0x9102
542#define ngcbAL_DAC4_DATA 0x9101
543#define ngcbAL_DAC12_CTRL 0x9000
544#define ngcbAL_DAC34_CTRL 0x9100
545#define ngcbAL_PHASES 0xA200
546#define ngcbAL0_ADC1_CTRL 0x9700
547#define ngcbAL0_ADC1_DATA 0x9701
548#define ngcbAL0_ADC2_CTRL 0x9600
549#define ngcbAL0_ADC2_DATA 0x9601
550#define ngcbAL0_ADC3_CTRL 0x9500
551#define ngcbAL0_ADC3_DATA 0x9501
552#define ngcbAL0_ADC4_CTRL 0x9400
553#define ngcbAL0_ADC4_DATA 0x9401
554
555#define ngcbAL_ADC1_CTRL 0xA700
556#define ngcbAL_ADC1_DATA 0xA701
557#define ngcbAL_ADC2_CTRL 0xA600
558#define ngcbAL_ADC2_DATA 0xA601
559#define ngcbAL_ADC3_CTRL 0xA500
560#define ngcbAL_ADC3_DATA 0xA501
561#define ngcbAL_ADC4_CTRL 0xA400
562#define ngcbAL_ADC4_DATA 0xA401
563#define ngcbAL_ADC_LB 0x9800
564#define ngcbAL_ADC_RB 0x9900
565
566/*
567 * AO - Registers for LISA
568 */
569#define ngcbLISA_ADDR_CHAN 0x9B00
570#define ngcbLISA_ADDR_RG 0xA001
571#define ngcbLISA_ADDR_GAIN_TOP 0x9C00
572#define ngcbLISA_ADDR_GAIN_BOT 0x9C20
573#define ngcbLISA_ADDR_GAIN 0xA100
574#define ngcbLISA_ADC_TOP 0x9800
575#define ngcbLISA_ADC_BOT 0x9900
576
577/*
578 * SIDECAR ASIC I/O-port registers
579 */
580#define ngcbSCAIO_PORT 0xa0000000
581#define ngcbSCAIO_FIFO_SIZE 515
582#define ngcbSCAIO_ADDR_CFGFIFO 0x00002000
583#define ngcbSCAIO_ADDR_RESPFIFO 0x00002400
584#define ngcbSCAIO_ADDR_CMD 0x00002700
585#define ngcbSCAIO_ADDR_STATUS 0x00002701
586#define ngcbSCAIO_ADDR_DELAY 0x00002702
587#define ngcbSCAIO_ADDR_DCMD 0x00003700
588
589/*
590 * SIDECAR ASIC I/O-port command register bits
591 */
592#define ngcbSCAIO_CMD_RESET 0x40000000
593#define ngcbSCAIO_CMD_INIT 0x80000000
594#define ngcbSCAIO_CMD_START 0x00008000
595#define ngcbSCAIO_CMD_RD 0x00001000
596#define ngcbSCAIO_CMD_TEST 0x00010000
597
601#define ngcbSCAIO_CMD_START_RD (ngcbSCAIO_CMD_START | ngcbSCAIO_CMD_RD)
602
606#define ngcbSCAIO_CMD_START_WR ngcbSCAIO_CMD_START
607
608/*
609 * SIDECAR ASIC I/O-port status register bits
610 */
611#define ngcbSCAIO_STAT_CFGFIFO_EMPTY 0x00000001
612#define ngcbSCAIO_STAT_WR_IDLE 0x00000002
613#define ngcbSCAIO_STAT_RESPFIFO_EMPTY 0x00000010
614#define ngcbSCAIO_STAT_RD_IDLE 0x00000020
615#define ngcbSCAIO_STAT_RDWAITSTART 0x00000040
616#define ngcbSCAIO_STAT_RESPFIFO_FULL 0x00000080
617
618/*
619 * SIDECAR ASIC data interface command register bits
620 */
621#define ngcbSCAIO_DCMD_INIT 0x80000000
622#define ngcbSCAIO_DCMD_START 0x00001000
623
627#define ngcbMAX_MOD 16
628
629/*
630 * Result codes
631 */
632#define ngcbRES_SUCCESS 0x00000000
633#define ngcbRES_OP_INVALID 0x00000001
634#define ngcbRES_OP_FAILURE 0x00000002
635#define ngcbRES_ERR_HDR 0x00000003
636#define ngcbRES_ERR_ADDR 0x00000004
637#define ngcbRES_ERR_DATA 0x00000005
638#define ngcbRES_ERR_XSIZE 0x00000006
639#define ngcbRES_ERR_NOT_OPEN 0x00000007
640#define ngcbRES_ERR_I2C 0x00000010
641#define ngcbRES_ERR_IO 0x00000100
642#define ngcbRES_ERR_INTR 0x00000200
643#define ngcbRES_ERR_OPEN 0x00000400
644#define ngcbRES_ERR_RESET 0x00000800
645#define ngcbRES_ERR_TIMEOUT 0x00001000
646#define ngcbRES_ERR_LINK_DOWN 0x00002000
647#define ngcbRES_ERR_LINK_HARD 0x00004000
648#define ngcbRES_ERR_LINK_SOFT 0x00008000
649#define ngcbRES_ERR_LINK_FRAM 0x00010000
650
651/*
652 * NGCII RPC targets
653 */
654#define ngcbRPC_AMC 0
655#define ngcbRPC_RTM 1
656
657/*
658 * NGCII RPC commands
659 */
660#define ngcbRPC_NOP 0x00000001
661#define ngcbRPC_ID 0x00000002
662#define ngcbRPC_FW_VERSION 0x00000003
663#define ngcbRPC_DEBUG_LOG 0x00000004
664#define ngcbRPC_BUILD_INFO 0x00000005
665#define ngcbRPC_CMDS 0x00000006
666#define ngcbRPC_PRG_FLASH 0x00010001
667#define ngcbRPC_SNAPSHOT 0x00020001
668#define ngcbRPC_CHAN_COUNT 0x00020002
669#define ngcbRPC_MON_INFO 0x00020003
670#define ngcbRPC_MON_THR 0x00020004
671#define ngcbRPC_GET_FP_PORTS 0x00050001
672#define ngcbRPC_GET_FP_SIG 0x00050002
673#define ngcbRPC_GET_FP_PORTCFG 0x00050003
674#define ngcbRPC_SET_FP_PORTCFG 0x00050004
675#define ngcbRPC_GET_DACLIST 0x00060001
676#define ngcbRPC_SET_DACCHAN 0x00060002
677#define ngcbRPC_GET_DACCHAN 0x00060003
678#define ngcbRPC_DAC_SNAPSHOT 0x00060004
679#define ngcbRPC_SET_BANK_ENA 0x10020001
680#define ngcbRPC_GET_BANK_ENA 0x10020002
681#define ngcbRPC_SET_BANK_CNCL 0x10020003
682#define ngcbRPC_GET_BANK_CNCL 0x10020004
683#define ngcbRPC_SET_BANK_SHORT 0x10020005
684#define ngcbRPC_GET_BANK_SHORT 0x10020006
685#define ngcbRPC_SET_BANK_GAIN 0x10020007
686#define ngcbRPC_GET_BANK_GAIN 0x10020008
687#define ngcbRPC_SET_BANK_FILT 0x10020009
688#define ngcbRPC_GET_BANK_FILT 0x1002000A
689#define ngcbRPC_SET_PSU_ENA 0x1002000B
690#define ngcbRPC_GET_PSU_ENA 0x1002000C
691#define ngcbRPC_SET_BANK_CROSS 0x10040001
692#define ngcbRPC_GET_BANK_CROSS 0x10040002
693#define ngcbRPC_SET_BANK_BYPASS 0x10040003
694#define ngcbRPC_GET_BANK_BYPASS 0x10040004
695#define ngcbRPC_SET_APD_ENA 0x10030001
696#define ngcbRPC_GET_APD_ENA 0x10030002
697#define ngcbRPC_GET_APD_ILCK 0x10030003
698#define ngcbRPC_RST_APD_ILCK 0x10030004
699#define ngcbRPC_SET_PBANK_ENA 0x10010001
700#define ngcbRPC_GET_PBANK_ENA 0x10010002
701#define ngcbRPC_SET_PBANK_SRC 0x10010003
702#define ngcbRPC_GET_PBANK_SRC 0x10010004
703#define ngcbRPC_SET_SCLK_LIM 0x10010005
704#define ngcbRPC_GET_SCLK_LIM 0x10010006
705#define ngcbRPC_SET_FBANK_ENA 0x10010007
706#define ngcbRPC_GET_FBANK_ENA 0x10010008
707#define ngcbRPC_SET_FBANK_LIM 0x10010009
708#define ngcbRPC_GET_FBANK_LIM 0x1001000A
709#define ngcbRPC_SET_RTMS_NET 0x000E0001
710#define ngcbRPC_GET_RTMS_NET 0x000E0002
711#define ngcbRPC_SET_CHAN_ENA 0x000E0003
712#define ngcbRPC_GET_CHAN_ENA 0x000E0004
713#define ngcbRPC_SET_CHAN_IP 0x000E0005
714#define ngcbRPC_GET_CHAN_IP 0x000E0006
715#define ngcbRPC_SET_CHAN_MUDPI 0x000E0007
716#define ngcbRPC_GET_CHAN_MUDPI 0x000E0008
717#define ngcbRPC_SET_CHAN_RTMS 0x000E0009
718#define ngcbRPC_GET_CHAN_RTMS 0x000E000A
719#define ngcbRPC_SET_CHAN_FRM 0x000E000B
720#define ngcbRPC_GET_CHAN_FRM 0x000E000C
721#define ngcbRPC_RST_ARP 0x000E0010
722#define ngcbRPC_TSU_GET 0x000D0001
723#define ngcbRPC_TSU_STATUS 0x000D0002
724#define ngcbRPC_TSU_TRIGGER 0x000D0003
725#define ngcbRPC_TSU_START 0x000D0004
726#define ngcbRPC_TSU_STOP 0x000D0005
727#define ngcbRPC_TSU_START_N 0x000D0006
728#define ngcbRPC_TSU_GET_CFG 0x000D0007
729#define ngcbRPC_SET_CHAN_SRC 0x20100001
730#define ngcbRPC_GET_CHAN_SRC 0x20100002
731#define ngcbRPC_GET_CHAN_DROP 0x20100003
732#define ngcbRPC_SET_CHAN_MAP 0x20200001
733#define ngcbRPC_GET_CHAN_MAP 0x20200002
734#define ngcbRPC_SET_CHAN_BITS 0x20F00001
735#define ngcbRPC_GET_CHAN_BITS 0x20F00002
736#define ngcbRPC_SET_CHAN_SHIFT 0x20F00003
737#define ngcbRPC_GET_CHAN_SHIFT 0x20F00004
738
739#ifdef __cplusplus
740}
741#endif
742
743#endif