diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
commit | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (patch) | |
tree | a57612d1888735a2ec7972891b68c1ac5ec8faea /drivers/net/wireless/bcm4329/include/sbconfig.h | |
parent | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (diff) |
Diffstat (limited to 'drivers/net/wireless/bcm4329/include/sbconfig.h')
-rw-r--r-- | drivers/net/wireless/bcm4329/include/sbconfig.h | 276 |
1 files changed, 276 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm4329/include/sbconfig.h b/drivers/net/wireless/bcm4329/include/sbconfig.h new file mode 100644 index 00000000000..da18ccbe9ab --- /dev/null +++ b/drivers/net/wireless/bcm4329/include/sbconfig.h | |||
@@ -0,0 +1,276 @@ | |||
1 | /* | ||
2 | * Broadcom SiliconBackplane hardware register 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: sbconfig.h,v 13.67.30.1 2008/05/07 20:17:27 Exp $ | ||
25 | */ | ||
26 | |||
27 | |||
28 | #ifndef _SBCONFIG_H | ||
29 | #define _SBCONFIG_H | ||
30 | |||
31 | |||
32 | #ifndef PAD | ||
33 | #define _PADLINE(line) pad ## line | ||
34 | #define _XSTR(line) _PADLINE(line) | ||
35 | #define PAD _XSTR(__LINE__) | ||
36 | #endif | ||
37 | |||
38 | |||
39 | #define SB_BUS_SIZE 0x10000 | ||
40 | #define SB_BUS_BASE(b) (SI_ENUM_BASE + (b) * SB_BUS_SIZE) | ||
41 | #define SB_BUS_MAXCORES (SB_BUS_SIZE / SI_CORE_SIZE) | ||
42 | |||
43 | |||
44 | #define SBCONFIGOFF 0xf00 | ||
45 | #define SBCONFIGSIZE 256 | ||
46 | |||
47 | #define SBIPSFLAG 0x08 | ||
48 | #define SBTPSFLAG 0x18 | ||
49 | #define SBTMERRLOGA 0x48 | ||
50 | #define SBTMERRLOG 0x50 | ||
51 | #define SBADMATCH3 0x60 | ||
52 | #define SBADMATCH2 0x68 | ||
53 | #define SBADMATCH1 0x70 | ||
54 | #define SBIMSTATE 0x90 | ||
55 | #define SBINTVEC 0x94 | ||
56 | #define SBTMSTATELOW 0x98 | ||
57 | #define SBTMSTATEHIGH 0x9c | ||
58 | #define SBBWA0 0xa0 | ||
59 | #define SBIMCONFIGLOW 0xa8 | ||
60 | #define SBIMCONFIGHIGH 0xac | ||
61 | #define SBADMATCH0 0xb0 | ||
62 | #define SBTMCONFIGLOW 0xb8 | ||
63 | #define SBTMCONFIGHIGH 0xbc | ||
64 | #define SBBCONFIG 0xc0 | ||
65 | #define SBBSTATE 0xc8 | ||
66 | #define SBACTCNFG 0xd8 | ||
67 | #define SBFLAGST 0xe8 | ||
68 | #define SBIDLOW 0xf8 | ||
69 | #define SBIDHIGH 0xfc | ||
70 | |||
71 | |||
72 | |||
73 | #define SBIMERRLOGA 0xea8 | ||
74 | #define SBIMERRLOG 0xeb0 | ||
75 | #define SBTMPORTCONNID0 0xed8 | ||
76 | #define SBTMPORTLOCK0 0xef8 | ||
77 | |||
78 | #ifndef _LANGUAGE_ASSEMBLY | ||
79 | |||
80 | typedef volatile struct _sbconfig { | ||
81 | uint32 PAD[2]; | ||
82 | uint32 sbipsflag; | ||
83 | uint32 PAD[3]; | ||
84 | uint32 sbtpsflag; | ||
85 | uint32 PAD[11]; | ||
86 | uint32 sbtmerrloga; | ||
87 | uint32 PAD; | ||
88 | uint32 sbtmerrlog; | ||
89 | uint32 PAD[3]; | ||
90 | uint32 sbadmatch3; | ||
91 | uint32 PAD; | ||
92 | uint32 sbadmatch2; | ||
93 | uint32 PAD; | ||
94 | uint32 sbadmatch1; | ||
95 | uint32 PAD[7]; | ||
96 | uint32 sbimstate; | ||
97 | uint32 sbintvec; | ||
98 | uint32 sbtmstatelow; | ||
99 | uint32 sbtmstatehigh; | ||
100 | uint32 sbbwa0; | ||
101 | uint32 PAD; | ||
102 | uint32 sbimconfiglow; | ||
103 | uint32 sbimconfighigh; | ||
104 | uint32 sbadmatch0; | ||
105 | uint32 PAD; | ||
106 | uint32 sbtmconfiglow; | ||
107 | uint32 sbtmconfighigh; | ||
108 | uint32 sbbconfig; | ||
109 | uint32 PAD; | ||
110 | uint32 sbbstate; | ||
111 | uint32 PAD[3]; | ||
112 | uint32 sbactcnfg; | ||
113 | uint32 PAD[3]; | ||
114 | uint32 sbflagst; | ||
115 | uint32 PAD[3]; | ||
116 | uint32 sbidlow; | ||
117 | uint32 sbidhigh; | ||
118 | } sbconfig_t; | ||
119 | |||
120 | #endif | ||
121 | |||
122 | |||
123 | #define SBIPS_INT1_MASK 0x3f | ||
124 | #define SBIPS_INT1_SHIFT 0 | ||
125 | #define SBIPS_INT2_MASK 0x3f00 | ||
126 | #define SBIPS_INT2_SHIFT 8 | ||
127 | #define SBIPS_INT3_MASK 0x3f0000 | ||
128 | #define SBIPS_INT3_SHIFT 16 | ||
129 | #define SBIPS_INT4_MASK 0x3f000000 | ||
130 | #define SBIPS_INT4_SHIFT 24 | ||
131 | |||
132 | |||
133 | #define SBTPS_NUM0_MASK 0x3f | ||
134 | #define SBTPS_F0EN0 0x40 | ||
135 | |||
136 | |||
137 | #define SBTMEL_CM 0x00000007 | ||
138 | #define SBTMEL_CI 0x0000ff00 | ||
139 | #define SBTMEL_EC 0x0f000000 | ||
140 | #define SBTMEL_ME 0x80000000 | ||
141 | |||
142 | |||
143 | #define SBIM_PC 0xf | ||
144 | #define SBIM_AP_MASK 0x30 | ||
145 | #define SBIM_AP_BOTH 0x00 | ||
146 | #define SBIM_AP_TS 0x10 | ||
147 | #define SBIM_AP_TK 0x20 | ||
148 | #define SBIM_AP_RSV 0x30 | ||
149 | #define SBIM_IBE 0x20000 | ||
150 | #define SBIM_TO 0x40000 | ||
151 | #define SBIM_BY 0x01800000 | ||
152 | #define SBIM_RJ 0x02000000 | ||
153 | |||
154 | |||
155 | #define SBTML_RESET 0x0001 | ||
156 | #define SBTML_REJ_MASK 0x0006 | ||
157 | #define SBTML_REJ 0x0002 | ||
158 | #define SBTML_TMPREJ 0x0004 | ||
159 | |||
160 | #define SBTML_SICF_SHIFT 16 | ||
161 | |||
162 | |||
163 | #define SBTMH_SERR 0x0001 | ||
164 | #define SBTMH_INT 0x0002 | ||
165 | #define SBTMH_BUSY 0x0004 | ||
166 | #define SBTMH_TO 0x0020 | ||
167 | |||
168 | #define SBTMH_SISF_SHIFT 16 | ||
169 | |||
170 | |||
171 | #define SBBWA_TAB0_MASK 0xffff | ||
172 | #define SBBWA_TAB1_MASK 0xffff | ||
173 | #define SBBWA_TAB1_SHIFT 16 | ||
174 | |||
175 | |||
176 | #define SBIMCL_STO_MASK 0x7 | ||
177 | #define SBIMCL_RTO_MASK 0x70 | ||
178 | #define SBIMCL_RTO_SHIFT 4 | ||
179 | #define SBIMCL_CID_MASK 0xff0000 | ||
180 | #define SBIMCL_CID_SHIFT 16 | ||
181 | |||
182 | |||
183 | #define SBIMCH_IEM_MASK 0xc | ||
184 | #define SBIMCH_TEM_MASK 0x30 | ||
185 | #define SBIMCH_TEM_SHIFT 4 | ||
186 | #define SBIMCH_BEM_MASK 0xc0 | ||
187 | #define SBIMCH_BEM_SHIFT 6 | ||
188 | |||
189 | |||
190 | #define SBAM_TYPE_MASK 0x3 | ||
191 | #define SBAM_AD64 0x4 | ||
192 | #define SBAM_ADINT0_MASK 0xf8 | ||
193 | #define SBAM_ADINT0_SHIFT 3 | ||
194 | #define SBAM_ADINT1_MASK 0x1f8 | ||
195 | #define SBAM_ADINT1_SHIFT 3 | ||
196 | #define SBAM_ADINT2_MASK 0x1f8 | ||
197 | #define SBAM_ADINT2_SHIFT 3 | ||
198 | #define SBAM_ADEN 0x400 | ||
199 | #define SBAM_ADNEG 0x800 | ||
200 | #define SBAM_BASE0_MASK 0xffffff00 | ||
201 | #define SBAM_BASE0_SHIFT 8 | ||
202 | #define SBAM_BASE1_MASK 0xfffff000 | ||
203 | #define SBAM_BASE1_SHIFT 12 | ||
204 | #define SBAM_BASE2_MASK 0xffff0000 | ||
205 | #define SBAM_BASE2_SHIFT 16 | ||
206 | |||
207 | |||
208 | #define SBTMCL_CD_MASK 0xff | ||
209 | #define SBTMCL_CO_MASK 0xf800 | ||
210 | #define SBTMCL_CO_SHIFT 11 | ||
211 | #define SBTMCL_IF_MASK 0xfc0000 | ||
212 | #define SBTMCL_IF_SHIFT 18 | ||
213 | #define SBTMCL_IM_MASK 0x3000000 | ||
214 | #define SBTMCL_IM_SHIFT 24 | ||
215 | |||
216 | |||
217 | #define SBTMCH_BM_MASK 0x3 | ||
218 | #define SBTMCH_RM_MASK 0x3 | ||
219 | #define SBTMCH_RM_SHIFT 2 | ||
220 | #define SBTMCH_SM_MASK 0x30 | ||
221 | #define SBTMCH_SM_SHIFT 4 | ||
222 | #define SBTMCH_EM_MASK 0x300 | ||
223 | #define SBTMCH_EM_SHIFT 8 | ||
224 | #define SBTMCH_IM_MASK 0xc00 | ||
225 | #define SBTMCH_IM_SHIFT 10 | ||
226 | |||
227 | |||
228 | #define SBBC_LAT_MASK 0x3 | ||
229 | #define SBBC_MAX0_MASK 0xf0000 | ||
230 | #define SBBC_MAX0_SHIFT 16 | ||
231 | #define SBBC_MAX1_MASK 0xf00000 | ||
232 | #define SBBC_MAX1_SHIFT 20 | ||
233 | |||
234 | |||
235 | #define SBBS_SRD 0x1 | ||
236 | #define SBBS_HRD 0x2 | ||
237 | |||
238 | |||
239 | #define SBIDL_CS_MASK 0x3 | ||
240 | #define SBIDL_AR_MASK 0x38 | ||
241 | #define SBIDL_AR_SHIFT 3 | ||
242 | #define SBIDL_SYNCH 0x40 | ||
243 | #define SBIDL_INIT 0x80 | ||
244 | #define SBIDL_MINLAT_MASK 0xf00 | ||
245 | #define SBIDL_MINLAT_SHIFT 8 | ||
246 | #define SBIDL_MAXLAT 0xf000 | ||
247 | #define SBIDL_MAXLAT_SHIFT 12 | ||
248 | #define SBIDL_FIRST 0x10000 | ||
249 | #define SBIDL_CW_MASK 0xc0000 | ||
250 | #define SBIDL_CW_SHIFT 18 | ||
251 | #define SBIDL_TP_MASK 0xf00000 | ||
252 | #define SBIDL_TP_SHIFT 20 | ||
253 | #define SBIDL_IP_MASK 0xf000000 | ||
254 | #define SBIDL_IP_SHIFT 24 | ||
255 | #define SBIDL_RV_MASK 0xf0000000 | ||
256 | #define SBIDL_RV_SHIFT 28 | ||
257 | #define SBIDL_RV_2_2 0x00000000 | ||
258 | #define SBIDL_RV_2_3 0x10000000 | ||
259 | |||
260 | |||
261 | #define SBIDH_RC_MASK 0x000f | ||
262 | #define SBIDH_RCE_MASK 0x7000 | ||
263 | #define SBIDH_RCE_SHIFT 8 | ||
264 | #define SBCOREREV(sbidh) \ | ||
265 | ((((sbidh) & SBIDH_RCE_MASK) >> SBIDH_RCE_SHIFT) | ((sbidh) & SBIDH_RC_MASK)) | ||
266 | #define SBIDH_CC_MASK 0x8ff0 | ||
267 | #define SBIDH_CC_SHIFT 4 | ||
268 | #define SBIDH_VC_MASK 0xffff0000 | ||
269 | #define SBIDH_VC_SHIFT 16 | ||
270 | |||
271 | #define SB_COMMIT 0xfd8 | ||
272 | |||
273 | |||
274 | #define SB_VEND_BCM 0x4243 | ||
275 | |||
276 | #endif | ||