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