initial merge of infineon code for amazon, pci is still broken a bit. a big thank...
[openwrt.git] / target / linux / amazon-2.6 / files / include / asm-mips / amazon / atm_defines.h
1 #ifndef ATM_DEFINES_H
2 #define ATM_DEFINES_H
3                         
4 //Registers Base Address
5 #define IO_BASE_ADDR                            0xA0000000
6 #define AAL5_BASE_ADDRESS                       0x10104400+IO_BASE_ADDR
7 #define CBM_BASE_ADDRESS                        0x10104000+IO_BASE_ADDR
8 #define HTU_BASE_ADDRESS                        0x10105100+IO_BASE_ADDR
9 #define QSB_BASE_ADDRESS                        0x10105000+IO_BASE_ADDR
10 #define SWIE_BASE_ADDRESS                       0x10105200+IO_BASE_ADDR
11
12 //AAL5 Registers
13 #define AAL5_SISR0_ADDR                         AAL5_BASE_ADDRESS+0x20
14 #define AAL5_SIMR0_ADDR                         AAL5_BASE_ADDRESS+0x24
15 #define AAL5_SISR1_ADDR                         AAL5_BASE_ADDRESS+0x28
16 #define AAL5_SIMR1_ADDR                         AAL5_BASE_ADDRESS+0x2C
17 #define AAL5_SMFL_ADDR                          AAL5_BASE_ADDRESS+0x30
18 #define AAL5_SATMHD_ADDR                        AAL5_BASE_ADDRESS+0x34
19 #define AAL5_SCON_ADDR                          AAL5_BASE_ADDRESS+0x38
20 #define AAL5_SCMD_ADDR                          AAL5_BASE_ADDRESS+0x3C
21 #define AAL5_RISR0_ADDR                         AAL5_BASE_ADDRESS+0x40
22 #define AAL5_RIMR0_ADDR                         AAL5_BASE_ADDRESS+0x44
23 #define AAL5_RISR1_ADDR                         AAL5_BASE_ADDRESS+0x48
24 #define AAL5_RIMR1_ADDR                         AAL5_BASE_ADDRESS+0x4C
25 #define AAL5_RMFL_ADDR                          AAL5_BASE_ADDRESS+0x50
26 #define AAL5_RINTINF0_ADDR                      AAL5_BASE_ADDRESS+0x54
27 #define AAL5_RINTINF1_ADDR                      AAL5_BASE_ADDRESS+0x58
28 #define AAL5_RES5C_ADDR                         AAL5_BASE_ADDRESS+0x5C
29 #define AAL5_RIOL_ADDR                          AAL5_BASE_ADDRESS+0x60
30 #define AAL5_RIOM_ADDR                          AAL5_BASE_ADDRESS+0x64
31 #define AAL5_SOOL_ADDR                          AAL5_BASE_ADDRESS+0x68
32 #define AAL5_SOOM_ADDR                          AAL5_BASE_ADDRESS+0x6C
33 #define AAL5_RES70_ADDR                         AAL5_BASE_ADDRESS+0x70
34 #define AAL5_RES74_ADDR                         AAL5_BASE_ADDRESS+0x74
35 #define AAL5_RES78_ADDR                         AAL5_BASE_ADDRESS+0x78
36 #define AAL5_RES7C_ADDR                         AAL5_BASE_ADDRESS+0x7C
37 #define AAL5_RES80_ADDR                         AAL5_BASE_ADDRESS+0x80
38 #define AAL5_RES84_ADDR                         AAL5_BASE_ADDRESS+0x84
39 #define AAL5_RES88_ADDR                         AAL5_BASE_ADDRESS+0x88
40 #define AAL5_RES8C_ADDR                         AAL5_BASE_ADDRESS+0x8C
41 #define AAL5_RES90_ADDR                         AAL5_BASE_ADDRESS+0x90
42 #define AAL5_RES94_ADDR                         AAL5_BASE_ADDRESS+0x94
43 #define AAL5_RES98_ADDR                         AAL5_BASE_ADDRESS+0x98
44 #define AAL5_RES9C_ADDR                         AAL5_BASE_ADDRESS+0x9C
45 #define AAL5_RESA0_ADDR                         AAL5_BASE_ADDRESS+0xA0
46 #define AAL5_RESA4_ADDR                         AAL5_BASE_ADDRESS+0xA4
47 #define AAL5_RESA8_ADDR                         AAL5_BASE_ADDRESS+0xA8
48 #define AAL5_RESAC_ADDR                         AAL5_BASE_ADDRESS+0xAC
49 #define AAL5_RESB0_ADDR                         AAL5_BASE_ADDRESS+0xB0
50 #define AAL5_RESB4_ADDR                         AAL5_BASE_ADDRESS+0xB4
51 #define AAL5_RESB8_ADDR                         AAL5_BASE_ADDRESS+0xB8
52 #define AAL5_RESBC_ADDR                         AAL5_BASE_ADDRESS+0xBC
53 #define AAL5_RESC0_ADDR                         AAL5_BASE_ADDRESS+0xC0
54 #define AAL5_RESC4_ADDR                         AAL5_BASE_ADDRESS+0xC4
55 #define AAL5_RESC8_ADDR                         AAL5_BASE_ADDRESS+0xC8
56 #define AAL5_RESCC_ADDR                         AAL5_BASE_ADDRESS+0xCC
57 #define AAL5_RESD0_ADDR                         AAL5_BASE_ADDRESS+0xD0
58 #define AAL5_RESD4_ADDR                         AAL5_BASE_ADDRESS+0xD4
59 #define AAL5_RESD8_ADDR                         AAL5_BASE_ADDRESS+0xD8
60 #define AAL5_RESDC_ADDR                         AAL5_BASE_ADDRESS+0xDC
61 #define AAL5_RESE0_ADDR                         AAL5_BASE_ADDRESS+0xE0
62 #define AAL5_RESE4_ADDR                         AAL5_BASE_ADDRESS+0xE4
63 #define AAL5_RESE8_ADDR                         AAL5_BASE_ADDRESS+0xE8
64 #define AAL5_RESEC_ADDR                         AAL5_BASE_ADDRESS+0xEC
65 #define AAL5_SSRC0_ADDR                         AAL5_BASE_ADDRESS+0xF0
66 #define AAL5_SSRC1_ADDR                         AAL5_BASE_ADDRESS+0xF4
67 #define AAL5_RSRC0_ADDR                         AAL5_BASE_ADDRESS+0xF8
68 #define AAL5_RSRC1_ADDR                         AAL5_BASE_ADDRESS+0xFC
69
70 #define AAL5S_ISR_QID_MASK                      0xFF000000
71 #define AAL5S_ISR_SAB                           0x00000100
72 #define AAL5S_ISR_SE                            0x00000080
73 #define AAL5S_ISR_MFLE                          0x00000040
74 #define AAL5S_ISR_SBE0                          0x00000020
75 #define AAL5S_ISR_SEG0                          0x00000010
76 #define AAL5S_ISR_TAB                           0x00000004
77
78 #define AAL5_SIMR_MASK                          0x000001c7
79 #define AAL5_SIMR_SAB                           0x00000100
80 #define AAL5_SIMR_SE                            0x00000080
81 #define AAL5_SIMR_MFLE                          0x00000040
82 #define AAL5_SIMR_TAB                           0x00000004
83 #define AAL5_SIMR_SBE0                          0x00000002
84 #define AAL5_SIMR_SEG0                          0x00000001
85
86 #define AAL5_SCMD_SEQCOUNT_MASK                 0x0000ff00
87 #define AAL5_SCMD_MODE_POLL                     0x00000008
88 #define AAL5_SCMD_MODE_COUNT                    0x00000000
89 #define AAL5_SCMD_AS                            0x00000004
90 #define AAL5_SCMD_SS                            0x00000002
91 #define AAL5_SCMD_AR                            0x00000001
92
93 #define AAL5R_ISR_CID_MASK                      0xFF000000//ConnectionID
94 #define AAL5R_ISR_DBC_MASK                      0x00FF0000//DiscardedByteCounter
95 #define AAL5R_ISR_END                           0x00002000//End
96 #define AAL5R_ISR_ICID                          0x00001000//InvalidConnectionID
97 #define AAL5R_ISR_CLP                           0x00000800//CellLossPriority
98 #define AAL5R_ISR_CGST                          0x00000400//Congestion
99 #define AAL5R_ISR_UUE                           0x00000200//CPCSUUError
100 #define AAL5R_ISR_CPIE                          0x00000100//CPIError
101 #define AAL5R_ISR_FE                            0x00000080//FrameEnd
102 #define AAL5R_ISR_MFLE                          0x00000040//MaximumFrameLengthExceeded
103 #define AAL5R_ISR_DBCE                          0x00000020//DiscardedByteCounterExceeded
104 #define AAL5R_ISR_CRC                           0x00000010//CRCError
105 #define AAL5R_ISR_ILEN                          0x00000008//InvalidLength
106 #define AAL5R_ISR_RAB                           0x00000004//ReceiveAbort
107
108 #define AAL5_RIMR1_MASK                         0x00003ffc
109 #define AAL5_RIMR1_END                          0x00002000//End
110 #define AAL5_RIMR1_ICID                         0x00001000//InvalidConnectionID
111 #define AAL5_RIMR1_CLP                          0x00000800//CellLossPriority
112 #define AAL5_RIMR1_CGST                         0x00000400//Congestion
113 #define AAL5_RIMR1_UUE                          0x00000200//CPCSUUError
114 #define AAL5_RIMR1_CPIE                         0x00000100//CPIError
115 #define AAL5_RIMR1_FE                           0x00000080//FrameEnd
116 #define AAL5_RIMR1_MFLE                         0x00000040//MaximumFrameLengthExceeded
117 #define AAL5_RIMR1_DBCE                         0x00000020//DiscardedByteCounterExceeded
118 #define AAL5_RIMR1_CRC                          0x00000010//CRCError
119 #define AAL5_RIMR1_ILEN                         0x00000008//InvalidLength
120 #define AAL5_RIMR1_RAB                          0x00000004//ReceiveAbort
121
122 //AAL5 Reassambly Errors
123 #define AAL5_STW1_MASK                          0x33//Error mask
124 #define AAL5_STW0_MASK                          0x5c//Error mask
125 #define AAL5_STW0_BE                            0x3//padding bytes mask
126 #define AAL5_STW1_CBM                           0x20//Transfer from CBM to A5R abnormally ended
127 #define AAL5_STW1_CH                            0x10//Invalid Channel number error
128 #define AAL5_STW1_CLP                           0x8//CLP value of cells in packet is 1
129 #define AAL5_STW1_CG                            0x4//Cell in packet expired congestion
130 #define AAL5_STW1_UU                            0x2//CPCS-UU value error
131 #define AAL5_STW1_CPI                           0x1//CPI value error
132 #define AAL5_STW0_FE                            0x80//Frame end
133 #define AAL5_STW0_MFL                           0x40//Maximum frame length error
134 #define AAL5_STW0_CRC                           0x10//CRC error
135 #define AAL5_STW0_IL                            0x8//Invalid length
136 #define AAL5_STW0_RA                            0x4//Received abort
137
138
139
140 //CBM Registers
141 #define CBM_NRTTHR_ADDR                 CBM_BASE_ADDRESS+0x10//NonRealTimeThreshold
142 #define CBM_CLP0THR_ADDR                CBM_BASE_ADDRESS+0x14//CLP0Threshold
143 #define CBM_CLP1THR_ADDR                CBM_BASE_ADDRESS+0x18//CLP1Threshold
144 #define CBM_QDOFF_ADDR                  CBM_BASE_ADDRESS+0x1C//QueueDescriptorOffset
145 #define CBM_CFG_ADDR                    CBM_BASE_ADDRESS+0x20//Configuration
146 #define CBM_HWEXPAR0_ADDR               CBM_BASE_ADDRESS+0x24//HWExtractParameter0
147 #define CBM_RES28_ADDR                  CBM_BASE_ADDRESS+0x28
148 #define CBM_WMSTAT0_ADDR                CBM_BASE_ADDRESS+0x2C
149 #define CBM_HWEXCMD_ADDR                CBM_BASE_ADDRESS+0x30//HWExtractCommand0
150 #define CBM_RES34_ADDR                  CBM_BASE_ADDRESS+0x34
151 #define CBM_HWEXSTAT0_ADDR              CBM_BASE_ADDRESS+0x38//HWExtractStatus0
152 #define CBM_RES3C_ADDR                  CBM_BASE_ADDRESS+0x3C
153 #define CBM_RES40_ADDR                  CBM_BASE_ADDRESS+0x40
154 #define CBM_CNT_ADDR                    CBM_BASE_ADDRESS+0x44//CellCount
155 #define CBM_RES48_ADDR                  CBM_BASE_ADDRESS+0x48
156 #define CBM_LFR_ADDR                    CBM_BASE_ADDRESS+0x4C//PointertolastCellinfreeCellQueue
157 #define CBM_FFR_ADDR                    CBM_BASE_ADDRESS+0x50//PointertofirstCellinfreeCellQueue
158 #define CBM_RES54_ADDR                  CBM_BASE_ADDRESS+0x54
159 #define CBM_RES58_ADDR                  CBM_BASE_ADDRESS+0x58
160 #define CBM_RES5C_ADDR                  CBM_BASE_ADDRESS+0x5C
161 #define CBM_RES60_ADDR                  CBM_BASE_ADDRESS+0x60
162 #define CBM_RES64_ADDR                  CBM_BASE_ADDRESS+0x64
163 #define CBM_RES68_ADDR                  CBM_BASE_ADDRESS+0x68
164 #define CBM_RES6C_ADDR                  CBM_BASE_ADDRESS+0x6C
165 #define CBM_RES70_ADDR                  CBM_BASE_ADDRESS+0x70
166 #define CBM_RES74_ADDR                  CBM_BASE_ADDRESS+0x74
167 #define CBM_RES78_ADDR                  CBM_BASE_ADDRESS+0x78
168 #define CBM_RES7C_ADDR                  CBM_BASE_ADDRESS+0x7C
169 #define CBM_RES80_ADDR                  CBM_BASE_ADDRESS+0x80
170 #define CBM_RES84_ADDR                  CBM_BASE_ADDRESS+0x84
171 #define CBM_RES88_ADDR                  CBM_BASE_ADDRESS+0x88
172 #define CBM_RES8C_ADDR                  CBM_BASE_ADDRESS+0x8C
173 #define CBM_RES90_ADDR                  CBM_BASE_ADDRESS+0x90
174 #define CBM_RES94_ADDR                  CBM_BASE_ADDRESS+0x94
175 #define CBM_RES98_ADDR                  CBM_BASE_ADDRESS+0x98
176 #define CBM_RES9C_ADDR                  CBM_BASE_ADDRESS+0x9C
177 #define CBM_RESA0_ADDR                  CBM_BASE_ADDRESS+0xA0
178 #define CBM_RESA4_ADDR                  CBM_BASE_ADDRESS+0xA4
179 #define CBM_RESA8_ADDR                  CBM_BASE_ADDRESS+0xA8
180 #define CBM_RESAC_ADDR                  CBM_BASE_ADDRESS+0xAC
181 #define CBM_RESB0_ADDR                  CBM_BASE_ADDRESS+0xB0
182 #define CBM_RESB4_ADDR                  CBM_BASE_ADDRESS+0xB4
183 #define CBM_RESB8_ADDR                  CBM_BASE_ADDRESS+0xB8
184 #define CBM_RESBC_ADDR                  CBM_BASE_ADDRESS+0xBC
185 #define CBM_INTINF0_ADDR                CBM_BASE_ADDRESS+0xC0//InterruptInfo0
186 #define CBM_INTCMD_ADDR                 CBM_BASE_ADDRESS+0xC4//InterruptCommand0
187 #define CBM_IMR0_ADDR                   CBM_BASE_ADDRESS+0xC8//InterruptMask
188 #define CBM_SRC0_ADDR                   CBM_BASE_ADDRESS+0xCC//ServiceRequestControl
189 #define CBM_RESD0_ADDR                  CBM_BASE_ADDRESS+0xD0
190 #define CBM_RESD4_ADDR                  CBM_BASE_ADDRESS+0xD4
191 #define CBM_RESD8_ADDR                  CBM_BASE_ADDRESS+0xD8
192 #define CBM_RESDC_ADDR                  CBM_BASE_ADDRESS+0xDC
193 #define CBM_RESE0_ADDR                  CBM_BASE_ADDRESS+0xE0
194 #define CBM_AAL5IDIS_ADDR               CBM_BASE_ADDRESS+0xE4//MIB-No.EPDdiscardedpacketsupstream
195 #define CBM_AAL5ODIS_ADDR               CBM_BASE_ADDRESS+0xE8//MIB-No.PPDdiscardedpacketsupstream
196 #define CBM_RESEC_ADDR                  CBM_BASE_ADDRESS+0xEC
197 #define CBM_RESF0_ADDR                  CBM_BASE_ADDRESS+0xF0
198 #define CBM_RESF4_ADDR                  CBM_BASE_ADDRESS+0xF4
199 #define CBM_RESF8_ADDR                  CBM_BASE_ADDRESS+0xF8
200 #define CBM_RESFC_ADDR                  CBM_BASE_ADDRESS+0xFC
201
202 //CBMCFG
203 #define CBM_CFG_INTLCK0EN               0x00000008
204 #define CBM_CFG_INT0HLT                 0x00000004
205 #define CBM_CFG_START                   0x00000001
206
207 #define CBM_HWEXPAR_PN_A5               0x00002000
208 #define CBM_HWEXPAR_PN_CM               0x00000000
209 #define CBM_HWEXPAR_SUBADD_PORTMASK     0x00000070
210 #define CBM_HWEXPAR_SUBADD_ADU          0x00000000
211 #define CBM_HWEXPAR_SUBADD_AAL2         0x00000080
212 #define CBM_HWEXPAR_SUBADD_SWIE         0x00000100
213
214 #define CBM_HWEXCMD_SFE2                0x00000100
215 #define CBM_HWEXCMD_FE2                 0x00000080
216 #define CBM_HWEXCMD_SCE2                0x00000040
217 #define CBM_HWEXCMD_SFE1                0x00000020
218 #define CBM_HWEXCMD_FE1                 0x00000010
219 #define CBM_HWEXCMD_SCE1                0x00000008
220 #define CBM_HWEXCMD_SFE0                0x00000004
221 #define CBM_HWEXCMD_FE0                 0x00000002
222 #define CBM_HWEXCMD_SCE0                0x00000001
223
224 #define CBM_INTINF0_QID_MASK            0xFF000000
225 #define CBM_INTINF0_ORIGIN_MASK         0x00F00000
226 #define CBM_INTINF0_EF                  0x00004000
227 #define CBM_INTINF0_ACA                 0x00002000
228 #define CBM_INTINF0_ERR                 0x00001000
229 #define CBM_INTINF0_DISC                0x00000800
230 #define CBM_INTINF0_QSBV                0x00000400
231 #define CBM_INTINF0_Q0E                 0x00000200
232 #define CBM_INTINF0_Q0I                 0x00000100
233 #define CBM_INTINF0_RDE                 0x00000080
234 #define CBM_INTINF0_OPF                 0x00000040
235 #define CBM_INTINF0_NFCA                0x00000020
236 #define CBM_INTINF0_CLP1TR              0x00000010
237 #define CBM_INTINF0_CLP0TR              0x00000008
238 #define CBM_INTINF0_NRTTR               0x00000004
239 #define CBM_INTINF0_QFD                 0x00000002
240 #define CBM_INTINF0_QTR                 0x00000001
241 #define CBM_INTINF0_QID_SHIFT           24
242 //CBM QD Word 3
243 #define CBM_QD_W3_QOS_0                 0x00000000
244 #define CBM_QD_W3_QOS_1                 0x40000000
245 #define CBM_QD_W3_QOS_2                 0x80000000
246 #define CBM_QD_W3_QOS_3                 0xc0000000
247
248 #define CBM_QD_W3_DIR_UP                0x20000000
249 #define CBM_QD_W3_DIR_DOWN              0x00000000
250
251 #define CBM_QD_W3_CLPt                  0x10000000
252 #define CBM_QD_W3_RT                    0x08000000
253 #define CBM_QD_W3_AAL5                  0x04000000
254
255 #define CBM_QD_W3_INT_NOINT             0x00000000
256 #define CBM_QD_W3_INT_ACA               0x01000000
257 #define CBM_QD_W3_INT_EOF               0x02000000
258 #define CBM_QD_W3_INT_BOTH              0x03000000
259
260 #define CBM_QD_W3_THRESHOLD_MASK        0x00ff0000
261 #define CBM_QD_W3_WM_EN                 0x00000010
262 #define CBM_QD_W3_HCR                   0x00000008
263 #define CBM_QD_W3_SBID_MASK             0x00000001
264
265 #define CBM_QD_W3_THRESHOLD_SHIFT       16
266
267 //WATER MARK STATUS
268 #define CBM_WM_NRT_MASK                 0x00040000
269 #define CBM_WM_CLP0_MASK                0x00020000
270 #define CBM_WM_CLP1_MASK                0x00010000
271
272 //CBMNRTTHR, CBMCLP0THR, CBMCLP0THR
273 #define CBM_NRT_WM_NONE                 0x00000000//no water mark
274 #define CBM_WM_3_1                      0x00010000//3/4 to set, 1/4 to release
275 #define CBM_WM_3_2                      0x00020000//3/4 to set, 2/4 to release
276 #define CBM_WM_2_1                      0x00030000//2/4 to set, 1/4 to release
277 #define CBM_THR_MASK                    0x0000FFFF
278
279 #define CBM_IMR_MASK                    0x0000fbff
280 #define CBM_IMR_reserved                0xFFFF0400
281 #define CBM_IMR_RFULL                   0x00008000//EndofFrame
282 #define CBM_IMR_EF                      0x00004000//EndofFrame
283 #define CBM_IMR_ACA                     0x00002000//AnyCellArrived
284 #define CBM_IMR_ERR                     0x00001000//FPI Error
285 #define CBM_IMR_DISC                    0x00000800//Discard
286 #define CBM_IMR_reserved1               0x00000400//reserved
287 #define CBM_IMR_Q0E                     0x00000200//Queue0Extract
288 #define CBM_IMR_Q0I                     0x00000100//Queue0Insert
289 #define CBM_IMR_RDE                     0x00000080//ReadEmptyQueue
290 #define CBM_IMR_OPF                     0x00000040//OncePerFrame
291 #define CBM_IMR_NFCA                    0x00000020//NoFreeCellAvailable
292 #define CBM_IMR_CLP1TR                  0x00000010//CLP1ThresholdReached
293 #define CBM_IMR_CLP0TR                  0x00000008//CLP0ThresholdReached
294 #define CBM_IMR_NRTTR                   0x00000004//NonRealTimeThresholdReached
295 #define CBM_IMR_QFD                     0x00000002//QueueFrameDiscard
296 #define CBM_IMR_QTR                     0x00000001//QueueThresholdReached
297
298 #define CBM_EXSTAT_FB                   0x00000010
299 #define CBM_EXSTAT_SCB                  0x00000008
300 #define CBM_EXSTAT_Q0                   0x00000004
301 #define CBM_EXSTAT_RDE                  0x00000002
302 #define CBM_EXSTAT_QV                   0x00000001
303
304 //HTU Registers
305 #define HTU_RX0_ADDR                    HTU_BASE_ADDRESS+0x10
306 #define HTU_RX1_ADDR                    HTU_BASE_ADDRESS+0x14
307 #define HTU_RES18_ADDR                  HTU_BASE_ADDRESS+0x18
308 #define HTU_RES1C_ADDR                  HTU_BASE_ADDRESS+0x1C
309 #define HTU_RES20_ADDR                  HTU_BASE_ADDRESS+0x20
310 #define HTU_RES24_ADDR                  HTU_BASE_ADDRESS+0x24
311 #define HTU_RES28_ADDR                  HTU_BASE_ADDRESS+0x28
312 #define HTU_RES2C_ADDR                  HTU_BASE_ADDRESS+0x2C
313 #define HTU_PCF0PAT_ADDR                HTU_BASE_ADDRESS+0x30
314 #define HTU_PCF1PAT_ADDR                HTU_BASE_ADDRESS+0x34
315 #define HTU_RES38_ADDR                  HTU_BASE_ADDRESS+0x38
316 #define HTU_RES3C_ADDR                  HTU_BASE_ADDRESS+0x3C
317 #define HTU_RES40_ADDR                  HTU_BASE_ADDRESS+0x40
318 #define HTU_RES44_ADDR                  HTU_BASE_ADDRESS+0x44
319 #define HTU_RES48_ADDR                  HTU_BASE_ADDRESS+0x48
320 #define HTU_RES4C_ADDR                  HTU_BASE_ADDRESS+0x4C
321 #define HTU_PCF0MASK_ADDR               HTU_BASE_ADDRESS+0x50
322 #define HTU_PCF1MASK_ADDR               HTU_BASE_ADDRESS+0x54
323 #define HTU_RES58_ADDR                  HTU_BASE_ADDRESS+0x58
324 #define HTU_RES5C_ADDR                  HTU_BASE_ADDRESS+0x5C
325 #define HTU_RES60_ADDR                  HTU_BASE_ADDRESS+0x60
326 #define HTU_RES64_ADDR                  HTU_BASE_ADDRESS+0x64
327 #define HTU_RES68_ADDR                  HTU_BASE_ADDRESS+0x68
328 #define HTU_RES6C_ADDR                  HTU_BASE_ADDRESS+0x6C
329 #define HTU_TIMEOUT_ADDR                HTU_BASE_ADDRESS+0x70
330 #define HTU_DESTOAM_ADDR                HTU_BASE_ADDRESS+0x74
331 #define HTU_DESTRM_ADDR                 HTU_BASE_ADDRESS+0x78
332 #define HTU_DESTOTHER_ADDR              HTU_BASE_ADDRESS+0x7C
333 #define HTU_CFG_ADDR                    HTU_BASE_ADDRESS+0x80
334 #define HTU_RES84_ADDR                  HTU_BASE_ADDRESS+0x84
335 #define HTU_RES88_ADDR                  HTU_BASE_ADDRESS+0x88
336 #define HTU_RES8C_ADDR                  HTU_BASE_ADDRESS+0x8C
337 #define HTU_INFNOENTRY_ADDR             HTU_BASE_ADDRESS+0x90
338 #define HTU_INFTIMEOUT_ADDR             HTU_BASE_ADDRESS+0x94
339 #define HTU_RES98_STAT                  HTU_BASE_ADDRESS+0x98
340 #define HTU_RES9C_ADDR                  HTU_BASE_ADDRESS+0x9C
341 #define HTU_MIBCIUP                     HTU_BASE_ADDRESS+0xA0//MIB Counter In Unknown Protoc Register
342 #define HTU_CNTTIMEOUT_ADDR             HTU_BASE_ADDRESS+0xA4
343 #define HTU_RESA8_ADDR                  HTU_BASE_ADDRESS+0xA8
344 #define HTU_RESAC_ADDR                  HTU_BASE_ADDRESS+0xAC
345 #define HTU_RAMADDR_ADDR                HTU_BASE_ADDRESS+0xB0
346 #define HTU_RAMCMD_ADDR                 HTU_BASE_ADDRESS+0xB4
347 #define HTU_RAMSTAT_ADDR                HTU_BASE_ADDRESS+0xB8
348 #define HTU_RESBC_ADDR                  HTU_BASE_ADDRESS+0xBC
349 #define HTU_RAMDAT1_ADDR                HTU_BASE_ADDRESS+0xC0
350 #define HTU_RAMDAT2_ADDR                HTU_BASE_ADDRESS+0xC4
351 #define HTU_RESCC_ADDR                  HTU_BASE_ADDRESS+0xCC
352 #define HTU_RESD0_ADDR                  HTU_BASE_ADDRESS+0xD0
353 #define HTU_RESD4_ADDR                  HTU_BASE_ADDRESS+0xD4
354 #define HTU_RESD8_ADDR                  HTU_BASE_ADDRESS+0xD8
355 #define HTU_RESDC_ADDR                  HTU_BASE_ADDRESS+0xDC
356 #define HTU_RESE0_ADDR                  HTU_BASE_ADDRESS+0xE0
357 #define HTU_RESE4_ADDR                  HTU_BASE_ADDRESS+0xE4
358 #define HTU_IMR0_ADDR                   HTU_BASE_ADDRESS+0xE8
359 #define HTU_RESEC_ADDR                  HTU_BASE_ADDRESS+0xEC
360 #define HTU_ISR0_ADDR                   HTU_BASE_ADDRESS+0xF0
361 #define HTU_RESF4_ADDR                  HTU_BASE_ADDRESS+0xF4
362 #define HTU_SRC0_ADDR                   HTU_BASE_ADDRESS+0xF8
363 #define HTU_RESFC_ADDR                  HTU_BASE_ADDRESS+0xFC
364
365 //HTU_CFG
366 #define HTU_CFG_START                   0x00000001
367
368 #define HTU_RAMCMD_RMW                  0x00000004
369 #define HTU_RAMCMD_RD                   0x00000002
370 #define HTU_RAMCMD_WR                   0x00000001
371
372 #define HTU_RAMDAT1_VCON                0x00000080//validconnection
373 #define HTU_RAMDAT1_VCT                 0x00000040//vcivalueistransparent
374 #define HTU_RAMDAT1_QIDS                0x00000020//qid selects a cell in cbm
375 #define HTU_RAMDAT1_VCI3                0x00000010//vci3->oamqueue
376 #define HTU_RAMDAT1_VCI4                0x00000008//vci4->oamqueue
377 #define HTU_RAMDAT1_VCI6                0x00000004//vci6->rmqueue
378 #define HTU_RAMDAT1_PTI4                0x00000002//pti4->oamqueue
379 #define HTU_RAMDAT1_PTI5                0x00000001//pti5->oamqueue
380
381 #define HTU_RAMDAT2_PTI6                0x00000800
382 #define HTU_RAMDAT2_PTI7                0x00000400
383 #define HTU_RAMDAT2_F4U                 0x00000200
384 #define HTU_RAMDAT2_F5U                 0x00000100
385 #define HTU_RAMDAT2_QID_MASK            0x000000ff
386
387 #define HTU_ISR_NE                      0x00000001
388 #define HTU_ISR_TORD                    0x00000002
389 #define HTU_ISR_IT                      0x00000008
390 #define HTU_ISR_OTOC                    0x00000010
391 #define HTU_ISR_ONEC                    0x00000020
392 #define HTU_ISR_PNE                     0x00000040
393 #define HTU_ISR_PT                      0x00000080
394 #define HTU_ISR_MASK                    0x000000ff
395
396
397 //QSB Registers
398 #define QSB_BIP0_ADDR                   QSB_BASE_ADDRESS+0x00
399 #define QSB_BIP1_ADDR                   QSB_BASE_ADDRESS+0x04
400 #define QSB_BIP2_ADDR                   QSB_BASE_ADDRESS+0x08
401 #define QSB_BIP3_ADDR                   QSB_BASE_ADDRESS+0x0C
402 #define QSB_RSVP_ADDR                   QSB_BASE_ADDRESS+0x10
403 #define QSB_TNOW_ADDR                   QSB_BASE_ADDRESS+0x14
404 #define QSB_TNOWCYC_ADDR                QSB_BASE_ADDRESS+0x18
405 #define QSB_TAU_ADDR                    QSB_BASE_ADDRESS+0x1C
406 #define QSB_L1BRS_ADDR                  QSB_BASE_ADDRESS+0x20
407 #define QSB_SBL_ADDR                    QSB_BASE_ADDRESS+0x24
408 #define QSB_CONFIG_ADDR                 QSB_BASE_ADDRESS+0x28
409 #define QSB_RTM_ADDR                    QSB_BASE_ADDRESS+0x2C
410 #define QSB_RTD_ADDR                    QSB_BASE_ADDRESS+0x30
411 #define QSB_RAMAC_ADDR                  QSB_BASE_ADDRESS+0x34
412 #define QSB_ISR_ADDR                    QSB_BASE_ADDRESS+0x38
413 #define QSB_IMR_ADDR                    QSB_BASE_ADDRESS+0x3C
414 #define QSB_SRC_ADDR                    QSB_BASE_ADDRESS+0x40
415
416 #define QSB_TABLESEL_QVPT               8
417 #define QSB_TABLESEL_QPT                1
418 #define QSB_TABLESEL_SCT                2
419 #define QSB_TABLESEL_SPT                3
420 #define QSB_TABLESEL_CALENDARWFQ        4/*notusedbyFW*/
421 #define QSB_TABLESEL_L2WFQ              5/*notusedbyFW*/
422 #define QSB_TABLESEL_CALENDARRS         6/*notusedbyFW*/
423 #define QSB_TABLESEL_L2BITMAPRS         7/*notusedbyFW*/
424 #define QSB_TABLESEL_SHIFT              24
425 #define QSB_TWFQ_MASK                   0x3FFF0000
426 #define QSB_TPRS_MASK                   0x0000FFFF
427 #define QSB_SBID_MASK                   0xF
428 #define QSB_TWFQ_SHIFT                  16
429 #define QSB_SCDRATE_MASK                0x00007FFF
430 #define QSB_SBVALID_MASK                0x80000000
431
432 #define QSB_ISR_WFQLE                   0x00000001
433 #define QSB_ISR_WFQBE                   0x00000002
434 #define QSB_ISR_RSLE                    0x00000004
435 #define QSB_ISR_RSBE                    0x00000008
436 #define QSB_ISR_MUXOV                   0x00000010
437 #define QSB_ISR_CDVOV                   0x00000020
438 #define QSB_ISR_PARAMI                  0x00000040
439 #define QSB_ISR_SLOSS                   0x00000080
440 #define QSB_ISR_IIPS                    0x00000100
441
442 #define QSB_IMR_WFQLE                   0x00000001
443 #define QSB_IMR_WFQBE                   0x00000002
444 #define QSB_IMR_RSLE                    0x00000004
445 #define QSB_IMR_RSBE                    0x00000008
446 #define QSB_IMR_MUXOV                   0x00000010
447 #define QSB_IMR_CDVOV                   0x00000020
448 #define QSB_IMR_PARAMI                  0x00000040
449 #define QSB_IMR_SLOSS                   0x00000080
450 #define QSB_IMR_IIPS                    0x00000100
451
452 #define QSB_READ                        0x0
453 #define QSB_WRITE                       0x80000000
454 #define QSB_READ_ALL                    0xFFFFFFFF
455
456 #if 1 //some bug with QSB access mask
457 #define QSB_QPT_SET_MASK                0x0
458 #define QSB_QVPT_SET_MASK               0x0
459 #define QSB_SET_SCT_MASK                0x0
460 #define QSB_SET_SPT_MASK                0x0
461 #define QSB_SET_SPT_SBVALID_MASK        0x7FFFFFFF
462 #else //some bug with QSB access mask
463 #define QSB_QPT_SET_MASK                0x80000000
464 #define QSB_QVPT_SET_MASK               0x0
465 #define QSB_SET_SCT_MASK                0xFFFFFFE0
466 #define QSB_SET_SPT_MASK                0x7FF8C000
467 #define QSB_SET_SPT_SBVALID_MASK        0x7FFFFFFF
468 #endif //some bug with QSB access mask
469
470 #define QSB_SPT_SBVALID                 0x80000000
471
472 #define QSB_RAMAC_REG_LOW               0x0
473 #define QSB_RAMAC_REG_HIGH              0x00010000
474
475 #define SRC_SRE_ENABLE                  0x1000
476 #define SRC_CLRR                        0x4000  //request clear bit
477
478
479
480 //SWIE Registers
481 #define SWIE_IQID_ADDR                  SWIE_BASE_ADDRESS+0x0c//SWIEInsertQueueDescriptor
482 #define SWIE_ICMD_ADDR                  SWIE_BASE_ADDRESS+0x10//SWIEInsertCommand
483 #define SWIE_ISTAT_ADDR                 SWIE_BASE_ADDRESS+0x14//SWIEInsertStatus
484 #define SWIE_ESTAT_ADDR                 SWIE_BASE_ADDRESS+0x18//SWIEExtractStatus
485 #define SWIE_ISRC_ADDR                  SWIE_BASE_ADDRESS+0x74//SWIEInsertServiceRequestControl
486 #define SWIE_ESRC_ADDR                  SWIE_BASE_ADDRESS+0x78//SWIEExtractServiceRequestControl
487 #define SWIE_ICELL_ADDR                 SWIE_BASE_ADDRESS+0x80//SWIEInsertCell(0x80-0xb4)
488 #define SWIE_ECELL_ADDR                 SWIE_BASE_ADDRESS+0xc0//SWIEExtractCell(0xc0-0xf4)
489
490 #define SWIE_ISTAT_DONE                 0x1
491 #define SWIE_ESTAT_DONE                 0x1
492 #define SWIE_ICMD_START                 0x00000001//Startcommandforinsertion
493 #define SWIE_CBM_SCE0                   CBM_HWEXCMD_SCE0//CBMcommandforSingle-Cell-Extract
494 #define SWIE_CBM_PID_SUBADDR            0x00001000//CBMPortIDandSubAddressforUTOPIA
495
496 //Extracted cell format
497 //52bytes AAL0 PDU + "Input cell additional data"(14bits)
498 #define SWIE_ADDITION_DATA_MASK         0x7fff
499 #define SWIE_EPORT_MASK                 0x7000//Source ID (000 AUB0, 001 AUB1)
500 #define SWIE_EF4USER_MASK               0x800
501 #define SWIE_EF5USER_MASK               0x400
502 #define SWIE_EOAM_MASK                  0x200
503 #define SWIE_EAUU_MASK                  0x100
504 #define SWIE_EVCI3_MASK                 0x80
505 #define SWIE_EVCI4_MASK                 0x40
506 #define SWIE_EVCI6_MASK                 0x20
507 #define SWIE_EPTI4_MASK                 0x10
508 #define SWIE_EPTI5_MASK                 0x8
509 #define SWIE_EPTI6_MASK                 0x4
510 #define SWIE_EPTI7_MASK                 0x2
511 #define SWIE_ECRC10ERROR_MASK           0x1
512
513 #define CBM_CELL_SIZE                   0x40
514 #define CBM_QD_SIZE                     0x10
515 #define AAL5R_TRAILER_LEN               12
516 #define AAL5S_INBOUND_HEADER            8
517
518 //constants
519 //TODO: to be finalized by system guys
520 //DMA QOS defined by ATM QoS Service type
521 #define DMA_RX_CH0                      0
522 #define DMA_RX_CH1                      1
523 #define DMA_TX_CH0                      0
524 #define DMA_TX_CH1                      1
525 #define CBR_DMA_QOS                     CBM_QD_W3_QOS_0
526 #define VBR_RT_DMA_QOS                  CBM_QD_W3_QOS_0
527 #define VBR_NRT_DMA_QOS                 CBM_QD_W3_QOS_0
528 #define UBR_PLUS_DMA_QOS                CBM_QD_W3_QOS_0
529 #define UBR_DMA_QOS                     CBM_QD_W3_QOS_0
530
531 #define SRC_TOS_MIPS                    0
532 #define AAL5R_SRPN                      0x00000006//a5rneedshigherprioritythanDR
533 #define AAL5S_SRPN                      0x00000005
534 #define CBM_MIPS_SRPN                   0x00000004
535 #define QSB_SRPN                        0x00000023
536 #define HTU_SRPN1                       0x00000022
537 #define HTU_SRPN0                       0x00000021
538
539 #endif //ATM_DEFINES_H
540