162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig B43LEGACY 362306a36Sopenharmony_ci tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" 462306a36Sopenharmony_ci depends on SSB_POSSIBLE && MAC80211 && HAS_DMA 562306a36Sopenharmony_ci select SSB 662306a36Sopenharmony_ci select FW_LOADER 762306a36Sopenharmony_ci help 862306a36Sopenharmony_ci b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and 962306a36Sopenharmony_ci BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the 1062306a36Sopenharmony_ci Linksys WPC54G V1 PCMCIA devices. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci Newer 802.11g and 802.11a devices need b43. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci It is safe to include both b43 and b43legacy as the underlying glue 1562306a36Sopenharmony_ci layer will automatically load the correct version for your device. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci This driver uses V3 firmware, which must be installed separately using 1862306a36Sopenharmony_ci b43-fwcutter. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci This driver can be built as a module (recommended) that will be 2162306a36Sopenharmony_ci called "b43legacy". If unsure, say M. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci# Auto-select SSB PCI-HOST support, if possible 2462306a36Sopenharmony_ciconfig B43LEGACY_PCI_AUTOSELECT 2562306a36Sopenharmony_ci bool 2662306a36Sopenharmony_ci depends on B43LEGACY && SSB_PCIHOST_POSSIBLE 2762306a36Sopenharmony_ci select SSB_PCIHOST 2862306a36Sopenharmony_ci select SSB_B43_PCI_BRIDGE 2962306a36Sopenharmony_ci default y 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci# Auto-select SSB PCICORE driver, if possible 3262306a36Sopenharmony_ciconfig B43LEGACY_PCICORE_AUTOSELECT 3362306a36Sopenharmony_ci bool 3462306a36Sopenharmony_ci depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE 3562306a36Sopenharmony_ci select SSB_DRIVER_PCICORE 3662306a36Sopenharmony_ci default y 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci# LED support 3962306a36Sopenharmony_ci# This config option automatically enables b43legacy LEDS support, 4062306a36Sopenharmony_ci# if it's possible. 4162306a36Sopenharmony_ciconfig B43LEGACY_LEDS 4262306a36Sopenharmony_ci bool 4362306a36Sopenharmony_ci depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) 4462306a36Sopenharmony_ci default y 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci# This config option automatically enables b43 HW-RNG support, 4762306a36Sopenharmony_ci# if the HW-RNG core is enabled. 4862306a36Sopenharmony_ciconfig B43LEGACY_HWRNG 4962306a36Sopenharmony_ci bool 5062306a36Sopenharmony_ci depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) 5162306a36Sopenharmony_ci default y 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig B43LEGACY_DEBUG 5462306a36Sopenharmony_ci bool "Broadcom 43xx-legacy debugging" 5562306a36Sopenharmony_ci depends on B43LEGACY 5662306a36Sopenharmony_ci default y 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci Say Y, because this information will help you get the driver running. 5962306a36Sopenharmony_ci This option generates a minimum of log output. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciconfig B43LEGACY_DMA 6262306a36Sopenharmony_ci bool 6362306a36Sopenharmony_ci depends on B43LEGACY 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig B43LEGACY_PIO 6662306a36Sopenharmony_ci bool 6762306a36Sopenharmony_ci depends on B43LEGACY 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_cichoice 7062306a36Sopenharmony_ci prompt "Broadcom 43xx-legacy data transfer mode" 7162306a36Sopenharmony_ci depends on B43LEGACY 7262306a36Sopenharmony_ci default B43LEGACY_DMA_AND_PIO_MODE 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig B43LEGACY_DMA_AND_PIO_MODE 7562306a36Sopenharmony_ci bool "DMA + PIO" 7662306a36Sopenharmony_ci select B43LEGACY_DMA 7762306a36Sopenharmony_ci select B43LEGACY_PIO 7862306a36Sopenharmony_ci help 7962306a36Sopenharmony_ci Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) 8062306a36Sopenharmony_ci data transfer modes. The mode actually used is selectable through 8162306a36Sopenharmony_ci the module parameter "pio". With pio=0 as a module parameter, the 8262306a36Sopenharmony_ci default DMA is used, otherwise PIO is used. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci If unsure, choose this option. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciconfig B43LEGACY_DMA_MODE 8762306a36Sopenharmony_ci bool "DMA (Direct Memory Access) only" 8862306a36Sopenharmony_ci select B43LEGACY_DMA 8962306a36Sopenharmony_ci help 9062306a36Sopenharmony_ci Only include Direct Memory Access (DMA). 9162306a36Sopenharmony_ci This reduces the size of the driver module, by omitting the PIO code. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ciconfig B43LEGACY_PIO_MODE 9462306a36Sopenharmony_ci bool "PIO (Programmed I/O) only" 9562306a36Sopenharmony_ci select B43LEGACY_PIO 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci Only include Programmed I/O (PIO). 9862306a36Sopenharmony_ci This reduces the size of the driver module, by omitting the DMA code. 9962306a36Sopenharmony_ci Please note that PIO transfers are slow (compared to DMA). 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci Also note that not all devices of the b43legacy series support PIO. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci You should use PIO only if DMA does not work for you. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciendchoice 106