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