1
2; Fields
3; 
4; 1 : Address of register.  $ is replaced by the instance index from the !agent line
5; 2 : Subinstance of subsystem (DMA chan within MAC), '*' if only one subinstance
6; 3 : Printing function name suffix (print_subsystem_suffix)
7; 4 : Description string
8;
9;
10; note: if you add new agents, add them at the *end* of this file.
11; If you don't do that, you'll need to rebuild all of the VAPI
12; diagnostics since the bitmask will be different.
13;
14
15
16!agent MC 0,1 
17A_MC_REGISTER($,R_MC_CONFIG)		*	NULL		"Config"
18A_MC_REGISTER($,R_MC_DRAMCMD)		*	NULL		"DRAM Config"
19A_MC_REGISTER($,R_MC_DRAMMODE)		*	NULL		"DRAM Mode"
20A_MC_REGISTER($,R_MC_TIMING1)		*	NULL		"DRAM Timing #1"
21A_MC_REGISTER($,R_MC_TIMING2)		*	NULL		"DRAM Timing #2"
22A_MC_REGISTER($,R_MC_CS_START)		*	NULL		"CS Start
23A_MC_REGISTER($,R_MC_CS_END)		*	NULL		"CS End"
24A_MC_REGISTER($,R_MC_CS_INTERLEAVE)	*	NULL		"CS Interleave"
25A_MC_REGISTER($,R_MC_CS0_ROW)		*	NULL		"CS0 Rows"
26A_MC_REGISTER($,R_MC_CS0_COL)		*	NULL		"CS0 Columns"
27A_MC_REGISTER($,R_MC_CS0_BA)		*	NULL		"CS0 Banks"
28A_MC_REGISTER($,R_MC_CS1_ROW)		*	NULL		"CS1 Rows"
29A_MC_REGISTER($,R_MC_CS1_COL)		*	NULL		"CS1 Columns"
30A_MC_REGISTER($,R_MC_CS1_BA)		*	NULL		"CS1 Banks"
31A_MC_REGISTER($,R_MC_CS2_ROW)		*	NULL		"CS2 Rows"
32A_MC_REGISTER($,R_MC_CS2_COL)		*	NULL		"CS2 Columns"
33A_MC_REGISTER($,R_MC_CS2_BA)		*	NULL		"CS2 Banks"
34A_MC_REGISTER($,R_MC_CS3_ROW)		*	NULL		"CS3 Rows"
35A_MC_REGISTER($,R_MC_CS3_COL)		*	NULL		"CS3 Columns"
36A_MC_REGISTER($,R_MC_CS3_BA)		*	NULL		"CS3 Banks"
37A_MC_REGISTER($,R_MC_CS_ATTR)		*	NULL		"Attributes"
38A_MC_REGISTER($,R_MC_TEST_DATA)		*	NULL		"ECC Test Data"
39A_MC_REGISTER($,R_MC_TEST_ECC)		*	NULL		"ECC Test"
40A_MC_REGISTER($,R_MC_MCLK_CFG)		*	NULL		"MCLK Config"
41!endagent
42
43!agent L2
44A_L2_READ_TAG				*	NULL		"Read Tag"
45A_L2_ECC_TAG				*	NULL		"ECC Tag"
46A_L2_READ_MISC				*	NULL		"Read Misc (pass3+/112x)"
47!endagent
48
49!agent MACDMA 0,1,2
50A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_CONFIG0)        TX0   NULL      "Config 0"
51A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_CONFIG1)        TX0   NULL      "Config 1"
52A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_DSCR_BASE)      TX0   NULL      "Descriptor Base"
53A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_DSCR_CNT)       TX0   NULL      "Descriptor Count"
54A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_CUR_DSCRA)      TX0   NULL      "Cur DSCR_A"
55A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_CUR_DSCRB)      TX0   NULL      "Cur DSCR_B"
56A_MAC_DMA_REGISTER($,DMA_TX,0,R_MAC_DMA_CUR_DSCRADDR)   TX0   NULL      "Cur Dscr Addr"
57
58A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_CONFIG0)        TX1   NULL      "Config 0"
59A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_CONFIG1)        TX1   NULL      "Config 1"
60A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_DSCR_BASE)      TX1   NULL      "Descriptor Base"
61A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_DSCR_CNT)       TX1   NULL      "Descriptor Count"
62A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_CUR_DSCRA)      TX1   NULL      "Cur DSCR_A"
63A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_CUR_DSCRB)      TX1   NULL      "Cur DSCR_B"
64A_MAC_DMA_REGISTER($,DMA_TX,1,R_MAC_DMA_CUR_DSCRADDR)   TX1   NULL      "Cur Dscr Addr"
65
66A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_CONFIG0)        RX0   NULL      "Config 0"
67A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_CONFIG1)        RX0   NULL      "Config 1"
68A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_DSCR_BASE)      RX0   NULL      "Descriptor Base"
69A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_DSCR_CNT)       RX0   NULL      "Descriptor Count"
70A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_CUR_DSCRA)      RX0   NULL      "Cur DSCR_A"
71A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_CUR_DSCRB)      RX0   NULL      "Cur DSCR_B"
72A_MAC_DMA_REGISTER($,DMA_RX,0,R_MAC_DMA_CUR_DSCRADDR)   RX0   NULL      "Cur Dscr Addr"
73
74A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_CONFIG0)        RX1   NULL      "Config 0"
75A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_CONFIG1)        RX1   NULL      "Config 1"
76A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_DSCR_BASE)      RX1   NULL      "Descriptor Base"
77A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_DSCR_CNT)       RX1   NULL      "Descriptor Count"
78A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_CUR_DSCRA)      RX1   NULL      "Cur DSCR_A"
79A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_CUR_DSCRB)      RX1   NULL      "Cur DSCR_B"
80A_MAC_DMA_REGISTER($,DMA_RX,1,R_MAC_DMA_CUR_DSCRADDR)   RX1   NULL      "Cur Dscr Addr"
81!endagent
82
83
84!agent MACRMON 0,1,2
85A_MAC_REGISTER($,R_MAC_RMON_TX_BYTES)		*	NULL	"RMON TX Bytes"
86A_MAC_REGISTER($,R_MAC_RMON_COLLISIONS)		*	NULL	"RMON Collisions"
87A_MAC_REGISTER($,R_MAC_RMON_LATE_COL)		*	NULL	"RMON Late Coll"
88A_MAC_REGISTER($,R_MAC_RMON_EX_COL)		*	NULL	"RMON Excess Coll"
89A_MAC_REGISTER($,R_MAC_RMON_FCS_ERROR)		*	NULL	"RMON FCS Error"
90A_MAC_REGISTER($,R_MAC_RMON_TX_ABORT)		*	NULL	"RMON TX Abort"
91A_MAC_REGISTER($,R_MAC_RMON_TX_BAD)		*	NULL	"RMON TX Bad"
92A_MAC_REGISTER($,R_MAC_RMON_TX_GOOD)		*	NULL	"RMON TX Good"
93A_MAC_REGISTER($,R_MAC_RMON_TX_RUNT)		*	NULL	"RMON TX Runt"
94A_MAC_REGISTER($,R_MAC_RMON_TX_OVERSIZE)	*	NULL	"RMON TX Oversize"
95A_MAC_REGISTER($,R_MAC_RMON_RX_BYTES)		*	NULL	"RMON RX Bytes"
96A_MAC_REGISTER($,R_MAC_RMON_RX_MCAST)		*	NULL	"RMON RX Mcast"
97A_MAC_REGISTER($,R_MAC_RMON_RX_BCAST)		*	NULL	"RMON RX Bcast"
98A_MAC_REGISTER($,R_MAC_RMON_RX_BAD)		*	NULL	"RMON RX Bad"
99A_MAC_REGISTER($,R_MAC_RMON_RX_GOOD)		*	NULL	"RMON RX Good"
100A_MAC_REGISTER($,R_MAC_RMON_RX_RUNT)		*	NULL	"RMON RX Runt"
101A_MAC_REGISTER($,R_MAC_RMON_RX_OVERSIZE)	*	NULL	"RMON RX Oversize"
102A_MAC_REGISTER($,R_MAC_RMON_RX_FCS_ERROR)	*	NULL	"RMON RX FCS Error"
103A_MAC_REGISTER($,R_MAC_RMON_RX_LENGTH_ERROR)	*	NULL	"RMON RX Length Error"
104A_MAC_REGISTER($,R_MAC_RMON_RX_CODE_ERROR)	*	NULL	"RMON RX Code Error"
105A_MAC_REGISTER($,R_MAC_RMON_RX_ALIGN_ERROR)	*	NULL	"RMON RX Align Error"
106!endagent
107
108!agent MAC 0,1,2
109A_MAC_REGISTER($,R_MAC_CFG)			*	NULL	"MAC Config"
110A_MAC_REGISTER($,R_MAC_THRSH_CFG)		*	NULL	"MAC Thresh Config"
111A_MAC_REGISTER($,R_MAC_VLANTAG)			*	NULL	"VLAN Tag"
112A_MAC_REGISTER($,R_MAC_FRAMECFG)		*	NULL	"Frame Config"
113A_MAC_REGISTER($,R_MAC_EOPCNT)			*	NULL	"EOP Count"
114A_MAC_REGISTER($,R_MAC_FIFO_PTRS)		*	NULL	"FIFO Pointers"
115A_MAC_REGISTER($,R_MAC_ADFILTER_CFG)		*	NULL	"Address Filter"
116A_MAC_REGISTER($,R_MAC_ETHERNET_ADDR)		*	NULL	"Ethernet Addr"
117A_MAC_REGISTER($,R_MAC_PKT_TYPE)		*	NULL	"Packet Type"
118A_MAC_REGISTER($,R_MAC_HASH_BASE+0)		*	NULL	"Hash 0"
119A_MAC_REGISTER($,R_MAC_HASH_BASE+8)		*	NULL	"Hash 1"
120A_MAC_REGISTER($,R_MAC_HASH_BASE+16)		*	NULL	"Hash 2"
121A_MAC_REGISTER($,R_MAC_HASH_BASE+24)		*	NULL	"Hash 3"
122A_MAC_REGISTER($,R_MAC_HASH_BASE+32)		*	NULL	"Hash 4"
123A_MAC_REGISTER($,R_MAC_HASH_BASE+40)		*	NULL	"Hash 5"
124A_MAC_REGISTER($,R_MAC_HASH_BASE+48)		*	NULL	"Hash 6"
125A_MAC_REGISTER($,R_MAC_HASH_BASE+56)		*	NULL	"Hash 7"
126A_MAC_REGISTER($,R_MAC_ADDR_BASE+0)		*	NULL	"Addr 0"
127A_MAC_REGISTER($,R_MAC_ADDR_BASE+8)		*	NULL	"Addr 1"
128A_MAC_REGISTER($,R_MAC_ADDR_BASE+16)		*	NULL	"Addr 2"
129A_MAC_REGISTER($,R_MAC_ADDR_BASE+24)		*	NULL	"Addr 3"
130A_MAC_REGISTER($,R_MAC_ADDR_BASE+32)		*	NULL	"Addr 4"
131A_MAC_REGISTER($,R_MAC_ADDR_BASE+40)		*	NULL	"Addr 5"
132A_MAC_REGISTER($,R_MAC_ADDR_BASE+48)		*	NULL	"Addr 6"
133A_MAC_REGISTER($,R_MAC_ADDR_BASE+56)		*	NULL	"Addr 7"
134A_MAC_REGISTER($,R_MAC_CHLO0_BASE+0)		*	NULL	"CHLO 0"
135A_MAC_REGISTER($,R_MAC_CHLO0_BASE+8)		*	NULL	"CHLO 1"
136A_MAC_REGISTER($,R_MAC_CHLO0_BASE+16)		*	NULL	"CHLO 2"
137A_MAC_REGISTER($,R_MAC_CHLO0_BASE+24)		*	NULL	"CHLO 3"
138A_MAC_REGISTER($,R_MAC_CHUP0_BASE+0)		*	NULL	"CHUP 0"
139A_MAC_REGISTER($,R_MAC_CHUP0_BASE+8)		*	NULL	"CHUP 1"
140A_MAC_REGISTER($,R_MAC_CHUP0_BASE+16)		*	NULL	"CHUP 2"
141A_MAC_REGISTER($,R_MAC_CHUP0_BASE+24)		*	NULL	"CHUP 3"
142A_MAC_REGISTER($,R_MAC_ENABLE)			*	NULL	"MAC Enable"
143A_MAC_REGISTER($,R_MAC_STATUS)			*	NULL	"MAC Status"
144A_MAC_REGISTER($,R_MAC_INT_MASK)		*	NULL	"Interrupt Mask"
145A_MAC_REGISTER($,R_MAC_TXD_CTL)			*	NULL	"TXD Control"
146A_MAC_REGISTER($,R_MAC_MDIO)			*	NULL	"MDIO"
147A_MAC_REGISTER($,R_MAC_DEBUG_STATUS)		*	NULL	"Debug Status"
148!endagent
149
150!agent DUART
151A_DUART_MODE_REG_1_A        *	NULL		"Mode Register 1A"
152A_DUART_MODE_REG_2_A        *	NULL		"Mode Register 2A"
153A_DUART_STATUS_A            *	NULL		"Status A"
154A_DUART_CLK_SEL_A           *	NULL		"Clock Select A"
155A_DUART_CMD_A               *	NULL		"Command A"
156A_DUART_RX_HOLD_A           *	NULL		"RX Hold A"
157A_DUART_TX_HOLD_A           *	NULL		"TX Hold A"
158
159A_DUART_MODE_REG_1_B        *	NULL		"Mode Register 1B"
160A_DUART_MODE_REG_2_B        *	NULL		"Mode Register 2B"
161A_DUART_STATUS_B            *	NULL		"Status B"
162A_DUART_CLK_SEL_B           *	NULL		"Clock Select B"
163A_DUART_CMD_B               *	NULL		"Command B"
164A_DUART_RX_HOLD_B           *	NULL		"RX Hold B"
165A_DUART_TX_HOLD_B           *	NULL		"TX Hold B"
166
167A_DUART_INPORT_CHNG         *	NULL		"Input Port Change"
168A_DUART_AUX_CTRL	    *	NULL		"Aux Control"
169A_DUART_ISR_A               *	NULL		"ISR A"
170A_DUART_IMR_A               *	NULL		"IMR A"
171A_DUART_ISR_B               *	NULL		"ISR B"
172A_DUART_IMR_B               *	NULL		"IMR B"
173A_DUART_OUT_PORT            *	NULL		"Output Port"
174A_DUART_OPCR		    *	NULL		"OPCR"
175A_DUART_IN_PORT             *	NULL		"Input Port"
176A_DUART_ISR                 *	NULL		"ISR Combined"
177A_DUART_IMR                 *	NULL		"IMR Combined"
178A_DUART_SET_OPR             *	NULL		"Set output port"
179A_DUART_CLEAR_OPR           *	NULL		"Clear output port"
180A_DUART_INPORT_CHNG_A       *	NULL		"Input Port Change A"
181A_DUART_INPORT_CHNG_B       *	NULL		"Input Port Change B"
182!endagent
183
184
185;
186; GENCS is done as a single instance to avoid using up mask bits
187;
188!agent GENCS
189A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,0))          0   NULL	"Config"
190A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,0))    0   NULL	"Region Size"
191A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,0))   0   NULL	"Start Addr"
192A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,0))    0   NULL	"Time Config0"
193A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,0))    0   NULL	"Time Config1"
194
195A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,1))          1   NULL	"Config"
196A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,1))    1   NULL	"Region Size"
197A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,1))   1   NULL	"Start Addr"
198A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,1))    1   NULL	"Time Config0"
199A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,1))    1   NULL	"Time Config1"
200
201A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,2))          2   NULL	"Config"
202A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,2))    2   NULL	"Region Size"
203A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,2))   2   NULL	"Start Addr"
204A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,2))    2   NULL	"Time Config0"
205A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,2))    2   NULL	"Time Config1"
206
207A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,3))          3   NULL	"Config"
208A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,3))    3   NULL	"Region Size"
209A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,3))   3   NULL	"Start Addr"
210A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,3))    3   NULL	"Time Config0"
211A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,3))    3   NULL	"Time Config1"
212
213A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,4))          4   NULL	"Config"
214A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,4))    4   NULL	"Region Size"
215A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,4))   4   NULL	"Start Addr"
216A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,4))    4   NULL	"Time Config0"
217A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,4))    4   NULL	"Time Config1"
218
219A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,5))          5   NULL	"Config"
220A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,5))    5   NULL	"Region Size"
221A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,5))   5   NULL	"Start Addr"
222A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,5))    5   NULL	"Time Config0"
223A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,5))    5   NULL	"Time Config1"
224
225A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,6))          6   NULL	"Config"
226A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,6))    6   NULL	"Region Size"
227A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,6))   6   NULL	"Start Addr"
228A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,6))    6   NULL	"Time Config0"
229A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,6))    6   NULL	"Time Config1"
230
231A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_CFG,7))          7   NULL	"Config"
232A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_MULT_SIZE,7))    7   NULL	"Region Size"
233A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_START_ADDR,7))   7   NULL	"Start Addr"
234A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG0,7))    7   NULL	"Time Config0"
235A_IO_EXT_REG(R_IO_EXT_REG(R_IO_EXT_TIME_CFG1,7))    7   NULL	"Time Config1"
236!endagent
237
238!agent GEN
239A_IO_INTERRUPT_STATUS       *	NULL	"Interrupt Status"
240A_IO_INTERRUPT_DATA0        *	NULL	"Interrupt Data0"
241A_IO_INTERRUPT_DATA1        *	NULL	"Interrupt Data1"
242A_IO_INTERRUPT_DATA2        *	NULL	"Interrupt Data2"
243A_IO_INTERRUPT_DATA3        *	NULL	"Interrupt Data3"
244A_IO_INTERRUPT_ADDR0        *	NULL	"Interrupt Addr0"
245A_IO_INTERRUPT_ADDR1        *	NULL	"Interrupt Addr1"
246A_IO_INTERRUPT_PARITY       *	NULL	"Interrupt Parity"
247A_IO_PCMCIA_CFG             *	NULL	"PCMCIA Config"
248A_IO_PCMCIA_STATUS          *	NULL	"PCMCIA Status"
249A_IO_DRIVE_0                *   NULL    "IO Drive 0"
250A_IO_DRIVE_1                *   NULL    "IO Drive 1"
251A_IO_DRIVE_2                *   NULL    "IO Drive 2"
252A_IO_DRIVE_3                *   NULL    "IO Drive 3"
253!endagent
254
255!agent GPIO
256A_GPIO_CLR_EDGE             *	NULL	"Clear Edge"
257A_GPIO_INT_TYPE             *	NULL	"Int Type"
258A_GPIO_INPUT_INVERT         *	NULL	"Input Invert"
259A_GPIO_GLITCH               *	NULL	"Glitch"
260A_GPIO_READ                 *	NULL	"Read Data"
261A_GPIO_DIRECTION            *	NULL	"Direction"
262A_GPIO_PIN_CLR              *	NULL	"Pin Clear"
263A_GPIO_PIN_SET              *	NULL	"Pin Set"
264!endagent
265
266
267!agent SMBUS 0,1
268A_SMB_REGISTER($,R_SMB_XTRA)	*	NULL	"Extra"
269A_SMB_REGISTER($,R_SMB_FREQ)	*	NULL	"Frequency"
270A_SMB_REGISTER($,R_SMB_STATUS)	*	NULL	"Status"
271A_SMB_REGISTER($,R_SMB_CMD)	*	NULL	"Command"
272A_SMB_REGISTER($,R_SMB_START)	*	NULL	"Start"
273A_SMB_REGISTER($,R_SMB_DATA)	*	NULL	"Data"
274A_SMB_REGISTER($,R_SMB_CONTROL)	*	NULL	"Control"
275A_SMB_REGISTER($,R_SMB_PEC)	*	NULL	"PEC"
276!endagent
277
278
279!agent TIMER
280A_SCD_WDOG_INIT_0           WD0		NULL	"Init"
281A_SCD_WDOG_CNT_0            WD0		NULL	"Count"
282A_SCD_WDOG_CFG_0            WD0		NULL	"Config"
283
284A_SCD_WDOG_INIT_1           WD1		NULL	"Init"
285A_SCD_WDOG_CNT_1            WD1		NULL	"Count"
286A_SCD_WDOG_CFG_1            WD1		NULL	"Config"
287
288A_SCD_TIMER_INIT_0          TMR0	NULL	"Init"
289A_SCD_TIMER_CNT_0           TMR0	NULL	"Count"
290A_SCD_TIMER_CFG_0           TMR0	NULL	"Config"
291
292A_SCD_TIMER_INIT_1          TMR1	NULL	"Init"
293A_SCD_TIMER_CNT_1           TMR1	NULL	"Count"
294A_SCD_TIMER_CFG_1           TMR1	NULL	"Config"
295
296A_SCD_TIMER_INIT_2          TMR2	NULL	"Init"
297A_SCD_TIMER_CNT_2           TMR2	NULL	"Count"
298A_SCD_TIMER_CFG_2           TMR2	NULL	"Config"
299
300A_SCD_TIMER_INIT_3          TMR3	NULL	"Init"
301A_SCD_TIMER_CNT_3           TMR3	NULL	"Count"
302A_SCD_TIMER_CFG_3           TMR3	NULL	"Config"
303!endagent
304
305!agent SCD
306A_SCD_SYSTEM_REVISION       *	NULL	"System Revision"
307A_SCD_SYSTEM_CFG            *	NULL	"System Config"
308A_SCD_PERF_CNT_CFG          *	NULL	"Perf Cnt Config"
309A_SCD_PERF_CNT_0            *	NULL	"Perf Counter 0"
310A_SCD_PERF_CNT_1            *	NULL	"Perf Counter 1"
311A_SCD_PERF_CNT_2            *	NULL	"Perf Counter 2"
312A_SCD_PERF_CNT_3            *	NULL	"Perf Counter 3"
313!endagent
314
315
316!agent BUSERR
317A_SCD_BUS_ERR_STATUS        *	NULL	"Bus Err Status"
318A_BUS_ERR_DATA_0            *	NULL	"Bus Err Data0"
319A_BUS_ERR_DATA_1            *	NULL	"Bus Err Data1"
320A_BUS_ERR_DATA_2            *	NULL	"Bus Err Data2"
321A_BUS_ERR_DATA_3            *	NULL	"Bus Err Data3"
322A_BUS_L2_ERRORS             *	NULL	"Bus L2 Errors"
323A_BUS_MEM_IO_ERRORS         *	NULL	"Bus IOMEM Errors"
324!endagent
325
326
327!agent DM
328A_DM_REGISTER(0,R_DM_DSCR_BASE)		0	NULL	"Descr Base"
329A_DM_REGISTER(0,R_DM_DSCR_COUNT)	0	NULL	"Descr Count"
330A_DM_REGISTER(0,R_DM_CUR_DSCR_ADDR)	0	NULL	"Descr Addr"
331A_DM_REGISTER(0,R_DM_DSCR_BASE_DEBUG)	0	NULL	"Descr Base Debug"
332
333A_DM_REGISTER(1,R_DM_DSCR_BASE)		1	NULL	"Descr Base"
334A_DM_REGISTER(1,R_DM_DSCR_COUNT)	1	NULL	"Descr Count"
335A_DM_REGISTER(1,R_DM_CUR_DSCR_ADDR)	1	NULL	"Descr Addr"
336A_DM_REGISTER(1,R_DM_DSCR_BASE_DEBUG)	1	NULL	"Descr Base Debug"
337
338A_DM_REGISTER(2,R_DM_DSCR_BASE)		2	NULL	"Descr Base"
339A_DM_REGISTER(2,R_DM_DSCR_COUNT)	2	NULL	"Descr Count"
340A_DM_REGISTER(2,R_DM_CUR_DSCR_ADDR)	2	NULL	"Descr Addr"
341A_DM_REGISTER(2,R_DM_DSCR_BASE_DEBUG)	2	NULL	"Descr Base Debug"
342
343A_DM_REGISTER(3,R_DM_DSCR_BASE)		3	NULL	"Descr Base"
344A_DM_REGISTER(3,R_DM_DSCR_COUNT)	3	NULL	"Descr Count"
345A_DM_REGISTER(3,R_DM_CUR_DSCR_ADDR)	3	NULL	"Descr Addr"
346A_DM_REGISTER(3,R_DM_DSCR_BASE_DEBUG)	3	NULL	"Descr Base Debug"
347!endagent
348
349!agent IMR 0,1
350A_IMR_REGISTER($,R_IMR_INTERRUPT_DIAG)			*	NULL	"Diag"
351A_IMR_REGISTER($,R_IMR_INTERRUPT_MASK)			*	NULL	"Mask"
352A_IMR_REGISTER($,R_IMR_INTERRUPT_TRACE)			*	NULL	"Trace"
353A_IMR_REGISTER($,R_IMR_INTERRUPT_SOURCE_STATUS)		*	NULL	"Source Status"
354A_IMR_REGISTER($,R_IMR_LDT_INTERRUPT_SET)		*	NULL	"LDT Interrupt Set"
355A_IMR_REGISTER($,R_IMR_LDT_INTERRUPT)			*	NULL	"LDT Interrupt"
356A_IMR_REGISTER($,R_IMR_LDT_INTERRUPT_CLR)		*	NULL	"LDT Interrupt Clear"
357A_IMR_REGISTER($,R_IMR_MAILBOX_CPU)			*	NULL	"Mailbox"
358; A_IMR_REGISTER($,R_IMR_ALIAS_MAILBOX_CPU)		*	NULL	"Alias Mailbox"
359A_IMR_REGISTER($,R_IMR_MAILBOX_SET_CPU)			*	NULL	"Mailbox Set"
360; A_IMR_REGISTER($,R_IMR_ALIAS_MAILBOX_SET_CPU)		*	NULL	"Alias Mailbox Set"
361A_IMR_REGISTER($,R_IMR_MAILBOX_CLR_CPU)			*	NULL	"Mailbox Clear"
362A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+0)		*	NULL	"Status 0"
363A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+8)		*	NULL	"Status 1"
364A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+16)	*	NULL	"Status 2"
365A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+24)	*	NULL	"Status 3"
366A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+32)	*	NULL	"Status 4"
367A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+40)	*	NULL	"Status 5"
368A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+48)	*	NULL	"Status 6"
369A_IMR_REGISTER($,R_IMR_INTERRUPT_STATUS_BASE+56)	*	NULL	"Status 7"
370
371; What to do about these?  64 registers?
372; A_IMR_REGISTER($,R_IMR_INTERRUPT_MAP_BASE)	*	NULL	""
373; R_IMR_INTERRUPT_MAP_COUNT       64
374!endagent
375
376
377;
378; Not implemented in functional sim
379;
380; !agent ADDRTRAP
381; A_ADDR_TRAP_INDEX           *	NULL	"Addr Trap Index"
382; A_ADDR_TRAP_REG             *	NULL	"Addr Trap Reg"
383; A_ADDR_TRAP_UP_0            *	NULL	"Addr Trap UP0"
384; A_ADDR_TRAP_UP_1            *	NULL	"Addr Trap UP1"
385; A_ADDR_TRAP_UP_2            *	NULL	"Addr Trap UP2"
386; A_ADDR_TRAP_UP_3            *	NULL	"Addr Trap UP3"
387; A_ADDR_TRAP_DOWN_0          *	NULL	"Addr Trap DOWN0"
388; A_ADDR_TRAP_DOWN_1          *	NULL	"Addr Trap DOWN1"
389; A_ADDR_TRAP_DOWN_2          *	NULL	"Addr Trap DOWN2"
390; A_ADDR_TRAP_DOWN_3          *	NULL	"Addr Trap DOWN3"
391; A_ADDR_TRAP_CFG_0           *	NULL	"Addr Trap CFG0"
392; A_ADDR_TRAP_CFG_1           *	NULL	"Addr Trap CFG1"
393; A_ADDR_TRAP_CFG_2           *	NULL	"Addr Trap CFG2"
394; A_ADDR_TRAP_CFG_3           *	NULL	"Addr Trap CFG3"
395; !endagent
396
397; 
398; Not implemented in functional simulator
399; 
400; !agent TRACE
401; A_SCD_TRACE_CFG             *	NULL	"Trace Config"
402; A_SCD_TRACE_READ            *	NULL	"Trace Read"
403; A_SCD_TRACE_EVENT_0         *	NULL	"Trace Event0"
404; A_SCD_TRACE_EVENT_1         *	NULL	"Trace Event1"
405; A_SCD_TRACE_EVENT_2         *	NULL	"Trace Event2"
406; A_SCD_TRACE_EVENT_3         *	NULL	"Trace Event3"
407; A_SCD_TRACE_EVENT_4         *	NULL	"Trace Event4"
408; A_SCD_TRACE_EVENT_5         *	NULL	"Trace Event5"
409; A_SCD_TRACE_EVENT_6         *	NULL	"Trace Event6"
410; A_SCD_TRACE_EVENT_7         *	NULL	"Trace Event7"
411; A_SCD_TRACE_SEQUENCE_0      *	NULL	"Trace Seq0"
412; A_SCD_TRACE_SEQUENCE_1      *	NULL	"Trace Seq1"
413; A_SCD_TRACE_SEQUENCE_2      *	NULL	"Trace Seq2"
414; A_SCD_TRACE_SEQUENCE_3      *	NULL	"Trace Seq3"
415; A_SCD_TRACE_SEQUENCE_4      *	NULL	"Trace Seq4"
416; A_SCD_TRACE_SEQUENCE_5      *	NULL	"Trace Seq5"
417; A_SCD_TRACE_SEQUENCE_6      *	NULL	"Trace Seq6"
418; A_SCD_TRACE_SEQUENCE_7      *	NULL	"Trace Seq7"
419; !endagent
420
421
422!agent SYNCSER 0,1
423A_SER_REGISTER($,R_SER_MODE)		*	NULL	"Mode Config"
424A_SER_REGISTER($,R_SER_LINE_MODE)	*	NULL	"Line Interface Mode"
425; A_SER_REGISTER($,R_SER_STATUS)		*	NULL	"Status"
426A_SER_REGISTER($,R_SER_STATUS_DEBUG)	*	NULL	"Status"
427A_SER_REGISTER($,R_SER_DMA_ENABLE)	*	NULL	"DMA Enable"
428A_SER_REGISTER($,R_SER_INT_MASK)	*	NULL	"Interrupt Mask"
429A_SER_REGISTER($,R_SER_MINFRM_SZ)	*	NULL	"Minimum Frame Size"
430A_SER_REGISTER($,R_SER_MAXFRM_SZ)	*	NULL	"Maximum Frame Size"
431A_SER_REGISTER($,R_SER_TX_RD_THRSH)	*	NULL	"Tx Read Threshold"
432A_SER_REGISTER($,R_SER_TX_WR_THRSH)	*	NULL	"Tx Write Threshold"
433A_SER_REGISTER($,R_SER_RX_RD_THRSH)	*	NULL	"Rx Read Threshold"
434A_SER_REGISTER($,R_SER_ADDR)		*	NULL	"Address Mask"
435A_SER_REGISTER($,R_SER_USR0_ADDR)	*	NULL	"Address Match 0"
436A_SER_REGISTER($,R_SER_USR1_ADDR)	*	NULL	"Address Match 1"
437A_SER_REGISTER($,R_SER_USR2_ADDR)	*	NULL	"Address Match 2"
438A_SER_REGISTER($,R_SER_USR3_ADDR)	*	NULL	"Address Match 3"
439
440A_SER_REGISTER($,R_SER_RX_TABLE_BASE+0)		*	NULL	"Rx Sequencer 0"
441A_SER_REGISTER($,R_SER_RX_TABLE_BASE+8)		*	NULL	"Rx Sequencer 1"
442A_SER_REGISTER($,R_SER_RX_TABLE_BASE+16)	*	NULL	"Rx Sequencer 2"
443A_SER_REGISTER($,R_SER_RX_TABLE_BASE+24)	*	NULL	"Rx Sequencer 3"
444A_SER_REGISTER($,R_SER_RX_TABLE_BASE+32)	*	NULL	"Rx Sequencer 4"
445A_SER_REGISTER($,R_SER_RX_TABLE_BASE+40)	*	NULL	"Rx Sequencer 5"
446A_SER_REGISTER($,R_SER_RX_TABLE_BASE+48)	*	NULL	"Rx Sequencer 6"
447A_SER_REGISTER($,R_SER_RX_TABLE_BASE+56)	*	NULL	"Rx Sequencer 7"
448A_SER_REGISTER($,R_SER_RX_TABLE_BASE+64)	*	NULL	"Rx Sequencer 8"
449A_SER_REGISTER($,R_SER_RX_TABLE_BASE+72)	*	NULL	"Rx Sequencer 9"
450A_SER_REGISTER($,R_SER_RX_TABLE_BASE+80)	*	NULL	"Rx Sequencer 10"
451A_SER_REGISTER($,R_SER_RX_TABLE_BASE+88)	*	NULL	"Rx Sequencer 11"
452A_SER_REGISTER($,R_SER_RX_TABLE_BASE+96)	*	NULL	"Rx Sequencer 12"
453A_SER_REGISTER($,R_SER_RX_TABLE_BASE+104)	*	NULL	"Rx Sequencer 13"
454A_SER_REGISTER($,R_SER_RX_TABLE_BASE+112)	*	NULL	"Rx Sequencer 14"
455A_SER_REGISTER($,R_SER_RX_TABLE_BASE+120)	*	NULL	"Rx Sequencer 15"
456
457A_SER_REGISTER($,R_SER_TX_TABLE_BASE+0)		*	NULL	"Tx Sequencer 0"
458A_SER_REGISTER($,R_SER_TX_TABLE_BASE+8)		*	NULL	"Tx Sequencer 1"
459A_SER_REGISTER($,R_SER_TX_TABLE_BASE+16)	*	NULL	"Tx Sequencer 2"
460A_SER_REGISTER($,R_SER_TX_TABLE_BASE+24)	*	NULL	"Tx Sequencer 3"
461A_SER_REGISTER($,R_SER_TX_TABLE_BASE+32)	*	NULL	"Tx Sequencer 4"
462A_SER_REGISTER($,R_SER_TX_TABLE_BASE+40)	*	NULL	"Tx Sequencer 5"
463A_SER_REGISTER($,R_SER_TX_TABLE_BASE+48)	*	NULL	"Tx Sequencer 6"
464A_SER_REGISTER($,R_SER_TX_TABLE_BASE+56)	*	NULL	"Tx Sequencer 7"
465A_SER_REGISTER($,R_SER_TX_TABLE_BASE+64)	*	NULL	"Tx Sequencer 8"
466A_SER_REGISTER($,R_SER_TX_TABLE_BASE+72)	*	NULL	"Tx Sequencer 9"
467A_SER_REGISTER($,R_SER_TX_TABLE_BASE+80)	*	NULL	"Tx Sequencer 10"
468A_SER_REGISTER($,R_SER_TX_TABLE_BASE+88)	*	NULL	"Tx Sequencer 11"
469A_SER_REGISTER($,R_SER_TX_TABLE_BASE+96)	*	NULL	"Tx Sequencer 12"
470A_SER_REGISTER($,R_SER_TX_TABLE_BASE+104)	*	NULL	"Tx Sequencer 13"
471A_SER_REGISTER($,R_SER_TX_TABLE_BASE+112)	*	NULL	"Tx Sequencer 14"
472A_SER_REGISTER($,R_SER_TX_TABLE_BASE+120)	*	NULL	"Tx Sequencer 15"
473!endagent
474
475
476!agent SERDMA 0,1
477A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_CONFIG0)        TX   NULL      "Config 0"
478A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_CONFIG1)        TX   NULL      "Config 1"
479A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_DSCR_BASE)      TX   NULL      "Descriptor Base"
480A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_DSCR_CNT)       TX   NULL      "Descriptor Count"
481A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_CUR_DSCRA)      TX   NULL      "Cur DSCR_A"
482A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_CUR_DSCRB)      TX   NULL      "Cur DSCR_B"
483A_SER_DMA_REGISTER($,DMA_TX,R_SER_DMA_CUR_DSCRADDR)   TX   NULL      "Cur Dscr Addr"
484
485A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_CONFIG0)        RX   NULL      "Config 0"
486A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_CONFIG1)        RX   NULL      "Config 1"
487A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_DSCR_BASE)      RX   NULL      "Descriptor Base"
488A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_DSCR_CNT)       RX   NULL      "Descriptor Count"
489A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_CUR_DSCRA)      RX   NULL      "Cur DSCR_A"
490A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_CUR_DSCRB)      RX   NULL      "Cur DSCR_B"
491A_SER_DMA_REGISTER($,DMA_RX,R_SER_DMA_CUR_DSCRADDR)   RX   NULL      "Cur Dscr Addr"
492!endagent
493