carl9170 firmware: merge CARL9170FW_PSM with the standard RF code
[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_BROKEN_FEATURES
164         def_bool n
165         prompt "Broken Featurs"
166
167 config CARL9170FW_DEBUG
168         def_bool n
169         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
170         prompt "Enable verbose debugging messages"
171
172 config CARL9170FW_DEBUG_LED_HEARTBEAT
173         def_bool n
174         prompt "LED Heartbeat"
175         depends on CARL9170FW_BROKEN_FEATURES
176         ---help---
177          This option conflicts with the application's LED code.
178          Also, it assumes that you have two LEDs, which is not
179          necessarily true.
180
181 config CARL9170FW_DEBUG_UART
182         def_bool n
183         prompt "Pass debug messages through Highspeed UART"
184         depends on CARL9170FW_BROKEN_FEATURES
185         ---help---
186          This option allows the firmware to send BUG/ERR/INFO/DBG and
187          hexdumps through the UART _as well_. However, first: you must
188          connect a working logger.
189
190 config CARL9170FW_WATCHDOG_BUTTON
191         def_bool n
192         depends on CARL9170FW_BROKEN && CARL9170FW_GPIO_INTERRUPT
193         prompt "Trigger Watchdog by pressing the WPS button"
194
195 choice CARL9170FW_UART_CLOCK
196         prompt "UART Clock"
197         depends on CARL9170FW_DEBUG_UART
198         default CARL9170FW_UART_CLOCK_40M
199
200 config CARL9170FW_UART_CLOCK_25M
201         bool "25"
202
203 config CARL9170FW_UART_CLOCK_40M
204         bool "40"
205
206 endchoice
207
208
209 choice
210         prompt "TX / RX Path"
211
212         default CARL9170FW_NORMAL_TX_RX
213
214         config CARL9170FW_NORMAL_TX_RX
215                 bool
216                 prompt "Normal WLAN TX/RX routines"
217
218         config CARL9170FW_LOOPBACK
219                 bool
220                 depends on CARL9170FW_BROKEN_FEATURES
221                 prompt "TX->(tx feedback)->RX loopback"
222                 ---help---
223                  Useful carlu testcase.
224
225         config CARL9170FW_DISCARD
226                 bool
227                 depends on CARL9170FW_BROKEN_FEATURES
228                 prompt "TX->(tx feedback)"
229                 ---help---
230                  Useful carlu testcase
231
232 endchoice
233
234 config CARL9170FW_UNUSABLE
235         def_bool y
236         depends on CARL9170FW_BROKEN || CARL9170FW_LOOPBACK
237
238 config CARL9170FW_USB_MODESWITCH
239         def_bool n
240         prompt "USB 1.1 / 2.0 switching support"
241         depends on CARL9170FW_BROKEN_FEATURES
242         ---help---
243          Mostly implemented, but untested and some serious
244          doubts remain.
245
246 config CARL9170FW_DMA_QUEUE_BUMP
247         def_bool n
248         prompt "Bump a stuck TX queue before doing a MAC reset"
249         depends on CARL9170FW_BROKEN_FEATURES
250
251 menu "Build Options"
252 config CARL9170FW_AGGRESSIVE_CFLAGS
253         def_bool y
254         prompt "Enable aggressive size optimization"
255         ---help---
256          This option adds several more optimization compiler flags,
257          which can greatly reduce the firmware size... at the expense
258          of machine-code readability.
259
260           Say Y. Else the firmware might not fit onto the device!
261
262 endmenu
263
264 endmenu
265
266 endmenu