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