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