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