xref: /linux/drivers/net/wireless/broadcom/b43/Kconfig (revision d5a433556d096d8e5b2526695aadbc7fd6ff48c9)
158619b14SKalle Valoconfig B43
258619b14SKalle Valo	tristate "Broadcom 43xx wireless support (mac80211 stack)"
358619b14SKalle Valo	depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
458619b14SKalle Valo	select BCMA if B43_BCMA
558619b14SKalle Valo	select SSB if B43_SSB
658619b14SKalle Valo	select FW_LOADER
7*d5a43355SPriit Laes	select CORDIC
858619b14SKalle Valo	---help---
958619b14SKalle Valo	  b43 is a driver for the Broadcom 43xx series wireless devices.
1058619b14SKalle Valo
1158619b14SKalle Valo	  Check "lspci" for something like
1258619b14SKalle Valo	  "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
1358619b14SKalle Valo	  to determine whether you own such a device.
1458619b14SKalle Valo
1558619b14SKalle Valo	  This driver supports the new BCM43xx IEEE 802.11G devices, but not
1658619b14SKalle Valo	  the old IEEE 802.11B devices. Old devices are supported by
1758619b14SKalle Valo	  the b43legacy driver.
1858619b14SKalle Valo	  Note that this has nothing to do with the standard that your AccessPoint
1958619b14SKalle Valo	  supports (A, B, G or a combination).
2058619b14SKalle Valo	  IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints.
2158619b14SKalle Valo
2258619b14SKalle Valo	  It is safe to include both b43 and b43legacy as the underlying glue
2358619b14SKalle Valo	  layer will automatically load the correct version for your device.
2458619b14SKalle Valo
2558619b14SKalle Valo	  This driver uses V4 firmware, which must be installed separately using
2658619b14SKalle Valo	  b43-fwcutter.
2758619b14SKalle Valo
2858619b14SKalle Valo	  This driver can be built as a module (recommended) that will be called "b43".
2958619b14SKalle Valo	  If unsure, say M.
3058619b14SKalle Valo
3158619b14SKalle Valoconfig B43_BCMA
3258619b14SKalle Valo	bool
3358619b14SKalle Valo
3458619b14SKalle Valoconfig B43_SSB
3558619b14SKalle Valo	bool
3658619b14SKalle Valo
3758619b14SKalle Valochoice
3858619b14SKalle Valo	prompt "Supported bus types"
3958619b14SKalle Valo	depends on B43
4058619b14SKalle Valo	default B43_BUSES_BCMA_AND_SSB
4158619b14SKalle Valo
4258619b14SKalle Valoconfig B43_BUSES_BCMA_AND_SSB
4358619b14SKalle Valo	bool "BCMA and SSB"
4458619b14SKalle Valo	depends on BCMA_POSSIBLE && SSB_POSSIBLE
4558619b14SKalle Valo	select B43_BCMA
4658619b14SKalle Valo	select B43_SSB
4758619b14SKalle Valo
4858619b14SKalle Valoconfig B43_BUSES_BCMA
4958619b14SKalle Valo	bool "BCMA only"
5058619b14SKalle Valo	depends on BCMA_POSSIBLE
5158619b14SKalle Valo	select B43_BCMA
5258619b14SKalle Valo
5358619b14SKalle Valoconfig B43_BUSES_SSB
5458619b14SKalle Valo	bool "SSB only"
5558619b14SKalle Valo	depends on SSB_POSSIBLE
5658619b14SKalle Valo	select B43_SSB
5758619b14SKalle Valo
5858619b14SKalle Valoendchoice
5958619b14SKalle Valo
6058619b14SKalle Valo# Auto-select SSB PCI-HOST support, if possible
6158619b14SKalle Valoconfig B43_PCI_AUTOSELECT
6258619b14SKalle Valo	bool
6358619b14SKalle Valo	depends on B43 && SSB_PCIHOST_POSSIBLE
6458619b14SKalle Valo	select SSB_PCIHOST
6558619b14SKalle Valo	select SSB_B43_PCI_BRIDGE
6658619b14SKalle Valo	default y
6758619b14SKalle Valo
6858619b14SKalle Valo# Auto-select SSB PCICORE driver, if possible
6958619b14SKalle Valoconfig B43_PCICORE_AUTOSELECT
7058619b14SKalle Valo	bool
7158619b14SKalle Valo	depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
7258619b14SKalle Valo	select SSB_DRIVER_PCICORE
7358619b14SKalle Valo	default y
7458619b14SKalle Valo
7558619b14SKalle Valoconfig B43_SDIO
7658619b14SKalle Valo	bool "Broadcom 43xx SDIO device support"
7758619b14SKalle Valo	depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE
7858619b14SKalle Valo	select SSB_SDIOHOST
7958619b14SKalle Valo	---help---
8058619b14SKalle Valo	  Broadcom 43xx device support for Soft-MAC SDIO devices.
8158619b14SKalle Valo
8258619b14SKalle Valo	  With this config option you can drive Soft-MAC b43 cards with a
8358619b14SKalle Valo	  Secure Digital I/O interface.
8458619b14SKalle Valo	  This includes the WLAN daughter card found on the Nintendo Wii
8558619b14SKalle Valo	  video game console.
8658619b14SKalle Valo	  Note that this does not support Broadcom 43xx Full-MAC devices.
8758619b14SKalle Valo
8858619b14SKalle Valo	  It's safe to select Y here, even if you don't have a B43 SDIO device.
8958619b14SKalle Valo
9058619b14SKalle Valo	  If unsure, say N.
9158619b14SKalle Valo
9258619b14SKalle Valo#Data transfers to the device via PIO. We want it as a fallback even
9358619b14SKalle Valo# if we can do DMA.
9458619b14SKalle Valoconfig B43_BCMA_PIO
9558619b14SKalle Valo	bool
9658619b14SKalle Valo	depends on B43 && B43_BCMA
9758619b14SKalle Valo	select BCMA_BLOCKIO
9858619b14SKalle Valo	default y
9958619b14SKalle Valo
10058619b14SKalle Valoconfig B43_PIO
10158619b14SKalle Valo	bool
10258619b14SKalle Valo	depends on B43 && B43_SSB
10358619b14SKalle Valo	select SSB_BLOCKIO
10458619b14SKalle Valo	default y
10558619b14SKalle Valo
10658619b14SKalle Valoconfig B43_PHY_G
10758619b14SKalle Valo	bool "Support for G-PHY (802.11g) devices"
10858619b14SKalle Valo	depends on B43 && B43_SSB
10958619b14SKalle Valo	default y
11058619b14SKalle Valo	---help---
11158619b14SKalle Valo	  This PHY type can be found in the following chipsets:
11258619b14SKalle Valo	  PCI: BCM4306, BCM4311, BCM4318
11358619b14SKalle Valo	  SoC: BCM4712, BCM5352E
11458619b14SKalle Valo
11558619b14SKalle Valoconfig B43_PHY_N
11658619b14SKalle Valo	bool "Support for N-PHY (the main 802.11n series) devices"
11758619b14SKalle Valo	depends on B43
11858619b14SKalle Valo	default y
11958619b14SKalle Valo	---help---
12058619b14SKalle Valo	  This PHY type can be found in the following chipsets:
12158619b14SKalle Valo	  PCI: BCM4321, BCM4322,
12258619b14SKalle Valo	       BCM43222, BCM43224, BCM43225,
12358619b14SKalle Valo	       BCM43131, BCM43217, BCM43227, BCM43228
12458619b14SKalle Valo	  SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358
12558619b14SKalle Valo
12658619b14SKalle Valoconfig B43_PHY_LP
12758619b14SKalle Valo	bool "Support for LP-PHY (low-power 802.11g) devices"
12858619b14SKalle Valo	depends on B43 && B43_SSB
12958619b14SKalle Valo	default y
13058619b14SKalle Valo	---help---
13158619b14SKalle Valo	  The LP-PHY is a low-power PHY built into some notebooks
13258619b14SKalle Valo	  and embedded devices. It supports 802.11a/b/g
13358619b14SKalle Valo	  (802.11a support is optional, and currently disabled).
13458619b14SKalle Valo
13558619b14SKalle Valoconfig B43_PHY_HT
13658619b14SKalle Valo	bool "Support for HT-PHY (high throughput 802.11n) devices"
13758619b14SKalle Valo	depends on B43 && B43_BCMA
13858619b14SKalle Valo	default y
13958619b14SKalle Valo	---help---
14058619b14SKalle Valo	  This PHY type with 3x3:3 MIMO can be found in the BCM4331 PCI chipset.
14158619b14SKalle Valo
14258619b14SKalle Valoconfig B43_PHY_LCN
14358619b14SKalle Valo	bool "Support for LCN-PHY devices (BROKEN)"
14458619b14SKalle Valo	depends on B43 && BROKEN
14558619b14SKalle Valo	---help---
14658619b14SKalle Valo	  Support for the LCN-PHY.
14758619b14SKalle Valo
14858619b14SKalle Valo	  Say N, this is BROKEN and crashes driver.
14958619b14SKalle Valo
15058619b14SKalle Valoconfig B43_PHY_AC
15158619b14SKalle Valo	bool "Support for AC-PHY (802.11ac) devices (BROKEN)"
15258619b14SKalle Valo	depends on B43 && B43_BCMA && BROKEN
15358619b14SKalle Valo	---help---
15458619b14SKalle Valo	  This PHY type can be found in the following chipsets:
15558619b14SKalle Valo	  PCI: BCM4352, BCM4360
15658619b14SKalle Valo
15758619b14SKalle Valo	  Say N, this is BROKEN and crashes driver.
15858619b14SKalle Valo
15958619b14SKalle Valo# This config option automatically enables b43 LEDS support,
16058619b14SKalle Valo# if it's possible.
16158619b14SKalle Valoconfig B43_LEDS
16258619b14SKalle Valo	bool
16358619b14SKalle Valo	depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43)
16458619b14SKalle Valo	default y
16558619b14SKalle Valo
16658619b14SKalle Valo# This config option automatically enables b43 HW-RNG support,
16758619b14SKalle Valo# if the HW-RNG core is enabled.
16858619b14SKalle Valoconfig B43_HWRNG
16958619b14SKalle Valo	bool
17058619b14SKalle Valo	depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43)
17158619b14SKalle Valo	default y
17258619b14SKalle Valo
17358619b14SKalle Valoconfig B43_DEBUG
17458619b14SKalle Valo	bool "Broadcom 43xx debugging"
17558619b14SKalle Valo	depends on B43
17658619b14SKalle Valo	---help---
17758619b14SKalle Valo	  Broadcom 43xx debugging.
17858619b14SKalle Valo
17958619b14SKalle Valo	  This adds additional runtime sanity checks and statistics to the driver.
18058619b14SKalle Valo	  These checks and statistics might be expensive and hurt the runtime
18158619b14SKalle Valo	  performance of your system.
18258619b14SKalle Valo	  This also adds the b43 debugfs interface.
18358619b14SKalle Valo
18458619b14SKalle Valo	  Do not enable this, unless you are debugging the driver.
18558619b14SKalle Valo
18658619b14SKalle Valo	  Say N, if you are a distributor or user building a release kernel
18758619b14SKalle Valo	  for production use.
18858619b14SKalle Valo	  Only say Y, if you are debugging a problem in the b43 driver sourcecode.
189