carl9170 firmware: handle download queue exceptions
[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_HANDLE_BACK_REQ
71         def_bool y
72         prompt "Handle BlockACK Requests in Firmware"
73         ---help---
74          Enables a firmware mechanism to answer incoming BlockACK requests.
75          This feature is necessary to comply with 802.11n. So say Y,
76          if you have plans to support this operation mode.
77
78 config CARL9170FW_BACK_REQS_NUM
79         default 4
80         int
81         prompt "Number of max. active BlockACK Request"
82         depends on CARL9170FW_HANDLE_BACK_REQ
83
84 config CARL9170FW_CAB_QUEUE
85         def_bool y
86         prompt "Support software-based Content after Beacon Queue"
87         ---help---
88          This (software) queue is used to send any broad-/multi-cast buffered
89          frames after the next DTIM beacon.
90
91          This feature is required for Accesspoint mode operation.
92
93          Say Y.
94
95 endmenu
96
97 source "carlfw/usb/Kconfig"
98
99 menu "Experimental, Unstable & Testing Extensions"
100
101 config CARL9170FW_PRINTF
102         def_bool y
103         prompt "Advanced printf"
104         depends on CARL9170FW_DEBUG_UART || CARL9170FW_DEBUG_USB
105         ---help---
106          Advanced printf (very useful for debugging purposes)
107          The formats supported by this implementation are:
108                 'd' 'u' 'c' 's' 'x' 'X' 'p'.
109
110          Note: If this option is disabled, the firmware will be only
111                capable of reported _preformated_ string.
112
113 config CARL9170FW_EXPERIMENTAL
114         def_bool y
115         prompt "Experimental Features"
116
117 config CARL9170FW_WOL_OPTION
118         def_bool n
119         prompt "Wakeup on WLAN"
120         depends on CARL9170FW_EXPERIMENTAL
121         ---help---
122          With this option enabled, the firmware can wake-up
123          suspended hosts... As long as they fully support
124          USB remote wakeup.
125
126 config CARL9170FW_WOL
127         def_bool n
128         depends on CARL9170FW_WOL_OPTION
129
130 config CARL9170FW_WOL_MAGIC_PACKET
131         def_bool n
132         prompt "Magic Packet(tm)"
133         depends on CARL9170FW_WOL_OPTION
134         select CARL9170FW_WOL
135         ---help---
136          Sniff all incoming data frames for the magic packet pattern.
137
138 config CARL9170FW_WOL_PROBE_REQUEST
139         def_bool n
140         prompt "Probe Request"
141         depends on CARL9170FW_WOL_OPTION
142         select CARL9170FW_WOL
143         ---help---
144          Scan probe requests for a given SSID.
145
146 config CARL9170FW_WOL_PROBE_REQUEST_SSID
147         string
148         prompt "Wakeup on WLAN SSID"
149         default "CARL9170_WAKEUP"
150         depends on CARL9170FW_WOL_PROBE_REQUEST
151
152 config CARL9170FW_VIFS_NUM
153         default 1
154         int
155         prompt "Number of additional pseudo virtual interfaces"
156         depends on CARL9170FW_EXPERIMENTAL
157
158 config CARL9170FW_FW_MAC_RESET
159         def_bool y
160         prompt "Firmware MAC Chip recovery"
161         depends on CARL9170FW_EXPERIMENTAL
162
163 config CARL9170FW_NOISY_MAC_RESET
164         def_bool n
165         prompt "Notify MAC RESET events"
166         depends on CARL9170FW_FW_MAC_RESET
167
168 config CARL9170FW_BROKEN_FEATURES
169         def_bool n
170         prompt "Broken Featurs"
171
172 config CARL9170FW_DEBUG
173         def_bool n
174         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
175         prompt "Enable verbose debugging messages"
176
177 config CARL9170FW_DEBUG_LED_HEARTBEAT
178         def_bool n
179         prompt "LED Heartbeat"
180         depends on CARL9170FW_BROKEN_FEATURES
181         ---help---
182          This option conflicts with the application's LED code.
183          Also, it assumes that you have two LEDs, which is not
184          necessarily true.
185
186 config CARL9170FW_DEBUG_UART
187         def_bool n
188         prompt "Pass debug messages through Highspeed UART"
189         depends on CARL9170FW_BROKEN_FEATURES
190         ---help---
191          This option allows the firmware to send BUG/ERR/INFO/DBG and
192          hexdumps through the UART _as well_. However, first: you must
193          connect a working logger.
194
195 config CARL9170FW_WATCHDOG_BUTTON
196         def_bool n
197         depends on CARL9170FW_BROKEN && CARL9170FW_GPIO_INTERRUPT
198         prompt "Trigger Watchdog by pressing the WPS button"
199
200 choice CARL9170FW_UART_CLOCK
201         prompt "UART Clock"
202         depends on CARL9170FW_DEBUG_UART
203         default CARL9170FW_UART_CLOCK_40M
204
205 config CARL9170FW_UART_CLOCK_25M
206         bool "25"
207
208 config CARL9170FW_UART_CLOCK_40M
209         bool "40"
210
211 endchoice
212
213
214 choice
215         prompt "TX / RX Path"
216
217         default CARL9170FW_NORMAL_TX_RX
218
219         config CARL9170FW_NORMAL_TX_RX
220                 bool
221                 prompt "Normal WLAN TX/RX routines"
222
223         config CARL9170FW_LOOPBACK
224                 bool
225                 depends on CARL9170FW_BROKEN_FEATURES
226                 prompt "TX->(tx feedback)->RX loopback"
227                 ---help---
228                  Useful carlu testcase.
229
230         config CARL9170FW_DISCARD
231                 bool
232                 depends on CARL9170FW_BROKEN_FEATURES
233                 prompt "TX->(tx feedback)"
234                 ---help---
235                  Useful carlu testcase
236
237 endchoice
238
239 config CARL9170FW_UNUSABLE
240         def_bool y
241         depends on CARL9170FW_BROKEN || CARL9170FW_LOOPBACK
242
243 config CARL9170FW_USB_MODESWITCH
244         def_bool n
245         prompt "USB 1.1 / 2.0 switching support"
246         depends on CARL9170FW_BROKEN_FEATURES
247         ---help---
248          Mostly implemented, but untested and some serious
249          doubts remain.
250
251 config CARL9170FW_DMA_QUEUE_BUMP
252         def_bool n
253         prompt "Bump a stuck TX queue before doing a MAC reset"
254         depends on CARL9170FW_BROKEN_FEATURES
255
256 menu "Build Options"
257 config CARL9170FW_AGGRESSIVE_CFLAGS
258         def_bool y
259         prompt "Enable aggressive size optimization"
260         ---help---
261          This option adds several more optimization compiler flags,
262          which can greatly reduce the firmware size... at the expense
263          of machine-code readability.
264
265           Say Y. Else the firmware might not fit onto the device!
266
267 endmenu
268
269 endmenu
270
271 endmenu