1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig B43LEGACY 3*4882a593Smuzhiyun tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" 4*4882a593Smuzhiyun depends on SSB_POSSIBLE && MAC80211 && HAS_DMA 5*4882a593Smuzhiyun select SSB 6*4882a593Smuzhiyun select FW_LOADER 7*4882a593Smuzhiyun help 8*4882a593Smuzhiyun b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and 9*4882a593Smuzhiyun BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the 10*4882a593Smuzhiyun Linksys WPC54G V1 PCMCIA devices. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun Newer 802.11g and 802.11a devices need b43. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun It is safe to include both b43 and b43legacy as the underlying glue 15*4882a593Smuzhiyun layer will automatically load the correct version for your device. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun This driver uses V3 firmware, which must be installed separately using 18*4882a593Smuzhiyun b43-fwcutter. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun This driver can be built as a module (recommended) that will be 21*4882a593Smuzhiyun called "b43legacy". If unsure, say M. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun# Auto-select SSB PCI-HOST support, if possible 24*4882a593Smuzhiyunconfig B43LEGACY_PCI_AUTOSELECT 25*4882a593Smuzhiyun bool 26*4882a593Smuzhiyun depends on B43LEGACY && SSB_PCIHOST_POSSIBLE 27*4882a593Smuzhiyun select SSB_PCIHOST 28*4882a593Smuzhiyun select SSB_B43_PCI_BRIDGE 29*4882a593Smuzhiyun default y 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun# Auto-select SSB PCICORE driver, if possible 32*4882a593Smuzhiyunconfig B43LEGACY_PCICORE_AUTOSELECT 33*4882a593Smuzhiyun bool 34*4882a593Smuzhiyun depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE 35*4882a593Smuzhiyun select SSB_DRIVER_PCICORE 36*4882a593Smuzhiyun default y 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun# LED support 39*4882a593Smuzhiyun# This config option automatically enables b43legacy LEDS support, 40*4882a593Smuzhiyun# if it's possible. 41*4882a593Smuzhiyunconfig B43LEGACY_LEDS 42*4882a593Smuzhiyun bool 43*4882a593Smuzhiyun depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) 44*4882a593Smuzhiyun default y 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# This config option automatically enables b43 HW-RNG support, 47*4882a593Smuzhiyun# if the HW-RNG core is enabled. 48*4882a593Smuzhiyunconfig B43LEGACY_HWRNG 49*4882a593Smuzhiyun bool 50*4882a593Smuzhiyun depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) 51*4882a593Smuzhiyun default y 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunconfig B43LEGACY_DEBUG 54*4882a593Smuzhiyun bool "Broadcom 43xx-legacy debugging" 55*4882a593Smuzhiyun depends on B43LEGACY 56*4882a593Smuzhiyun default y 57*4882a593Smuzhiyun help 58*4882a593Smuzhiyun Say Y, because this information will help you get the driver running. 59*4882a593Smuzhiyun This option generates a minimum of log output. 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunconfig B43LEGACY_DMA 62*4882a593Smuzhiyun bool 63*4882a593Smuzhiyun depends on B43LEGACY 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunconfig B43LEGACY_PIO 66*4882a593Smuzhiyun bool 67*4882a593Smuzhiyun depends on B43LEGACY 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunchoice 70*4882a593Smuzhiyun prompt "Broadcom 43xx-legacy data transfer mode" 71*4882a593Smuzhiyun depends on B43LEGACY 72*4882a593Smuzhiyun default B43LEGACY_DMA_AND_PIO_MODE 73*4882a593Smuzhiyun 74*4882a593Smuzhiyunconfig B43LEGACY_DMA_AND_PIO_MODE 75*4882a593Smuzhiyun bool "DMA + PIO" 76*4882a593Smuzhiyun select B43LEGACY_DMA 77*4882a593Smuzhiyun select B43LEGACY_PIO 78*4882a593Smuzhiyun help 79*4882a593Smuzhiyun Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) 80*4882a593Smuzhiyun data transfer modes. The mode actually used is selectable through 81*4882a593Smuzhiyun the module parameter "pio". With pio=0 as a module parameter, the 82*4882a593Smuzhiyun default DMA is used, otherwise PIO is used. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun If unsure, choose this option. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig B43LEGACY_DMA_MODE 87*4882a593Smuzhiyun bool "DMA (Direct Memory Access) only" 88*4882a593Smuzhiyun select B43LEGACY_DMA 89*4882a593Smuzhiyun help 90*4882a593Smuzhiyun Only include Direct Memory Access (DMA). 91*4882a593Smuzhiyun This reduces the size of the driver module, by omitting the PIO code. 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunconfig B43LEGACY_PIO_MODE 94*4882a593Smuzhiyun bool "PIO (Programmed I/O) only" 95*4882a593Smuzhiyun select B43LEGACY_PIO 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Only include Programmed I/O (PIO). 98*4882a593Smuzhiyun This reduces the size of the driver module, by omitting the DMA code. 99*4882a593Smuzhiyun Please note that PIO transfers are slow (compared to DMA). 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun Also note that not all devices of the b43legacy series support PIO. 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun You should use PIO only if DMA does not work for you. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunendchoice 106