Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_B43
	tristate "Broadcom 43xx wireless support (mac80211 stack)"
	depends on (CONFIG_BCMA_POSSIBLE || CONFIG_SSB_POSSIBLE) && CONFIG_MAC80211 && CONFIG_HAS_DMA
	select CONFIG_BCMA if CONFIG_B43_BCMA
	select CONFIG_SSB if CONFIG_B43_SSB
	select CONFIG_FW_LOADER
	select CONFIG_CORDIC
	---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 (CONFIG_A, CONFIG_B, CONFIG_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 CONFIG_M.

config CONFIG_B43_BCMA
	bool

config CONFIG_B43_SSB
	bool

choice
	prompt "Supported bus types"
	depends on CONFIG_B43
	default CONFIG_B43_BUSES_BCMA_AND_SSB

config CONFIG_B43_BUSES_BCMA_AND_SSB
	bool "BCMA and SSB"
	depends on CONFIG_BCMA_POSSIBLE && CONFIG_SSB_POSSIBLE
	select CONFIG_B43_BCMA
	select CONFIG_B43_SSB

config CONFIG_B43_BUSES_BCMA
	bool "BCMA only"
	depends on CONFIG_BCMA_POSSIBLE
	select CONFIG_B43_BCMA

config CONFIG_B43_BUSES_SSB
	bool "SSB only"
	depends on CONFIG_SSB_POSSIBLE
	select CONFIG_B43_SSB

endchoice

# Auto-select CONFIG_SSB CONFIG_PCI-HOST support, if possible
config CONFIG_B43_PCI_AUTOSELECT
	bool
	depends on CONFIG_B43 && CONFIG_SSB_PCIHOST_POSSIBLE
	select CONFIG_SSB_PCIHOST
	select CONFIG_SSB_B43_PCI_BRIDGE
	default y

# Auto-select CONFIG_SSB PCICORE driver, if possible
config CONFIG_B43_PCICORE_AUTOSELECT
	bool
	depends on CONFIG_B43 && CONFIG_SSB_DRIVER_PCICORE_POSSIBLE
	select CONFIG_SSB_DRIVER_PCICORE
	default y

config CONFIG_B43_SDIO
	bool "Broadcom 43xx SDIO device support"
	depends on CONFIG_B43 && CONFIG_B43_SSB && CONFIG_SSB_SDIOHOST_POSSIBLE
	select CONFIG_SSB_SDIOHOST
	---help---
	  Broadcom 43xx device support for Soft-CONFIG_MAC SDIO devices.

	  With this config option you can drive Soft-CONFIG_MAC b43 cards with a
	  Secure Digital I/O interface.
	  This includes the CONFIG_WLAN daughter card found on the Nintendo Wii
	  video game console.
	  Note that this does not support Broadcom 43xx Full-CONFIG_MAC devices.

	  It's safe to select Y here, even if you don't have a CONFIG_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 CONFIG_B43_BCMA_PIO
	bool
	depends on CONFIG_B43 && CONFIG_B43_BCMA
	select CONFIG_BCMA_BLOCKIO
	default y

config CONFIG_B43_PIO
	bool
	depends on CONFIG_B43 && CONFIG_B43_SSB
	select CONFIG_SSB_BLOCKIO
	default y

config CONFIG_B43_PHY_G
	bool "Support for G-PHY (802.11g) devices"
	depends on CONFIG_B43 && CONFIG_B43_SSB
	default y
	---help---
	  This PHY type can be found in the following chipsets:
	  CONFIG_PCI: BCM4306, BCM4311, BCM4318
	  SoC: BCM4712, BCM5352E

config CONFIG_B43_PHY_N
	bool "Support for N-PHY (the main 802.11n series) devices"
	depends on CONFIG_B43
	default y
	---help---
	  This PHY type can be found in the following chipsets:
	  CONFIG_PCI: BCM4321, BCM4322,
	       BCM43222, BCM43224, BCM43225,
	       BCM43131, BCM43217, BCM43227, BCM43228
	  SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358

config CONFIG_B43_PHY_LP
	bool "Support for LP-PHY (low-power 802.11g) devices"
	depends on CONFIG_B43 && CONFIG_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 CONFIG_B43_PHY_HT
	bool "Support for HT-PHY (high throughput 802.11n) devices"
	depends on CONFIG_B43 && CONFIG_B43_BCMA
	default y
	---help---
	  This PHY type with 3x3:3 MIMO can be found in the BCM4331 CONFIG_PCI chipset.

config CONFIG_B43_PHY_LCN
	bool "Support for LCN-PHY devices (BROKEN)"
	depends on CONFIG_B43 && CONFIG_BROKEN
	---help---
	  Support for the LCN-PHY.

	  Say N, this is CONFIG_BROKEN and crashes driver.

config CONFIG_B43_PHY_AC
	bool "Support for AC-PHY (802.11ac) devices (BROKEN)"
	depends on CONFIG_B43 && CONFIG_B43_BCMA && CONFIG_BROKEN
	---help---
	  This PHY type can be found in the following chipsets:
	  CONFIG_PCI: BCM4352, BCM4360

	  Say N, this is CONFIG_BROKEN and crashes driver.

# This config option automatically enables b43 CONFIG_LEDS support,
# if it's possible.
config CONFIG_B43_LEDS
	bool
	depends on CONFIG_B43 && CONFIG_MAC80211_LEDS && (CONFIG_LEDS_CLASS = y || CONFIG_LEDS_CLASS = CONFIG_B43)
	default y

# This config option automatically enables b43 HW-RNG support,
# if the HW-RNG core is enabled.
config CONFIG_B43_HWRNG
	bool
	depends on CONFIG_B43 && (CONFIG_HW_RANDOM = y || CONFIG_HW_RANDOM = CONFIG_B43)
	default y

config CONFIG_B43_DEBUG
	bool "Broadcom 43xx debugging"
	depends on CONFIG_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.