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