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