treewide: Add SPDX license identifier - Makefile/Kconfig
[linux-2.6-microblaze.git] / drivers / net / wireless / broadcom / b43 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config B43
3         tristate "Broadcom 43xx wireless support (mac80211 stack)"
4         depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
5         select BCMA if B43_BCMA
6         select SSB if B43_SSB
7         select FW_LOADER
8         select CORDIC
9         ---help---
10           b43 is a driver for the Broadcom 43xx series wireless devices.
11
12           Check "lspci" for something like
13           "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
14           to determine whether you own such a device.
15
16           This driver supports the new BCM43xx IEEE 802.11G devices, but not
17           the old IEEE 802.11B devices. Old devices are supported by
18           the b43legacy driver.
19           Note that this has nothing to do with the standard that your AccessPoint
20           supports (A, B, G or a combination).
21           IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints.
22
23           It is safe to include both b43 and b43legacy as the underlying glue
24           layer will automatically load the correct version for your device.
25
26           This driver uses V4 firmware, which must be installed separately using
27           b43-fwcutter.
28
29           This driver can be built as a module (recommended) that will be called "b43".
30           If unsure, say M.
31
32 config B43_BCMA
33         bool
34
35 config B43_SSB
36         bool
37
38 choice
39         prompt "Supported bus types"
40         depends on B43
41         default B43_BUSES_BCMA_AND_SSB
42
43 config B43_BUSES_BCMA_AND_SSB
44         bool "BCMA and SSB"
45         depends on BCMA_POSSIBLE && SSB_POSSIBLE
46         select B43_BCMA
47         select B43_SSB
48
49 config B43_BUSES_BCMA
50         bool "BCMA only"
51         depends on BCMA_POSSIBLE
52         select B43_BCMA
53
54 config B43_BUSES_SSB
55         bool "SSB only"
56         depends on SSB_POSSIBLE
57         select B43_SSB
58
59 endchoice
60
61 # Auto-select SSB PCI-HOST support, if possible
62 config B43_PCI_AUTOSELECT
63         bool
64         depends on B43 && SSB_PCIHOST_POSSIBLE
65         select SSB_PCIHOST
66         select SSB_B43_PCI_BRIDGE
67         default y
68
69 # Auto-select SSB PCICORE driver, if possible
70 config B43_PCICORE_AUTOSELECT
71         bool
72         depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
73         select SSB_DRIVER_PCICORE
74         default y
75
76 config B43_SDIO
77         bool "Broadcom 43xx SDIO device support"
78         depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE
79         select SSB_SDIOHOST
80         ---help---
81           Broadcom 43xx device support for Soft-MAC SDIO devices.
82
83           With this config option you can drive Soft-MAC b43 cards with a
84           Secure Digital I/O interface.
85           This includes the WLAN daughter card found on the Nintendo Wii
86           video game console.
87           Note that this does not support Broadcom 43xx Full-MAC devices.
88
89           It's safe to select Y here, even if you don't have a B43 SDIO device.
90
91           If unsure, say N.
92
93 #Data transfers to the device via PIO. We want it as a fallback even
94 # if we can do DMA.
95 config B43_BCMA_PIO
96         bool
97         depends on B43 && B43_BCMA
98         select BCMA_BLOCKIO
99         default y
100
101 config B43_PIO
102         bool
103         depends on B43 && B43_SSB
104         select SSB_BLOCKIO
105         default y
106
107 config B43_PHY_G
108         bool "Support for G-PHY (802.11g) devices"
109         depends on B43 && B43_SSB
110         default y
111         ---help---
112           This PHY type can be found in the following chipsets:
113           PCI: BCM4306, BCM4311, BCM4318
114           SoC: BCM4712, BCM5352E
115
116 config B43_PHY_N
117         bool "Support for N-PHY (the main 802.11n series) devices"
118         depends on B43
119         default y
120         ---help---
121           This PHY type can be found in the following chipsets:
122           PCI: BCM4321, BCM4322,
123                BCM43222, BCM43224, BCM43225,
124                BCM43131, BCM43217, BCM43227, BCM43228
125           SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358
126
127 config B43_PHY_LP
128         bool "Support for LP-PHY (low-power 802.11g) devices"
129         depends on B43 && B43_SSB
130         default y
131         ---help---
132           The LP-PHY is a low-power PHY built into some notebooks
133           and embedded devices. It supports 802.11a/b/g
134           (802.11a support is optional, and currently disabled).
135
136 config B43_PHY_HT
137         bool "Support for HT-PHY (high throughput 802.11n) devices"
138         depends on B43 && B43_BCMA
139         default y
140         ---help---
141           This PHY type with 3x3:3 MIMO can be found in the BCM4331 PCI chipset.
142
143 config B43_PHY_LCN
144         bool "Support for LCN-PHY devices (BROKEN)"
145         depends on B43 && BROKEN
146         ---help---
147           Support for the LCN-PHY.
148
149           Say N, this is BROKEN and crashes driver.
150
151 config B43_PHY_AC
152         bool "Support for AC-PHY (802.11ac) devices (BROKEN)"
153         depends on B43 && B43_BCMA && BROKEN
154         ---help---
155           This PHY type can be found in the following chipsets:
156           PCI: BCM4352, BCM4360
157
158           Say N, this is BROKEN and crashes driver.
159
160 # This config option automatically enables b43 LEDS support,
161 # if it's possible.
162 config B43_LEDS
163         bool
164         depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43)
165         default y
166
167 # This config option automatically enables b43 HW-RNG support,
168 # if the HW-RNG core is enabled.
169 config B43_HWRNG
170         bool
171         depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43)
172         default y
173
174 config B43_DEBUG
175         bool "Broadcom 43xx debugging"
176         depends on B43
177         ---help---
178           Broadcom 43xx debugging.
179
180           This adds additional runtime sanity checks and statistics to the driver.
181           These checks and statistics might be expensive and hurt the runtime
182           performance of your system.
183           This also adds the b43 debugfs interface.
184
185           Do not enable this, unless you are debugging the driver.
186
187           Say N, if you are a distributor or user building a release kernel
188           for production use.
189           Only say Y, if you are debugging a problem in the b43 driver sourcecode.