d1a68a1c60b813497a3268db6960468bdf92d8d3
[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_DELAYED_TX
137         def_bool n
138         prompt "Delay and reorder TX"
139         depends on CARL9170FW_EXPERIMENTAL
140         ---help---
141          Delay incoming TX' from the application until wlan_complete
142          has finished.
143
144          This feature is necessary to keep A-MPDUs partially ordered.
145
146          Doesn't work 100% yet, but in most cases other HW designs can
147          deal with the fallout.
148
149 config CARL9170FW_TX_AMPDU
150         def_bool n
151         prompt "Firmware-supported ampdu scheduling"
152         depends on CARL9170FW_EXPERIMENTAL
153
154 config CARL9170FW_WOL_OPTION
155         def_bool n
156         prompt "Wakeup on WLAN"
157         depends on CARL9170FW_EXPERIMENTAL
158         ---help---
159          With this option enabled, the firmware can wake-up
160          suspended hosts... As long as they fully support
161          USB remote wakeup.
162
163 config CARL9170FW_WOL
164         def_bool n
165         depends on CARL9170FW_WOL_OPTION
166
167 config CARL9170FW_WOL_MAGIC_PACKET
168         def_bool n
169         prompt "Magic Packet(tm)"
170         depends on CARL9170FW_WOL_OPTION
171         select CARL9170FW_WOL
172         ---help---
173          Sniff all incoming data frames for the magic packet pattern.
174
175 config CARL9170FW_WOL_PROBE_REQUEST
176         def_bool n
177         prompt "Probe Request"
178         depends on CARL9170FW_WOL_OPTION
179         select CARL9170FW_WOL
180         ---help---
181          Scan probe requests for a given SSID.
182
183 config CARL9170FW_WOL_PROBE_REQUEST_SSID
184         string
185         prompt "Wakeup on WLAN SSID"
186         default "CARL9170_WAKEUP"
187         depends on CARL9170FW_WOL_PROBE_REQUEST
188
189 config CARL9170FW_VIFS_NUM
190         default 1
191         int
192         prompt "Number of additional pseudo virtual interfaces"
193         depends on CARL9170FW_EXPERIMENTAL
194
195 config CARL9170FW_FW_MAC_RESET
196         def_bool y
197         prompt "Firmware MAC Chip recovery"
198         depends on CARL9170FW_EXPERIMENTAL
199
200 config CARL9170FW_BROKEN_FEATURES
201         def_bool n
202         prompt "Broken Featurs"
203
204 config CARL9170FW_DEBUG
205         def_bool n
206         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
207         prompt "Enable verbose debugging messages"
208
209 config CARL9170FW_DEBUG_LED_HEARTBEAT
210         def_bool n
211         prompt "LED Heartbeat"
212         depends on CARL9170FW_BROKEN_FEATURES
213         ---help---
214          This option conflicts with the application's LED code.
215          Also, it assumes that you have two LEDs, which is not
216          necessarily true.
217
218 config CARL9170FW_DEBUG_UART
219         def_bool n
220         prompt "Pass debug messages through Highspeed UART"
221         depends on CARL9170FW_BROKEN_FEATURES
222         ---help---
223          This option allows the firmware to send BUG/ERR/INFO/DBG and
224          hexdumps through the UART _as well_. However, first: you must
225          connect a working logger.
226
227 config CARL9170FW_WATCHDOG_BUTTON
228         def_bool n
229         depends on CARL9170FW_BROKEN && CARL9170FW_WATCHDOG && CARL9170FW_GPIO_INTERRUPT
230         prompt "Trigger Watchdog by pressing the WPS button"
231
232 choice CARL9170FW_UART_CLOCK
233         prompt "UART Clock"
234         depends on CARL9170FW_DEBUG_UART
235         default CARL9170FW_UART_CLOCK_40M
236
237 config CARL9170FW_UART_CLOCK_25M
238         bool "25"
239
240 config CARL9170FW_UART_CLOCK_40M
241         bool "40"
242
243 endchoice
244
245
246 choice
247         prompt "TX / RX Path"
248
249         default CARL9170FW_NORMAL_TX_RX
250
251         config CARL9170FW_NORMAL_TX_RX
252                 bool
253                 prompt "Normal WLAN TX/RX routines"
254
255         config CARL9170FW_LOOPBACK
256                 bool
257                 depends on CARL9170FW_BROKEN_FEATURES
258                 prompt "TX->(tx feedback)->RX loopback"
259                 ---help---
260                  Useful carlu testcase.
261
262         config CARL9170FW_DISCARD
263                 bool
264                 depends on CARL9170FW_BROKEN_FEATURES
265                 prompt "TX->(tx feedback)"
266                 ---help---
267                  Useful carlu testcase
268
269 endchoice
270
271 config CARL9170FW_UNUSABLE
272         def_bool y
273         depends on CARL9170FW_BROKEN || CARL9170FW_LOOPBACK
274
275 config CARL9170FW_USB_MODESWITCH
276         def_bool n
277         prompt "USB 1.1 / 2.0 switching support"
278         depends on CARL9170FW_BROKEN_FEATURES
279         ---help---
280          Mostly implemented, but untested and some serious
281          doubts remain.
282
283 config CARL9170FW_DMA_QUEUE_BUMP
284         def_bool n
285         prompt "Bump a stuck TX queue before doing a MAC reset"
286         depends on CARL9170FW_BROKEN_FEATURES
287
288 menu "Build Options"
289 config CARL9170FW_AGGRESSIVE_CFLAGS
290         def_bool y
291         prompt "Enable aggressive size optimization"
292         ---help---
293          This option adds several more optimization compiler flags,
294          which can greatly reduce the firmware size... at the expense
295          of machine-code readability.
296
297           Say Y. Else the firmware might not fit onto the device!
298
299 endmenu
300
301 endmenu
302
303 endmenu