1config B43
2	tristate "Broadcom 43xx wireless support (mac80211 stack)"
3	depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
4	select BCMA if B43_BCMA
5	select SSB if B43_SSB
6	select FW_LOADER
7	---help---
8	  b43 is a driver for the Broadcom 43xx series wireless devices.
9
10	  Check "lspci" for something like
11	  "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
12	  to determine whether you own such a device.
13
14	  This driver supports the new BCM43xx IEEE 802.11G devices, but not
15	  the old IEEE 802.11B devices. Old devices are supported by
16	  the b43legacy driver.
17	  Note that this has nothing to do with the standard that your AccessPoint
18	  supports (A, B, G or a combination).
19	  IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints.
20
21	  It is safe to include both b43 and b43legacy as the underlying glue
22	  layer will automatically load the correct version for your device.
23
24	  This driver uses V4 firmware, which must be installed separately using
25	  b43-fwcutter.
26
27	  This driver can be built as a module (recommended) that will be called "b43".
28	  If unsure, say M.
29
30config B43_BCMA
31	bool
32
33config B43_SSB
34	bool
35
36choice
37	prompt "Supported bus types"
38	depends on B43
39	default B43_BUSES_BCMA_AND_SSB
40
41config B43_BUSES_BCMA_AND_SSB
42	bool "BCMA and SSB"
43	depends on BCMA_POSSIBLE && SSB_POSSIBLE
44	select B43_BCMA
45	select B43_SSB
46
47config B43_BUSES_BCMA
48	bool "BCMA only"
49	depends on BCMA_POSSIBLE
50	select B43_BCMA
51
52config B43_BUSES_SSB
53	bool "SSB only"
54	depends on SSB_POSSIBLE
55	select B43_SSB
56
57endchoice
58
59# Auto-select SSB PCI-HOST support, if possible
60config B43_PCI_AUTOSELECT
61	bool
62	depends on B43 && SSB_PCIHOST_POSSIBLE
63	select SSB_PCIHOST
64	select SSB_B43_PCI_BRIDGE
65	default y
66
67# Auto-select SSB PCICORE driver, if possible
68config B43_PCICORE_AUTOSELECT
69	bool
70	depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
71	select SSB_DRIVER_PCICORE
72	default y
73
74config B43_SDIO
75	bool "Broadcom 43xx SDIO device support"
76	depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE
77	select SSB_SDIOHOST
78	---help---
79	  Broadcom 43xx device support for Soft-MAC SDIO devices.
80
81	  With this config option you can drive Soft-MAC b43 cards with a
82	  Secure Digital I/O interface.
83	  This includes the WLAN daughter card found on the Nintendo Wii
84	  video game console.
85	  Note that this does not support Broadcom 43xx Full-MAC devices.
86
87	  It's safe to select Y here, even if you don't have a B43 SDIO device.
88
89	  If unsure, say N.
90
91#Data transfers to the device via PIO. We want it as a fallback even
92# if we can do DMA.
93config B43_BCMA_PIO
94	bool
95	depends on B43 && B43_BCMA
96	select BCMA_BLOCKIO
97	default y
98
99config B43_PIO
100	bool
101	depends on B43 && B43_SSB
102	select SSB_BLOCKIO
103	default y
104
105config B43_PHY_G
106	bool "Support for G-PHY (802.11g) devices"
107	depends on B43 && B43_SSB
108	default y
109	---help---
110	  This PHY type can be found in the following chipsets:
111	  PCI: BCM4306, BCM4311, BCM4318
112	  SoC: BCM4712, BCM5352E
113
114config B43_PHY_N
115	bool "Support for N-PHY (the main 802.11n series) devices"
116	depends on B43
117	default y
118	---help---
119	  This PHY type can be found in the following chipsets:
120	  PCI: BCM4321, BCM4322,
121	       BCM43222, BCM43224, BCM43225,
122	       BCM43131, BCM43217, BCM43227, BCM43228
123	  SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358
124
125config B43_PHY_LP
126	bool "Support for LP-PHY (low-power 802.11g) devices"
127	depends on B43 && B43_SSB
128	default y
129	---help---
130	  The LP-PHY is a low-power PHY built into some notebooks
131	  and embedded devices. It supports 802.11a/b/g
132	  (802.11a support is optional, and currently disabled).
133
134config B43_PHY_HT
135	bool "Support for HT-PHY (high throughput 802.11n) devices"
136	depends on B43 && B43_BCMA
137	default y
138	---help---
139	  This PHY type with 3x3:3 MIMO can be found in the BCM4331 PCI chipset.
140
141config B43_PHY_LCN
142	bool "Support for LCN-PHY devices (BROKEN)"
143	depends on B43 && BROKEN
144	---help---
145	  Support for the LCN-PHY.
146
147	  Say N, this is BROKEN and crashes driver.
148
149config B43_PHY_AC
150	bool "Support for AC-PHY (802.11ac) devices (BROKEN)"
151	depends on B43 && B43_BCMA && BROKEN
152	---help---
153	  This PHY type can be found in the following chipsets:
154	  PCI: BCM4352, BCM4360
155
156	  Say N, this is BROKEN and crashes driver.
157
158# This config option automatically enables b43 LEDS support,
159# if it's possible.
160config B43_LEDS
161	bool
162	depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43)
163	default y
164
165# This config option automatically enables b43 HW-RNG support,
166# if the HW-RNG core is enabled.
167config B43_HWRNG
168	bool
169	depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43)
170	default y
171
172config B43_DEBUG
173	bool "Broadcom 43xx debugging"
174	depends on B43
175	---help---
176	  Broadcom 43xx debugging.
177
178	  This adds additional runtime sanity checks and statistics to the driver.
179	  These checks and statistics might be expensive and hurt the runtime
180	  performance of your system.
181	  This also adds the b43 debugfs interface.
182
183	  Do not enable this, unless you are debugging the driver.
184
185	  Say N, if you are a distributor or user building a release kernel
186	  for production use.
187	  Only say Y, if you are debugging a problem in the b43 driver sourcecode.
188