New: mac80211-based bcm43xx driver from the wireless-dev tree
[openwrt.git] / package / bcm43xx-mac80211 / src / bcm43xx / Kconfig
1 config BCM43XX_MAC80211
2         tristate "Broadcom BCM43xx wireless support (mac80211 stack)"
3         depends on MAC80211 && WLAN_80211 && EXPERIMENTAL
4         select FW_LOADER
5         select SSB
6         select HW_RANDOM
7         ---help---
8           This is an experimental driver for the Broadcom 43xx wireless chip,
9           found in the Apple Airport Extreme and various other devices.
10
11 config BCM43XX_MAC80211_PCI
12         bool "BCM43xx PCI device support"
13         depends on BCM43XX_MAC80211 && PCI
14         select SSB_PCIHOST
15         select SSB_DRIVER_PCICORE
16         default y
17         ---help---
18           Broadcom 43xx PCI device support.
19
20           Say Y, if you have a BCM43xx device connected through the PCI bus.
21           Please note that most PC-CARD devices are (to the kernel) PCI devices,
22           too and not PCMCIA.
23           It's safe to select Y here, even if you don't have a BCM43xx PCI device.
24
25 config BCM43XX_MAC80211_PCMCIA
26         bool "BCM43xx PCMCIA device support"
27         depends on BCM43XX_MAC80211 && PCMCIA
28         select SSB_PCMCIAHOST
29         ---help---
30           Broadcom 43xx PCMCIA device support.
31
32           Support for 16bit PCMCIA devices.
33           Please note that most PC-CARD devices are _NOT_ 16bit PCMCIA
34           devices, but 32bit CardBUS devices. CardBUS devices are supported
35           by "BCM43xx PCI device support".
36
37           With this config option you can drive bcm43xx cards in
38           CompactFlash formfactor in a PCMCIA adaptor.
39           CF bcm43xx cards can sometimes be found in handheld PCs.
40
41           It's safe to select Y here, even if you don't have a BCM43xx PCMCIA device.
42
43           If unsure, say N.
44
45 config BCM43XX_MAC80211_DEBUG
46         bool "Broadcom BCM43xx debugging (RECOMMENDED)"
47         depends on BCM43XX_MAC80211
48         select SSB_DEBUG if !SSB_SILENT
49         default y
50         ---help---
51           Broadcom 43xx debugging messages.
52           Say Y, because the driver is still very experimental and
53           this will help you get it running.
54
55 config BCM43XX_MAC80211_DMA
56         bool
57         depends on BCM43XX_MAC80211
58 config BCM43XX_MAC80211_PIO
59         bool
60         depends on BCM43XX_MAC80211
61
62 choice
63         prompt "BCM43xx data transfer mode"
64         depends on BCM43XX_MAC80211
65         default BCM43XX_MAC80211_DMA_AND_PIO_MODE
66
67 config BCM43XX_MAC80211_DMA_AND_PIO_MODE
68         bool "DMA + PIO"
69         select BCM43XX_MAC80211_DMA
70         select BCM43XX_MAC80211_PIO
71         ---help---
72           Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
73           data transfer modes.
74           The actually used mode is selectable through the module
75           parameter "pio". If the module parameter is pio=0, DMA is used.
76           Otherwise PIO is used. DMA is default.
77
78           If unsure, choose this option.
79
80 config BCM43XX_MAC80211_DMA_MODE
81         bool "DMA (Direct Memory Access) only"
82         select BCM43XX_MAC80211_DMA
83         ---help---
84           Only include Direct Memory Access (DMA).
85           This reduces the size of the driver module, by omitting the PIO code.
86
87 config BCM43XX_MAC80211_PIO_MODE
88         bool "PIO (Programmed I/O) only"
89         select BCM43XX_MAC80211_PIO
90         ---help---
91           Only include Programmed I/O (PIO).
92           This reduces the size of the driver module, by omitting the DMA code.
93           Please note that PIO transfers are slow (compared to DMA).
94
95           Also note that not all devices of the 43xx series support PIO.
96           The 4306 (Apple Airport Extreme and others) supports PIO, while
97           the 4318 is known to _not_ support PIO.
98
99           Only use PIO, if DMA does not work for you.
100
101 endchoice