Config.in 25 KB

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