Merge branch 'master' into radar
[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 source "carlfw/usb/Kconfig"
69
70 menu "Experimental, Unstable & Testing Extensions"
71
72 config CARL9170FW_PRINTF
73         def_bool y
74         prompt "Advanced printf"
75         depends on CARL9170FW_DEBUG_UART || CARL9170FW_DEBUG_USB
76         ---help---
77          Advanced printf (very useful for debugging purposes)
78          The formats supported by this implementation are:
79                 'd' 'u' 'c' 's' 'x' 'X' 'p'.
80
81          Note: If this option is disabled, the firmware will be only
82                capable of reported _preformated_ string.
83
84 config CARL9170FW_EXPERIMENTAL
85         def_bool y
86         prompt "Experimental Features"
87
88 config CARL9170FW_PATTERN_GENERATOR
89         def_bool n
90         prompt "Pattern generator"
91         depends on CARL9170FW_EXPERIMENTAL
92         ---help---
93          With this option enabled, the firmware can generate random
94          transmission pattern that might fool a reciever to believe
95          that there is an active radar on the channel.
96          Note: sadly, no SDR here.
97
98 config CARL9170FW_WOL_OPTION
99         def_bool n
100         prompt "Wakeup on WLAN"
101         depends on CARL9170FW_EXPERIMENTAL
102         ---help---
103          With this option enabled, the firmware can wake-up
104          suspended hosts... As long as they fully support
105          USB remote wakeup.
106
107 config CARL9170FW_WOL
108         def_bool n
109         depends on CARL9170FW_WOL_OPTION
110
111 config CARL9170FW_WOL_NL80211_TRIGGERS
112         def_bool n
113         prompt "Standard NL80211 wakeup triggers"
114         depends on CARL9170FW_WOL_OPTION
115         select CARL9170FW_WOL
116         ---help---
117          Available triggers:
118           * Magic Packet(tm) pattern
119           * disconnect event
120
121 config CARL9170FW_WOL_PROBE_REQUEST
122         def_bool n
123         prompt "Probe Request"
124         depends on CARL9170FW_WOL_OPTION
125         select CARL9170FW_WOL
126         ---help---
127          Scan probe requests for a given SSID.
128
129 config CARL9170FW_WOL_PROBE_REQUEST_SSID
130         string
131         prompt "Wakeup on WLAN SSID"
132         default "CARL9170_WAKEUP"
133         depends on CARL9170FW_WOL_PROBE_REQUEST
134
135 config CARL9170FW_VIFS_NUM
136         default 1
137         int
138         prompt "Number of additional pseudo virtual interfaces"
139         depends on CARL9170FW_EXPERIMENTAL
140
141 config CARL9170FW_FW_MAC_RESET
142         def_bool y
143         prompt "Firmware MAC Chip recovery"
144         depends on CARL9170FW_EXPERIMENTAL
145
146 config CARL9170FW_NOISY_MAC_RESET
147         def_bool n
148         prompt "Notify MAC RESET events"
149         depends on CARL9170FW_FW_MAC_RESET
150
151 config CARL9170FW_80MHZ_CLOCK
152         def_bool n
153         prompt "Allow 80/88MHz clock for HT40"
154         depends on CARL9170FW_EXPERIMENTAL
155         ---help---
156          The SoC can run up to 80/88MHz in HT40 mode. This improves
157          throughput and timing accuracy over the 40/44MHz clock.
158          However some devices don't have heat shields and they with
159          this option enabled, they become unstable under load.
160
161 config CARL9170FW_BROKEN_FEATURES
162         def_bool n
163         prompt "Broken Features"
164
165 config CARL9170FW_DEBUG
166         def_bool n
167         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF
168         prompt "Enable verbose debugging messages"
169
170 config CARL9170FW_DEBUG_LED_HEARTBEAT
171         def_bool n
172         prompt "LED Heartbeat"
173         depends on CARL9170FW_BROKEN_FEATURES
174         ---help---
175          This option conflicts with the application's LED code.
176          Also, it assumes that you have two LEDs, which is not
177          necessarily true.
178
179 config CARL9170FW_DEBUG_UART
180         def_bool n
181         prompt "Pass debug messages through Highspeed UART"
182         depends on CARL9170FW_BROKEN_FEATURES
183         ---help---
184          This option allows the firmware to send BUG/ERR/INFO/DBG and
185          hexdumps through the UART _as well_. However, first: you must
186          connect a working logger.
187
188 config CARL9170FW_WATCHDOG_BUTTON
189         def_bool n
190         depends on CARL9170FW_BROKEN && CARL9170FW_GPIO_INTERRUPT
191         prompt "Trigger Watchdog by pressing the WPS button"
192
193 choice CARL9170FW_UART_CLOCK
194         prompt "UART Clock"
195         depends on CARL9170FW_DEBUG_UART
196         default CARL9170FW_UART_CLOCK_40M
197
198 config CARL9170FW_UART_CLOCK_25M
199         bool "25"
200
201 config CARL9170FW_UART_CLOCK_40M
202         bool "40"
203
204 endchoice
205
206 config CARL9170FW_UNUSABLE
207         def_bool y
208         depends on CARL9170FW_BROKEN || CARL9170FW_DEBUG
209
210 config CARL9170FW_USB_MODESWITCH
211         def_bool n
212         prompt "USB 1.1 / 2.0 switching support"
213         depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_USB_STANDARD_CMDS
214         ---help---
215          Mostly implemented, but untested and some serious
216          doubts remain.
217
218 config CARL9170FW_DMA_QUEUE_BUMP
219         def_bool n
220         prompt "Bump a stuck TX queue before doing a MAC reset"
221         depends on CARL9170FW_BROKEN_FEATURES
222
223 menu "Build Options"
224 config CARL9170FW_AGGRESSIVE_CFLAGS
225         def_bool y
226         prompt "Enable aggressive size optimization"
227         ---help---
228          This option adds several more optimization compiler flags,
229          which can greatly reduce the firmware size... at the expense
230          of machine-code readability.
231
232           Say Y. Else the firmware might not fit onto the device!
233
234 endmenu
235
236 endmenu
237
238 endmenu