[B43]: add mac80211-based driver for modern BCM43xx devices
[linux-2.6] / drivers / net / wireless / b43 / Kconfig
1 config B43
2         tristate "Broadcom 43xx wireless support (mac80211 stack)"
3         depends on SSB_POSSIBLE && MAC80211 && WLAN_80211
4         select SSB
5         select FW_LOADER
6         select HW_RANDOM
7         ---help---
8           b43 is a driver for the Broadcom 43xx series wireless devices.
9
10           Check "lspci" for something like
11           "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
12           to determine whether you own such a device.
13
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
21           It is safe to include both b43 and b43legacy as the underlying glue
22           layer will automatically load the correct version for your device.
23
24           This driver uses V4 firmware, which must be installed separately using
25           b43-fwcutter.
26
27           This driver can be built as a module (recommended) that will be called "b43".
28           If unsure, say M.
29
30 # Auto-select SSB PCI-HOST support, if possible
31 config B43_PCI_AUTOSELECT
32         bool
33         depends on B43 && SSB_PCIHOST_POSSIBLE
34         select SSB_PCIHOST
35         default y
36
37 # Auto-select SSB PCICORE driver, if possible
38 config B43_PCICORE_AUTOSELECT
39         bool
40         depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
41         select SSB_DRIVER_PCICORE
42         default y
43
44 config B43_PCMCIA
45         bool "Broadcom 43xx PCMCIA device support (EXPERIMENTAL)"
46         depends on B43 && SSB_PCMCIAHOST_POSSIBLE && EXPERIMENTAL
47         select SSB_PCMCIAHOST
48         ---help---
49           Broadcom 43xx PCMCIA device support.
50
51           Support for 16bit PCMCIA devices.
52           Please note that most PC-CARD devices are _NOT_ 16bit PCMCIA
53           devices, but 32bit CardBUS devices. CardBUS devices are supported
54           out of the box by b43.
55
56           With this config option you can drive b43 cards in
57           CompactFlash formfactor in a PCMCIA adaptor.
58           CF b43 cards can sometimes be found in handheld PCs.
59
60           It's safe to select Y here, even if you don't have a B43 PCMCIA device.
61
62           If unsure, say N.
63
64 config B43_DEBUG
65         bool "Broadcom 43xx debugging"
66         depends on B43
67         ---help---
68           Broadcom 43xx debugging messages.
69
70           Say Y, if you want to find out why the driver does not
71           work for you.
72
73 config B43_DMA
74         bool
75         depends on B43
76 config B43_PIO
77         bool
78         depends on B43
79
80 choice
81         prompt "Broadcom 43xx data transfer mode"
82         depends on B43
83         default B43_DMA_AND_PIO_MODE
84
85 config B43_DMA_AND_PIO_MODE
86         bool "DMA + PIO"
87         select B43_DMA
88         select B43_PIO
89         ---help---
90           Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
91           data transfer modes.
92           The actually used mode is selectable through the module
93           parameter "pio". If the module parameter is pio=0, DMA is used.
94           Otherwise PIO is used. DMA is default.
95
96           If unsure, choose this option.
97
98 config B43_DMA_MODE
99         bool "DMA (Direct Memory Access) only"
100         select B43_DMA
101         ---help---
102           Only include Direct Memory Access (DMA).
103           This reduces the size of the driver module, by omitting the PIO code.
104
105 config B43_PIO_MODE
106         bool "PIO (Programmed I/O) only"
107         select B43_PIO
108         ---help---
109           Only include Programmed I/O (PIO).
110           This reduces the size of the driver module, by omitting the DMA code.
111           Please note that PIO transfers are slow (compared to DMA).
112
113           Also note that not all devices of the 43xx series support PIO.
114           The 4306 (Apple Airport Extreme and others) supports PIO, while
115           the 4318 is known to _not_ support PIO.
116
117           Only use PIO, if DMA does not work for you.
118
119 endchoice