temp revert rk change
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / bcm4329 / include / aidmp.h
1 /*
2  * Broadcom AMBA Interconnect definitions.
3  *
4  * Copyright (C) 1999-2010, Broadcom Corporation
5  * 
6  *      Unless you and Broadcom execute a separate written software license
7  * agreement governing use of this software, this software is licensed to you
8  * under the terms of the GNU General Public License version 2 (the "GPL"),
9  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10  * following added to such license:
11  * 
12  *      As a special exception, the copyright holders of this software give you
13  * permission to link this software with independent modules, and to copy and
14  * distribute the resulting executable under terms of your choice, provided that
15  * you also meet, for each linked independent module, the terms and conditions of
16  * the license of that module.  An independent module is a module which is not
17  * derived from this software.  The special exception does not apply to any
18  * modifications of the software.
19  * 
20  *      Notwithstanding the above, under no circumstances may you combine this
21  * software in any way with any other Broadcom software provided under a license
22  * other than the GPL, without Broadcom's express prior written consent.
23  *
24  * $Id: aidmp.h,v 13.2.10.1 2008/05/07 20:32:12 Exp $
25  */
26
27
28 #ifndef _AIDMP_H
29 #define _AIDMP_H
30
31
32 #define MFGID_ARM               0x43b
33 #define MFGID_BRCM              0x4bf
34 #define MFGID_MIPS              0x4a7
35
36
37 #define CC_SIM                  0
38 #define CC_EROM                 1
39 #define CC_CORESIGHT            9
40 #define CC_VERIF                0xb
41 #define CC_OPTIMO               0xd
42 #define CC_GEN                  0xe
43 #define CC_PRIMECELL            0xf
44
45
46 #define ER_EROMENTRY            0x000
47 #define ER_REMAPCONTROL         0xe00
48 #define ER_REMAPSELECT          0xe04
49 #define ER_MASTERSELECT         0xe10
50 #define ER_ITCR                 0xf00
51 #define ER_ITIP                 0xf04
52
53
54 #define ER_TAG                  0xe
55 #define ER_TAG1                 0x6
56 #define ER_VALID                1
57 #define ER_CI                   0
58 #define ER_MP                   2
59 #define ER_ADD                  4
60 #define ER_END                  0xe
61 #define ER_BAD                  0xffffffff
62
63
64 #define CIA_MFG_MASK            0xfff00000
65 #define CIA_MFG_SHIFT           20
66 #define CIA_CID_MASK            0x000fff00
67 #define CIA_CID_SHIFT           8
68 #define CIA_CCL_MASK            0x000000f0
69 #define CIA_CCL_SHIFT           4
70
71
72 #define CIB_REV_MASK            0xff000000
73 #define CIB_REV_SHIFT           24
74 #define CIB_NSW_MASK            0x00f80000
75 #define CIB_NSW_SHIFT           19
76 #define CIB_NMW_MASK            0x0007c000
77 #define CIB_NMW_SHIFT           14
78 #define CIB_NSP_MASK            0x00003e00
79 #define CIB_NSP_SHIFT           9
80 #define CIB_NMP_MASK            0x000001f0
81 #define CIB_NMP_SHIFT           4
82
83
84 #define MPD_MUI_MASK            0x0000ff00
85 #define MPD_MUI_SHIFT           8
86 #define MPD_MP_MASK             0x000000f0
87 #define MPD_MP_SHIFT            4
88
89
90 #define AD_ADDR_MASK            0xfffff000
91 #define AD_SP_MASK              0x00000f00
92 #define AD_SP_SHIFT             8
93 #define AD_ST_MASK              0x000000c0
94 #define AD_ST_SHIFT             6
95 #define AD_ST_SLAVE             0x00000000
96 #define AD_ST_BRIDGE            0x00000040
97 #define AD_ST_SWRAP             0x00000080
98 #define AD_ST_MWRAP             0x000000c0
99 #define AD_SZ_MASK              0x00000030
100 #define AD_SZ_SHIFT             4
101 #define AD_SZ_4K                0x00000000
102 #define AD_SZ_8K                0x00000010
103 #define AD_SZ_16K               0x00000020
104 #define AD_SZ_SZD               0x00000030
105 #define AD_AG32                 0x00000008
106 #define AD_ADDR_ALIGN           0x00000fff
107 #define AD_SZ_BASE              0x00001000      
108
109
110 #define SD_SZ_MASK              0xfffff000
111 #define SD_SG32                 0x00000008
112 #define SD_SZ_ALIGN             0x00000fff
113
114
115 #ifndef _LANGUAGE_ASSEMBLY
116
117 typedef volatile struct _aidmp {
118         uint32  oobselina30;    
119         uint32  oobselina74;    
120         uint32  PAD[6];
121         uint32  oobselinb30;    
122         uint32  oobselinb74;    
123         uint32  PAD[6];
124         uint32  oobselinc30;    
125         uint32  oobselinc74;    
126         uint32  PAD[6];
127         uint32  oobselind30;    
128         uint32  oobselind74;    
129         uint32  PAD[38];
130         uint32  oobselouta30;   
131         uint32  oobselouta74;   
132         uint32  PAD[6];
133         uint32  oobseloutb30;   
134         uint32  oobseloutb74;   
135         uint32  PAD[6];
136         uint32  oobseloutc30;   
137         uint32  oobseloutc74;   
138         uint32  PAD[6];
139         uint32  oobseloutd30;   
140         uint32  oobseloutd74;   
141         uint32  PAD[38];
142         uint32  oobsynca;       
143         uint32  oobseloutaen;   
144         uint32  PAD[6];
145         uint32  oobsyncb;       
146         uint32  oobseloutben;   
147         uint32  PAD[6];
148         uint32  oobsyncc;       
149         uint32  oobseloutcen;   
150         uint32  PAD[6];
151         uint32  oobsyncd;       
152         uint32  oobseloutden;   
153         uint32  PAD[38];
154         uint32  oobaextwidth;   
155         uint32  oobainwidth;    
156         uint32  oobaoutwidth;   
157         uint32  PAD[5];
158         uint32  oobbextwidth;   
159         uint32  oobbinwidth;    
160         uint32  oobboutwidth;   
161         uint32  PAD[5];
162         uint32  oobcextwidth;   
163         uint32  oobcinwidth;    
164         uint32  oobcoutwidth;   
165         uint32  PAD[5];
166         uint32  oobdextwidth;   
167         uint32  oobdinwidth;    
168         uint32  oobdoutwidth;   
169         uint32  PAD[37];
170         uint32  ioctrlset;      
171         uint32  ioctrlclear;    
172         uint32  ioctrl;         
173         uint32  PAD[61];
174         uint32  iostatus;       
175         uint32  PAD[127];
176         uint32  ioctrlwidth;    
177         uint32  iostatuswidth;  
178         uint32  PAD[62];
179         uint32  resetctrl;      
180         uint32  resetstatus;    
181         uint32  resetreadid;    
182         uint32  resetwriteid;   
183         uint32  PAD[60];
184         uint32  errlogctrl;     
185         uint32  errlogdone;     
186         uint32  errlogstatus;   
187         uint32  errlogaddrlo;   
188         uint32  errlogaddrhi;   
189         uint32  errlogid;       
190         uint32  errloguser;     
191         uint32  errlogflags;    
192         uint32  PAD[56];
193         uint32  intstatus;      
194         uint32  PAD[127];
195         uint32  config;         
196         uint32  PAD[63];
197         uint32  itcr;           
198         uint32  PAD[3];
199         uint32  itipooba;       
200         uint32  itipoobb;       
201         uint32  itipoobc;       
202         uint32  itipoobd;       
203         uint32  PAD[4];
204         uint32  itipoobaout;    
205         uint32  itipoobbout;    
206         uint32  itipoobcout;    
207         uint32  itipoobdout;    
208         uint32  PAD[4];
209         uint32  itopooba;       
210         uint32  itopoobb;       
211         uint32  itopoobc;       
212         uint32  itopoobd;       
213         uint32  PAD[4];
214         uint32  itopoobain;     
215         uint32  itopoobbin;     
216         uint32  itopoobcin;     
217         uint32  itopoobdin;     
218         uint32  PAD[4];
219         uint32  itopreset;      
220         uint32  PAD[15];
221         uint32  peripherialid4; 
222         uint32  peripherialid5; 
223         uint32  peripherialid6; 
224         uint32  peripherialid7; 
225         uint32  peripherialid0; 
226         uint32  peripherialid1; 
227         uint32  peripherialid2; 
228         uint32  peripherialid3; 
229         uint32  componentid0;   
230         uint32  componentid1;   
231         uint32  componentid2;   
232         uint32  componentid3;   
233 } aidmp_t;
234
235 #endif 
236
237
238 #define OOB_BUSCONFIG           0x020
239 #define OOB_STATUSA             0x100
240 #define OOB_STATUSB             0x104
241 #define OOB_STATUSC             0x108
242 #define OOB_STATUSD             0x10c
243 #define OOB_ENABLEA0            0x200
244 #define OOB_ENABLEA1            0x204
245 #define OOB_ENABLEA2            0x208
246 #define OOB_ENABLEA3            0x20c
247 #define OOB_ENABLEB0            0x280
248 #define OOB_ENABLEB1            0x284
249 #define OOB_ENABLEB2            0x288
250 #define OOB_ENABLEB3            0x28c
251 #define OOB_ENABLEC0            0x300
252 #define OOB_ENABLEC1            0x304
253 #define OOB_ENABLEC2            0x308
254 #define OOB_ENABLEC3            0x30c
255 #define OOB_ENABLED0            0x380
256 #define OOB_ENABLED1            0x384
257 #define OOB_ENABLED2            0x388
258 #define OOB_ENABLED3            0x38c
259 #define OOB_ITCR                0xf00
260 #define OOB_ITIPOOBA            0xf10
261 #define OOB_ITIPOOBB            0xf14
262 #define OOB_ITIPOOBC            0xf18
263 #define OOB_ITIPOOBD            0xf1c
264 #define OOB_ITOPOOBA            0xf30
265 #define OOB_ITOPOOBB            0xf34
266 #define OOB_ITOPOOBC            0xf38
267 #define OOB_ITOPOOBD            0xf3c
268
269
270 #define AI_OOBSELINA30          0x000
271 #define AI_OOBSELINA74          0x004
272 #define AI_OOBSELINB30          0x020
273 #define AI_OOBSELINB74          0x024
274 #define AI_OOBSELINC30          0x040
275 #define AI_OOBSELINC74          0x044
276 #define AI_OOBSELIND30          0x060
277 #define AI_OOBSELIND74          0x064
278 #define AI_OOBSELOUTA30         0x100
279 #define AI_OOBSELOUTA74         0x104
280 #define AI_OOBSELOUTB30         0x120
281 #define AI_OOBSELOUTB74         0x124
282 #define AI_OOBSELOUTC30         0x140
283 #define AI_OOBSELOUTC74         0x144
284 #define AI_OOBSELOUTD30         0x160
285 #define AI_OOBSELOUTD74         0x164
286 #define AI_OOBSYNCA             0x200
287 #define AI_OOBSELOUTAEN         0x204
288 #define AI_OOBSYNCB             0x220
289 #define AI_OOBSELOUTBEN         0x224
290 #define AI_OOBSYNCC             0x240
291 #define AI_OOBSELOUTCEN         0x244
292 #define AI_OOBSYNCD             0x260
293 #define AI_OOBSELOUTDEN         0x264
294 #define AI_OOBAEXTWIDTH         0x300
295 #define AI_OOBAINWIDTH          0x304
296 #define AI_OOBAOUTWIDTH         0x308
297 #define AI_OOBBEXTWIDTH         0x320
298 #define AI_OOBBINWIDTH          0x324
299 #define AI_OOBBOUTWIDTH         0x328
300 #define AI_OOBCEXTWIDTH         0x340
301 #define AI_OOBCINWIDTH          0x344
302 #define AI_OOBCOUTWIDTH         0x348
303 #define AI_OOBDEXTWIDTH         0x360
304 #define AI_OOBDINWIDTH          0x364
305 #define AI_OOBDOUTWIDTH         0x368
306 #define AI_IOCTRLSET            0x400
307 #define AI_IOCTRLCLEAR          0x404
308 #define AI_IOCTRL               0x408
309 #define AI_IOSTATUS             0x500
310 #define AI_IOCTRLWIDTH          0x700
311 #define AI_IOSTATUSWIDTH        0x704
312 #define AI_RESETCTRL            0x800
313 #define AI_RESETSTATUS          0x804
314 #define AI_RESETREADID          0x808
315 #define AI_RESETWRITEID         0x80c
316 #define AI_ERRLOGCTRL           0xa00
317 #define AI_ERRLOGDONE           0xa04
318 #define AI_ERRLOGSTATUS         0xa08
319 #define AI_ERRLOGADDRLO         0xa0c
320 #define AI_ERRLOGADDRHI         0xa10
321 #define AI_ERRLOGID             0xa14
322 #define AI_ERRLOGUSER           0xa18
323 #define AI_ERRLOGFLAGS          0xa1c
324 #define AI_INTSTATUS            0xa00
325 #define AI_CONFIG               0xe00
326 #define AI_ITCR                 0xf00
327 #define AI_ITIPOOBA             0xf10
328 #define AI_ITIPOOBB             0xf14
329 #define AI_ITIPOOBC             0xf18
330 #define AI_ITIPOOBD             0xf1c
331 #define AI_ITIPOOBAOUT          0xf30
332 #define AI_ITIPOOBBOUT          0xf34
333 #define AI_ITIPOOBCOUT          0xf38
334 #define AI_ITIPOOBDOUT          0xf3c
335 #define AI_ITOPOOBA             0xf50
336 #define AI_ITOPOOBB             0xf54
337 #define AI_ITOPOOBC             0xf58
338 #define AI_ITOPOOBD             0xf5c
339 #define AI_ITOPOOBAIN           0xf70
340 #define AI_ITOPOOBBIN           0xf74
341 #define AI_ITOPOOBCIN           0xf78
342 #define AI_ITOPOOBDIN           0xf7c
343 #define AI_ITOPRESET            0xf90
344 #define AI_PERIPHERIALID4       0xfd0
345 #define AI_PERIPHERIALID5       0xfd4
346 #define AI_PERIPHERIALID6       0xfd8
347 #define AI_PERIPHERIALID7       0xfdc
348 #define AI_PERIPHERIALID0       0xfe0
349 #define AI_PERIPHERIALID1       0xfe4
350 #define AI_PERIPHERIALID2       0xfe8
351 #define AI_PERIPHERIALID3       0xfec
352 #define AI_COMPONENTID0         0xff0
353 #define AI_COMPONENTID1         0xff4
354 #define AI_COMPONENTID2         0xff8
355 #define AI_COMPONENTID3         0xffc
356
357
358 #define AIRC_RESET              1
359
360
361 #define AICFG_OOB               0x00000020
362 #define AICFG_IOS               0x00000010
363 #define AICFG_IOC               0x00000008
364 #define AICFG_TO                0x00000004
365 #define AICFG_ERRL              0x00000002
366 #define AICFG_RST               0x00000001
367
368 #endif