carl9170: Update to latest upstream
[linux-libre-firmware.git] / carl9170fw / 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