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