1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2423e3ce3SKalle Valoconfig B43LEGACY 3423e3ce3SKalle Valo tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" 4423e3ce3SKalle Valo depends on SSB_POSSIBLE && MAC80211 && HAS_DMA 5423e3ce3SKalle Valo select SSB 6423e3ce3SKalle Valo select FW_LOADER 7*a7f7f624SMasahiro Yamada help 8423e3ce3SKalle Valo b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and 9423e3ce3SKalle Valo BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the 10423e3ce3SKalle Valo Linksys WPC54G V1 PCMCIA devices. 11423e3ce3SKalle Valo 12423e3ce3SKalle Valo Newer 802.11g and 802.11a devices need b43. 13423e3ce3SKalle Valo 14423e3ce3SKalle Valo It is safe to include both b43 and b43legacy as the underlying glue 15423e3ce3SKalle Valo layer will automatically load the correct version for your device. 16423e3ce3SKalle Valo 17423e3ce3SKalle Valo This driver uses V3 firmware, which must be installed separately using 18423e3ce3SKalle Valo b43-fwcutter. 19423e3ce3SKalle Valo 20423e3ce3SKalle Valo This driver can be built as a module (recommended) that will be 21423e3ce3SKalle Valo called "b43legacy". If unsure, say M. 22423e3ce3SKalle Valo 23423e3ce3SKalle Valo# Auto-select SSB PCI-HOST support, if possible 24423e3ce3SKalle Valoconfig B43LEGACY_PCI_AUTOSELECT 25423e3ce3SKalle Valo bool 26423e3ce3SKalle Valo depends on B43LEGACY && SSB_PCIHOST_POSSIBLE 27423e3ce3SKalle Valo select SSB_PCIHOST 28423e3ce3SKalle Valo select SSB_B43_PCI_BRIDGE 29423e3ce3SKalle Valo default y 30423e3ce3SKalle Valo 31423e3ce3SKalle Valo# Auto-select SSB PCICORE driver, if possible 32423e3ce3SKalle Valoconfig B43LEGACY_PCICORE_AUTOSELECT 33423e3ce3SKalle Valo bool 34423e3ce3SKalle Valo depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE 35423e3ce3SKalle Valo select SSB_DRIVER_PCICORE 36423e3ce3SKalle Valo default y 37423e3ce3SKalle Valo 38423e3ce3SKalle Valo# LED support 39423e3ce3SKalle Valo# This config option automatically enables b43legacy LEDS support, 40423e3ce3SKalle Valo# if it's possible. 41423e3ce3SKalle Valoconfig B43LEGACY_LEDS 42423e3ce3SKalle Valo bool 43423e3ce3SKalle Valo depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) 44423e3ce3SKalle Valo default y 45423e3ce3SKalle Valo 46423e3ce3SKalle Valo# This config option automatically enables b43 HW-RNG support, 47423e3ce3SKalle Valo# if the HW-RNG core is enabled. 48423e3ce3SKalle Valoconfig B43LEGACY_HWRNG 49423e3ce3SKalle Valo bool 50423e3ce3SKalle Valo depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) 51423e3ce3SKalle Valo default y 52423e3ce3SKalle Valo 53423e3ce3SKalle Valoconfig B43LEGACY_DEBUG 54423e3ce3SKalle Valo bool "Broadcom 43xx-legacy debugging" 55423e3ce3SKalle Valo depends on B43LEGACY 56423e3ce3SKalle Valo default y 57*a7f7f624SMasahiro Yamada help 58423e3ce3SKalle Valo Say Y, because this information will help you get the driver running. 59423e3ce3SKalle Valo This option generates a minimum of log output. 60423e3ce3SKalle Valo 61423e3ce3SKalle Valoconfig B43LEGACY_DMA 62423e3ce3SKalle Valo bool 63423e3ce3SKalle Valo depends on B43LEGACY 64423e3ce3SKalle Valo 65423e3ce3SKalle Valoconfig B43LEGACY_PIO 66423e3ce3SKalle Valo bool 67423e3ce3SKalle Valo depends on B43LEGACY 68423e3ce3SKalle Valo 69423e3ce3SKalle Valochoice 70423e3ce3SKalle Valo prompt "Broadcom 43xx-legacy data transfer mode" 71423e3ce3SKalle Valo depends on B43LEGACY 72423e3ce3SKalle Valo default B43LEGACY_DMA_AND_PIO_MODE 73423e3ce3SKalle Valo 74423e3ce3SKalle Valoconfig B43LEGACY_DMA_AND_PIO_MODE 75423e3ce3SKalle Valo bool "DMA + PIO" 76423e3ce3SKalle Valo select B43LEGACY_DMA 77423e3ce3SKalle Valo select B43LEGACY_PIO 78*a7f7f624SMasahiro Yamada help 79423e3ce3SKalle Valo Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) 80423e3ce3SKalle Valo data transfer modes. The mode actually used is selectable through 81423e3ce3SKalle Valo the module parameter "pio". With pio=0 as a module parameter, the 82423e3ce3SKalle Valo default DMA is used, otherwise PIO is used. 83423e3ce3SKalle Valo 84423e3ce3SKalle Valo If unsure, choose this option. 85423e3ce3SKalle Valo 86423e3ce3SKalle Valoconfig B43LEGACY_DMA_MODE 87423e3ce3SKalle Valo bool "DMA (Direct Memory Access) only" 88423e3ce3SKalle Valo select B43LEGACY_DMA 89*a7f7f624SMasahiro Yamada help 90423e3ce3SKalle Valo Only include Direct Memory Access (DMA). 91423e3ce3SKalle Valo This reduces the size of the driver module, by omitting the PIO code. 92423e3ce3SKalle Valo 93423e3ce3SKalle Valoconfig B43LEGACY_PIO_MODE 94423e3ce3SKalle Valo bool "PIO (Programmed I/O) only" 95423e3ce3SKalle Valo select B43LEGACY_PIO 96*a7f7f624SMasahiro Yamada help 97423e3ce3SKalle Valo Only include Programmed I/O (PIO). 98423e3ce3SKalle Valo This reduces the size of the driver module, by omitting the DMA code. 99423e3ce3SKalle Valo Please note that PIO transfers are slow (compared to DMA). 100423e3ce3SKalle Valo 101423e3ce3SKalle Valo Also note that not all devices of the b43legacy series support PIO. 102423e3ce3SKalle Valo 103423e3ce3SKalle Valo You should use PIO only if DMA does not work for you. 104423e3ce3SKalle Valo 105423e3ce3SKalle Valoendchoice 106