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