ssb bus can be found on various "host" devices like PCI/PCMCIA/SDIO. Every ssb bus contains cores AKA devices. The main idea is to have ssb driver scan/initialize bus and register ready-to-use cores. This way ssb drivers can operate on a single core mostly ignoring underlaying details. For some reason PCMCIA support was split between ssb and b43. We got PCMCIA host device probing in b43, then bus scanning in ssb and then wireless core probing back in b43. The truth is it's very unlikely we will ever see PCMCIA ssb device with no 802.11 core but I still don't see any advantage of the current architecture. With proposed change we get the same functionality with a simpler architecture, less Kconfig symbols, one killed EXPORT and hopefully cleaner b43. Since b43 supports both: ssb & bcma I prefer to keep ssb specific code in ssb driver. This mostly moves code from b43's pcmcia.c to bridge_pcmcia_80211.c. We already use similar solution with b43_pci_bridge.c. I didn't use "b43" in name of this new file as in theory any driver can operate on wireless core. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
187 lines
5 KiB
Text
187 lines
5 KiB
Text
config B43
|
|
tristate "Broadcom 43xx wireless support (mac80211 stack)"
|
|
depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
|
|
select BCMA if B43_BCMA
|
|
select SSB if B43_SSB
|
|
select FW_LOADER
|
|
---help---
|
|
b43 is a driver for the Broadcom 43xx series wireless devices.
|
|
|
|
Check "lspci" for something like
|
|
"Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
|
|
to determine whether you own such a device.
|
|
|
|
This driver supports the new BCM43xx IEEE 802.11G devices, but not
|
|
the old IEEE 802.11B devices. Old devices are supported by
|
|
the b43legacy driver.
|
|
Note that this has nothing to do with the standard that your AccessPoint
|
|
supports (A, B, G or a combination).
|
|
IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints.
|
|
|
|
It is safe to include both b43 and b43legacy as the underlying glue
|
|
layer will automatically load the correct version for your device.
|
|
|
|
This driver uses V4 firmware, which must be installed separately using
|
|
b43-fwcutter.
|
|
|
|
This driver can be built as a module (recommended) that will be called "b43".
|
|
If unsure, say M.
|
|
|
|
config B43_BCMA
|
|
bool
|
|
|
|
config B43_SSB
|
|
bool
|
|
|
|
choice
|
|
prompt "Supported bus types"
|
|
depends on B43
|
|
default B43_BUSES_BCMA_AND_SSB
|
|
|
|
config B43_BUSES_BCMA_AND_SSB
|
|
bool "BCMA and SSB"
|
|
depends on BCMA_POSSIBLE && SSB_POSSIBLE
|
|
select B43_BCMA
|
|
select B43_SSB
|
|
|
|
config B43_BUSES_BCMA
|
|
bool "BCMA only"
|
|
depends on BCMA_POSSIBLE
|
|
select B43_BCMA
|
|
|
|
config B43_BUSES_SSB
|
|
bool "SSB only"
|
|
depends on SSB_POSSIBLE
|
|
select B43_SSB
|
|
|
|
endchoice
|
|
|
|
# Auto-select SSB PCI-HOST support, if possible
|
|
config B43_PCI_AUTOSELECT
|
|
bool
|
|
depends on B43 && SSB_PCIHOST_POSSIBLE
|
|
select SSB_PCIHOST
|
|
select SSB_B43_PCI_BRIDGE
|
|
default y
|
|
|
|
# Auto-select SSB PCICORE driver, if possible
|
|
config B43_PCICORE_AUTOSELECT
|
|
bool
|
|
depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
|
|
select SSB_DRIVER_PCICORE
|
|
default y
|
|
|
|
config B43_SDIO
|
|
bool "Broadcom 43xx SDIO device support"
|
|
depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE
|
|
select SSB_SDIOHOST
|
|
---help---
|
|
Broadcom 43xx device support for Soft-MAC SDIO devices.
|
|
|
|
With this config option you can drive Soft-MAC b43 cards with a
|
|
Secure Digital I/O interface.
|
|
This includes the WLAN daughter card found on the Nintendo Wii
|
|
video game console.
|
|
Note that this does not support Broadcom 43xx Full-MAC devices.
|
|
|
|
It's safe to select Y here, even if you don't have a B43 SDIO device.
|
|
|
|
If unsure, say N.
|
|
|
|
#Data transfers to the device via PIO. We want it as a fallback even
|
|
# if we can do DMA.
|
|
config B43_BCMA_PIO
|
|
bool
|
|
depends on B43 && B43_BCMA
|
|
select BCMA_BLOCKIO
|
|
default y
|
|
|
|
config B43_PIO
|
|
bool
|
|
depends on B43 && B43_SSB
|
|
select SSB_BLOCKIO
|
|
default y
|
|
|
|
config B43_PHY_G
|
|
bool "Support for G-PHY (802.11g) devices"
|
|
depends on B43 && B43_SSB
|
|
default y
|
|
---help---
|
|
This PHY type can be found in the following chipsets:
|
|
PCI: BCM4306, BCM4311, BCM4318
|
|
SoC: BCM4712, BCM5352E
|
|
|
|
config B43_PHY_N
|
|
bool "Support for N-PHY (the main 802.11n series) devices"
|
|
depends on B43
|
|
default y
|
|
---help---
|
|
This PHY type can be found in the following chipsets:
|
|
PCI: BCM4321, BCM4322,
|
|
BCM43222, BCM43224, BCM43225,
|
|
BCM43131, BCM43217, BCM43227, BCM43228
|
|
SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358
|
|
|
|
config B43_PHY_LP
|
|
bool "Support for LP-PHY (low-power 802.11g) devices"
|
|
depends on B43 && B43_SSB
|
|
default y
|
|
---help---
|
|
The LP-PHY is a low-power PHY built into some notebooks
|
|
and embedded devices. It supports 802.11a/b/g
|
|
(802.11a support is optional, and currently disabled).
|
|
|
|
config B43_PHY_HT
|
|
bool "Support for HT-PHY (high throughput 802.11n) devices"
|
|
depends on B43 && B43_BCMA
|
|
default y
|
|
---help---
|
|
This PHY type with 3x3:3 MIMO can be found in the BCM4331 PCI chipset.
|
|
|
|
config B43_PHY_LCN
|
|
bool "Support for LCN-PHY devices (BROKEN)"
|
|
depends on B43 && BROKEN
|
|
---help---
|
|
Support for the LCN-PHY.
|
|
|
|
Say N, this is BROKEN and crashes driver.
|
|
|
|
config B43_PHY_AC
|
|
bool "Support for AC-PHY (802.11ac) devices (BROKEN)"
|
|
depends on B43 && B43_BCMA && BROKEN
|
|
---help---
|
|
This PHY type can be found in the following chipsets:
|
|
PCI: BCM4352, BCM4360
|
|
|
|
Say N, this is BROKEN and crashes driver.
|
|
|
|
# This config option automatically enables b43 LEDS support,
|
|
# if it's possible.
|
|
config B43_LEDS
|
|
bool
|
|
depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43)
|
|
default y
|
|
|
|
# This config option automatically enables b43 HW-RNG support,
|
|
# if the HW-RNG core is enabled.
|
|
config B43_HWRNG
|
|
bool
|
|
depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43)
|
|
default y
|
|
|
|
config B43_DEBUG
|
|
bool "Broadcom 43xx debugging"
|
|
depends on B43
|
|
---help---
|
|
Broadcom 43xx debugging.
|
|
|
|
This adds additional runtime sanity checks and statistics to the driver.
|
|
These checks and statistics might be expensive and hurt the runtime
|
|
performance of your system.
|
|
This also adds the b43 debugfs interface.
|
|
|
|
Do not enable this, unless you are debugging the driver.
|
|
|
|
Say N, if you are a distributor or user building a release kernel
|
|
for production use.
|
|
Only say Y, if you are debugging a problem in the b43 driver sourcecode.
|