get rid of $Id$ - it has never helped us and it has broken too many patches ;)
[openwrt.git] / target / linux / brcm-2.4 / files / arch / mips / bcm947xx / include / bcmdevs.h
1 /*
2  * Broadcom device-specific manifest constants.
3  *
4  * Copyright 2007, 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  */
12
13 #ifndef _BCMDEVS_H
14 #define _BCMDEVS_H
15
16 /* PCI vendor IDs */
17 #define VENDOR_EPIGRAM          0xfeda
18 #define VENDOR_BROADCOM         0x14e4
19 #define VENDOR_3COM             0x10b7
20 #define VENDOR_NETGEAR          0x1385
21 #define VENDOR_DIAMOND          0x1092
22 #define VENDOR_DELL             0x1028
23 #define VENDOR_HP               0x0e11
24 #define VENDOR_APPLE            0x106b
25 #define VENDOR_SI_IMAGE         0x1095          /* Silicon Image, used by Arasan SDIO Host */
26 #define VENDOR_BUFFALO          0x1154          /* Buffalo vendor id */
27 #define VENDOR_TI               0x104c          /* Texas Instruments */
28
29 /* PCMCIA vendor IDs */
30 #define VENDOR_BROADCOM_PCMCIA  0x02d0
31
32 /* SDIO vendor IDs */
33 #define VENDOR_BROADCOM_SDIO    0x00BF
34
35 /* PCI Device IDs */
36 #define BCM4210_DEVICE_ID       0x1072          /* never used */
37 #define BCM4230_DEVICE_ID       0x1086          /* never used */
38 #define BCM4401_ENET_ID         0x170c          /* 4401b0 production enet cards */
39 #define BCM3352_DEVICE_ID       0x3352          /* bcm3352 device id */
40 #define BCM3360_DEVICE_ID       0x3360          /* bcm3360 device id */
41 #define BCM4211_DEVICE_ID       0x4211
42 #define BCM4231_DEVICE_ID       0x4231
43 #define BCM4303_D11B_ID         0x4303          /* 4303 802.11b */
44 #define BCM4311_D11G_ID         0x4311          /* 4311 802.11b/g id */
45 #define BCM4311_D11DUAL_ID      0x4312          /* 4311 802.11a/b/g id */
46 #define BCM4311_D11A_ID         0x4313          /* 4311 802.11a id */
47 #define BCM4328_D11DUAL_ID      0x4314          /* 4328 802.11a/g id */
48 #define BCM4328_D11G_ID         0x4315          /* 4328 802.11g 2.4Ghz band id */
49 #define BCM4328_D11A_ID         0x4316          /* 4328 802.11a 5Ghz band id */
50 #define BCM4318_D11G_ID         0x4318          /* 4318 802.11b/g id */
51 #define BCM4318_D11DUAL_ID      0x4319          /* 4318 802.11a/b/g id */
52 #define BCM4318_D11A_ID         0x431a          /* 4318 802.11a id */
53 #define BCM4325_D11DUAL_ID      0x431b          /* 4325 802.11a/g id */
54 #define BCM4325_D11G_ID         0x431c          /* 4325 802.11g 2.4Ghz band id */
55 #define BCM4325_D11A_ID         0x431d          /* 4325 802.11a 5Ghz band id */
56 #define BCM4306_D11G_ID         0x4320          /* 4306 802.11g */
57 #define BCM4306_D11A_ID         0x4321          /* 4306 802.11a */
58 #define BCM4306_UART_ID         0x4322          /* 4306 uart */
59 #define BCM4306_V90_ID          0x4323          /* 4306 v90 codec */
60 #define BCM4306_D11DUAL_ID      0x4324          /* 4306 dual A+B */
61 #define BCM4306_D11G_ID2        0x4325          
62 #define BCM4321_D11N_ID         0x4328          /* 4321 802.11n dualband id */
63 #define BCM4321_D11N2G_ID       0x4329          /* 4321 802.11n 2.4Ghz band id */
64 #define BCM4321_D11N5G_ID       0x432a          /* 4321 802.11n 5Ghz band id */
65 #define BCMGPRS_UART_ID         0x4333          /* Uart id used by 4306/gprs card */
66 #define BCMGPRS2_UART_ID        0x4344          /* Uart id used by 4306/gprs card */
67 #define FPGA_JTAGM_ID           0x43f0          /* FPGA jtagm device id */
68 #define BCM_JTAGM_ID            0x43f1          /* BCM jtagm device id */
69 #define SDIOH_FPGA_ID           0x43f2          /* sdio host fpga */
70 #define BCM_SDIOH_ID            0x43f3          /* BCM sdio host id */
71 #define SDIOD_FPGA_ID           0x43f4          /* sdio device fpga */
72 #define SPIH_FPGA_ID            0x43f5          /* PCI SPI Host Controller FPGA */
73 #define MIMO_FPGA_ID            0x43f8          /* FPGA mimo minimacphy device id */
74 #define BCM4402_ENET_ID         0x4402          /* 4402 enet */
75 #define BCM4402_V90_ID          0x4403          /* 4402 v90 codec */
76 #define BCM4410_DEVICE_ID       0x4410          /* bcm44xx family pci iline */
77 #define BCM4412_DEVICE_ID       0x4412          /* bcm44xx family pci enet */
78 #define BCM4430_DEVICE_ID       0x4430          /* bcm44xx family cardbus iline */
79 #define BCM4432_DEVICE_ID       0x4432          /* bcm44xx family cardbus enet */
80 #define BCM4704_ENET_ID         0x4706          /* 4704 enet (Use 47XX_ENET_ID instead!) */
81 #define BCM4710_DEVICE_ID       0x4710          /* 4710 primary function 0 */
82 #define BCM47XX_ILINE_ID        0x4711          /* 47xx iline20 */
83 #define BCM47XX_V90_ID          0x4712          /* 47xx v90 codec */
84 #define BCM47XX_ENET_ID         0x4713          /* 47xx enet */
85 #define BCM47XX_EXT_ID          0x4714          /* 47xx external i/f */
86 #define BCM47XX_USB_ID          0x4715          /* 47xx usb */
87 #define BCM47XX_USBH_ID         0x4716          /* 47xx usb host */
88 #define BCM47XX_USBD_ID         0x4717          /* 47xx usb device */
89 #define BCM47XX_IPSEC_ID        0x4718          /* 47xx ipsec */
90 #define BCM47XX_ROBO_ID         0x4719          /* 47xx/53xx roboswitch core */
91 #define BCM47XX_USB20H_ID       0x471a          /* 47xx usb 2.0 host */
92 #define BCM47XX_USB20D_ID       0x471b          /* 47xx usb 2.0 device */
93 #define BCM47XX_ATA100_ID       0x471d          /* 47xx parallel ATA */
94 #define BCM47XX_SATAXOR_ID      0x471e          /* 47xx serial ATA & XOR DMA */
95 #define BCM47XX_GIGETH_ID       0x471f          /* 47xx GbE (5700) */
96 #define BCM4712_MIPS_ID         0x4720          /* 4712 base devid */
97 #define BCM47XX_SMBUS_EMU_ID    0x47fe          /* 47xx emulated SMBus device */
98 #define BCM47XX_XOR_EMU_ID      0x47ff          /* 47xx emulated XOR engine */
99 #define EPI41210_DEVICE_ID      0xa0fa          /* bcm4210 */
100 #define EPI41230_DEVICE_ID      0xa10e          /* bcm4230 */
101 #define JINVANI_SDIOH_ID        0x4743          /* Jinvani SDIO Gold Host */
102 #define BCM27XX_SDIOH_ID        0x2702          /* BCM27xx Standard SDIO Host */
103 #define PCIXX21_FLASHMEDIA_ID   0x803b          /* TI PCI xx21 Standard Host Controller */
104 #define PCIXX21_SDIOH_ID        0x803c          /* TI PCI xx21 Standard Host Controller */
105
106 /* Chip IDs */
107 #define BCM4710_CHIP_ID         0x4710          /* 4710 chipid returned by sb_chip() */
108 #define BCM4402_CHIP_ID         0x4402          /* 4402 chipid */
109 #define BCM4306_CHIP_ID         0x4306          /* 4306 chipcommon chipid */
110 #define BCM4311_CHIP_ID         0x4311          /* 4311 PCIe 802.11a/b/g */
111 #define BCM4704_CHIP_ID         0x4704          /* 4704 chipcommon chipid */
112 #define BCM4312_CHIP_ID         0x4312          /* 4312 chip common chipid */
113 #define BCM4318_CHIP_ID         0x4318          /* 4318 chip common chipid */
114 #define BCM4321_CHIP_ID         0x4321          /* 4321 chip common chipid */
115 #define BCM4328_CHIP_ID         0x4328          /* 4328 chip common chipid */
116 #define BCM4325_CHIP_ID         0x4325          /* 4325 chip common chipid */
117 #define BCM4712_CHIP_ID         0x4712          /* 4712 chipcommon chipid */
118 #define BCM5365_CHIP_ID         0x5365          /* 5365 chipcommon chipid */
119 #define BCM5350_CHIP_ID         0x5350          /* bcm5350 chipcommon chipid */
120 #define BCM5352_CHIP_ID         0x5352          /* bcm5352 chipcommon chipid */
121 #define BCM5354_CHIP_ID         0x5354          /* bcm5354 chipcommon chipid */
122 #define BCM4320_CHIP_ID         0x4320          /* bcm4320 chipcommon chipid */
123 #define BCM4785_CHIP_ID         0x4785          /* 4785 chipcommon chipid */
124
125 /* Package IDs */
126 #define BCM4303_PKG_ID          2               /* 4303 package id */
127 #define BCM4309_PKG_ID          1               /* 4309 package id */
128 #define BCM4712LARGE_PKG_ID     0               /* 340pin 4712 package id */
129 #define BCM4712SMALL_PKG_ID     1               /* 200pin 4712 package id */
130 #define BCM4712MID_PKG_ID       2               /* 225pin 4712 package id */
131 #define BCM4328USBD11G_PKG_ID   2               /* 4328 802.11g USB package id */
132 #define BCM4328USBDUAL_PKG_ID   3               /* 4328 802.11a/g USB package id */
133 #define BCM4328SDIOD11G_PKG_ID  4               /* 4328 802.11g SDIO package id */
134 #define BCM4328SDIODUAL_PKG_ID  5               /* 4328 802.11a/g SDIO package id */
135 #define BCM5354E_PKG_ID         1               /* 5354E package id */
136 #define HDLSIM5350_PKG_ID       1               /* HDL simulator package id for a 5350 */
137 #define HDLSIM_PKG_ID           14              /* HDL simulator package id */
138 #define HWSIM_PKG_ID            15              /* Hardware simulator package id */
139
140 #define PCIXX21_FLASHMEDIA0_ID  0x8033          /* TI PCI xx21 Standard Host Controller */
141 #define PCIXX21_SDIOH0_ID       0x8034          /* TI PCI xx21 Standard Host Controller */
142 /* boardflags */
143 #define BFL_BTCOEXIST           0x00000001      /* This board implements Bluetooth coexistance */
144 #define BFL_PACTRL              0x00000002      /* This board has gpio 9 controlling the PA */
145 #define BFL_AIRLINEMODE 0x00000004      /* This board implements gpio13 radio disable indication */
146 #define BFL_ADCDIV              0x00000008      /* This board has the rssi ADC divider */
147 #define BFL_ENETROBO            0x00000010      /* This board has robo switch or core */
148 #define BFL_NOPLLDOWN   0x00000020      /* Not ok to power down the chip pll and oscillator */
149 #define BFL_CCKHIPWR            0x00000040      /* Can do high-power CCK transmission */
150 #define BFL_ENETADM             0x00000080      /* This board has ADMtek switch */
151 #define BFL_ENETVLAN            0x00000100      /* This board has vlan capability */
152 #define BFL_AFTERBURNER         0x00000200      /* This board supports Afterburner mode */
153 #define BFL_NOPCI               0x00000400      /* This board leaves PCI floating */
154 #define BFL_FEM                 0x00000800  /* This board supports the Front End Module */
155 #define BFL_EXTLNA              0x00001000      /* This board has an external LNA */
156 #define BFL_HGPA                0x00002000      /* This board has a high gain PA */
157 #define BFL_BTCMOD      0x00004000      /* This board' BTCOEXIST is in the alternate gpios */
158 #define BFL_ALTIQ               0x00008000      /* Alternate I/Q settings */
159 #define BFL_NOPA        0x00010000      /* This board has no PA */
160 #define BFL_RSSIINV             0x00020000      /* This board's RSSI uses positive slope */
161 #define BFL_PAREF               0x00040000      /* This board uses the PARef LDO */
162 #define BFL_3TSWITCH    0x00080000      /* This board uses a triple throw switch shared with BT */
163 #define BFL_PHASESHIFTER        0x00100000      /* This board can support phase shifter */
164 #define BFL_BUCKBOOST   0x00200000      /* This board has buck/booster */
165 /* boardflags2 */
166 #define BFL2_RXBB_INT_REG_DIS   0x00000001      /* This board has an external rxbb regulator */
167 #define BFL2_DEPRECIATED_STUB   0x00000002      /* This board flag is depreciated */
168 #define BFL2_TXPWRCTRL_EN       0x00000004      /* This board permits enabling TX Power Control */
169 #define BFL2_2X4_DIV            0x00000008      /* This board supports the 2X4 diversity switch */
170 #define BFL2_5G_PWRGAIN         0x00000010      /* This board supports 5G band power gain */
171 #define BFL2_PCIEWAR_OVR        0x00000020      /* This board overrides ASPM and Clkreq settings */
172 #define BFL2_CAESERS_BRD        0x00000040      /* This board is Dell Caeser's brd (unused by sw) */
173
174 /* board specific GPIO assignment, gpio 0-3 are also customer-configurable led */
175 #define BOARD_GPIO_BTCMOD_IN    0x010   /* bit 4 is the alternate BT Coexistance Input */
176 #define BOARD_GPIO_BTCMOD_OUT   0x020   /* bit 5 is the alternate BT Coexistance Out */
177 #define BOARD_GPIO_BTC_IN       0x080   /* bit 7 is BT Coexistance Input */
178 #define BOARD_GPIO_BTC_OUT      0x100   /* bit 8 is BT Coexistance Out */
179 #define BOARD_GPIO_PACTRL       0x200   /* bit 9 controls the PA on new 4306 boards */
180 #define BOARD_GPIO_ANT0_SEL     0x100   /* With BFL2_2X4_DIV */
181 #define BOARD_GPIO_ANT1_SEL     0x200   /* With BFL2_2X4_DIV */
182
183 #define PCI_CFG_GPIO_SCS        0x10    /* PCI config space bit 4 for 4306c0 slow clock source */
184 #define PCI_CFG_GPIO_HWRAD      0x20    /* PCI config space GPIO 13 for hw radio disable */
185 #define PCI_CFG_GPIO_XTAL       0x40    /* PCI config space GPIO 14 for Xtal powerup */
186 #define PCI_CFG_GPIO_PLL        0x80    /* PCI config space GPIO 15 for PLL powerdown */
187
188 /* power control defines */
189 #define PLL_DELAY               150             /* us pll on delay */
190 #define FREF_DELAY              200             /* us fref change delay */
191 #define MIN_SLOW_CLK            32              /* us Slow clock period */
192 #define XTAL_ON_DELAY           1000            /* us crystal power-on delay */
193
194 /* Reference Board Types */
195 #define BU4710_BOARD            0x0400
196 #define VSIM4710_BOARD          0x0401
197 #define QT4710_BOARD            0x0402
198
199 #define BU4309_BOARD            0x040a
200 #define BCM94309CB_BOARD        0x040b
201 #define BCM94309MP_BOARD        0x040c
202 #define BCM4309AP_BOARD         0x040d
203
204 #define BCM94302MP_BOARD        0x040e
205
206 #define BU4306_BOARD            0x0416
207 #define BCM94306CB_BOARD        0x0417
208 #define BCM94306MP_BOARD        0x0418
209
210 #define BCM94710D_BOARD         0x041a
211 #define BCM94710R1_BOARD        0x041b
212 #define BCM94710R4_BOARD        0x041c
213 #define BCM94710AP_BOARD        0x041d
214
215 #define BU2050_BOARD            0x041f
216
217
218 #define BCM94309G_BOARD         0x0421
219
220 #define BU4704_BOARD            0x0423
221 #define BU4702_BOARD            0x0424
222
223 #define BCM94306PC_BOARD        0x0425          /* pcmcia 3.3v 4306 card */
224
225
226 #define BCM94702MN_BOARD        0x0428
227
228 /* BCM4702 1U CompactPCI Board */
229 #define BCM94702CPCI_BOARD      0x0429
230
231 /* BCM4702 with BCM95380 VLAN Router */
232 #define BCM95380RR_BOARD        0x042a
233
234 /* cb4306 with SiGe PA */
235 #define BCM94306CBSG_BOARD      0x042b
236
237 /* cb4306 with SiGe PA */
238 #define PCSG94306_BOARD         0x042d
239
240 /* bu4704 with sdram */
241 #define BU4704SD_BOARD          0x042e
242
243 /* Dual 11a/11g Router */
244 #define BCM94704AGR_BOARD       0x042f
245
246 /* 11a-only minipci */
247 #define BCM94308MP_BOARD        0x0430
248
249
250
251 #define BU4712_BOARD            0x0444
252 #define BU4712SD_BOARD          0x045d
253 #define BU4712L_BOARD           0x045f
254
255 /* BCM4712 boards */
256 #define BCM94712AP_BOARD        0x0445
257 #define BCM94712P_BOARD         0x0446
258
259 /* BCM4318 boards */
260 #define BU4318_BOARD            0x0447
261 #define CB4318_BOARD            0x0448
262 #define MPG4318_BOARD           0x0449
263 #define MP4318_BOARD            0x044a
264 #define SD4318_BOARD            0x044b
265
266 /* BCM63XX boards */
267 #define BCM96338_BOARD          0x6338
268 #define BCM96348_BOARD          0x6348
269 #define BCM96358_BOARD          0x6358
270
271 /* Another mp4306 with SiGe */
272 #define BCM94306P_BOARD         0x044c
273
274 /* mp4303 */
275 #define BCM94303MP_BOARD        0x044e
276
277 /* mpsgh4306 */
278 #define BCM94306MPSGH_BOARD     0x044f
279
280 /* BRCM 4306 w/ Front End Modules */
281 #define BCM94306MPM             0x0450
282 #define BCM94306MPL             0x0453
283
284 /* 4712agr */
285 #define BCM94712AGR_BOARD       0x0451
286
287 /* pcmcia 4303 */
288 #define PC4303_BOARD            0x0454
289
290 /* 5350K */
291 #define BCM95350K_BOARD         0x0455
292
293 /* 5350R */
294 #define BCM95350R_BOARD         0x0456
295
296 /* 4306mplna */
297 #define BCM94306MPLNA_BOARD     0x0457
298
299 /* 4320 boards */
300 #define BU4320_BOARD            0x0458
301 #define BU4320S_BOARD           0x0459
302 #define BCM94320PH_BOARD        0x045a
303
304 /* 4306mph */
305 #define BCM94306MPH_BOARD       0x045b
306
307 /* 4306pciv */
308 #define BCM94306PCIV_BOARD      0x045c
309
310 #define BU4712SD_BOARD          0x045d
311
312 #define BCM94320PFLSH_BOARD     0x045e
313
314 #define BU4712L_BOARD           0x045f
315 #define BCM94712LGR_BOARD       0x0460
316 #define BCM94320R_BOARD         0x0461
317
318 #define BU5352_BOARD            0x0462
319
320 #define BCM94318MPGH_BOARD      0x0463
321
322 #define BU4311_BOARD            0x0464
323 #define BCM94311MC_BOARD        0x0465
324 #define BCM94311MCAG_BOARD      0x0466
325
326 #define BCM95352GR_BOARD        0x0467
327
328 /* bcm95351agr */
329 #define BCM95351AGR_BOARD       0x0470
330
331 /* bcm94704mpcb */
332 #define BCM94704MPCB_BOARD      0x0472
333
334 /* 4785 boards */
335 #define BU4785_BOARD            0x0478
336
337 /* 4321 boards */
338 #define BU4321_BOARD            0x046b
339 #define BU4321E_BOARD           0x047c
340 #define MP4321_BOARD            0x046c
341 #define CB2_4321_BOARD          0x046d
342 #define MC4321_BOARD            0x046e
343
344 /* 4328 boards */
345 #define BU4328_BOARD            0x0481
346 #define BCM4328SDG_BOARD        0x0482
347 #define BCM4328SDAG_BOARD       0x0483
348 #define BCM4328UG_BOARD         0x0484
349 #define BCM4328UAG_BOARD        0x0485
350 #define BCM4328PC_BOARD         0x0486
351 #define BCM4328CF_BOARD         0x0487
352
353 /* 4325 boards */
354 #define BU4325_BOARD            0x0490
355
356 /* # of GPIO pins */
357 #define GPIO_NUMPINS            16
358
359 /* radio ID codes */
360 #define NORADIO_ID              0xe4f5
361 #define NORADIO_IDCODE          0x4e4f5246
362
363 #define BCM2050_ID              0x2050
364 #define BCM2050_IDCODE          0x02050000
365 #define BCM2050A0_IDCODE        0x1205017f
366 #define BCM2050A1_IDCODE        0x2205017f
367 #define BCM2050R8_IDCODE        0x8205017f
368
369 #define BCM2055_ID              0x2055
370 #define BCM2055_IDCODE          0x02055000
371 #define BCM2055A0_IDCODE        0x1205517f
372
373 #define BCM2060_ID              0x2060
374 #define BCM2060_IDCODE          0x02060000
375 #define BCM2060WW_IDCODE        0x1206017f
376
377 #define BCM2062_ID              0x2062
378 #define BCM2062_IDCODE          0x02062000
379 #define BCM2062A0_IDCODE        0x0206217f
380
381 #define BCM2063_ID              0x2063
382 #define BCM2063_IDCODE          0x02063000
383 #define BCM2063A0_IDCODE        0x0206317f
384
385 /* parts of an idcode: */
386 #define IDCODE_MFG_MASK         0x00000fff
387 #define IDCODE_MFG_SHIFT        0
388 #define IDCODE_ID_MASK          0x0ffff000
389 #define IDCODE_ID_SHIFT         12
390 #define IDCODE_REV_MASK         0xf0000000
391 #define IDCODE_REV_SHIFT        28
392
393 #endif /* _BCMDEVS_H */