Config.in 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974
  1. menu "Compiler options"
  2. config FROSTED_GDB_CFLAG
  3. bool "Keep debugging symbols"
  4. default y
  5. choice
  6. prompt "Compiler optimization"
  7. config FROSTED_OPTIMIZE_NONE
  8. bool "No optimization"
  9. config FROSTED_OPTIMIZE_SIZE
  10. bool "Optimize for size"
  11. config FROSTED_OPTIMIZE_PERF
  12. bool "Optimize for performance"
  13. endchoice
  14. endmenu
  15. menu "Platform Selection"
  16. choice FROSTED_ARCH
  17. prompt "Architecture"
  18. default FROSTED_ARCH_LM3S
  19. config FROSTED_ARCH_LM3S
  20. bool "LM3S"
  21. help
  22. Enable support for Stellaris LM3S systems
  23. config FROSTED_ARCH_LPC17XX
  24. bool "LPC17XX"
  25. help
  26. Enable support for NXP LPC17xx systems
  27. config FROSTED_ARCH_STM32F4
  28. bool "STM32F4"
  29. help
  30. Enable support for ST STM32F4 systems
  31. config FROSTED_ARCH_STM32F7
  32. bool "STM32F7"
  33. help
  34. Enable support for ST STM32F7 systems
  35. endchoice
  36. if FROSTED_ARCH_STM32F7
  37. choice
  38. prompt "MCU"
  39. default FROSTED_ARCH_STM32F746_NG
  40. config FROSTED_ARCH_STM32F746_NG
  41. bool "STM32F746NG 1MB"
  42. select FROSTED_FLASH_SIZE_1MB
  43. select FROSTED_RAM_SIZE_320KB
  44. select FROSTED_ARCH_STM32F746
  45. config FROSTED_ARCH_STM32F769_NI
  46. bool "STM32F769NI 2MB"
  47. select FROSTED_FLASH_SIZE_2MB
  48. select FROSTED_RAM_SIZE_368KB
  49. select FROSTED_ARCH_STM32F769
  50. endchoice
  51. endif
  52. if FROSTED_ARCH_STM32F4
  53. choice
  54. prompt "MCU"
  55. default FROSTED_ARCH_STM32F407_XG
  56. config FROSTED_ARCH_STM32F401_XB
  57. bool "STM32F401xB 128KB"
  58. select FROSTED_FLASH_SIZE_128KB
  59. select FROSTED_RAM_SIZE_64KB
  60. select FROSTED_ARCH_STM32F401
  61. config FROSTED_ARCH_STM32F401_XC
  62. bool "STM32F401xC 256KB"
  63. select FROSTED_FLASH_SIZE_256KB
  64. select FROSTED_RAM_SIZE_64KB
  65. select FROSTED_ARCH_STM32F401
  66. config FROSTED_ARCH_STM32F401_XD
  67. bool "STM32F401xD 384KB"
  68. select FROSTED_FLASH_SIZE_384KB
  69. select FROSTED_RAM_SIZE_96KB
  70. select FROSTED_ARCH_STM32F401
  71. config FROSTED_ARCH_STM32F401_XE
  72. bool "STM32F401xE 512KB"
  73. select FROSTED_FLASH_SIZE_512KB
  74. select FROSTED_RAM_SIZE_96KB
  75. select FROSTED_ARCH_STM32F401
  76. config FROSTED_ARCH_STM32F405_XG
  77. bool "STM32F405xG 1MB"
  78. select FROSTED_FLASH_SIZE_1MB
  79. select FROSTED_RAM_SIZE_192KB
  80. select FROSTED_ARCH_STM32F405
  81. config FROSTED_ARCH_STM32F405_XE
  82. bool "STM32F407xE 512KB"
  83. select FROSTED_FLASH_SIZE_512KB
  84. select FROSTED_RAM_SIZE_192KB
  85. select FROSTED_ARCH_STM32F405
  86. config FROSTED_ARCH_STM32F407_XG
  87. bool "STM32F407xG 1MB"
  88. select FROSTED_FLASH_SIZE_1MB
  89. select FROSTED_RAM_SIZE_192KB
  90. select FROSTED_ARCH_STM32F407
  91. config FROSTED_ARCH_STM32F407_XE
  92. bool "STM32F407xE 512KB"
  93. select FROSTED_FLASH_SIZE_512KB
  94. select FROSTED_RAM_SIZE_192KB
  95. select FROSTED_ARCH_STM32F407
  96. config FROSTED_ARCH_STM32F411_XE
  97. bool "STM32F411xE 512KB"
  98. select FROSTED_FLASH_SIZE_512KB
  99. select FROSTED_RAM_SIZE_128KB
  100. select FROSTED_ARCH_STM32F411
  101. config FROSTED_ARCH_STM32F411_XC
  102. bool "STM32F411xC 256KB"
  103. select FROSTED_FLASH_SIZE_256KB
  104. select FROSTED_RAM_SIZE_128KB
  105. select FROSTED_ARCH_STM32F411
  106. config FROSTED_ARCH_STM32F429_XE
  107. bool "STM32F429xE 512KB"
  108. select FROSTED_FLASH_SIZE_512KB
  109. select FROSTED_RAM_SIZE_256KB
  110. select FROSTED_ARCH_STM32F429
  111. config FROSTED_ARCH_STM32F429_XG
  112. bool "STM32F429xG 1MB"
  113. select FROSTED_FLASH_SIZE_1MB
  114. select FROSTED_RAM_SIZE_256KB
  115. select FROSTED_ARCH_STM32F429
  116. config FROSTED_ARCH_STM32F429_XI
  117. bool "STM32F429xI 2MB"
  118. select FROSTED_FLASH_SIZE_2MB
  119. select FROSTED_RAM_SIZE_256KB
  120. select FROSTED_ARCH_STM32F429
  121. config FROSTED_ARCH_STM32F446_ZE
  122. bool "STM32F446ZE 512KB"
  123. select FROSTED_FLASH_SIZE_512KB
  124. select FROSTED_RAM_SIZE_128KB
  125. select FROSTED_ARCH_STM32F446
  126. endchoice
  127. endif
  128. if FROSTED_ARCH_LPC17XX
  129. choice
  130. prompt "MCU"
  131. default FROSTED_ARCH_LPC1768
  132. config FROSTED_ARCH_LPC1763
  133. bool "LPC1763"
  134. select FROSTED_FLASH_SIZE_256KB
  135. select FROSTED_RAM_SIZE_32KB
  136. select FROSTED_CLK_100MHZ
  137. config FROSTED_ARCH_LPC1764
  138. bool "LPC1764"
  139. select FROSTED_FLASH_SIZE_128KB
  140. select FROSTED_RAM_SIZE_16KB
  141. select FROSTED_CLK_100MHZ
  142. config FROSTED_ARCH_LPC1765
  143. bool "LPC1765"
  144. select FROSTED_FLASH_SIZE_256KB
  145. select FROSTED_RAM_SIZE_32KB
  146. select FROSTED_CLK_100MHZ
  147. config FROSTED_ARCH_LPC1766
  148. bool "LPC1766"
  149. select FROSTED_FLASH_SIZE_256KB
  150. select FROSTED_RAM_SIZE_32KB
  151. select FROSTED_CLK_100MHZ
  152. config FROSTED_ARCH_LPC1767
  153. bool "LPC1767"
  154. select FROSTED_FLASH_SIZE_512KB
  155. select FROSTED_RAM_SIZE_32KB
  156. select FROSTED_CLK_100MHZ
  157. config FROSTED_ARCH_LPC1768
  158. bool "LPC1768"
  159. select FROSTED_FLASH_SIZE_512KB
  160. select FROSTED_RAM_SIZE_32KB
  161. select FROSTED_CLK_100MHZ
  162. config FROSTED_ARCH_LPC1769
  163. bool "LPC1769"
  164. select FROSTED_FLASH_SIZE_512KB
  165. select FROSTED_RAM_SIZE_32KB
  166. endchoice
  167. endif
  168. if FROSTED_ARCH_LM3S
  169. choice
  170. prompt "MCU"
  171. default FROSTED_LM3S6965
  172. config FROSTED_ARCH_LM3S6965
  173. bool "LM3S6965"
  174. select FROSTED_FLASH_SIZE_256KB
  175. select FROSTED_RAM_SIZE_64KB
  176. config FROSTED_ARCH_LM3SVIRT
  177. bool "LM3S-VIRTUAL"
  178. select FROSTED_FLASH_SIZE_1MB
  179. select FROSTED_RAM_SIZE_256KB
  180. endchoice
  181. endif
  182. config FROSTED_FLASH_SIZE_2MB
  183. bool
  184. config FROSTED_FLASH_SIZE_1MB
  185. bool
  186. config FROSTED_FLASH_SIZE_512KB
  187. bool
  188. config FROSTED_FLASH_SIZE_384KB
  189. bool
  190. config FROSTED_FLASH_SIZE_256KB
  191. bool
  192. config FROSTED_FLASH_SIZE_128KB
  193. bool
  194. config FROSTED_RAM_SIZE_368KB
  195. bool
  196. config FROSTED_RAM_SIZE_320KB
  197. bool
  198. config FROSTED_RAM_SIZE_256KB
  199. bool
  200. config FROSTED_RAM_SIZE_192KB
  201. bool
  202. config FROSTED_RAM_SIZE_128KB
  203. bool
  204. config FROSTED_RAM_SIZE_96KB
  205. bool
  206. config FROSTED_RAM_SIZE_64KB
  207. bool
  208. config FROSTED_RAM_SIZE_32KB
  209. bool
  210. config FROSTED_RAM_SIZE_16KB
  211. bool
  212. config FROSTED_ARCH_STM32F401
  213. bool
  214. config FROSTED_ARCH_STM32F405
  215. bool
  216. config FROSTED_ARCH_STM32F407
  217. bool
  218. config FROSTED_ARCH_STM32F411
  219. bool
  220. config FROSTED_ARCH_STM32F429
  221. bool
  222. config FROSTED_ARCH_STM32F446
  223. bool
  224. config FROSTED_ARCH_STM32F746
  225. bool
  226. config FROSTED_ARCH_STM32F769
  227. bool
  228. config FROSTED_DEVSTM32DMA
  229. bool
  230. #Temp hack to allow '407 & '411 clock setups to coexist
  231. choice
  232. prompt "Clock Speed"
  233. config FROSTED_CLK_48MHZ
  234. bool "48MHz"
  235. depends on (FROSTED_ARCH_STM32F401 || FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F429)
  236. config FROSTED_CLK_84MHZ
  237. bool "84MHz"
  238. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F429)
  239. config FROSTED_CLK_100MHZ
  240. bool "100MHz"
  241. depends on FROSTED_ARCH_LPC17XX
  242. config FROSTED_CLK_120MHZ
  243. bool "120MHz"
  244. depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_LPC1769)
  245. config FROSTED_CLK_168MHZ
  246. bool "168MHz"
  247. depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429)
  248. config FROSTED_CLK_180MHZ
  249. bool "180MHz"
  250. depends on (FROSTED_ARCH_STM32F446)
  251. config FROSTED_CLK_216MHZ
  252. bool "216MHZ"
  253. depends on (FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769)
  254. endchoice
  255. choice
  256. prompt "Board"
  257. config FROSTED_MACH_STM32F746Discovery
  258. bool "STM32F746 Discovery"
  259. depends on (FROSTED_ARCH_STM32F746)
  260. config FROSTED_MACH_STM32F769Discovery
  261. bool "STM32F769 Discovery"
  262. depends on (FROSTED_ARCH_STM32F769)
  263. config FROSTED_MACH_STM32F746Nucleo144
  264. bool "STM32F746 Nucleo-144"
  265. depends on (FROSTED_ARCH_STM32F746)
  266. config FROSTED_MACH_STM32F407Discovery
  267. bool "STM32F407Discovery"
  268. depends on (FROSTED_ARCH_STM32F407)
  269. config FROSTED_MACH_STM32F405Pyboard
  270. bool "STM32F405 PyBoard (micropython)"
  271. depends on (FROSTED_ARCH_STM32F405)
  272. config FROSTED_MACH_STM32F4x1Discovery
  273. bool "STM32F4x1Discovery"
  274. depends on ( FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411)
  275. config FROSTED_MACH_STM32F429Discovery
  276. bool "STM32F429Discovery"
  277. depends on (FROSTED_ARCH_STM32F429)
  278. config FROSTED_MACH_STM32F446Nucleo
  279. bool "STM32F446 Nucleo"
  280. depends on (FROSTED_ARCH_STM32F446)
  281. config FROSTED_MACH_LPC1768MBED
  282. bool "LPC1768MBED"
  283. depends on FROSTED_ARCH_LPC1768
  284. config FROSTED_MACH_SEEEDPRO
  285. bool "SEEEDPRO"
  286. depends on FROSTED_ARCH_LPC1768
  287. config FROSTED_MACH_LPC1679XPRESSO
  288. bool "LPC1679XPRESSO"
  289. depends on FROSTED_ARCH_LPC1769
  290. config FROSTED_MACH_LM3S6965EVB
  291. bool "lm3s6965evb"
  292. depends on FROSTED_ARCH_LM3S6965
  293. config FROSTED_MACH_LM3SVIRT
  294. bool "lm3s-qemu"
  295. depends on FROSTED_ARCH_LM3SVIRT
  296. endchoice
  297. config FROSTED_STM32F7_SDRAM
  298. depends on FROSTED_ARCH_STM32F7
  299. bool "Enable external SDRAM"
  300. default y
  301. config FROSTED_STM32F4_SDRAM
  302. depends on FROSTED_ARCH_STM32F4
  303. bool "Enable external SDRAM"
  304. default n
  305. endmenu
  306. menu "Kernel Configuration"
  307. config FROSTED_KFLASHMEM_SIZE
  308. int "Kernel Flash size (KB)"
  309. default 64
  310. config FROSTED_KRAMMEM_SIZE
  311. int "Kernel RAM size (KB)"
  312. default 64
  313. choice
  314. prompt "Tasks Stack Size"
  315. default FROSTED_TASK_STACK_SIZE_2K
  316. config FROSTED_TASK_STACK_SIZE_1K
  317. bool "Tiny stack (1024 Bytes)"
  318. config FROSTED_TASK_STACK_SIZE_2K
  319. bool "Small stack (2048 Bytes)"
  320. config FROSTED_TASK_STACK_SIZE_4K
  321. bool "Big stack (4096 Bytes)"
  322. config FROSTED_TASK_STACK_SIZE_8K
  323. bool "Huge stack (8192 Bytes)"
  324. endchoice
  325. config FROSTED_MPU
  326. bool "Run-time Memory Protection"
  327. default y
  328. config FROSTED_PTHREADS
  329. bool "POSIX Threads (pthreads)"
  330. default y
  331. config FROSTED_SIGNALS
  332. bool "Process Signals"
  333. default y
  334. config FROSTED_PIPE
  335. bool "Pipe"
  336. default y
  337. config FROSTED_SOCK_UNIX
  338. bool "UNIX Sockets for IPC"
  339. default n
  340. endmenu
  341. menu "Debugging options"
  342. config FROSTED_KLOG
  343. bool "Enable kernel logging"
  344. default y
  345. config FROSTED_KLOG_SIZE
  346. depends on FROSTED_KLOG
  347. int "Kernel log buffer size"
  348. default 256
  349. config FROSTED_MEMFAULT_DBG
  350. bool "Enable extended segfault debug"
  351. default y
  352. config FROSTED_HARDFAULT_DBG
  353. bool "Enable extended hardfault debug"
  354. default n
  355. config FROSTED_STRACE
  356. bool "Enable syscall tracer"
  357. default n
  358. endmenu
  359. menu "Filesystems"
  360. config FROSTED_SYSFS
  361. bool "SysFS (/sys)"
  362. default y
  363. config FROSTED_MEMFS
  364. bool "MemFS"
  365. default y
  366. config FROSTED_XIPFS
  367. bool "Xip FS"
  368. default y
  369. config FROSTED_FATFS
  370. bool "Fat FS"
  371. default n
  372. config FROSTED_FAT32
  373. depends on FROSTED_FATFS
  374. bool "Fat32 support"
  375. default n
  376. config FROSTED_FAT16
  377. depends on FROSTED_FATFS
  378. bool "Fat16 support"
  379. default y
  380. endmenu
  381. menu "Networking"
  382. config FROSTED_SOCK_INET
  383. bool "TCP/IP Socket support"
  384. default n
  385. config FROSTED_TCPIP_MEMPOOL_YN
  386. bool "Separate memory pool for TCP/IP stack"
  387. default n
  388. if FROSTED_TCPIP_MEMPOOL_YN
  389. config FROSTED_TCPIP_MEMPOOL
  390. string "TCP/IP pool base address"
  391. default "0x10000000"
  392. endif
  393. choice FROSTED_NET_STACK
  394. prompt "TCP/IP stack selection"
  395. default FROSTED_PICOTCP
  396. depends on FROSTED_SOCK_INET
  397. config FROSTED_PICOTCP
  398. bool "Built-in PicoTCP"
  399. endchoice
  400. if FROSTED_PICOTCP
  401. menu "picoTCP configuration"
  402. config FROSTED_CONFIG_PICOTCP_IPV4
  403. bool "Support for IP version 4"
  404. default y
  405. config FROSTED_CONFIG_PICOTCP_IPV6
  406. bool "Support for IP version 6"
  407. default n
  408. config FROSTED_CONFIG_PICOTCP_TCP
  409. bool "Support for TCP"
  410. default y
  411. config FROSTED_CONFIG_PICOTCP_UDP
  412. bool "Support for UDP"
  413. default y
  414. config FROSTED_CONFIG_PICOTCP_DNS
  415. bool "Support for DNS client"
  416. default y
  417. config FROSTED_CONFIG_PICOTCP_MCAST
  418. bool "Support for Multicast"
  419. default n
  420. config FROSTED_CONFIG_PICOTCP_NAT
  421. bool "Support for NAT"
  422. default n
  423. config FROSTED_CONFIG_PICOTCP_IPFILTER
  424. bool "Support for IP Filter"
  425. default n
  426. config FROSTED_CONFIG_PICOTCP_LOOP
  427. bool "Support for loopback device"
  428. default y
  429. config FROSTED_CONFIG_PICOTCP_DEBUG
  430. bool "Activate debugging symbols"
  431. default n
  432. endmenu
  433. endif
  434. endmenu
  435. menu "Device Drivers"
  436. config FROSTED_DEVNULL
  437. bool "Support for /dev/null and /dev/zero"
  438. default y
  439. menuconfig FROSTED_DEVUART
  440. bool "Generic UART driver"
  441. default y
  442. if FROSTED_DEVUART
  443. config FROSTED_USART_0
  444. bool "USART 0"
  445. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT)
  446. config FROSTED_USART_1
  447. bool "USART 1"
  448. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT || \
  449. FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || \
  450. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769)
  451. config FROSTED_USART_2
  452. bool "USART 2"
  453. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT || \
  454. FROSTED_ARCH_STM32F401 || FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F446 || \
  455. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  456. config FROSTED_USART_3
  457. bool "USART 3"
  458. depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  459. config FROSTED_USART_6
  460. bool "USART 6"
  461. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F446 || \
  462. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  463. config FROSTED_UART_0
  464. bool "UART 0"
  465. depends on FROSTED_ARCH_LPC17XX
  466. config FROSTED_UART_1
  467. bool "UART 1"
  468. depends on FROSTED_ARCH_LPC17XX
  469. config FROSTED_UART_2
  470. bool "UART 2"
  471. depends on FROSTED_ARCH_LPC17XX
  472. config FROSTED_UART_3
  473. bool "UART 3"
  474. depends on FROSTED_ARCH_LPC17XX
  475. endif
  476. config FROSTED_DEVF4DSP
  477. bool "STM32F4 Sound driver"
  478. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446)
  479. select FROSTED_DEVSTM32DMA
  480. default n
  481. config FROSTED_DEVSTM32USB
  482. bool
  483. menuconfig FROSTED_DEVSTM32USBFS
  484. bool "Support for Full Speed USB OTG"
  485. depends on (!FROSTED_DEVSTM32USBHFS) && (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || \
  486. FROSTED_ARCH_STM32F746)
  487. default n
  488. select FROSTED_DEVSTM32USB
  489. if FROSTED_DEVSTM32USBFS
  490. choice
  491. prompt "USB FS OTG mode"
  492. default FROSTED_USBFS_GUEST
  493. config FROSTED_USBFS_HOST
  494. bool "Host mode"
  495. config FROSTED_USBFS_GUEST
  496. bool "Device mode"
  497. endchoice
  498. endif
  499. menuconfig FROSTED_DEVSTM32USBHS
  500. bool "Support for High Speed USB OTG"
  501. depends on (FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769)
  502. select FROSTED_DEVSTM32USB
  503. default n
  504. if FROSTED_DEVSTM32USBHS
  505. choice
  506. prompt "USB HS OTG mode"
  507. default FROSTED_USBHS_GUEST
  508. config FROSTED_USBHS_HOST
  509. bool "Host mode"
  510. config FROSTED_USBHS_GUEST
  511. bool "Device mode"
  512. endchoice
  513. endif
  514. config FROSTED_DEV_USB_ETH
  515. depends on FROSTED_PICOTCP && ( (FROSTED_DEVSTM32USBHS && FROSTED_USBHS_GUEST) || (FROSTED_DEVSTM32USBFS && FROSTED_USBFS_GUEST) )
  516. select FROSTED_DEVSTM32USB
  517. bool "Ethernet over USB (CDC-ECM)"
  518. default n
  519. if FROSTED_DEV_USB_ETH
  520. config FROSTED_USB_DEFAULT_IP
  521. string "Default (boot-up) address for usb0"
  522. default 192.168.6.150
  523. config FROSTED_USB_DEFAULT_NM
  524. string "Default (boot-up) netmask for usb0"
  525. default 255.255.255.0
  526. config FROSTED_USB_DEFAULT_GW
  527. string "Default (boot-up) gateway for usb0"
  528. default 192.168.6.1
  529. endif
  530. config FROSTED_DEVTIM
  531. bool "System CPU timer on TIM2"
  532. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || FROSTED_ARCH_STM32F746)
  533. default n
  534. config FROSTED_DEVADC
  535. bool "Generic ADC driver"
  536. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446)
  537. select FROSTED_DEVSTM32DMA
  538. default n
  539. config FROSTED_DEVF4ETH
  540. bool "STM32F4 Ethernet driver"
  541. depends on ((FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446) && FROSTED_PICOTCP)
  542. default n
  543. config FROSTED_DEVF7ETH
  544. bool "STM32F7 Ethernet driver"
  545. depends on ((FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769) && FROSTED_PICOTCP)
  546. default n
  547. config FROSTED_DEVLM3SETH
  548. bool "LM3S Ethernet driver"
  549. depends on ((FROSTED_ARCH_LM3S) && FROSTED_PICOTCP)
  550. default n
  551. if FROSTED_DEVF4ETH || FROSTED_DEVF7ETH || FROSTED_DEVLM3SETH
  552. config FROSTED_ETH_DEFAULT_IP
  553. string "Default (boot-up) address for eth0"
  554. default 192.168.2.150
  555. config FROSTED_ETH_DEFAULT_NM
  556. string "Default (boot-up) netmask for eth0"
  557. default 255.255.255.0
  558. config FROSTED_ETH_DEFAULT_GW
  559. string "Default (boot-up) gateway for eth0"
  560. default 192.168.2.1
  561. endif
  562. config FROSTED_DEVSTM32SDIO
  563. bool "STM32F4 SD I/O driver"
  564. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F7|| FROSTED_ARCH_STM32F446)
  565. default n
  566. menuconfig FROSTED_DEVSTM32I2C
  567. bool "STM32 I2C driver"
  568. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || FROSTED_ARCH_STM32F746)
  569. select FROSTED_DEVSTM32DMA
  570. default n
  571. if FROSTED_DEVSTM32I2C
  572. config FROSTED_I2C1
  573. bool "I2C 1"
  574. default n
  575. config FROSTED_I2C2
  576. bool "I2C 2"
  577. default n
  578. config FROSTED_I2C3
  579. bool "I2C 3"
  580. default y
  581. endif
  582. config FROSTED_DEVCS43L22
  583. tristate "CS43L22 driver (Stereo DAC)"
  584. depends on (FROSTED_DEVSTM32I2C)
  585. default n
  586. config FROSTED_DEVLSM303DLHC
  587. tristate "LSM303DLHC driver (Accelerometer & Magnetometer)"
  588. depends on (FROSTED_DEVSTM32I2C)
  589. default n
  590. config FROSTED_DEVMCCOG21
  591. tristate "MCCOG21 driver (2-lines B/W display)"
  592. depends on (FROSTED_DEVSTM32I2C)
  593. default n
  594. config FROSTED_DEVFT5336
  595. tristate "FT5336 driver (Touchscreen STM32F746)"
  596. depends on (FROSTED_DEVSTM32I2C)
  597. default n
  598. config FROSTED_DEVSTMPE811
  599. tristate "STMPE811 driver (Touchscreen)"
  600. depends on (FROSTED_DEVSTM32I2C)
  601. default n
  602. menuconfig FROSTED_DEVSPI
  603. bool "Generic SPI driver"
  604. depends on (FROSTED_ARCH_STM32F4 || FROSTED_ARCH_STM32F7)
  605. select FROSTED_DEVSTM32DMA
  606. default n
  607. if FROSTED_DEVSPI
  608. config FROSTED_SPI_1
  609. bool "SPI 1"
  610. config FROSTED_SPI_5
  611. bool "SPI 5"
  612. endif
  613. config FROSTED_DEVLIS3DSH
  614. tristate "LIS3DSH driver (3-Axis Accelerometer)"
  615. depends on (FROSTED_DEVSPI)
  616. default n
  617. config FROSTED_DEVILI9341
  618. tristate "ILI9341 driver (LCD Controller)"
  619. depends on (FROSTED_DEVSPI)
  620. default n
  621. config FROSTED_DEVL3GD20
  622. tristate "L3GD20 driver (Gyro)"
  623. depends on (FROSTED_DEVSPI)
  624. default n
  625. config FROSTED_DEV_RANDOM
  626. depends on (FROSTED_ARCH_STM32F4 || FROSTED_ARCH_STM32F7)
  627. bool "STM32F2/F4/F7 Random devices"
  628. default n
  629. if FROSTED_DEV_RANDOM
  630. choice
  631. prompt "Random device selection"
  632. config FROSTED_DEVRNG
  633. bool "Hardware TRNG driver"
  634. config FROSTED_DEVFRAND
  635. bool "Fortuna PRNG device"
  636. endchoice
  637. endif
  638. menuconfig FROSTED_DEVFRAMEBUFFER
  639. depends on (FROSTED_ARCH_STM32F7 || FROSTED_ARCH_STM32F4)
  640. bool "STM32 Framebuffer driver"
  641. default y
  642. config FROSTED_DEVFBCON
  643. depends on FROSTED_DEVFRAMEBUFFER
  644. bool "Console on Framebuffer via /dev/fbcon"
  645. default y
  646. config FROSTED_DEVF7DISCOLTDC
  647. depends on FROSTED_DEVFRAMEBUFFER
  648. bool "F746 Discovery LTDC"
  649. default y
  650. endmenu
  651. menu "Power Management"
  652. if FROSTED_DEVTIM
  653. config FROSTED_LOWPOWER
  654. bool "Enable low-power optimizations"
  655. default n
  656. config FROSTED_TICKLESS
  657. bool "Disable systick in between process switches (untested)"
  658. default n
  659. endif
  660. if !FROSTED_DEVTIM
  661. comment "Power Management requires CPU Timer support"
  662. endif
  663. endmenu
  664. menu "Libraries"
  665. config FROSTED_LIB_WOLFSSL
  666. bool "WolfSSL TLS + Encryption"
  667. default n
  668. config FROSTED_LIB_MONGOOSE
  669. bool "Cesanta's Mongoose REST API library"
  670. default n
  671. endmenu
  672. menu "Applications"
  673. menu "Base binary utils"
  674. config FROSTED_APP_INIT
  675. bool "init: main task"
  676. default y
  677. config FROSTED_APP_IDLING
  678. bool "idling: flashing leds"
  679. default y
  680. config FROSTED_APP_FRESH
  681. bool "fresh: Frosted shell"
  682. default y
  683. config FROSTED_APP_CAT
  684. bool "cat"
  685. config FROSTED_APP_ECHO
  686. bool "echo"
  687. config FROSTED_APP_LS
  688. bool "ls"
  689. config FROSTED_APP_TOUCH
  690. bool "touch"
  691. config FROSTED_APP_RM
  692. bool "rm"
  693. config FROSTED_APP_KILL
  694. bool "kill"
  695. config FROSTED_APP_TRUE
  696. bool "true"
  697. config FROSTED_APP_FALSE
  698. bool "false"
  699. config FROSTED_APP_LN
  700. bool "ln"
  701. config FROSTED_APP_DIRNAME
  702. bool "dirname"
  703. config FROSTED_APP_MKDIR
  704. bool "mkdir"
  705. config FROSTED_APP_MOUNT
  706. bool "mount"
  707. config FROSTED_APP_PLAY
  708. bool "play"
  709. config FROSTED_APP_WC
  710. bool "wc"
  711. config FROSTED_APP_HEAD
  712. bool "head"
  713. config FROSTED_APP_TAIL
  714. bool "tail"
  715. config FROSTED_APP_YES
  716. bool "yes"
  717. config FROSTED_APP_SLEEP
  718. bool "sleep"
  719. config FROSTED_APP_UPTIME
  720. bool "uptime"
  721. config FROSTED_APP_KLOGD
  722. bool "klogd"
  723. config FROSTED_APP_GDBSERVER
  724. bool "gdbserver"
  725. config FROSTED_APP_REBOOT
  726. bool "reboot"
  727. config FROSTED_APP_RENICE
  728. bool "renice"
  729. config FROSTED_APP_CUT
  730. bool "cut"
  731. config FROSTED_APP_GREP
  732. bool "grep"
  733. config FROSTED_APP_KILO
  734. bool "kilo (text editor)"
  735. config FROSTED_APP_POWERCTL
  736. bool "Remote power control (powerctl)"
  737. config FROSTED_APP_PTHREADS
  738. bool "Pthreads test (pthreads)"
  739. config FROSTED_APP_SEM
  740. bool "Semaphore test(sem)"
  741. config FROSTED_APP_DATE
  742. bool "date"
  743. endmenu
  744. menu "Networking utils"
  745. config FROSTED_APP_IFCONFIG
  746. bool "ifconfig"
  747. config FROSTED_APP_ROUTE
  748. bool "route"
  749. config FROSTED_APP_PING
  750. bool "ping"
  751. config FROSTED_APP_HOST
  752. bool "host"
  753. config FROSTED_APP_TELNETD
  754. bool "telnetd"
  755. config FROSTED_APP_NETCAT
  756. bool "netcat"
  757. config FROSTED_APP_HTTPD
  758. bool "httpd"
  759. depends on LIB_MONGOOSE
  760. config FROSTED_APP_SSHD
  761. bool "sshd"
  762. depends on LIB_WOLFSSL
  763. config FROSTED_APP_NTPC
  764. bool "ntpc"
  765. config FROSTED_APP_STARWARS
  766. bool "starwars"
  767. endmenu
  768. menu "Interpreters"
  769. config FROSTED_APP_PYTHON
  770. bool "python interpreter (micropython)"
  771. endmenu
  772. menu "Hardware utils"
  773. config FROSTED_APP_BUSYLOOP
  774. bool "busyloop - CPU busy test"
  775. config FROSTED_APP_MORSE
  776. bool "Morse led blinker"
  777. config FROSTED_APP_RANDOM
  778. bool "Random number generator"
  779. config FROSTED_APP_SENSOR
  780. bool "Test for sensors (obsolete)"
  781. config FROSTED_APP_FBTEST
  782. bool "Test for framebuffer"
  783. config FROSTED_APP_FBCTL
  784. bool "fbctl (screen on/off utility)"
  785. config FROSTED_APP_GPIOCTL
  786. bool "gpioctl - Tools to set up GPIOs"
  787. config FROSTED_APP_LATENCY
  788. bool "process latency measurement"
  789. config FROSTED_APP_ACC
  790. bool "Accelerometer tool (acc)"
  791. endmenu
  792. menu "Games"
  793. config FROSTED_APP_DOOM
  794. bool "ID Software's DOOM"
  795. config FROSTED_APP_DICE
  796. bool "Roll the dice"
  797. config FROSTED_APP_BYTEBEAT
  798. bool "sample bytebeat"
  799. config FROSTED_APP_GROOVY
  800. bool "groovy - bytebeat positional generator"
  801. endmenu
  802. endmenu