18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig B43LEGACY 38c2ecf20Sopenharmony_ci tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" 48c2ecf20Sopenharmony_ci depends on SSB_POSSIBLE && MAC80211 && HAS_DMA 58c2ecf20Sopenharmony_ci select SSB 68c2ecf20Sopenharmony_ci select FW_LOADER 78c2ecf20Sopenharmony_ci help 88c2ecf20Sopenharmony_ci b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and 98c2ecf20Sopenharmony_ci BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the 108c2ecf20Sopenharmony_ci Linksys WPC54G V1 PCMCIA devices. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci Newer 802.11g and 802.11a devices need b43. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci It is safe to include both b43 and b43legacy as the underlying glue 158c2ecf20Sopenharmony_ci layer will automatically load the correct version for your device. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci This driver uses V3 firmware, which must be installed separately using 188c2ecf20Sopenharmony_ci b43-fwcutter. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci This driver can be built as a module (recommended) that will be 218c2ecf20Sopenharmony_ci called "b43legacy". If unsure, say M. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci# Auto-select SSB PCI-HOST support, if possible 248c2ecf20Sopenharmony_ciconfig B43LEGACY_PCI_AUTOSELECT 258c2ecf20Sopenharmony_ci bool 268c2ecf20Sopenharmony_ci depends on B43LEGACY && SSB_PCIHOST_POSSIBLE 278c2ecf20Sopenharmony_ci select SSB_PCIHOST 288c2ecf20Sopenharmony_ci select SSB_B43_PCI_BRIDGE 298c2ecf20Sopenharmony_ci default y 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci# Auto-select SSB PCICORE driver, if possible 328c2ecf20Sopenharmony_ciconfig B43LEGACY_PCICORE_AUTOSELECT 338c2ecf20Sopenharmony_ci bool 348c2ecf20Sopenharmony_ci depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE 358c2ecf20Sopenharmony_ci select SSB_DRIVER_PCICORE 368c2ecf20Sopenharmony_ci default y 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci# LED support 398c2ecf20Sopenharmony_ci# This config option automatically enables b43legacy LEDS support, 408c2ecf20Sopenharmony_ci# if it's possible. 418c2ecf20Sopenharmony_ciconfig B43LEGACY_LEDS 428c2ecf20Sopenharmony_ci bool 438c2ecf20Sopenharmony_ci depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) 448c2ecf20Sopenharmony_ci default y 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci# This config option automatically enables b43 HW-RNG support, 478c2ecf20Sopenharmony_ci# if the HW-RNG core is enabled. 488c2ecf20Sopenharmony_ciconfig B43LEGACY_HWRNG 498c2ecf20Sopenharmony_ci bool 508c2ecf20Sopenharmony_ci depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) 518c2ecf20Sopenharmony_ci default y 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig B43LEGACY_DEBUG 548c2ecf20Sopenharmony_ci bool "Broadcom 43xx-legacy debugging" 558c2ecf20Sopenharmony_ci depends on B43LEGACY 568c2ecf20Sopenharmony_ci default y 578c2ecf20Sopenharmony_ci help 588c2ecf20Sopenharmony_ci Say Y, because this information will help you get the driver running. 598c2ecf20Sopenharmony_ci This option generates a minimum of log output. 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciconfig B43LEGACY_DMA 628c2ecf20Sopenharmony_ci bool 638c2ecf20Sopenharmony_ci depends on B43LEGACY 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciconfig B43LEGACY_PIO 668c2ecf20Sopenharmony_ci bool 678c2ecf20Sopenharmony_ci depends on B43LEGACY 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_cichoice 708c2ecf20Sopenharmony_ci prompt "Broadcom 43xx-legacy data transfer mode" 718c2ecf20Sopenharmony_ci depends on B43LEGACY 728c2ecf20Sopenharmony_ci default B43LEGACY_DMA_AND_PIO_MODE 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ciconfig B43LEGACY_DMA_AND_PIO_MODE 758c2ecf20Sopenharmony_ci bool "DMA + PIO" 768c2ecf20Sopenharmony_ci select B43LEGACY_DMA 778c2ecf20Sopenharmony_ci select B43LEGACY_PIO 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) 808c2ecf20Sopenharmony_ci data transfer modes. The mode actually used is selectable through 818c2ecf20Sopenharmony_ci the module parameter "pio". With pio=0 as a module parameter, the 828c2ecf20Sopenharmony_ci default DMA is used, otherwise PIO is used. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci If unsure, choose this option. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ciconfig B43LEGACY_DMA_MODE 878c2ecf20Sopenharmony_ci bool "DMA (Direct Memory Access) only" 888c2ecf20Sopenharmony_ci select B43LEGACY_DMA 898c2ecf20Sopenharmony_ci help 908c2ecf20Sopenharmony_ci Only include Direct Memory Access (DMA). 918c2ecf20Sopenharmony_ci This reduces the size of the driver module, by omitting the PIO code. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciconfig B43LEGACY_PIO_MODE 948c2ecf20Sopenharmony_ci bool "PIO (Programmed I/O) only" 958c2ecf20Sopenharmony_ci select B43LEGACY_PIO 968c2ecf20Sopenharmony_ci help 978c2ecf20Sopenharmony_ci Only include Programmed I/O (PIO). 988c2ecf20Sopenharmony_ci This reduces the size of the driver module, by omitting the DMA code. 998c2ecf20Sopenharmony_ci Please note that PIO transfers are slow (compared to DMA). 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci Also note that not all devices of the b43legacy series support PIO. 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci You should use PIO only if DMA does not work for you. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciendchoice 106