Merge branch 'master' into radar
[carl9170fw.git] / carlfw / Kconfig
1 menu "General"
2
3 config CARL9170FW_RELEASE_VERSION
4         int
5         default 1
6
7 menu "Selectable Hardware Options"
8
9 choice
10         prompt "Receiver Max. Frame Length"
11         default CARL9170FW_RX_FRAME_LEN_8192
12
13         config CARL9170FW_RX_FRAME_LEN_4096
14                 bool "4096"
15
16         config CARL9170FW_RX_FRAME_LEN_8192
17                 bool "8192"
18
19         config CARL9170FW_RX_FRAME_LEN_16384
20                 bool "16384"
21
22         config CARL9170FW_RX_FRAME_LEN_32768
23                 bool "32768"
24
25 endchoice
26
27 config CARL9170FW_RX_FRAME_LEN
28         int
29         default 4096 if CARL9170FW_RX_FRAME_LEN_4096
30         default 8192 if CARL9170FW_RX_FRAME_LEN_8192
31         default 16384 if CARL9170FW_RX_FRAME_LEN_16384
32         default 32768 if CARL9170FW_RX_FRAME_LEN_32768
33
34 config CARL9170FW_GPIO_INTERRUPT
35         def_bool y
36         prompt "GPIO Software Interrupt"
37         ---help---
38          When this option is enabled, the firmware will poll the GPIO
39          registers and reports to the driver whenever the GPIO state
40          has changed from a previous state.
41
42          Note: This feature is necessary to monitor the WPS button,
43                if you have one on your device, then say Y.
44
45 config CARL9170FW_SECURITY_ENGINE
46         def_bool y
47         prompt "Support Hardware Crypto Engine"
48         ---help---
49          This options controls if the firmware will allow the driver
50          to program the security engine / CAM through a firmware
51          interface.
52
53          Say Y. Unless you want to do the en- and decryption for
54          CCMP(AES), TKIP/WEP(RC4) in the application anyway.
55
56 config CARL9170FW_RADIO_FUNCTIONS
57         def_bool y
58         prompt "Enable Firmware-supported Radio/RF functions"
59         ---help---
60          Some PHY/RF functions (e.g.: AGC and Noise calibration) need
61          to be done in the firmware.
62
63          Say Y, unless you really don't need the Radio/RF for
64          your project.
65
66 endmenu
67
68 menu "802.11 Firmware Features"
69
70 config CARL9170FW_CAB_QUEUE
71         def_bool y
72         prompt "Support software-based Content after Beacon Queue"
73         ---help---
74          This (software) queue is used to send any broad-/multi-cast buffered
75          frames after the next DTIM beacon.
76
77          This feature is required for Accesspoint mode operation.
78
79          Say Y.
80
81 endmenu
82
83 source "carlfw/usb/Kconfig"
84
85 menu "Experimental, Unstable & Testing Extensions"
86
87 config CARL9170FW_PRINTF
88         def_bool y
89         prompt "Advanced printf"
90         depends on CARL9170FW_DEBUG_UART || CARL9170FW_DEBUG_USB
91         ---help---
92          Advanced printf (very useful for debugging purposes)
93          The formats supported by this implementation are:
94                 'd' 'u' 'c' 's' 'x' 'X' 'p'.
95
96          Note: If this option is disabled, the firmware will be only
97                capable of reported _preformated_ string.
98
99 config CARL9170FW_EXPERIMENTAL
100         def_bool y
101         prompt "Experimental Features"
102
103 config CARL9170FW_RADAR
104         def_bool n
105         prompt "Radar pattern generator"
106         depends on CARL9170FW_EXPERIMENTAL
107         ---help---
108          With this option enabled, the firmware can generate random
109          transmission pattern that might fool a reciever to believe
110          that there is an active radar on the channel.
111          Note: sadly, no SDR here.
112
113 config CARL9170FW_WOL_OPTION
114         def_bool n
115         prompt "Wakeup on WLAN"
116         depends on CARL9170FW_EXPERIMENTAL
117         ---help---
118          With this option enabled, the firmware can wake-up
119          suspended hosts... As long as they fully support
120          USB remote wakeup.
121
122 config CARL9170FW_WOL
123         def_bool n
124         depends on CARL9170FW_WOL_OPTION
125
126 config CARL9170FW_WOL_NL80211_TRIGGERS
127         def_bool n
128         prompt "Standard NL80211 wakeup triggers"
129         depends on CARL9170FW_WOL_OPTION
130         select CARL9170FW_WOL
131         ---help---
132          Available triggers:
133           * Magic Packet(tm) pattern
134           * disconnect event
135
136 config CARL9170FW_WOL_PROBE_REQUEST
137         def_bool n
138         prompt "Probe Request"
139         depends on CARL9170FW_WOL_OPTION
140         select CARL9170FW_WOL
141         ---help---
142          Scan probe requests for a given SSID.
143
144 config CARL9170FW_WOL_PROBE_REQUEST_SSID
145         string
146         prompt "Wakeup on WLAN SSID"
147         default "CARL9170_WAKEUP"
148         depends on CARL9170FW_WOL_PROBE_REQUEST
149
150 config CARL9170FW_VIFS_NUM
151         default 1
152         int
153         prompt "Number of additional pseudo virtual interfaces"
154         depends on CARL9170FW_EXPERIMENTAL
155
156 config CARL9170FW_FW_MAC_RESET
157         def_bool y
158         prompt "Firmware MAC Chip recovery"
159         depends on CARL9170FW_EXPERIMENTAL
160
161 config CARL9170FW_NOISY_MAC_RESET
162         def_bool n
163         prompt "Notify MAC RESET events"
164         depends on CARL9170FW_FW_MAC_RESET
165
166 config CARL9170FW_BROKEN_FEATURES
167         def_bool n
168         prompt "Broken Featurs"
169
170 config CARL9170FW_DEBUG
171         def_bool n
172         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
173         prompt "Enable verbose debugging messages"
174
175 config CARL9170FW_DEBUG_LED_HEARTBEAT
176         def_bool n
177         prompt "LED Heartbeat"
178         depends on CARL9170FW_BROKEN_FEATURES
179         ---help---
180          This option conflicts with the application's LED code.
181          Also, it assumes that you have two LEDs, which is not
182          necessarily true.
183
184 config CARL9170FW_DEBUG_UART
185         def_bool n
186         prompt "Pass debug messages through Highspeed UART"
187         depends on CARL9170FW_BROKEN_FEATURES
188         ---help---
189          This option allows the firmware to send BUG/ERR/INFO/DBG and
190          hexdumps through the UART _as well_. However, first: you must
191          connect a working logger.
192
193 config CARL9170FW_WATCHDOG_BUTTON
194         def_bool n
195         depends on CARL9170FW_BROKEN && CARL9170FW_GPIO_INTERRUPT
196         prompt "Trigger Watchdog by pressing the WPS button"
197
198 choice CARL9170FW_UART_CLOCK
199         prompt "UART Clock"
200         depends on CARL9170FW_DEBUG_UART
201         default CARL9170FW_UART_CLOCK_40M
202
203 config CARL9170FW_UART_CLOCK_25M
204         bool "25"
205
206 config CARL9170FW_UART_CLOCK_40M
207         bool "40"
208
209 endchoice
210
211 config CARL9170FW_UNUSABLE
212         def_bool y
213         depends on CARL9170FW_BROKEN || CARL9170FW_DEBUG
214
215 config CARL9170FW_USB_MODESWITCH
216         def_bool n
217         prompt "USB 1.1 / 2.0 switching support"
218         depends on CARL9170FW_BROKEN_FEATURES
219         ---help---
220          Mostly implemented, but untested and some serious
221          doubts remain.
222
223 config CARL9170FW_DMA_QUEUE_BUMP
224         def_bool n
225         prompt "Bump a stuck TX queue before doing a MAC reset"
226         depends on CARL9170FW_BROKEN_FEATURES
227
228 menu "Build Options"
229 config CARL9170FW_AGGRESSIVE_CFLAGS
230         def_bool y
231         prompt "Enable aggressive size optimization"
232         ---help---
233          This option adds several more optimization compiler flags,
234          which can greatly reduce the firmware size... at the expense
235          of machine-code readability.
236
237           Say Y. Else the firmware might not fit onto the device!
238
239 endmenu
240
241 endmenu
242
243 endmenu