4c21d141f34fa90185e1674a6ec341de7f579cae
[openwrt/svn-archive/archive.git] / target / linux / brcm-2.4 / files / arch / mips / bcm947xx / include / bcmdevs1.h
1 /*
2 * Broadcom device-specific manifest constants.
3 *
4 * Copyright 2005, Broadcom Corporation
5 * All Rights Reserved.
6 *
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11 * $Id$
12 */
13
14 #ifndef _BCMDEVS_H
15 #define _BCMDEVS_H
16
17
18 /* Known PCI vendor Id's */
19 #define VENDOR_EPIGRAM 0xfeda
20 #define VENDOR_BROADCOM 0x14e4
21 #define VENDOR_3COM 0x10b7
22 #define VENDOR_NETGEAR 0x1385
23 #define VENDOR_DIAMOND 0x1092
24 #define VENDOR_DELL 0x1028
25 #define VENDOR_HP 0x0e11
26 #define VENDOR_APPLE 0x106b
27
28 /* PCI Device Id's */
29 #define BCM4210_DEVICE_ID 0x1072 /* never used */
30 #define BCM4211_DEVICE_ID 0x4211
31 #define BCM4230_DEVICE_ID 0x1086 /* never used */
32 #define BCM4231_DEVICE_ID 0x4231
33
34 #define BCM4410_DEVICE_ID 0x4410 /* bcm44xx family pci iline */
35 #define BCM4430_DEVICE_ID 0x4430 /* bcm44xx family cardbus iline */
36 #define BCM4412_DEVICE_ID 0x4412 /* bcm44xx family pci enet */
37 #define BCM4432_DEVICE_ID 0x4432 /* bcm44xx family cardbus enet */
38
39 #define BCM3352_DEVICE_ID 0x3352 /* bcm3352 device id */
40 #define BCM3360_DEVICE_ID 0x3360 /* bcm3360 device id */
41
42 #define EPI41210_DEVICE_ID 0xa0fa /* bcm4210 */
43 #define EPI41230_DEVICE_ID 0xa10e /* bcm4230 */
44
45 #define BCM47XX_ILINE_ID 0x4711 /* 47xx iline20 */
46 #define BCM47XX_V90_ID 0x4712 /* 47xx v90 codec */
47 #define BCM47XX_ENET_ID 0x4713 /* 47xx enet */
48 #define BCM47XX_EXT_ID 0x4714 /* 47xx external i/f */
49 #define BCM47XX_USB_ID 0x4715 /* 47xx usb */
50 #define BCM47XX_USBH_ID 0x4716 /* 47xx usb host */
51 #define BCM47XX_USBD_ID 0x4717 /* 47xx usb device */
52 #define BCM47XX_IPSEC_ID 0x4718 /* 47xx ipsec */
53 #define BCM47XX_ROBO_ID 0x4719 /* 47xx/53xx roboswitch core */
54 #define BCM47XX_USB20H_ID 0x471a /* 47xx usb 2.0 host */
55 #define BCM47XX_USB20D_ID 0x471b /* 47xx usb 2.0 device */
56
57 #define BCM4710_DEVICE_ID 0x4710 /* 4710 primary function 0 */
58
59 #define BCM4610_DEVICE_ID 0x4610 /* 4610 primary function 0 */
60 #define BCM4610_ILINE_ID 0x4611 /* 4610 iline100 */
61 #define BCM4610_V90_ID 0x4612 /* 4610 v90 codec */
62 #define BCM4610_ENET_ID 0x4613 /* 4610 enet */
63 #define BCM4610_EXT_ID 0x4614 /* 4610 external i/f */
64 #define BCM4610_USB_ID 0x4615 /* 4610 usb */
65
66 #define BCM4402_DEVICE_ID 0x4402 /* 4402 primary function 0 */
67 #define BCM4402_ENET_ID 0x4402 /* 4402 enet */
68 #define BCM4402_V90_ID 0x4403 /* 4402 v90 codec */
69 #define BCM4401_ENET_ID 0x170c /* 4401b0 production enet cards */
70
71 #define BCM4301_DEVICE_ID 0x4301 /* 4301 primary function 0 */
72 #define BCM4301_D11B_ID 0x4301 /* 4301 802.11b */
73
74 #define BCM4307_DEVICE_ID 0x4307 /* 4307 primary function 0 */
75 #define BCM4307_V90_ID 0x4305 /* 4307 v90 codec */
76 #define BCM4307_ENET_ID 0x4306 /* 4307 enet */
77 #define BCM4307_D11B_ID 0x4307 /* 4307 802.11b */
78
79 #define BCM4306_DEVICE_ID 0x4306 /* 4306 chipcommon chipid */
80 #define BCM4306_D11G_ID 0x4320 /* 4306 802.11g */
81 #define BCM4306_D11G_ID2 0x4325
82 #define BCM4306_D11A_ID 0x4321 /* 4306 802.11a */
83 #define BCM4306_UART_ID 0x4322 /* 4306 uart */
84 #define BCM4306_V90_ID 0x4323 /* 4306 v90 codec */
85 #define BCM4306_D11DUAL_ID 0x4324 /* 4306 dual A+B */
86
87 #define BCM4309_PKG_ID 1 /* 4309 package id */
88
89 #define BCM4303_D11B_ID 0x4303 /* 4303 802.11b */
90 #define BCM4303_PKG_ID 2 /* 4303 package id */
91
92 #define BCM4310_DEVICE_ID 0x4310 /* 4310 chipcommon chipid */
93 #define BCM4310_D11B_ID 0x4311 /* 4310 802.11b */
94 #define BCM4310_UART_ID 0x4312 /* 4310 uart */
95 #define BCM4310_ENET_ID 0x4313 /* 4310 enet */
96 #define BCM4310_USB_ID 0x4315 /* 4310 usb */
97
98 #define BCMGPRS_UART_ID 0x4333 /* Uart id used by 4306/gprs card */
99 #define BCMGPRS2_UART_ID 0x4344 /* Uart id used by 4306/gprs card */
100
101
102 #define BCM4704_DEVICE_ID 0x4704 /* 4704 chipcommon chipid */
103 #define BCM4704_ENET_ID 0x4706 /* 4704 enet (Use 47XX_ENET_ID instead!) */
104
105 #define BCM4317_DEVICE_ID 0x4317 /* 4317 chip common chipid */
106
107 #define BCM4318_DEVICE_ID 0x4318 /* 4318 chip common chipid */
108 #define BCM4318_D11G_ID 0x4318 /* 4318 801.11b/g id */
109 #define BCM4318_D11DUAL_ID 0x4319 /* 4318 801.11a/b/g id */
110 #define BCM4318_JTAGM_ID 0x4331 /* 4318 jtagm device id */
111
112 #define FPGA_JTAGM_ID 0x4330 /* ??? */
113
114 /* Address map */
115 #define BCM4710_SDRAM 0x00000000 /* Physical SDRAM */
116 #define BCM4710_PCI_MEM 0x08000000 /* Host Mode PCI memory access space (64 MB) */
117 #define BCM4710_PCI_CFG 0x0c000000 /* Host Mode PCI configuration space (64 MB) */
118 #define BCM4710_PCI_DMA 0x40000000 /* Client Mode PCI memory access space (1 GB) */
119 #define BCM4710_SDRAM_SWAPPED 0x10000000 /* Byteswapped Physical SDRAM */
120 #define BCM4710_ENUM 0x18000000 /* Beginning of core enumeration space */
121
122 /* Core register space */
123 #define BCM4710_REG_SDRAM 0x18000000 /* SDRAM core registers */
124 #define BCM4710_REG_ILINE20 0x18001000 /* InsideLine20 core registers */
125 #define BCM4710_REG_EMAC0 0x18002000 /* Ethernet MAC 0 core registers */
126 #define BCM4710_REG_CODEC 0x18003000 /* Codec core registers */
127 #define BCM4710_REG_USB 0x18004000 /* USB core registers */
128 #define BCM4710_REG_PCI 0x18005000 /* PCI core registers */
129 #define BCM4710_REG_MIPS 0x18006000 /* MIPS core registers */
130 #define BCM4710_REG_EXTIF 0x18007000 /* External Interface core registers */
131 #define BCM4710_REG_EMAC1 0x18008000 /* Ethernet MAC 1 core registers */
132
133 #define BCM4710_EXTIF 0x1f000000 /* External Interface base address */
134 #define BCM4710_PCMCIA_MEM 0x1f000000 /* External Interface PCMCIA memory access */
135 #define BCM4710_PCMCIA_IO 0x1f100000 /* PCMCIA I/O access */
136 #define BCM4710_PCMCIA_CONF 0x1f200000 /* PCMCIA configuration */
137 #define BCM4710_PROG 0x1f800000 /* Programable interface */
138 #define BCM4710_FLASH 0x1fc00000 /* Flash */
139
140 #define BCM4710_EJTAG 0xff200000 /* MIPS EJTAG space (2M) */
141
142 #define BCM4710_UART (BCM4710_REG_EXTIF + 0x00000300)
143
144 #define BCM4710_EUART (BCM4710_EXTIF + 0x00800000)
145 #define BCM4710_LED (BCM4710_EXTIF + 0x00900000)
146
147 #define BCM4712_DEVICE_ID 0x4712 /* 4712 chipcommon chipid */
148 #define BCM4712_MIPS_ID 0x4720 /* 4712 base devid */
149 #define BCM4712LARGE_PKG_ID 0 /* 340pin 4712 package id */
150 #define BCM4712SMALL_PKG_ID 1 /* 200pin 4712 package id */
151 #define BCM4712MID_PKG_ID 2 /* 225pin 4712 package id */
152
153 #define SDIOH_FPGA_ID 0x4380 /* sdio host fpga */
154
155 #define BCM5365_DEVICE_ID 0x5365 /* 5365 chipcommon chipid */
156 #define BCM5350_DEVICE_ID 0x5350 /* bcm5350 chipcommon chipid */
157 #define BCM5352_DEVICE_ID 0x5352 /* bcm5352 chipcommon chipid */
158
159 #define BCM4320_DEVICE_ID 0x4320 /* bcm4320 chipcommon chipid */
160
161 /* PCMCIA vendor Id's */
162
163 #define VENDOR_BROADCOM_PCMCIA 0x02d0
164
165 /* SDIO vendor Id's */
166 #define VENDOR_BROADCOM_SDIO 0x00BF
167
168
169 /* boardflags */
170 #define BFL_BTCOEXIST 0x0001 /* This board implements Bluetooth coexistance */
171 #define BFL_PACTRL 0x0002 /* This board has gpio 9 controlling the PA */
172 #define BFL_AIRLINEMODE 0x0004 /* This board implements gpio13 radio disable indication */
173 #define BFL_ENETROBO 0x0010 /* This board has robo switch or core */
174 #define BFL_CCKHIPWR 0x0040 /* Can do high-power CCK transmission */
175 #define BFL_ENETADM 0x0080 /* This board has ADMtek switch */
176 #define BFL_ENETVLAN 0x0100 /* This board has vlan capability */
177 #define BFL_AFTERBURNER 0x0200 /* This board supports Afterburner mode */
178 #define BFL_NOPCI 0x0400 /* This board leaves PCI floating */
179 #define BFL_FEM 0x0800 /* This board supports the Front End Module */
180 #define BFL_EXTLNA 0x1000 /* This board has an external LNA */
181 #define BFL_HGPA 0x2000 /* This board has a high gain PA */
182 #define BFL_BTCMOD 0x4000 /* This board' BTCOEXIST is in the alternate gpios */
183 #define BFL_ALTIQ 0x8000 /* Alternate I/Q settings */
184
185 /* board specific GPIO assignment, gpio 0-3 are also customer-configurable led */
186 #define BOARD_GPIO_HWRAD_B 0x010 /* bit 4 is HWRAD input on 4301 */
187 #define BOARD_GPIO_BTCMOD_IN 0x010 /* bit 4 is the alternate BT Coexistance Input */
188 #define BOARD_GPIO_BTCMOD_OUT 0x020 /* bit 5 is the alternate BT Coexistance Out */
189 #define BOARD_GPIO_BTC_IN 0x080 /* bit 7 is BT Coexistance Input */
190 #define BOARD_GPIO_BTC_OUT 0x100 /* bit 8 is BT Coexistance Out */
191 #define BOARD_GPIO_PACTRL 0x200 /* bit 9 controls the PA on new 4306 boards */
192 #define PCI_CFG_GPIO_SCS 0x10 /* PCI config space bit 4 for 4306c0 slow clock source */
193 #define PCI_CFG_GPIO_HWRAD 0x20 /* PCI config space GPIO 13 for hw radio disable */
194 #define PCI_CFG_GPIO_XTAL 0x40 /* PCI config space GPIO 14 for Xtal powerup */
195 #define PCI_CFG_GPIO_PLL 0x80 /* PCI config space GPIO 15 for PLL powerdown */
196
197 /* Bus types */
198 #define SB_BUS 0 /* Silicon Backplane */
199 #define PCI_BUS 1 /* PCI target */
200 #define PCMCIA_BUS 2 /* PCMCIA target */
201 #define SDIO_BUS 3 /* SDIO target */
202 #define JTAG_BUS 4 /* JTAG */
203
204 /* Allows optimization for single-bus support */
205 #ifdef BCMBUSTYPE
206 #define BUSTYPE(bus) (BCMBUSTYPE)
207 #else
208 #define BUSTYPE(bus) (bus)
209 #endif
210
211 /* power control defines */
212 #define PLL_DELAY 150 /* us pll on delay */
213 #define FREF_DELAY 200 /* us fref change delay */
214 #define MIN_SLOW_CLK 32 /* us Slow clock period */
215 #define XTAL_ON_DELAY 1000 /* us crystal power-on delay */
216
217 /* Reference Board Types */
218
219 #define BU4710_BOARD 0x0400
220 #define VSIM4710_BOARD 0x0401
221 #define QT4710_BOARD 0x0402
222
223 #define BU4610_BOARD 0x0403
224 #define VSIM4610_BOARD 0x0404
225
226 #define BU4307_BOARD 0x0405
227 #define BCM94301CB_BOARD 0x0406
228 #define BCM94301PC_BOARD 0x0406 /* Pcmcia 5v card */
229 #define BCM94301MP_BOARD 0x0407
230 #define BCM94307MP_BOARD 0x0408
231 #define BCMAP4307_BOARD 0x0409
232
233 #define BU4309_BOARD 0x040a
234 #define BCM94309CB_BOARD 0x040b
235 #define BCM94309MP_BOARD 0x040c
236 #define BCM4309AP_BOARD 0x040d
237
238 #define BCM94302MP_BOARD 0x040e
239
240 #define VSIM4310_BOARD 0x040f
241 #define BU4711_BOARD 0x0410
242 #define BCM94310U_BOARD 0x0411
243 #define BCM94310AP_BOARD 0x0412
244 #define BCM94310MP_BOARD 0x0414
245
246 #define BU4306_BOARD 0x0416
247 #define BCM94306CB_BOARD 0x0417
248 #define BCM94306MP_BOARD 0x0418
249
250 #define BCM94710D_BOARD 0x041a
251 #define BCM94710R1_BOARD 0x041b
252 #define BCM94710R4_BOARD 0x041c
253 #define BCM94710AP_BOARD 0x041d
254
255
256 #define BU2050_BOARD 0x041f
257
258
259 #define BCM94309G_BOARD 0x0421
260
261 #define BCM94301PC3_BOARD 0x0422 /* Pcmcia 3.3v card */
262
263 #define BU4704_BOARD 0x0423
264 #define BU4702_BOARD 0x0424
265
266 #define BCM94306PC_BOARD 0x0425 /* pcmcia 3.3v 4306 card */
267
268 #define BU4317_BOARD 0x0426
269
270
271 #define BCM94702MN_BOARD 0x0428
272
273 /* BCM4702 1U CompactPCI Board */
274 #define BCM94702CPCI_BOARD 0x0429
275
276 /* BCM4702 with BCM95380 VLAN Router */
277 #define BCM95380RR_BOARD 0x042a
278
279 /* cb4306 with SiGe PA */
280 #define BCM94306CBSG_BOARD 0x042b
281
282 /* mp4301 with 2050 radio */
283 #define BCM94301MPL_BOARD 0x042c
284
285 /* cb4306 with SiGe PA */
286 #define PCSG94306_BOARD 0x042d
287
288 /* bu4704 with sdram */
289 #define BU4704SD_BOARD 0x042e
290
291 /* Dual 11a/11g Router */
292 #define BCM94704AGR_BOARD 0x042f
293
294 /* 11a-only minipci */
295 #define BCM94308MP_BOARD 0x0430
296
297
298
299 /* BCM94317 boards */
300 #define BCM94317CB_BOARD 0x0440
301 #define BCM94317MP_BOARD 0x0441
302 #define BCM94317PCMCIA_BOARD 0x0442
303 #define BCM94317SDIO_BOARD 0x0443
304
305 #define BU4712_BOARD 0x0444
306 #define BU4712SD_BOARD 0x045d
307 #define BU4712L_BOARD 0x045f
308
309 /* BCM4712 boards */
310 #define BCM94712AP_BOARD 0x0445
311 #define BCM94712P_BOARD 0x0446
312
313 /* BCM4318 boards */
314 #define BU4318_BOARD 0x0447
315 #define CB4318_BOARD 0x0448
316 #define MPG4318_BOARD 0x0449
317 #define MP4318_BOARD 0x044a
318 #define SD4318_BOARD 0x044b
319
320 /* BCM63XX boards */
321 #define BCM96338_BOARD 0x6338
322 #define BCM96345_BOARD 0x6345
323 #define BCM96348_BOARD 0x6348
324
325 /* Another mp4306 with SiGe */
326 #define BCM94306P_BOARD 0x044c
327
328 /* CF-like 4317 modules */
329 #define BCM94317CF_BOARD 0x044d
330
331 /* mp4303 */
332 #define BCM94303MP_BOARD 0x044e
333
334 /* mpsgh4306 */
335 #define BCM94306MPSGH_BOARD 0x044f
336
337 /* BRCM 4306 w/ Front End Modules */
338 #define BCM94306MPM 0x0450
339 #define BCM94306MPL 0x0453
340
341 /* 4712agr */
342 #define BCM94712AGR_BOARD 0x0451
343
344 /* The real CF 4317 board */
345 #define CFI4317_BOARD 0x0452
346
347 /* pcmcia 4303 */
348 #define PC4303_BOARD 0x0454
349
350 /* 5350K */
351 #define BCM95350K_BOARD 0x0455
352
353 /* 5350R */
354 #define BCM95350R_BOARD 0x0456
355
356 /* 4306mplna */
357 #define BCM94306MPLNA_BOARD 0x0457
358
359 /* 4320 boards */
360 #define BU4320_BOARD 0x0458
361 #define BU4320S_BOARD 0x0459
362 #define BCM94320PH_BOARD 0x045a
363
364 /* 4306mph */
365 #define BCM94306MPH_BOARD 0x045b
366
367 /* 4306pciv */
368 #define BCM94306PCIV_BOARD 0x045c
369
370 #define BU4712SD_BOARD 0x045d
371
372 #define BCM94320PFLSH_BOARD 0x045e
373
374 #define BU4712L_BOARD 0x045f
375 #define BCM94712LGR_BOARD 0x0460
376 #define BCM94320R_BOARD 0x0461
377
378 #define BU5352_BOARD 0x0462
379
380 #define BCM94318MPGH_BOARD 0x0463
381
382
383 #define BCM95352GR_BOARD 0x0467
384
385 /* bcm95351agr */
386 #define BCM95351AGR_BOARD 0x0470
387
388 /* # of GPIO pins */
389 #define GPIO_NUMPINS 16
390
391 #endif /* _BCMDEVS_H */