Kconfig 5.0 KB

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