barebox: update to 2017.11.0, fix x86 builds
[openadk.git] / target / frosted / Config.in
blobbb5eedec7ec56f4158042aa94365d6777b81f039
1 menu "Platform Selection"
3     choice ADK_FROSTED_ARCH
4         prompt "Architecture"
5         default ADK_FROSTED_ARCH_LM3S
7         config ADK_FROSTED_ARCH_LM3S
8         bool "LM3S"
9         help
10             Enable support for Stellaris LM3S systems
12         config ADK_FROSTED_ARCH_LPC17XX
13         bool "LPC17XX"
14         help
15             Enable support for NXP LPC17xx systems
17         config ADK_FROSTED_ARCH_STM32F4
18         bool "STM32F4"
19         help
20             Enable support for ST STM32F4 systems
22         config ADK_FROSTED_ARCH_STM32F7
23         bool "STM32F7"
24         help
25             Enable support for ST STM32F7 systems
26     endchoice
28 if ADK_FROSTED_ARCH_STM32F7
30 choice 
31     prompt "MCU"
32     default ADK_FROSTED_ARCH_STM32F746_NG
34 config ADK_FROSTED_ARCH_STM32F746_NG
35     bool "STM32F746NG 1MB"
36     select ADK_FROSTED_FLASH_SIZE_1MB
37     select ADK_FROSTED_RAM_SIZE_320KB
38     select ADK_FROSTED_ARCH_STM32F746
40 config ADK_FROSTED_ARCH_STM32F769_NI
41     bool "STM32F769NI 2MB"
42     select ADK_FROSTED_FLASH_SIZE_2MB
43     select ADK_FROSTED_RAM_SIZE_368KB
44     select ADK_FROSTED_ARCH_STM32F769
46 endchoice
48 endif
50 if ADK_FROSTED_ARCH_STM32F4
52 choice 
53     prompt "MCU"
54     default ADK_FROSTED_ARCH_STM32F407_XG
56 config ADK_FROSTED_ARCH_STM32F401_XB
57     bool "STM32F401xB 128KB"
58     select ADK_FROSTED_FLASH_SIZE_128KB
59     select ADK_FROSTED_RAM_SIZE_64KB
60     select ADK_FROSTED_ARCH_STM32F401
61 config ADK_FROSTED_ARCH_STM32F401_XC
62     bool "STM32F401xC 256KB"
63     select ADK_FROSTED_FLASH_SIZE_256KB
64     select ADK_FROSTED_RAM_SIZE_64KB
65     select ADK_FROSTED_ARCH_STM32F401
66 config ADK_FROSTED_ARCH_STM32F401_XD
67     bool "STM32F401xD 384KB"
68     select ADK_FROSTED_FLASH_SIZE_384KB
69     select ADK_FROSTED_RAM_SIZE_96KB
70     select ADK_FROSTED_ARCH_STM32F401
71 config ADK_FROSTED_ARCH_STM32F401_XE
72     bool "STM32F401xE 512KB"
73     select ADK_FROSTED_FLASH_SIZE_512KB
74     select ADK_FROSTED_RAM_SIZE_96KB
75     select ADK_FROSTED_ARCH_STM32F401
77 config ADK_FROSTED_ARCH_STM32F405_XG
78     bool "STM32F405xG 1MB"
79     select ADK_FROSTED_FLASH_SIZE_1MB
80     select ADK_FROSTED_RAM_SIZE_192KB
81     select ADK_FROSTED_ARCH_STM32F405
82 config ADK_FROSTED_ARCH_STM32F405_XE
83     bool "STM32F407xE 512KB"
84     select ADK_FROSTED_FLASH_SIZE_512KB
85     select ADK_FROSTED_RAM_SIZE_192KB
86     select ADK_FROSTED_ARCH_STM32F405
88 config ADK_FROSTED_ARCH_STM32F407_XG
89     bool "STM32F407xG 1MB"
90     select ADK_FROSTED_FLASH_SIZE_1MB
91     select ADK_FROSTED_RAM_SIZE_192KB
92     select ADK_FROSTED_ARCH_STM32F407
93 config ADK_FROSTED_ARCH_STM32F407_XE
94     bool "STM32F407xE 512KB"
95     select ADK_FROSTED_FLASH_SIZE_512KB
96     select ADK_FROSTED_RAM_SIZE_192KB
97     select ADK_FROSTED_ARCH_STM32F407
98     
99 config ADK_FROSTED_ARCH_STM32F411_XE
100     bool "STM32F411xE 512KB"
101     select ADK_FROSTED_FLASH_SIZE_512KB
102     select ADK_FROSTED_RAM_SIZE_128KB
103     select ADK_FROSTED_ARCH_STM32F411
104 config ADK_FROSTED_ARCH_STM32F411_XC
105     bool "STM32F411xC 256KB"
106     select ADK_FROSTED_FLASH_SIZE_256KB
107     select ADK_FROSTED_RAM_SIZE_128KB
108     select ADK_FROSTED_ARCH_STM32F411
110 config ADK_FROSTED_ARCH_STM32F429_XE
111     bool "STM32F429xE 512KB"
112     select ADK_FROSTED_FLASH_SIZE_512KB
113     select ADK_FROSTED_RAM_SIZE_256KB
114     select ADK_FROSTED_ARCH_STM32F429
115 config ADK_FROSTED_ARCH_STM32F429_XG
116     bool "STM32F429xG 1MB"
117     select ADK_FROSTED_FLASH_SIZE_1MB
118     select ADK_FROSTED_RAM_SIZE_256KB
119     select ADK_FROSTED_ARCH_STM32F429
120 config ADK_FROSTED_ARCH_STM32F429_XI
121     bool "STM32F429xI 2MB"
122     select ADK_FROSTED_FLASH_SIZE_2MB
123     select ADK_FROSTED_RAM_SIZE_256KB
124     select ADK_FROSTED_ARCH_STM32F429
125 config ADK_FROSTED_ARCH_STM32F446_ZE
126     bool "STM32F446ZE 512KB"
127     select ADK_FROSTED_FLASH_SIZE_512KB
128     select ADK_FROSTED_RAM_SIZE_128KB
129     select ADK_FROSTED_ARCH_STM32F446
130 endchoice
132 endif
134 if ADK_FROSTED_ARCH_LPC17XX
136 choice 
137     prompt "MCU"
138     default ADK_FROSTED_ARCH_LPC1768
139 config ADK_FROSTED_ARCH_LPC1763
140     bool "LPC1763"
141     select ADK_FROSTED_FLASH_SIZE_256KB
142     select ADK_FROSTED_RAM_SIZE_32KB
143     select ADK_FROSTED_CLK_100MHZ
144 config ADK_FROSTED_ARCH_LPC1764
145     bool "LPC1764"
146     select ADK_FROSTED_FLASH_SIZE_128KB
147     select ADK_FROSTED_RAM_SIZE_16KB
148     select ADK_FROSTED_CLK_100MHZ
149 config ADK_FROSTED_ARCH_LPC1765
150     bool "LPC1765"
151     select ADK_FROSTED_FLASH_SIZE_256KB
152     select ADK_FROSTED_RAM_SIZE_32KB
153     select ADK_FROSTED_CLK_100MHZ
154 config ADK_FROSTED_ARCH_LPC1766
155     bool "LPC1766"
156     select ADK_FROSTED_FLASH_SIZE_256KB
157     select ADK_FROSTED_RAM_SIZE_32KB
158     select ADK_FROSTED_CLK_100MHZ
159 config ADK_FROSTED_ARCH_LPC1767
160     bool "LPC1767"
161     select ADK_FROSTED_FLASH_SIZE_512KB
162     select ADK_FROSTED_RAM_SIZE_32KB
163     select ADK_FROSTED_CLK_100MHZ
164 config ADK_FROSTED_ARCH_LPC1768
165     bool "LPC1768"
166     select ADK_FROSTED_FLASH_SIZE_512KB
167     select ADK_FROSTED_RAM_SIZE_32KB
168     select ADK_FROSTED_CLK_100MHZ
169 config ADK_FROSTED_ARCH_LPC1769
170     bool "LPC1769"
171     select ADK_FROSTED_FLASH_SIZE_512KB
172     select ADK_FROSTED_RAM_SIZE_32KB
173 endchoice
175 endif
177 if ADK_FROSTED_ARCH_LM3S
179 choice 
180     prompt "MCU"
181     default ADK_FROSTED_LM3S6965
182 config ADK_FROSTED_ARCH_LM3S6965
183     bool "LM3S6965"
184     select ADK_FROSTED_FLASH_SIZE_256KB
185     select ADK_FROSTED_RAM_SIZE_64KB
186 config ADK_FROSTED_ARCH_LM3SVIRT
187     bool "LM3S-VIRTUAL"
188     select ADK_FROSTED_FLASH_SIZE_1MB
189     select ADK_FROSTED_RAM_SIZE_256KB
190 endchoice
192 endif
194     config ADK_FROSTED_FLASH_SIZE_2MB
195             bool
196     config ADK_FROSTED_FLASH_SIZE_1MB
197             bool
198     config ADK_FROSTED_FLASH_SIZE_512KB
199             bool
200     config ADK_FROSTED_FLASH_SIZE_384KB
201             bool
202     config ADK_FROSTED_FLASH_SIZE_256KB
203             bool
204     config ADK_FROSTED_FLASH_SIZE_128KB
205             bool
207     config ADK_FROSTED_RAM_SIZE_368KB
208             bool
209     config ADK_FROSTED_RAM_SIZE_320KB
210             bool
211     config ADK_FROSTED_RAM_SIZE_256KB
212             bool
213     config ADK_FROSTED_RAM_SIZE_192KB
214             bool
215     config ADK_FROSTED_RAM_SIZE_128KB
216             bool
217     config ADK_FROSTED_RAM_SIZE_96KB
218             bool
219     config ADK_FROSTED_RAM_SIZE_64KB
220             bool
221     config ADK_FROSTED_RAM_SIZE_32KB
222             bool
223     config ADK_FROSTED_RAM_SIZE_16KB
224             bool
226     config ADK_FROSTED_ARCH_STM32F401
227         bool
228     config ADK_FROSTED_ARCH_STM32F405
229         bool
230     config ADK_FROSTED_ARCH_STM32F407
231         bool
232     config ADK_FROSTED_ARCH_STM32F411
233         bool
234     config ADK_FROSTED_ARCH_STM32F429
235         bool
236     config ADK_FROSTED_ARCH_STM32F446
237         bool
238     config ADK_FROSTED_ARCH_STM32F746
239         bool
240     config ADK_FROSTED_ARCH_STM32F769
241         bool
243     config ADK_FROSTED_DEVSTM32DMA
244         bool
246     #Temp hack to allow '407 & '411 clock setups to coexist
247     choice
248         prompt "Clock Speed"
249         config ADK_FROSTED_CLK_48MHZ
250             bool "48MHz"
251             depends on (ADK_FROSTED_ARCH_STM32F401  || ADK_FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F429)
252         config ADK_FROSTED_CLK_84MHZ
253             bool "84MHz"
254             depends on (ADK_FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F429)
255         config ADK_FROSTED_CLK_100MHZ
256             bool "100MHz"
257             depends on ADK_FROSTED_ARCH_LPC17XX
258         config ADK_FROSTED_CLK_120MHZ
259             bool "120MHz"
260             depends on (ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_LPC1769)
261         config ADK_FROSTED_CLK_168MHZ
262             bool "168MHz"
263             depends on (ADK_FROSTED_ARCH_STM32F407 ||  ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_STM32F429)
264         config ADK_FROSTED_CLK_180MHZ
265             bool "180MHz"
266             depends on (ADK_FROSTED_ARCH_STM32F446)
267         config ADK_FROSTED_CLK_216MHZ
268             bool "216MHZ"
269             depends on (ADK_FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769)
270     endchoice
272     choice
273         prompt "Board"
274     config ADK_FROSTED_MACH_STM32F746Discovery
275         bool "STM32F746 Discovery"
276         depends on (ADK_FROSTED_ARCH_STM32F746)
277     config ADK_FROSTED_MACH_STM32F769Discovery
278         bool "STM32F769 Discovery"
279         depends on (ADK_FROSTED_ARCH_STM32F769)
280     config ADK_FROSTED_MACH_STM32F746Nucleo144
281         bool "STM32F746 Nucleo-144"
282         depends on (ADK_FROSTED_ARCH_STM32F746)
283     config ADK_FROSTED_MACH_STM32F407Discovery
284         bool "STM32F407Discovery"
285         depends on (ADK_FROSTED_ARCH_STM32F407)
286     config ADK_FROSTED_MACH_STM32F405Pyboard
287         bool "STM32F405 PyBoard (micropython)"
288         depends on (ADK_FROSTED_ARCH_STM32F405)
289     config ADK_FROSTED_MACH_STM32F4x1Discovery
290         bool "STM32F4x1Discovery"
291         depends on (   ADK_FROSTED_ARCH_STM32F401 ||ADK_FROSTED_ARCH_STM32F411)
292     config ADK_FROSTED_MACH_STM32F429Discovery
293         bool "STM32F429Discovery"
294         depends on (ADK_FROSTED_ARCH_STM32F429)
295     config ADK_FROSTED_MACH_STM32F446Nucleo
296         bool "STM32F446 Nucleo"
297         depends on (ADK_FROSTED_ARCH_STM32F446)
299     config ADK_FROSTED_MACH_LPC1768MBED
300         bool "LPC1768MBED"
301         depends on ADK_FROSTED_ARCH_LPC1768
302     config ADK_FROSTED_MACH_SEEEDPRO
303         bool "SEEEDPRO"
304         depends on ADK_FROSTED_ARCH_LPC1768
305     config ADK_FROSTED_MACH_LPC1679XPRESSO
306         bool "LPC1679XPRESSO"
307         depends on ADK_FROSTED_ARCH_LPC1769
308     config ADK_FROSTED_MACH_LM3S6965EVB
309         bool "lm3s6965evb"
310         depends on ADK_FROSTED_ARCH_LM3S6965
311     config ADK_FROSTED_MACH_LM3SVIRT
312         bool "lm3s-qemu"
313         depends on ADK_FROSTED_ARCH_LM3SVIRT
315     endchoice
317     config ADK_FROSTED_STM32F7_SDRAM
318     depends on ADK_FROSTED_ARCH_STM32F7
319     bool "Enable external SDRAM"
320     default y
322     config ADK_FROSTED_STM32F4_SDRAM
323     depends on ADK_FROSTED_ARCH_STM32F4
324     bool "Enable external SDRAM"
325     default n
327 endmenu
330 menu "Kernel Configuration"
332 config ADK_FROSTED_KFLASHMEM_SIZE
333     int "Kernel Flash size (KB)"
334     default 64
336 config ADK_FROSTED_KRAMMEM_SIZE
337     int "Kernel RAM size (KB)"
338     default 64
340 choice
341 prompt "Tasks Stack Size"
342 default ADK_FROSTED_TASK_STACK_SIZE_2K
344    config ADK_FROSTED_TASK_STACK_SIZE_1K
345    bool "Tiny stack (1024 Bytes)"
347    config ADK_FROSTED_TASK_STACK_SIZE_2K
348    bool "Small stack (2048 Bytes)"
350    config ADK_FROSTED_TASK_STACK_SIZE_4K
351    bool "Big stack (4096 Bytes)"
353    config ADK_FROSTED_TASK_STACK_SIZE_8K
354    bool "Huge stack (8192 Bytes)"
355 endchoice
357 config ADK_FROSTED_MPU
358 bool "Run-time Memory Protection"
359 default y
361 config ADK_FROSTED_PTHREADS
362 bool "POSIX Threads (pthreads)"
363 default y
365 config ADK_FROSTED_SIGNALS
366 bool "Process Signals"
367 default y
369 config ADK_FROSTED_PIPE
370 bool "Pipe"
371 default y
373 config ADK_FROSTED_SOCK_UNIX
374 bool "UNIX Sockets for IPC"
375 default n
378 endmenu
382 menu "Debugging options"
384 config ADK_FROSTED_KLOG
385     bool "Enable kernel logging"
386     default y
388 config ADK_FROSTED_KLOG_SIZE
389     depends on ADK_FROSTED_KLOG
390     int "Kernel log buffer size"
391     default 256
393 config ADK_FROSTED_MEMFAULT_DBG
394     bool "Enable extended segfault debug"
395     default y
397 config ADK_FROSTED_HARDFAULT_DBG
398     bool "Enable extended hardfault debug"
399     default n
401 config ADK_FROSTED_STRACE
402     bool "Enable syscall tracer"
403     default n
405 endmenu
408 menu "Filesystems"
409        config ADK_FROSTED_SYSFS
410        bool "SysFS (/sys)"
411        default y
413        config ADK_FROSTED_MEMFS
414        bool "MemFS"
415        default y
417        config ADK_FROSTED_XIPFS
418        bool "Xip FS"
419        default y
421        config ADK_FROSTED_FATFS
422        bool "Fat FS"
423        default n
425        config ADK_FROSTED_FAT32
426        depends on ADK_FROSTED_FATFS
427        bool "Fat32 support"
428        default n
430        config ADK_FROSTED_FAT16
431        depends on ADK_FROSTED_FATFS
432        bool "Fat16 support"
433        default y
435 endmenu
437 menu "Networking"
438        config ADK_FROSTED_SOCK_INET
439        bool "TCP/IP Socket support"
440        default n
441        config ADK_FROSTED_TCPIP_MEMPOOL_YN
442        bool "Separate memory pool for TCP/IP stack"
443        default n
444        if ADK_FROSTED_TCPIP_MEMPOOL_YN
445         config ADK_FROSTED_TCPIP_MEMPOOL
446         string "TCP/IP pool base address"
447         default "0x10000000"
448        endif
449        choice ADK_FROSTED_NET_STACK
450         prompt "TCP/IP stack selection"
451         default ADK_FROSTED_PICOTCP
452         depends on ADK_FROSTED_SOCK_INET
454         config ADK_FROSTED_PICOTCP
455         bool "Built-in PicoTCP"
456        endchoice
458 if ADK_FROSTED_PICOTCP 
460 menu "picoTCP configuration"
462 config ADK_FROSTED_CONFIG_PICOTCP_IPV4
463     bool "Support for IP version 4"
464     default y
466 config ADK_FROSTED_CONFIG_PICOTCP_IPV6
467     bool "Support for IP version 6"
468     default n
470 config ADK_FROSTED_CONFIG_PICOTCP_TCP
471     bool "Support for TCP"
472     default y
474 config ADK_FROSTED_CONFIG_PICOTCP_UDP
475     bool "Support for UDP"
476     default y
478 config ADK_FROSTED_CONFIG_PICOTCP_DNS
479     bool "Support for DNS client"
480     default y
482 config ADK_FROSTED_CONFIG_PICOTCP_MCAST
483     bool "Support for Multicast"
484     default n
486 config ADK_FROSTED_CONFIG_PICOTCP_NAT
487     bool "Support for NAT"
488     default n
490 config ADK_FROSTED_CONFIG_PICOTCP_IPFILTER
491     bool "Support for IP Filter"
492     default n
494 config ADK_FROSTED_CONFIG_PICOTCP_LOOP
495     bool "Support for loopback device"
496     default y
498 config ADK_FROSTED_CONFIG_PICOTCP_DEBUG
499     bool "Activate debugging symbols"
500     default n
502 endmenu
503 endif
505 endmenu
507 menu "Device Drivers"
508        config ADK_FROSTED_DEVNULL
509        bool "Support for /dev/null and /dev/zero"
510        default y
512        menuconfig ADK_FROSTED_DEVUART
513        bool "Generic UART driver"
514        default y
516        if ADK_FROSTED_DEVUART
518             config ADK_FROSTED_USART_0
519             bool "USART 0"
520             depends on (FROSTED_ARCH_LM3S6965 || ADK_FROSTED_ARCH_LM3SVIRT)
522             config ADK_FROSTED_USART_1
523             bool "USART 1"
524             depends on (FROSTED_ARCH_LM3S6965 || ADK_FROSTED_ARCH_LM3SVIRT || \
525                         ADK_FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_STM32F407  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446 || \
526                         ADK_FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769)
528             config ADK_FROSTED_USART_2
529             bool "USART 2"
530             depends on (FROSTED_ARCH_LM3S6965 || ADK_FROSTED_ARCH_LM3SVIRT || \
531                         ADK_FROSTED_ARCH_STM32F401 || ADK_FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_STM32F429  || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F446 || \
532                         ADK_FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769 )
534             config ADK_FROSTED_USART_3
535             bool "USART 3"
536             depends on (FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769 )
538             config ADK_FROSTED_USART_6
539             bool "USART 6"
540             depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405 || ADK_FROSTED_ARCH_STM32F446 || \
541                         ADK_FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769 )
543             config ADK_FROSTED_UART_0
544             bool "UART 0"
545             depends on ADK_FROSTED_ARCH_LPC17XX
547             config ADK_FROSTED_UART_1
548             bool "UART 1"
549             depends on ADK_FROSTED_ARCH_LPC17XX
551             config ADK_FROSTED_UART_2
552             bool "UART 2"
553             depends on ADK_FROSTED_ARCH_LPC17XX
555             config ADK_FROSTED_UART_3
556             bool "UART 3"
557             depends on ADK_FROSTED_ARCH_LPC17XX
559        endif
561        config ADK_FROSTED_DEVF4DSP
562        bool "STM32F4 Sound driver"
563        depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446)
564        select ADK_FROSTED_DEVSTM32DMA
565        default n
566     
567        config ADK_FROSTED_DEVSTM32USB
568        bool
569        
570        menuconfig ADK_FROSTED_DEVSTM32USBFS
571        bool "Support for Full Speed USB OTG"
572        depends on (!ADK_FROSTED_DEVSTM32USBHFS) && (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446 || \
573                    ADK_FROSTED_ARCH_STM32F746)
574        default n
575        select ADK_FROSTED_DEVSTM32USB
576        if ADK_FROSTED_DEVSTM32USBFS
577           choice
578             prompt "USB FS OTG mode"
579             default ADK_FROSTED_USBFS_GUEST
580             config ADK_FROSTED_USBFS_HOST
581             bool "Host mode"
583             config ADK_FROSTED_USBFS_GUEST
584             bool "Device mode"
586           endchoice
587        endif
589        menuconfig ADK_FROSTED_DEVSTM32USBHS
590        bool "Support for High Speed USB OTG"
591        depends on (FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769)
592        select ADK_FROSTED_DEVSTM32USB
593        default n
594        if ADK_FROSTED_DEVSTM32USBHS
595           choice
596             prompt "USB HS OTG mode"
597             default ADK_FROSTED_USBHS_GUEST
598             config ADK_FROSTED_USBHS_HOST
599             bool "Host mode"
601             config ADK_FROSTED_USBHS_GUEST
602             bool "Device mode"
604           endchoice
606         endif
608       config ADK_FROSTED_DEV_USB_ETH
609       depends on ADK_FROSTED_PICOTCP && ( (FROSTED_DEVSTM32USBHS && ADK_FROSTED_USBHS_GUEST) || (FROSTED_DEVSTM32USBFS && ADK_FROSTED_USBFS_GUEST) )
610       select ADK_FROSTED_DEVSTM32USB
611       bool "Ethernet over USB (CDC-ECM)"
612       default n
614       if ADK_FROSTED_DEV_USB_ETH
615       config ADK_FROSTED_USB_DEFAULT_IP
616       string "Default (boot-up) address for usb0"
617       default 192.168.6.150
619       config ADK_FROSTED_USB_DEFAULT_NM
620       string "Default (boot-up) netmask for usb0"
621       default 255.255.255.0
623       config ADK_FROSTED_USB_DEFAULT_GW
624       string "Default (boot-up) gateway for usb0"
625       default 192.168.6.1
626       endif
629        config ADK_FROSTED_DEVTIM
630        bool "System CPU timer on TIM2"
631        depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446 || ADK_FROSTED_ARCH_STM32F746)
632        default n
634        config ADK_FROSTED_DEVADC
635        bool "Generic ADC driver"
636        depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446)
637        select ADK_FROSTED_DEVSTM32DMA
638        default n
641        config ADK_FROSTED_DEVF4ETH
642        bool "STM32F4 Ethernet driver"
643        depends on ((FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446) && ADK_FROSTED_PICOTCP)
644        default n
646        config ADK_FROSTED_DEVF7ETH
647        bool "STM32F7 Ethernet driver"
648        depends on ((FROSTED_ARCH_STM32F746 || ADK_FROSTED_ARCH_STM32F769) && ADK_FROSTED_PICOTCP)
649        default n
651        config ADK_FROSTED_DEVLM3SETH
652        bool "LM3S Ethernet driver"
653        depends on ((FROSTED_ARCH_LM3S) && ADK_FROSTED_PICOTCP)
654        default n
656        if ADK_FROSTED_DEVF4ETH || ADK_FROSTED_DEVF7ETH || ADK_FROSTED_DEVLM3SETH
657                config ADK_FROSTED_ETH_DEFAULT_IP
658                string "Default (boot-up) address for eth0"
659                default 192.168.2.150
661                config ADK_FROSTED_ETH_DEFAULT_NM
662                string "Default (boot-up) netmask for eth0"
663                default 255.255.255.0
665                config ADK_FROSTED_ETH_DEFAULT_GW
666                string "Default (boot-up) gateway for eth0"
667                default 192.168.2.1
669        endif
671        config ADK_FROSTED_DEVSTM32SDIO
672        bool "STM32F4 SD I/O driver"
673        depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F7|| ADK_FROSTED_ARCH_STM32F446)
674        default n
676        menuconfig ADK_FROSTED_DEVSTM32I2C
677        bool "STM32 I2C driver"
678        depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || ADK_FROSTED_ARCH_STM32F407 || ADK_FROSTED_ARCH_STM32F405  || ADK_FROSTED_ARCH_STM32F429 || ADK_FROSTED_ARCH_STM32F446 || ADK_FROSTED_ARCH_STM32F746)
679        select ADK_FROSTED_DEVSTM32DMA
680        default n
683            if ADK_FROSTED_DEVSTM32I2C
684                 config ADK_FROSTED_I2C1
685                 bool "I2C 1"
686                 default n
687                 config ADK_FROSTED_I2C2
688                 bool "I2C 2"
689                 default n
690                 config ADK_FROSTED_I2C3
691                 bool "I2C 3"
692                 default y
693            endif
695            config ADK_FROSTED_DEVCS43L22
696            tristate "CS43L22 driver (Stereo DAC)"
697            depends on (FROSTED_DEVSTM32I2C)
698            default n
701            config ADK_FROSTED_DEVLSM303DLHC
702            tristate "LSM303DLHC driver (Accelerometer & Magnetometer)"
703            depends on (FROSTED_DEVSTM32I2C)
704            default n
705            
706            config ADK_FROSTED_DEVMCCOG21
707            tristate "MCCOG21 driver (2-lines B/W display)"
708            depends on (FROSTED_DEVSTM32I2C)
709            default n
710            
711            config ADK_FROSTED_DEVFT5336
712            tristate "FT5336 driver (Touchscreen STM32F746)"
713            depends on (FROSTED_DEVSTM32I2C)
714            default n
716            config ADK_FROSTED_DEVSTMPE811
717            tristate "STMPE811 driver (Touchscreen)"
718            depends on (FROSTED_DEVSTM32I2C)
719            default n
723        menuconfig ADK_FROSTED_DEVSPI
724            bool "Generic SPI driver"
725            depends on (FROSTED_ARCH_STM32F4 || ADK_FROSTED_ARCH_STM32F7)
726            select ADK_FROSTED_DEVSTM32DMA
727            default n
729            if ADK_FROSTED_DEVSPI
730                 config ADK_FROSTED_SPI_1
731                 bool "SPI 1"
733                 config ADK_FROSTED_SPI_5
734                 bool "SPI 5"
736            endif
738            config ADK_FROSTED_DEVLIS3DSH
739            tristate "LIS3DSH driver (3-Axis Accelerometer)"
740            depends on (FROSTED_DEVSPI)
741            default n
743            config ADK_FROSTED_DEVILI9341
744            tristate "ILI9341 driver (LCD Controller)"
745            depends on (FROSTED_DEVSPI)
746            default n
748            config ADK_FROSTED_DEVL3GD20
749            tristate "L3GD20 driver (Gyro)"
750            depends on (FROSTED_DEVSPI)
751            default n
753        config ADK_FROSTED_DEV_RANDOM
754        depends on (FROSTED_ARCH_STM32F4 || ADK_FROSTED_ARCH_STM32F7)
755        bool "STM32F2/F4/F7 Random devices"
756        default n
758        if ADK_FROSTED_DEV_RANDOM
759           choice
760             prompt "Random device selection"
761             config ADK_FROSTED_DEVRNG
762             bool "Hardware TRNG driver"
764             config ADK_FROSTED_DEVFRAND
765             bool "Fortuna PRNG device"
766           endchoice
767        endif
769        menuconfig ADK_FROSTED_DEVFRAMEBUFFER
770            depends on (FROSTED_ARCH_STM32F7 || ADK_FROSTED_ARCH_STM32F4)
771            bool "STM32 Framebuffer driver"
772            default n
774        config ADK_FROSTED_DEVFBCON
775            depends on ADK_FROSTED_DEVFRAMEBUFFER
776            bool "Console on Framebuffer via /dev/fbcon"
777            default n
779        config ADK_FROSTED_DEVF7DISCOLTDC
780            depends on ADK_FROSTED_DEVFRAMEBUFFER
781            bool "F746 Discovery LTDC"
782            default n
784 endmenu
786 menu "Power Management"
787     if ADK_FROSTED_DEVTIM
788         config ADK_FROSTED_LOWPOWER
789         bool "Enable low-power optimizations"
790         default n
791         config ADK_FROSTED_TICKLESS
792         bool "Disable systick in between process switches (untested)"
793         default n
794     endif
795     if !ADK_FROSTED_DEVTIM
796         comment "Power Management requires CPU Timer support"
797     endif
798 endmenu