summaryrefslogtreecommitdiffstats
path: root/drivers/staging/brcm80211/include/bcmdevs.h
blob: 075883a935291b58c832038e7fe400a5708edf97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/*
 * Copyright (c) 2010 Broadcom Corporation
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef	_BCMDEVS_H
#define	_BCMDEVS_H

/* PCI vendor IDs */
#define	VENDOR_BROADCOM		0x14e4

/* DONGLE VID/PIDs */
#define BCM_DNGL_VID		0x0a5c
#define BCM_DNGL_BDC_PID	0x0bdc

#define	BCM4325_D11DUAL_ID	0x431b
#define	BCM4325_D11G_ID		0x431c
#define	BCM4325_D11A_ID		0x431d
#define BCM4329_D11N_ID		0x432e	/* 4329 802.11n dualband device */
#define BCM4329_D11N2G_ID	0x432f	/* 4329 802.11n 2.4G device */
#define BCM4329_D11N5G_ID	0x4330	/* 4329 802.11n 5G device */
#define BCM4329_D11NDUAL_ID	0x432e

#define BCM4319_D11N_ID		0x4337	/* 4319 802.11n dualband device */
#define BCM4319_D11N2G_ID	0x4338	/* 4319 802.11n 2.4G device */
#define BCM4319_D11N5G_ID	0x4339	/* 4319 802.11n 5G device */

#define BCM43224_D11N_ID	0x4353	/* 43224 802.11n dualband device */
#define BCM43225_D11N2G_ID	0x4357	/* 43225 802.11n 2.4GHz device */

#define BCM43236_D11N_ID	0x4346	/* 43236 802.11n dualband device */
#define BCM43236_D11N2G_ID	0x4347	/* 43236 802.11n 2.4GHz device */
#define BCM43236_D11N5G_ID	0x4348	/* 43236 802.11n 5GHz device */

#define BCM43421_D11N_ID	0xA99D	/* 43421 802.11n dualband device */
#define BCM4313_D11N2G_ID	0x4727	/* 4313 802.11n 2.4G device */
#define BCM4330_D11N_ID         0x4360	/* 4330 802.11n dualband device */
#define BCM4330_D11N2G_ID       0x4361	/* 4330 802.11n 2.4G device */
#define BCM4330_D11N5G_ID       0x4362	/* 4330 802.11n 5G device */
#define BCM4336_D11N_ID		0x4343	/* 4336 802.11n 2.4GHz device */
#define BCM6362_D11N_ID		0x435f	/* 6362 802.11n dualband device */
#define BCM4331_D11N_ID		0x4331	/* 4331 802.11n dualband id */
#define BCM4331_D11N2G_ID	0x4332	/* 4331 802.11n 2.4Ghz band id */
#define BCM4331_D11N5G_ID	0x4333	/* 4331 802.11n 5Ghz band id */

/* Chip IDs */
#define BCM4313_CHIP_ID		0x4313	/* 4313 chip id */
#define	BCM4319_CHIP_ID		0x4319	/* 4319 chip id */

#define	BCM43224_CHIP_ID	43224	/* 43224 chipcommon chipid */
#define	BCM43225_CHIP_ID	43225	/* 43225 chipcommon chipid */
#define	BCM43228_CHIP_ID	43228	/* 43228 chipcommon chipid */
#define	BCM43421_CHIP_ID	43421	/* 43421 chipcommon chipid */
#define	BCM43235_CHIP_ID	43235	/* 43235 chipcommon chipid */
#define	BCM43236_CHIP_ID	43236	/* 43236 chipcommon chipid */
#define	BCM43238_CHIP_ID	43238	/* 43238 chipcommon chipid */
#define	BCM4329_CHIP_ID		0x4329	/* 4329 chipcommon chipid */
#define	BCM4325_CHIP_ID		0x4325	/* 4325 chipcommon chipid */
#define	BCM4331_CHIP_ID		0x4331	/* 4331 chipcommon chipid */
#define BCM4336_CHIP_ID		0x4336	/* 4336 chipcommon chipid */
#define BCM4330_CHIP_ID		0x4330	/* 4330 chipcommon chipid */
#define BCM6362_CHIP_ID		0x6362	/* 6362 chipcommon chipid */

/* these are router chips */
#define	BCM4716_CHIP_ID		0x4716	/* 4716 chipcommon chipid */
#define	BCM47162_CHIP_ID	47162	/* 47162 chipcommon chipid */
#define	BCM4748_CHIP_ID		0x4748	/* 4716 chipcommon chipid (OTP, RBBU) */
#define	BCM5356_CHIP_ID		0x5356	/* 5356 chipcommon chipid */
#define	BCM5357_CHIP_ID		0x5357	/* 5357 chipcommon chipid */

/* Package IDs */
#define BCM4329_289PIN_PKG_ID	0	/* 4329 289-pin package id */
#define BCM4329_182PIN_PKG_ID	1	/* 4329N 182-pin package id */
#define	BCM4716_PKG_ID		8	/* 4716 package id */
#define	BCM4717_PKG_ID		9	/* 4717 package id */
#define	BCM4718_PKG_ID		10	/* 4718 package id */
#define BCM5356_PKG_NONMODE	1	/* 5356 package without nmode suppport */
#define BCM5358U_PKG_ID		8	/* 5358U package id */
#define BCM5358_PKG_ID		9	/* 5358 package id */
#define BCM47186_PKG_ID		10	/* 47186 package id */
#define BCM5357_PKG_ID		11	/* 5357 package id */
#define BCM5356U_PKG_ID		12	/* 5356U package id */
#define HDLSIM5350_PKG_ID	1	/* HDL simulator package id for a 5350 */
#define HDLSIM_PKG_ID		14	/* HDL simulator package id */
#define HWSIM_PKG_ID		15	/* Hardware simulator package id */
#define BCM43224_FAB_CSM	0x8	/* the chip is manufactured by CSM */
#define BCM43224_FAB_SMIC	0xa	/* the chip is manufactured by SMIC */
#define BCM4336_WLBGA_PKG_ID 0x8

/* boardflags */
#define	BFL_RESERVED1		0x00000001
#define	BFL_PACTRL		0x00000002	/* Board has gpio 9 controlling the PA */
#define	BFL_AIRLINEMODE		0x00000004	/* Board implements gpio 13 radio disable indication */
#define	BFL_ADCDIV		0x00000008	/* Board has the rssi ADC divider */
#define	BFL_ENETROBO		0x00000010	/* Board has robo switch or core */
#define	BFL_NOPLLDOWN		0x00000020	/* Not ok to power down the chip pll and oscillator */
#define	BFL_CCKHIPWR		0x00000040	/* Can do high-power CCK transmission */
#define	BFL_ENETADM		0x00000080	/* Board has ADMtek switch */
#define	BFL_ENETVLAN		0x00000100	/* Board has VLAN capability */
#define BFL_NOPCI		0x00000400	/* Board leaves PCI floating */
#define BFL_FEM			0x00000800	/* Board supports the Front End Module */
#define BFL_EXTLNA		0x00001000	/* Board has an external LNA in 2.4GHz band */
#define BFL_HGPA		0x00002000	/* Board has a high gain PA */
#define	BFL_RESERVED2		0x00004000
#define	BFL_ALTIQ		0x00008000	/* Alternate I/Q settings */
#define BFL_NOPA		0x00010000	/* Board has no PA */
#define BFL_RSSIINV		0x00020000	/* Board's RSSI uses positive slope(not TSSI) */
#define BFL_PAREF		0x00040000	/* Board uses the PARef LDO */
#define BFL_3TSWITCH		0x00080000	/* Board uses a triple throw switch shared with BT */
#define BFL_PHASESHIFT		0x00100000	/* Board can support phase shifter */
#define BFL_BUCKBOOST		0x00200000	/* Power topology uses BUCKBOOST */
#define BFL_FEM_BT		0x00400000	/* Board has FEM and switch to share antenna w/ BT */
#define BFL_NOCBUCK		0x00800000	/* Power topology doesn't use CBUCK */
#define BFL_CCKFAVOREVM		0x01000000	/* Favor CCK EVM over spectral mask */
#define BFL_PALDO		0x02000000	/* Power topology uses PALDO */
#define BFL_LNLDO2_2P5		0x04000000	/* Select 2.5V as LNLDO2 output voltage */
#define BFL_FASTPWR		0x08000000
#define BFL_UCPWRCTL_MININDX	0x08000000	/* Enforce min power index to avoid FEM damage */
#define BFL_EXTLNA_5GHz		0x10000000	/* Board has an external LNA in 5GHz band */
#define BFL_TRSW_1by2		0x20000000	/* Board has 2 TRSW's in 1by2 designs */
#define BFL_LO_TRSW_R_5GHz	0x40000000	/* In 5G do not throw TRSW to T for clipLO gain */
#define BFL_ELNA_GAINDEF	0x80000000	/* Backoff InitGain based on elna_2g/5g field
						 * when this flag is set
						 */

/* boardflags2 */
#define BFL2_RXBB_INT_REG_DIS	0x00000001	/* Board has an external rxbb regulator */
#define BFL2_APLL_WAR		0x00000002	/* Flag to implement alternative A-band PLL settings */
#define BFL2_TXPWRCTRL_EN	0x00000004	/* Board permits enabling TX Power Control */
#define BFL2_2X4_DIV		0x00000008	/* Board supports the 2X4 diversity switch */
#define BFL2_5G_PWRGAIN		0x00000010	/* Board supports 5G band power gain */
#define BFL2_PCIEWAR_OVR	0x00000020	/* Board overrides ASPM and Clkreq settings */
#define BFL2_CAESERS_BRD	0x00000040	/* Board is Caesers brd (unused by sw) */
#define BFL2_LEGACY		0x00000080
#define BFL2_SKWRKFEM_BRD	0x00000100	/* 4321mcm93 board uses Skyworks FEM */
#define BFL2_SPUR_WAR		0x00000200	/* Board has a WAR for clock-harmonic spurs */
#define BFL2_GPLL_WAR		0x00000400	/* Flag to narrow G-band PLL loop b/w */
#define BFL2_TRISTATE_LED	0x00000800	/* Tri-state the LED */
#define BFL2_SINGLEANT_CCK	0x00001000	/* Tx CCK pkts on Ant 0 only */
#define BFL2_2G_SPUR_WAR	0x00002000	/* WAR to reduce and avoid clock-harmonic spurs in 2G */
#define BFL2_BPHY_ALL_TXCORES	0x00004000	/* Transmit bphy frames using all tx cores */
#define BFL2_FCC_BANDEDGE_WAR	0x00008000	/* using 40Mhz LPF for 20Mhz bandedge channels */
#define BFL2_GPLL_WAR2	        0x00010000	/* Flag to widen G-band PLL loop b/w */
#define BFL2_IPALVLSHIFT_3P3    0x00020000
#define BFL2_INTERNDET_TXIQCAL  0x00040000	/* Use internal envelope detector for TX IQCAL */
#define BFL2_XTALBUFOUTEN       0x00080000	/* Keep the buffered Xtal output from radio "ON"
						 * Most drivers will turn it off without this flag
						 * to save power.
						 */

/* board specific GPIO assignment, gpio 0-3 are also customer-configurable led */
#define	BOARD_GPIO_RESERVED1	0x010
#define	BOARD_GPIO_RESERVED2	0x020
#define	BOARD_GPIO_RESERVED3	0x080
#define	BOARD_GPIO_RESERVED4	0x100
#define	BOARD_GPIO_PACTRL	0x200	/* bit 9 controls the PA on new 4306 boards */
#define BOARD_GPIO_12		0x1000	/* gpio 12 */
#define BOARD_GPIO_13		0x2000	/* gpio 13 */
#define BOARD_GPIO_RESERVED5	0x0800
#define BOARD_GPIO_RESERVED6	0x2000
#define BOARD_GPIO_RESERVED7	0x4000
#define BOARD_GPIO_RESERVED8	0x8000

#define	PCI_CFG_GPIO_SCS	0x10	/* PCI config space bit 4 for 4306c0 slow clock source */
#define PCI_CFG_GPIO_HWRAD	0x20	/* PCI config space GPIO 13 for hw radio disable */
#define PCI_CFG_GPIO_XTAL	0x40	/* PCI config space GPIO 14 for Xtal power-up */
#define PCI_CFG_GPIO_PLL	0x80	/* PCI config space GPIO 15 for PLL power-down */

/* power control defines */
#define PLL_DELAY		150	/* us pll on delay */
#define FREF_DELAY		200	/* us fref change delay */
#define MIN_SLOW_CLK		32	/* us Slow clock period */
#define	XTAL_ON_DELAY		1000	/* us crystal power-on delay */

/* # of GPIO pins */
#define GPIO_NUMPINS		16

/* Reference board types */
#define	SPI_BOARD		0x0402

#endif				/* _BCMDEVS_H */
OpenPOWER on IntegriCloud