carl9170 firmware: integrate TX_AMPDU & DELAYED_TX
[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_WATCHDOG
35         def_bool y
36         prompt "Activate HW Watchdog"
37         ---help---
38          The watchdog will notify the application as soon as the firmware
39          has stalled.
40
41          Say Y.
42
43 config CARL9170FW_GPIO_INTERRUPT
44         def_bool y
45         prompt "GPIO Software Interrupt"
46         ---help---
47          When this option is enabled, the firmware will poll the GPIO
48          registers and reports to the driver whenever the GPIO state
49          has changed from a previous state.
50
51          Note: This feature is necessary to monitor the WPS button,
52                if you have one on your device, then say Y.
53
54 config CARL9170FW_SECURITY_ENGINE
55         def_bool y
56         prompt "Support Hardware Crypto Engine"
57         ---help---
58          This options controls if the firmware will allow the driver
59          to program the security engine / CAM through a firmware
60          interface.
61
62          Say Y. Unless you want to do the en- and decryption for
63          CCMP(AES), TKIP/WEP(RC4) in the application anyway.
64
65 config CARL9170FW_RADIO_FUNCTIONS
66         def_bool y
67         prompt "Enable Firmware-supported Radio/RF functions"
68         ---help---
69          Some PHY/RF functions (e.g.: AGC and Noise calibration) need
70          to be done in the firmware.
71
72          Say Y, unless you really don't need the Radio/RF for
73          your project.
74
75 endmenu
76
77 menu "802.11 Firmware Features"
78
79 config CARL9170FW_HANDLE_BACK_REQ
80         def_bool y
81         prompt "Handle BlockACK Requests in Firmware"
82         ---help---
83          Enables a firmware mechanism to answer incoming BlockACK requests.
84          This feature is necessary to comply with 802.11n. So say Y,
85          if you have plans to support this operation mode.
86
87 config CARL9170FW_BACK_REQS_NUM
88         default 4
89         int
90         prompt "Number of max. active BlockACK Request"
91         depends on CARL9170FW_HANDLE_BACK_REQ
92
93 config CARL9170FW_CAB_QUEUE
94         def_bool y
95         prompt "Support software-based Content after Beacon Queue"
96         ---help---
97          This (software) queue is used to send any broad-/multi-cast buffered
98          frames after the next DTIM beacon.
99
100          This feature is required for Accesspoint mode operation.
101
102          Say Y.
103
104 endmenu
105
106 source "carlfw/usb/Kconfig"
107
108 menu "Experimental, Unstable & Testing Extensions"
109
110 config CARL9170FW_PRINTF
111         def_bool y
112         prompt "Advanced printf"
113         depends on CARL9170FW_DEBUG_UART || CARL9170FW_DEBUG_USB
114         ---help---
115          Advanced printf (very useful for debugging purposes)
116          The formats supported by this implementation are:
117                 'd' 'u' 'c' 's' 'x' 'X' 'p'.
118
119          Note: If this option is disabled, the firmware will be only
120                capable of reported _preformated_ string.
121
122 config CARL9170FW_EXPERIMENTAL
123         def_bool y
124         prompt "Experimental Features"
125
126 config CARL9170FW_PSM
127         def_bool y
128         prompt "Firmware Supported Power-saving Management"
129         depends on CARL9170FW_EXPERIMENTAL && CARL9170FW_RADIO_FUNCTIONS
130         ---help---
131          This options enables a interface for the application to
132          switch off the RF/PHY (in order to save power). And the
133          Firmware will automatically turn it on again, when the
134          PRETBTT event fires.
135
136 config CARL9170FW_WOL_OPTION
137         def_bool n
138         prompt "Wakeup on WLAN"
139         depends on CARL9170FW_EXPERIMENTAL
140         ---help---
141          With this option enabled, the firmware can wake-up
142          suspended hosts... As long as they fully support
143          USB remote wakeup.
144
145 config CARL9170FW_WOL
146         def_bool n
147         depends on CARL9170FW_WOL_OPTION
148
149 config CARL9170FW_WOL_MAGIC_PACKET
150         def_bool n
151         prompt "Magic Packet(tm)"
152         depends on CARL9170FW_WOL_OPTION
153         select CARL9170FW_WOL
154         ---help---
155          Sniff all incoming data frames for the magic packet pattern.
156
157 config CARL9170FW_WOL_PROBE_REQUEST
158         def_bool n
159         prompt "Probe Request"
160         depends on CARL9170FW_WOL_OPTION
161         select CARL9170FW_WOL
162         ---help---
163          Scan probe requests for a given SSID.
164
165 config CARL9170FW_WOL_PROBE_REQUEST_SSID
166         string
167         prompt "Wakeup on WLAN SSID"
168         default "CARL9170_WAKEUP"
169         depends on CARL9170FW_WOL_PROBE_REQUEST
170
171 config CARL9170FW_VIFS_NUM
172         default 1
173         int
174         prompt "Number of additional pseudo virtual interfaces"
175         depends on CARL9170FW_EXPERIMENTAL
176
177 config CARL9170FW_FW_MAC_RESET
178         def_bool y
179         prompt "Firmware MAC Chip recovery"
180         depends on CARL9170FW_EXPERIMENTAL
181
182 config CARL9170FW_BROKEN_FEATURES
183         def_bool n
184         prompt "Broken Featurs"
185
186 config CARL9170FW_DEBUG
187         def_bool n
188         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
189         prompt "Enable verbose debugging messages"
190
191 config CARL9170FW_DEBUG_LED_HEARTBEAT
192         def_bool n
193         prompt "LED Heartbeat"
194         depends on CARL9170FW_BROKEN_FEATURES
195         ---help---
196          This option conflicts with the application's LED code.
197          Also, it assumes that you have two LEDs, which is not
198          necessarily true.
199
200 config CARL9170FW_DEBUG_UART
201         def_bool n
202         prompt "Pass debug messages through Highspeed UART"
203         depends on CARL9170FW_BROKEN_FEATURES
204         ---help---
205          This option allows the firmware to send BUG/ERR/INFO/DBG and
206          hexdumps through the UART _as well_. However, first: you must
207          connect a working logger.
208
209 config CARL9170FW_WATCHDOG_BUTTON
210         def_bool n
211         depends on CARL9170FW_BROKEN && CARL9170FW_WATCHDOG && CARL9170FW_GPIO_INTERRUPT
212         prompt "Trigger Watchdog by pressing the WPS button"
213
214 choice CARL9170FW_UART_CLOCK
215         prompt "UART Clock"
216         depends on CARL9170FW_DEBUG_UART
217         default CARL9170FW_UART_CLOCK_40M
218
219 config CARL9170FW_UART_CLOCK_25M
220         bool "25"
221
222 config CARL9170FW_UART_CLOCK_40M
223         bool "40"
224
225 endchoice
226
227
228 choice
229         prompt "TX / RX Path"
230
231         default CARL9170FW_NORMAL_TX_RX
232
233         config CARL9170FW_NORMAL_TX_RX
234                 bool
235                 prompt "Normal WLAN TX/RX routines"
236
237         config CARL9170FW_LOOPBACK
238                 bool
239                 depends on CARL9170FW_BROKEN_FEATURES
240                 prompt "TX->(tx feedback)->RX loopback"
241                 ---help---
242                  Useful carlu testcase.
243
244         config CARL9170FW_DISCARD
245                 bool
246                 depends on CARL9170FW_BROKEN_FEATURES
247                 prompt "TX->(tx feedback)"
248                 ---help---
249                  Useful carlu testcase
250
251 endchoice
252
253 config CARL9170FW_UNUSABLE
254         def_bool y
255         depends on CARL9170FW_BROKEN || CARL9170FW_LOOPBACK
256
257 config CARL9170FW_USB_MODESWITCH
258         def_bool n
259         prompt "USB 1.1 / 2.0 switching support"
260         depends on CARL9170FW_BROKEN_FEATURES
261         ---help---
262          Mostly implemented, but untested and some serious
263          doubts remain.
264
265 config CARL9170FW_DMA_QUEUE_BUMP
266         def_bool n
267         prompt "Bump a stuck TX queue before doing a MAC reset"
268         depends on CARL9170FW_BROKEN_FEATURES
269
270 menu "Build Options"
271 config CARL9170FW_AGGRESSIVE_CFLAGS
272         def_bool y
273         prompt "Enable aggressive size optimization"
274         ---help---
275          This option adds several more optimization compiler flags,
276          which can greatly reduce the firmware size... at the expense
277          of machine-code readability.
278
279           Say Y. Else the firmware might not fit onto the device!
280
281 endmenu
282
283 endmenu
284
285 endmenu