0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config B43LEGACY
0003 tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)"
0004 depends on SSB_POSSIBLE && MAC80211 && HAS_DMA
0005 select SSB
0006 select FW_LOADER
0007 help
0008 b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and
0009 BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the
0010 Linksys WPC54G V1 PCMCIA devices.
0011
0012 Newer 802.11g and 802.11a devices need b43.
0013
0014 It is safe to include both b43 and b43legacy as the underlying glue
0015 layer will automatically load the correct version for your device.
0016
0017 This driver uses V3 firmware, which must be installed separately using
0018 b43-fwcutter.
0019
0020 This driver can be built as a module (recommended) that will be
0021 called "b43legacy". If unsure, say M.
0022
0023 # Auto-select SSB PCI-HOST support, if possible
0024 config B43LEGACY_PCI_AUTOSELECT
0025 bool
0026 depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
0027 select SSB_PCIHOST
0028 select SSB_B43_PCI_BRIDGE
0029 default y
0030
0031 # Auto-select SSB PCICORE driver, if possible
0032 config B43LEGACY_PCICORE_AUTOSELECT
0033 bool
0034 depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE
0035 select SSB_DRIVER_PCICORE
0036 default y
0037
0038 # LED support
0039 # This config option automatically enables b43legacy LEDS support,
0040 # if it's possible.
0041 config B43LEGACY_LEDS
0042 bool
0043 depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY)
0044 default y
0045
0046 # This config option automatically enables b43 HW-RNG support,
0047 # if the HW-RNG core is enabled.
0048 config B43LEGACY_HWRNG
0049 bool
0050 depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY)
0051 default y
0052
0053 config B43LEGACY_DEBUG
0054 bool "Broadcom 43xx-legacy debugging"
0055 depends on B43LEGACY
0056 default y
0057 help
0058 Say Y, because this information will help you get the driver running.
0059 This option generates a minimum of log output.
0060
0061 config B43LEGACY_DMA
0062 bool
0063 depends on B43LEGACY
0064
0065 config B43LEGACY_PIO
0066 bool
0067 depends on B43LEGACY
0068
0069 choice
0070 prompt "Broadcom 43xx-legacy data transfer mode"
0071 depends on B43LEGACY
0072 default B43LEGACY_DMA_AND_PIO_MODE
0073
0074 config B43LEGACY_DMA_AND_PIO_MODE
0075 bool "DMA + PIO"
0076 select B43LEGACY_DMA
0077 select B43LEGACY_PIO
0078 help
0079 Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
0080 data transfer modes. The mode actually used is selectable through
0081 the module parameter "pio". With pio=0 as a module parameter, the
0082 default DMA is used, otherwise PIO is used.
0083
0084 If unsure, choose this option.
0085
0086 config B43LEGACY_DMA_MODE
0087 bool "DMA (Direct Memory Access) only"
0088 select B43LEGACY_DMA
0089 help
0090 Only include Direct Memory Access (DMA).
0091 This reduces the size of the driver module, by omitting the PIO code.
0092
0093 config B43LEGACY_PIO_MODE
0094 bool "PIO (Programmed I/O) only"
0095 select B43LEGACY_PIO
0096 help
0097 Only include Programmed I/O (PIO).
0098 This reduces the size of the driver module, by omitting the DMA code.
0099 Please note that PIO transfers are slow (compared to DMA).
0100
0101 Also note that not all devices of the b43legacy series support PIO.
0102
0103 You should use PIO only if DMA does not work for you.
0104
0105 endchoice