Config.in 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988
  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. default FROSTED_MACH_STM32F407Discovery
  258. config FROSTED_MACH_STM32F746Discovery
  259. bool "STM32F746 Discovery"
  260. depends on (FROSTED_ARCH_STM32F746)
  261. default y
  262. config FROSTED_MACH_STM32F769Discovery
  263. bool "STM32F769 Discovery"
  264. depends on (FROSTED_ARCH_STM32F769)
  265. default y
  266. config FROSTED_MACH_STM32F746Nucleo144
  267. bool "STM32F746 Nucleo-144"
  268. depends on (FROSTED_ARCH_STM32F746)
  269. default y
  270. config FROSTED_MACH_STM32F407Discovery
  271. bool "STM32F407Discovery"
  272. depends on (FROSTED_ARCH_STM32F407)
  273. default y
  274. config FROSTED_MACH_STM32F405Pyboard
  275. bool "STM32F405 PyBoard (micropython)"
  276. depends on (FROSTED_ARCH_STM32F405)
  277. default y
  278. config FROSTED_MACH_STM32F4x1Discovery
  279. bool "STM32F4x1Discovery"
  280. depends on ( FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411)
  281. default y
  282. config FROSTED_MACH_STM32F429Discovery
  283. bool "STM32F429Discovery"
  284. depends on (FROSTED_ARCH_STM32F429)
  285. default y
  286. config FROSTED_MACH_STM32F446Nucleo
  287. bool "STM32F446 Nucleo"
  288. depends on (FROSTED_ARCH_STM32F446)
  289. default y
  290. config FROSTED_MACH_LPC1768MBED
  291. bool "LPC1768MBED"
  292. depends on FROSTED_ARCH_LPC1768
  293. config FROSTED_MACH_SEEEDPRO
  294. bool "SEEEDPRO"
  295. depends on FROSTED_ARCH_LPC1768
  296. default y
  297. config FROSTED_MACH_LPC1679XPRESSO
  298. bool "LPC1679XPRESSO"
  299. depends on FROSTED_ARCH_LPC1769
  300. default y
  301. config FROSTED_MACH_LM3S6965EVB
  302. bool "lm3s6965evb"
  303. depends on FROSTED_ARCH_LM3S6965
  304. default y
  305. config FROSTED_MACH_LM3SVIRT
  306. bool "lm3s-qemu"
  307. depends on FROSTED_ARCH_LM3SVIRT
  308. default y
  309. endchoice
  310. config FROSTED_STM32F7_SDRAM
  311. depends on FROSTED_ARCH_STM32F7
  312. bool "Enable external SDRAM"
  313. default y
  314. config FROSTED_STM32F4_SDRAM
  315. depends on FROSTED_ARCH_STM32F4
  316. bool "Enable external SDRAM"
  317. default n
  318. endmenu
  319. menu "Kernel Configuration"
  320. config FROSTED_KFLASHMEM_SIZE
  321. int "Kernel Flash size (KB)"
  322. default 64
  323. config FROSTED_KRAMMEM_SIZE
  324. int "Kernel RAM size (KB)"
  325. default 64
  326. choice
  327. prompt "Tasks Stack Size"
  328. default FROSTED_TASK_STACK_SIZE_2K
  329. config FROSTED_TASK_STACK_SIZE_1K
  330. bool "Tiny stack (1024 Bytes)"
  331. config FROSTED_TASK_STACK_SIZE_2K
  332. bool "Small stack (2048 Bytes)"
  333. config FROSTED_TASK_STACK_SIZE_4K
  334. bool "Big stack (4096 Bytes)"
  335. config FROSTED_TASK_STACK_SIZE_8K
  336. bool "Huge stack (8192 Bytes)"
  337. endchoice
  338. config FROSTED_MPU
  339. bool "Run-time Memory Protection"
  340. default y
  341. config FROSTED_PTHREADS
  342. bool "POSIX Threads (pthreads)"
  343. default y
  344. config FROSTED_SIGNALS
  345. bool "Process Signals"
  346. default y
  347. config FROSTED_PIPE
  348. bool "Pipe"
  349. default y
  350. config FROSTED_SOCK_UNIX
  351. bool "UNIX Sockets for IPC"
  352. default n
  353. endmenu
  354. menu "Debugging options"
  355. config FROSTED_KLOG
  356. bool "Enable kernel logging"
  357. default y
  358. config FROSTED_KLOG_SIZE
  359. depends on FROSTED_KLOG
  360. int "Kernel log buffer size"
  361. default 256
  362. config FROSTED_MEMFAULT_DBG
  363. bool "Enable extended segfault debug"
  364. default y
  365. config FROSTED_HARDFAULT_DBG
  366. bool "Enable extended hardfault debug"
  367. default n
  368. config FROSTED_STRACE
  369. bool "Enable syscall tracer"
  370. default n
  371. endmenu
  372. menu "Filesystems"
  373. config FROSTED_SYSFS
  374. bool "SysFS (/sys)"
  375. default y
  376. config FROSTED_MEMFS
  377. bool "MemFS"
  378. default y
  379. config FROSTED_XIPFS
  380. bool "Xip FS"
  381. default y
  382. config FROSTED_FATFS
  383. bool "Fat FS"
  384. default n
  385. config FROSTED_FAT32
  386. depends on FROSTED_FATFS
  387. bool "Fat32 support"
  388. default n
  389. config FROSTED_FAT16
  390. depends on FROSTED_FATFS
  391. bool "Fat16 support"
  392. default y
  393. endmenu
  394. menu "Networking"
  395. config FROSTED_SOCK_INET
  396. bool "TCP/IP Socket support"
  397. default n
  398. config FROSTED_TCPIP_MEMPOOL_YN
  399. bool "Separate memory pool for TCP/IP stack"
  400. default n
  401. if FROSTED_TCPIP_MEMPOOL_YN
  402. config FROSTED_TCPIP_MEMPOOL
  403. string "TCP/IP pool base address"
  404. default "0x10000000"
  405. endif
  406. choice FROSTED_NET_STACK
  407. prompt "TCP/IP stack selection"
  408. default FROSTED_PICOTCP
  409. depends on FROSTED_SOCK_INET
  410. config FROSTED_PICOTCP
  411. bool "Built-in PicoTCP"
  412. default y
  413. endchoice
  414. if FROSTED_PICOTCP
  415. menu "picoTCP configuration"
  416. config FROSTED_CONFIG_PICOTCP_IPV4
  417. bool "Support for IP version 4"
  418. default y
  419. config FROSTED_CONFIG_PICOTCP_IPV6
  420. bool "Support for IP version 6"
  421. default n
  422. config FROSTED_CONFIG_PICOTCP_TCP
  423. bool "Support for TCP"
  424. default y
  425. config FROSTED_CONFIG_PICOTCP_UDP
  426. bool "Support for UDP"
  427. default y
  428. config FROSTED_CONFIG_PICOTCP_DNS
  429. bool "Support for DNS client"
  430. default y
  431. config FROSTED_CONFIG_PICOTCP_MCAST
  432. bool "Support for Multicast"
  433. default n
  434. config FROSTED_CONFIG_PICOTCP_NAT
  435. bool "Support for NAT"
  436. default n
  437. config FROSTED_CONFIG_PICOTCP_IPFILTER
  438. bool "Support for IP Filter"
  439. default n
  440. config FROSTED_CONFIG_PICOTCP_LOOP
  441. bool "Support for loopback device"
  442. default y
  443. config FROSTED_CONFIG_PICOTCP_DEBUG
  444. bool "Activate debugging symbols"
  445. default n
  446. endmenu
  447. endif
  448. endmenu
  449. menu "Device Drivers"
  450. config FROSTED_DEVNULL
  451. bool "Support for /dev/null and /dev/zero"
  452. default y
  453. menuconfig FROSTED_DEVUART
  454. bool "Generic UART driver"
  455. default y
  456. if FROSTED_DEVUART
  457. config FROSTED_USART_0
  458. bool "USART 0"
  459. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT)
  460. config FROSTED_USART_1
  461. bool "USART 1"
  462. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT || \
  463. FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || \
  464. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769)
  465. config FROSTED_USART_2
  466. bool "USART 2"
  467. depends on (FROSTED_ARCH_LM3S6965 || FROSTED_ARCH_LM3SVIRT || \
  468. FROSTED_ARCH_STM32F401 || FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F446 || \
  469. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  470. config FROSTED_USART_3
  471. bool "USART 3"
  472. depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  473. config FROSTED_USART_6
  474. bool "USART 6"
  475. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F446 || \
  476. FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769 )
  477. config FROSTED_UART_0
  478. bool "UART 0"
  479. depends on FROSTED_ARCH_LPC17XX
  480. config FROSTED_UART_1
  481. bool "UART 1"
  482. depends on FROSTED_ARCH_LPC17XX
  483. config FROSTED_UART_2
  484. bool "UART 2"
  485. depends on FROSTED_ARCH_LPC17XX
  486. config FROSTED_UART_3
  487. bool "UART 3"
  488. depends on FROSTED_ARCH_LPC17XX
  489. endif
  490. config FROSTED_DEVF4DSP
  491. bool "STM32F4 Sound driver"
  492. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446)
  493. select FROSTED_DEVSTM32DMA
  494. default n
  495. config FROSTED_DEVSTM32USB
  496. bool
  497. menuconfig FROSTED_DEVSTM32USBFS
  498. bool "Support for Full Speed USB OTG"
  499. depends on (!FROSTED_DEVSTM32USBHFS) && (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || \
  500. FROSTED_ARCH_STM32F746)
  501. default n
  502. select FROSTED_DEVSTM32USB
  503. if FROSTED_DEVSTM32USBFS
  504. choice
  505. prompt "USB FS OTG mode"
  506. default FROSTED_USBFS_GUEST
  507. config FROSTED_USBFS_HOST
  508. bool "Host mode"
  509. config FROSTED_USBFS_GUEST
  510. bool "Device mode"
  511. endchoice
  512. endif
  513. menuconfig FROSTED_DEVSTM32USBHS
  514. bool "Support for High Speed USB OTG"
  515. depends on (FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769)
  516. select FROSTED_DEVSTM32USB
  517. default n
  518. if FROSTED_DEVSTM32USBHS
  519. choice
  520. prompt "USB HS OTG mode"
  521. default FROSTED_USBHS_GUEST
  522. config FROSTED_USBHS_HOST
  523. bool "Host mode"
  524. config FROSTED_USBHS_GUEST
  525. bool "Device mode"
  526. endchoice
  527. endif
  528. config FROSTED_DEV_USB_ETH
  529. depends on FROSTED_PICOTCP && ( (FROSTED_DEVSTM32USBHS && FROSTED_USBHS_GUEST) || (FROSTED_DEVSTM32USBFS && FROSTED_USBFS_GUEST) )
  530. select FROSTED_DEVSTM32USB
  531. bool "Ethernet over USB (CDC-ECM)"
  532. default n
  533. if FROSTED_DEV_USB_ETH
  534. config FROSTED_USB_DEFAULT_IP
  535. string "Default (boot-up) address for usb0"
  536. default 192.168.6.150
  537. config FROSTED_USB_DEFAULT_NM
  538. string "Default (boot-up) netmask for usb0"
  539. default 255.255.255.0
  540. config FROSTED_USB_DEFAULT_GW
  541. string "Default (boot-up) gateway for usb0"
  542. default 192.168.6.1
  543. endif
  544. config FROSTED_DEVTIM
  545. bool "System CPU timer on TIM2"
  546. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || FROSTED_ARCH_STM32F746)
  547. default n
  548. config FROSTED_DEVADC
  549. bool "Generic ADC driver"
  550. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446)
  551. select FROSTED_DEVSTM32DMA
  552. default n
  553. config FROSTED_DEVF4ETH
  554. bool "STM32F4 Ethernet driver"
  555. depends on ((FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446) && FROSTED_PICOTCP)
  556. default n
  557. config FROSTED_DEVF7ETH
  558. bool "STM32F7 Ethernet driver"
  559. depends on ((FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769) && FROSTED_PICOTCP)
  560. default n
  561. config FROSTED_DEVLM3SETH
  562. bool "LM3S Ethernet driver"
  563. depends on ((FROSTED_ARCH_LM3S) && FROSTED_PICOTCP)
  564. default n
  565. if FROSTED_DEVF4ETH || FROSTED_DEVF7ETH || FROSTED_DEVLM3SETH
  566. config FROSTED_ETH_DEFAULT_IP
  567. string "Default (boot-up) address for eth0"
  568. default 192.168.2.150
  569. config FROSTED_ETH_DEFAULT_NM
  570. string "Default (boot-up) netmask for eth0"
  571. default 255.255.255.0
  572. config FROSTED_ETH_DEFAULT_GW
  573. string "Default (boot-up) gateway for eth0"
  574. default 192.168.2.1
  575. endif
  576. config FROSTED_DEVSTM32SDIO
  577. bool "STM32F4 SD I/O driver"
  578. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F7|| FROSTED_ARCH_STM32F446)
  579. default n
  580. menuconfig FROSTED_DEVSTM32I2C
  581. bool "STM32 I2C driver"
  582. depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429 || FROSTED_ARCH_STM32F446 || FROSTED_ARCH_STM32F746)
  583. select FROSTED_DEVSTM32DMA
  584. default n
  585. if FROSTED_DEVSTM32I2C
  586. config FROSTED_I2C1
  587. bool "I2C 1"
  588. default n
  589. config FROSTED_I2C2
  590. bool "I2C 2"
  591. default n
  592. config FROSTED_I2C3
  593. bool "I2C 3"
  594. default y
  595. endif
  596. config FROSTED_DEVCS43L22
  597. tristate "CS43L22 driver (Stereo DAC)"
  598. depends on (FROSTED_DEVSTM32I2C)
  599. default n
  600. config FROSTED_DEVLSM303DLHC
  601. tristate "LSM303DLHC driver (Accelerometer & Magnetometer)"
  602. depends on (FROSTED_DEVSTM32I2C)
  603. default n
  604. config FROSTED_DEVMCCOG21
  605. tristate "MCCOG21 driver (2-lines B/W display)"
  606. depends on (FROSTED_DEVSTM32I2C)
  607. default n
  608. config FROSTED_DEVFT5336
  609. tristate "FT5336 driver (Touchscreen STM32F746)"
  610. depends on (FROSTED_DEVSTM32I2C)
  611. default n
  612. config FROSTED_DEVSTMPE811
  613. tristate "STMPE811 driver (Touchscreen)"
  614. depends on (FROSTED_DEVSTM32I2C)
  615. default n
  616. menuconfig FROSTED_DEVSPI
  617. bool "Generic SPI driver"
  618. depends on (FROSTED_ARCH_STM32F4 || FROSTED_ARCH_STM32F7)
  619. select FROSTED_DEVSTM32DMA
  620. default n
  621. if FROSTED_DEVSPI
  622. config FROSTED_SPI_1
  623. bool "SPI 1"
  624. config FROSTED_SPI_5
  625. bool "SPI 5"
  626. endif
  627. config FROSTED_DEVLIS3DSH
  628. tristate "LIS3DSH driver (3-Axis Accelerometer)"
  629. depends on (FROSTED_DEVSPI)
  630. default n
  631. config FROSTED_DEVILI9341
  632. tristate "ILI9341 driver (LCD Controller)"
  633. depends on (FROSTED_DEVSPI)
  634. default n
  635. config FROSTED_DEVL3GD20
  636. tristate "L3GD20 driver (Gyro)"
  637. depends on (FROSTED_DEVSPI)
  638. default n
  639. config FROSTED_DEV_RANDOM
  640. depends on (FROSTED_ARCH_STM32F4 || FROSTED_ARCH_STM32F7)
  641. bool "STM32F2/F4/F7 Random devices"
  642. default n
  643. if FROSTED_DEV_RANDOM
  644. choice
  645. prompt "Random device selection"
  646. config FROSTED_DEVRNG
  647. bool "Hardware TRNG driver"
  648. config FROSTED_DEVFRAND
  649. bool "Fortuna PRNG device"
  650. endchoice
  651. endif
  652. menuconfig FROSTED_DEVFRAMEBUFFER
  653. depends on (FROSTED_ARCH_STM32F7 || FROSTED_ARCH_STM32F4)
  654. bool "STM32 Framebuffer driver"
  655. default y
  656. config FROSTED_DEVFBCON
  657. depends on FROSTED_DEVFRAMEBUFFER
  658. bool "Console on Framebuffer via /dev/fbcon"
  659. default y
  660. config FROSTED_DEVF7DISCOLTDC
  661. depends on FROSTED_DEVFRAMEBUFFER
  662. bool "F746 Discovery LTDC"
  663. default y
  664. endmenu
  665. menu "Power Management"
  666. if FROSTED_DEVTIM
  667. config FROSTED_LOWPOWER
  668. bool "Enable low-power optimizations"
  669. default n
  670. config FROSTED_TICKLESS
  671. bool "Disable systick in between process switches (untested)"
  672. default n
  673. endif
  674. if !FROSTED_DEVTIM
  675. comment "Power Management requires CPU Timer support"
  676. endif
  677. endmenu
  678. menu "Libraries"
  679. config FROSTED_LIB_WOLFSSL
  680. bool "WolfSSL TLS + Encryption"
  681. default n
  682. config FROSTED_LIB_MONGOOSE
  683. bool "Cesanta's Mongoose REST API library"
  684. default n
  685. endmenu
  686. menu "Applications"
  687. menu "Base binary utils"
  688. config FROSTED_APP_INIT
  689. bool "init: main task"
  690. default y
  691. config FROSTED_APP_IDLING
  692. bool "idling: flashing leds"
  693. default y
  694. config FROSTED_APP_FRESH
  695. bool "fresh: Frosted shell"
  696. default y
  697. config FROSTED_APP_CAT
  698. bool "cat"
  699. config FROSTED_APP_ECHO
  700. bool "echo"
  701. config FROSTED_APP_LS
  702. bool "ls"
  703. config FROSTED_APP_TOUCH
  704. bool "touch"
  705. config FROSTED_APP_RM
  706. bool "rm"
  707. config FROSTED_APP_KILL
  708. bool "kill"
  709. config FROSTED_APP_TRUE
  710. bool "true"
  711. config FROSTED_APP_FALSE
  712. bool "false"
  713. config FROSTED_APP_LN
  714. bool "ln"
  715. config FROSTED_APP_DIRNAME
  716. bool "dirname"
  717. config FROSTED_APP_MKDIR
  718. bool "mkdir"
  719. config FROSTED_APP_MOUNT
  720. bool "mount"
  721. config FROSTED_APP_PLAY
  722. bool "play"
  723. config FROSTED_APP_WC
  724. bool "wc"
  725. config FROSTED_APP_HEAD
  726. bool "head"
  727. config FROSTED_APP_TAIL
  728. bool "tail"
  729. config FROSTED_APP_YES
  730. bool "yes"
  731. config FROSTED_APP_SLEEP
  732. bool "sleep"
  733. config FROSTED_APP_UPTIME
  734. bool "uptime"
  735. config FROSTED_APP_KLOGD
  736. bool "klogd"
  737. config FROSTED_APP_GDBSERVER
  738. bool "gdbserver"
  739. config FROSTED_APP_REBOOT
  740. bool "reboot"
  741. config FROSTED_APP_RENICE
  742. bool "renice"
  743. config FROSTED_APP_CUT
  744. bool "cut"
  745. config FROSTED_APP_GREP
  746. bool "grep"
  747. config FROSTED_APP_KILO
  748. bool "kilo (text editor)"
  749. config FROSTED_APP_POWERCTL
  750. bool "Remote power control (powerctl)"
  751. config FROSTED_APP_PTHREADS
  752. bool "Pthreads test (pthreads)"
  753. config FROSTED_APP_SEM
  754. bool "Semaphore test(sem)"
  755. config FROSTED_APP_DATE
  756. bool "date"
  757. endmenu
  758. menu "Networking utils"
  759. config FROSTED_APP_IFCONFIG
  760. bool "ifconfig"
  761. config FROSTED_APP_ROUTE
  762. bool "route"
  763. config FROSTED_APP_PING
  764. bool "ping"
  765. config FROSTED_APP_HOST
  766. bool "host"
  767. config FROSTED_APP_TELNETD
  768. bool "telnetd"
  769. config FROSTED_APP_NETCAT
  770. bool "netcat"
  771. config FROSTED_APP_HTTPD
  772. bool "httpd"
  773. depends on LIB_MONGOOSE
  774. config FROSTED_APP_SSHD
  775. bool "sshd"
  776. depends on LIB_WOLFSSL
  777. config FROSTED_APP_NTPC
  778. bool "ntpc"
  779. config FROSTED_APP_STARWARS
  780. bool "starwars"
  781. endmenu
  782. menu "Interpreters"
  783. config FROSTED_APP_PYTHON
  784. bool "python interpreter (micropython)"
  785. endmenu
  786. menu "Hardware utils"
  787. config FROSTED_APP_BUSYLOOP
  788. bool "busyloop - CPU busy test"
  789. config FROSTED_APP_MORSE
  790. bool "Morse led blinker"
  791. config FROSTED_APP_RANDOM
  792. bool "Random number generator"
  793. config FROSTED_APP_SENSOR
  794. bool "Test for sensors (obsolete)"
  795. config FROSTED_APP_FBTEST
  796. bool "Test for framebuffer"
  797. config FROSTED_APP_FBCTL
  798. bool "fbctl (screen on/off utility)"
  799. config FROSTED_APP_GPIOCTL
  800. bool "gpioctl - Tools to set up GPIOs"
  801. config FROSTED_APP_LATENCY
  802. bool "process latency measurement"
  803. config FROSTED_APP_ACC
  804. bool "Accelerometer tool (acc)"
  805. endmenu
  806. menu "Games"
  807. config FROSTED_APP_DOOM
  808. bool "ID Software's DOOM"
  809. config FROSTED_APP_DICE
  810. bool "Roll the dice"
  811. config FROSTED_APP_BYTEBEAT
  812. bool "sample bytebeat"
  813. config FROSTED_APP_GROOVY
  814. bool "groovy - bytebeat positional generator"
  815. endmenu
  816. endmenu