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