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