Kconfig 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980
  1. menu "Device Drivers"
  2. config RT_USING_DEVICE_IPC
  3. bool "Using device drivers IPC"
  4. default y
  5. config RT_UNAMED_PIPE_NUMBER
  6. int "The number of unamed pipe"
  7. default 64
  8. if RT_USING_DEVICE_IPC
  9. config RT_USING_SYSTEM_WORKQUEUE
  10. bool "Using system default workqueue"
  11. default n
  12. if RT_USING_SYSTEM_WORKQUEUE
  13. config RT_SYSTEM_WORKQUEUE_STACKSIZE
  14. int "The stack size for system workqueue thread"
  15. default 2048
  16. config RT_SYSTEM_WORKQUEUE_PRIORITY
  17. int "The priority level of system workqueue thread"
  18. default 23
  19. endif
  20. endif
  21. menuconfig RT_USING_SERIAL
  22. bool "USING Serial device drivers"
  23. select RT_USING_DEVICE_IPC
  24. select RT_USING_DEVICE
  25. default y
  26. if RT_USING_SERIAL
  27. choice
  28. prompt "Choice Serial version"
  29. default RT_USING_SERIAL_V1
  30. config RT_USING_SERIAL_V1
  31. bool "RT_USING_SERIAL_V1"
  32. config RT_USING_SERIAL_V2
  33. bool "RT_USING_SERIAL_V2"
  34. endchoice
  35. config RT_SERIAL_USING_DMA
  36. bool "Enable serial DMA mode"
  37. default y
  38. config RT_SERIAL_RB_BUFSZ
  39. int "Set RX buffer size"
  40. depends on !RT_USING_SERIAL_V2
  41. default 64
  42. endif
  43. config RT_USING_TTY
  44. bool "Using TTY SYSTEM"
  45. depends on RT_USING_SMART
  46. default y
  47. if RT_USING_TTY
  48. config RT_TTY_DEBUG
  49. bool "Using TTY DEBUG"
  50. default n
  51. endif
  52. config RT_USING_CAN
  53. bool "Using CAN device drivers"
  54. default n
  55. if RT_USING_CAN
  56. config RT_CAN_USING_HDR
  57. bool "Enable CAN hardware filter"
  58. default n
  59. config RT_CAN_USING_CANFD
  60. bool "Enable CANFD support"
  61. default n
  62. endif
  63. config RT_USING_HWTIMER
  64. bool "Using hardware timer device drivers"
  65. default n
  66. config RT_USING_CPUTIME
  67. bool "Enable CPU time for high resolution clock counter"
  68. default n
  69. help
  70. When enable this option, the BSP should provide a rt_clock_cputime_ops
  71. for CPU time by:
  72. const static struct rt_clock_cputime_ops _ops = {...};
  73. clock_cpu_setops(&_ops);
  74. Then user can use high resolution clock counter with:
  75. ts1 = clock_cpu_gettime();
  76. ts2 = clock_cpu_gettime();
  77. /* and get the ms of delta tick with API: */
  78. ms_tick = clock_cpu_millisecond(t2 - t1);
  79. us_tick = clock_cpu_microsecond(t2 - t1);
  80. if RT_USING_CPUTIME
  81. config RT_USING_CPUTIME_CORTEXM
  82. bool "Support Cortex-M CPU"
  83. default y
  84. depends on ARCH_ARM_CORTEX_M0 || ARCH_ARM_CORTEX_M3 || ARCH_ARM_CORTEX_M4 || ARCH_ARM_CORTEX_M7
  85. select PKG_USING_PERF_COUNTER
  86. config RT_USING_CPUTIME_RISCV
  87. bool "Use rdtime instructions for CPU time"
  88. default y
  89. depends on ARCH_RISCV64
  90. help
  91. Some RISCV64 MCU Use rdtime instructions read CPU time.
  92. config CPUTIME_TIMER_FREQ
  93. int "CPUTIME timer freq"
  94. default 0
  95. endif
  96. config RT_USING_I2C
  97. bool "Using I2C device drivers"
  98. default n
  99. if RT_USING_I2C
  100. config RT_I2C_DEBUG
  101. bool "Use I2C debug message"
  102. default n
  103. config RT_USING_I2C_BITOPS
  104. bool "Use GPIO to simulate I2C"
  105. default y
  106. if RT_USING_I2C_BITOPS
  107. config RT_I2C_BITOPS_DEBUG
  108. bool "Use simulate I2C debug message"
  109. default n
  110. endif
  111. endif
  112. config RT_USING_PHY
  113. bool "Using ethernet phy device drivers"
  114. default n
  115. config RT_USING_PIN
  116. bool "Using generic GPIO device drivers"
  117. default y
  118. config RT_USING_ADC
  119. bool "Using ADC device drivers"
  120. default n
  121. config RT_USING_DAC
  122. bool "Using DAC device drivers"
  123. default n
  124. config RT_USING_NULL
  125. bool "Using NULL device drivers"
  126. default n
  127. config RT_USING_ZERO
  128. bool "Using ZERO device drivers"
  129. default n
  130. config RT_USING_RANDOM
  131. bool "Using RANDOM device drivers"
  132. default n
  133. config RT_USING_PWM
  134. bool "Using PWM device drivers"
  135. default n
  136. config RT_USING_MTD_NOR
  137. bool "Using MTD Nor Flash device drivers"
  138. default n
  139. config RT_USING_MTD_NAND
  140. bool "Using MTD Nand Flash device drivers"
  141. default n
  142. if RT_USING_MTD_NAND
  143. config RT_MTD_NAND_DEBUG
  144. bool "Enable MTD Nand operations debug information"
  145. default n
  146. endif
  147. config RT_USING_PM
  148. bool "Using Power Management device drivers"
  149. default n
  150. if RT_USING_PM
  151. config PM_TICKLESS_THRESHOLD_TIME
  152. int "PM tickless threashold time"
  153. default 2
  154. config PM_USING_CUSTOM_CONFIG
  155. bool "PM using custom pm config"
  156. default n
  157. config PM_ENABLE_DEBUG
  158. bool "PM Enable Debug"
  159. default n
  160. config PM_ENABLE_SUSPEND_SLEEP_MODE
  161. bool "PM Device suspend change sleep mode"
  162. default n
  163. config PM_ENABLE_THRESHOLD_SLEEP_MODE
  164. bool "PM using threshold time change sleep mode"
  165. default n
  166. if PM_ENABLE_THRESHOLD_SLEEP_MODE
  167. config PM_LIGHT_THRESHOLD_TIME
  168. int "PM light mode threashold time"
  169. default 5
  170. config PM_DEEP_THRESHOLD_TIME
  171. int "PM deep mode threashold time"
  172. default 20
  173. config PM_STANDBY_THRESHOLD_TIME
  174. int "PM standby mode threashold time"
  175. default 100
  176. endif
  177. endif
  178. config RT_USING_FDT
  179. bool "Using fdt interface for device drivers"
  180. default n
  181. if RT_USING_FDT
  182. config RT_USING_FDTLIB
  183. bool "Using fdt lib for device drivers"
  184. default y
  185. config FDT_USING_DEBUG
  186. bool "Using fdt debug function "
  187. default n
  188. endif
  189. config RT_USING_RTC
  190. bool "Using RTC device drivers"
  191. default n
  192. if RT_USING_RTC
  193. config RT_USING_ALARM
  194. bool "Using RTC alarm"
  195. default n
  196. config RT_USING_SOFT_RTC
  197. bool "Using software simulation RTC device"
  198. default n
  199. endif
  200. config RT_USING_SDIO
  201. bool "Using SD/MMC device drivers"
  202. default n
  203. if RT_USING_SDIO
  204. config RT_SDIO_STACK_SIZE
  205. int "The stack size for sdio irq thread"
  206. default 512
  207. config RT_SDIO_THREAD_PRIORITY
  208. int "The priority level value of sdio irq thread"
  209. default 15
  210. config RT_MMCSD_STACK_SIZE
  211. int "The stack size for mmcsd thread"
  212. default 1024
  213. config RT_MMCSD_THREAD_PREORITY
  214. int "The priority level value of mmcsd thread"
  215. default 22
  216. config RT_MMCSD_MAX_PARTITION
  217. int "mmcsd max partition"
  218. default 16
  219. config RT_SDIO_DEBUG
  220. bool "Enable SDIO debug log output"
  221. default n
  222. endif
  223. config RT_USING_SPI
  224. bool "Using SPI Bus/Device device drivers"
  225. default n
  226. if RT_USING_SPI
  227. config RT_USING_SPI_BITOPS
  228. select RT_USING_PIN
  229. bool "Use GPIO to simulate SPI"
  230. default n
  231. if RT_USING_SPI_BITOPS
  232. config RT_SPI_BITOPS_DEBUG
  233. bool "Use simulate SPI debug message"
  234. default n
  235. endif
  236. config RT_USING_QSPI
  237. bool "Enable QSPI mode"
  238. default n
  239. config RT_USING_SPI_MSD
  240. bool "Using SD/TF card driver with spi"
  241. select RT_USING_DFS
  242. default n
  243. config RT_USING_SFUD
  244. bool "Using Serial Flash Universal Driver"
  245. default n
  246. help
  247. An using JEDEC's SFDP standard serial (SPI) flash universal driver library
  248. if RT_USING_SFUD
  249. config RT_SFUD_USING_SFDP
  250. bool "Using auto probe flash JEDEC SFDP parameter"
  251. default y
  252. config RT_SFUD_USING_FLASH_INFO_TABLE
  253. bool "Using defined supported flash chip information table"
  254. default y
  255. config RT_SFUD_USING_QSPI
  256. bool "Using QSPI mode support"
  257. select RT_USING_QSPI
  258. default n
  259. config RT_SFUD_SPI_MAX_HZ
  260. int "Default spi maximum speed(HZ)"
  261. range 0 50000000
  262. default 50000000
  263. help
  264. Read the JEDEC SFDP command must run at 50 MHz or less,and you also can use rt_spi_configure(); to config spi speed.
  265. config RT_DEBUG_SFUD
  266. bool "Show more SFUD debug information"
  267. default n
  268. endif
  269. config RT_USING_ENC28J60
  270. bool "Using ENC28J60 SPI Ethernet network interface"
  271. select RT_USING_LWIP
  272. default n
  273. config RT_USING_SPI_WIFI
  274. bool "Using RW009/007 SPI Wi-Fi wireless interface"
  275. select RT_USING_LWIP
  276. default n
  277. endif
  278. config RT_USING_WDT
  279. bool "Using Watch Dog device drivers"
  280. default n
  281. config RT_USING_AUDIO
  282. bool "Using Audio device drivers"
  283. default n
  284. if RT_USING_AUDIO
  285. config RT_AUDIO_REPLAY_MP_BLOCK_SIZE
  286. int "Replay memory pool block size"
  287. default 4096
  288. config RT_AUDIO_REPLAY_MP_BLOCK_COUNT
  289. int "Replay memory pool block count"
  290. default 2
  291. config RT_AUDIO_RECORD_PIPE_SIZE
  292. int "Record pipe size"
  293. default 2048
  294. endif
  295. config RT_USING_SENSOR
  296. bool "Using Sensor device drivers"
  297. select RT_USING_PIN
  298. default n
  299. if RT_USING_SENSOR
  300. config RT_USING_SENSOR_V2
  301. bool "Enable Sensor Framework v2"
  302. default n
  303. config RT_USING_SENSOR_CMD
  304. bool "Using Sensor cmd"
  305. select PKG_USING_RT_VSNPRINTF_FULL if RT_USING_SENSOR_V2
  306. default y
  307. endif
  308. config RT_USING_TOUCH
  309. bool "Using Touch device drivers"
  310. default n
  311. if RT_USING_TOUCH
  312. config RT_TOUCH_PIN_IRQ
  313. bool "touch irq use pin irq"
  314. default n
  315. endif
  316. config RT_USING_LCD
  317. bool "Using LCD graphic drivers"
  318. default n
  319. menuconfig RT_USING_HWCRYPTO
  320. bool "Using Hardware Crypto drivers"
  321. default n
  322. if RT_USING_HWCRYPTO
  323. config RT_HWCRYPTO_DEFAULT_NAME
  324. string "Hardware crypto device name"
  325. default "hwcryto"
  326. config RT_HWCRYPTO_IV_MAX_SIZE
  327. int "IV max size"
  328. default "16"
  329. config RT_HWCRYPTO_KEYBIT_MAX_SIZE
  330. int "Key max bit length"
  331. default 256
  332. config RT_HWCRYPTO_USING_GCM
  333. bool "Using Hardware GCM"
  334. default n
  335. config RT_HWCRYPTO_USING_AES
  336. bool "Using Hardware AES"
  337. default n
  338. if RT_HWCRYPTO_USING_AES
  339. config RT_HWCRYPTO_USING_AES_ECB
  340. bool "Using Hardware AES ECB mode"
  341. default y
  342. config RT_HWCRYPTO_USING_AES_CBC
  343. bool "Using Hardware AES CBC mode"
  344. default n
  345. config RT_HWCRYPTO_USING_AES_CFB
  346. bool "Using Hardware AES CFB mode"
  347. default n
  348. config RT_HWCRYPTO_USING_AES_CTR
  349. bool "Using Hardware AES CTR mode"
  350. default n
  351. config RT_HWCRYPTO_USING_AES_OFB
  352. bool "Using Hardware AES OFB mode"
  353. default n
  354. endif
  355. config RT_HWCRYPTO_USING_DES
  356. bool "Using Hardware DES"
  357. default n
  358. if RT_HWCRYPTO_USING_DES
  359. config RT_HWCRYPTO_USING_DES_ECB
  360. bool "Using Hardware DES ECB mode"
  361. default y
  362. config RT_HWCRYPTO_USING_DES_CBC
  363. bool "Using Hardware DES CBC mode"
  364. default n
  365. endif
  366. config RT_HWCRYPTO_USING_3DES
  367. bool "Using Hardware 3DES"
  368. default n
  369. if RT_HWCRYPTO_USING_3DES
  370. config RT_HWCRYPTO_USING_3DES_ECB
  371. bool "Using Hardware 3DES ECB mode"
  372. default y
  373. config RT_HWCRYPTO_USING_3DES_CBC
  374. bool "Using Hardware 3DES CBC mode"
  375. default n
  376. endif
  377. config RT_HWCRYPTO_USING_RC4
  378. bool "Using Hardware RC4"
  379. default n
  380. config RT_HWCRYPTO_USING_MD5
  381. bool "Using Hardware MD5"
  382. default n
  383. config RT_HWCRYPTO_USING_SHA1
  384. bool "Using Hardware SHA1"
  385. default n
  386. config RT_HWCRYPTO_USING_SHA2
  387. bool "Using Hardware SHA2"
  388. default n
  389. if RT_HWCRYPTO_USING_SHA2
  390. config RT_HWCRYPTO_USING_SHA2_224
  391. bool "Using Hardware SHA2_224 mode"
  392. default n
  393. config RT_HWCRYPTO_USING_SHA2_256
  394. bool "Using Hardware SHA2_256 mode"
  395. default y
  396. config RT_HWCRYPTO_USING_SHA2_384
  397. bool "Using Hardware SHA2_384 mode"
  398. default n
  399. config RT_HWCRYPTO_USING_SHA2_512
  400. bool "Using Hardware SHA2_512 mode"
  401. default n
  402. endif
  403. config RT_HWCRYPTO_USING_RNG
  404. bool "Using Hardware RNG"
  405. default n
  406. config RT_HWCRYPTO_USING_CRC
  407. bool "Using Hardware CRC"
  408. default n
  409. if RT_HWCRYPTO_USING_CRC
  410. config RT_HWCRYPTO_USING_CRC_07
  411. bool "Using Hardware CRC-8 0x07 polynomial"
  412. default n
  413. config RT_HWCRYPTO_USING_CRC_8005
  414. bool "Using Hardware CRC-16 0x8005 polynomial"
  415. default n
  416. config RT_HWCRYPTO_USING_CRC_1021
  417. bool "Using Hardware CRC-16 0x1021 polynomial"
  418. default n
  419. config RT_HWCRYPTO_USING_CRC_3D65
  420. bool "Using Hardware CRC-16 0x3D65 polynomial"
  421. default n
  422. config RT_HWCRYPTO_USING_CRC_04C11DB7
  423. bool "Using Hardware CRC-32 0x04C11DB7 polynomial"
  424. default n
  425. endif
  426. config RT_HWCRYPTO_USING_BIGNUM
  427. bool "Using Hardware bignum"
  428. default n
  429. if RT_HWCRYPTO_USING_BIGNUM
  430. config RT_HWCRYPTO_USING_BIGNUM_EXPTMOD
  431. bool "Using Hardware bignum expt_mod operation"
  432. default y
  433. config RT_HWCRYPTO_USING_BIGNUM_MULMOD
  434. bool "Using Hardware bignum mul_mod operation"
  435. default y
  436. config RT_HWCRYPTO_USING_BIGNUM_MUL
  437. bool "Using Hardware bignum mul operation"
  438. default n
  439. config RT_HWCRYPTO_USING_BIGNUM_ADD
  440. bool "Using Hardware bignum add operation"
  441. default n
  442. config RT_HWCRYPTO_USING_BIGNUM_SUB
  443. bool "Using Hardware bignum sub operation"
  444. default n
  445. endif
  446. endif
  447. config RT_USING_PULSE_ENCODER
  448. bool "Using PULSE ENCODER device drivers"
  449. default n
  450. config RT_USING_INPUT_CAPTURE
  451. bool "Using INPUT CAPTURE device drivers"
  452. default n
  453. if RT_USING_INPUT_CAPTURE
  454. config RT_INPUT_CAPTURE_RB_SIZE
  455. int "Set input capture ringbuffer size"
  456. default 100
  457. endif
  458. config RT_USING_DEV_BUS
  459. bool "Using Device Bus device drivers"
  460. default y if RT_USING_SMART
  461. default n if !RT_USING_SMART
  462. menuconfig RT_USING_WIFI
  463. bool "Using Wi-Fi framework"
  464. default n
  465. if RT_USING_WIFI
  466. config RT_WLAN_DEVICE_STA_NAME
  467. string "The device name for station"
  468. default "wlan0"
  469. config RT_WLAN_DEVICE_AP_NAME
  470. string "The device name for ap"
  471. default "wlan1"
  472. config RT_WLAN_SSID_MAX_LENGTH
  473. int "SSID maximum length"
  474. default 32
  475. config RT_WLAN_PASSWORD_MAX_LENGTH
  476. int "Password maximum length"
  477. default 32
  478. config RT_WLAN_DEV_EVENT_NUM
  479. int "Driver events maxcount"
  480. default 2
  481. config RT_WLAN_MANAGE_ENABLE
  482. bool "Connection management Enable"
  483. default y
  484. if RT_WLAN_MANAGE_ENABLE
  485. config RT_WLAN_SCAN_WAIT_MS
  486. int "Set scan timeout time(ms)"
  487. default 10000
  488. config RT_WLAN_CONNECT_WAIT_MS
  489. int "Set connect timeout time(ms)"
  490. default 10000
  491. config RT_WLAN_SCAN_SORT
  492. bool "Automatic sorting of scan results"
  493. default y
  494. config RT_WLAN_MSH_CMD_ENABLE
  495. bool "MSH command Enable"
  496. default y
  497. config RT_WLAN_AUTO_CONNECT_ENABLE
  498. bool "Auto connect Enable"
  499. select RT_WLAN_CFG_ENABLE
  500. select RT_WLAN_WORK_THREAD_ENABLE
  501. default y
  502. if RT_WLAN_AUTO_CONNECT_ENABLE
  503. config AUTO_CONNECTION_PERIOD_MS
  504. int "Auto connect period(ms)"
  505. default 2000
  506. endif
  507. endif
  508. config RT_WLAN_CFG_ENABLE
  509. bool "WiFi information automatically saved Enable"
  510. default y
  511. if RT_WLAN_CFG_ENABLE
  512. config RT_WLAN_CFG_INFO_MAX
  513. int "Maximum number of WiFi information automatically saved"
  514. default 3
  515. endif
  516. config RT_WLAN_PROT_ENABLE
  517. bool "Transport protocol manage Enable"
  518. default y
  519. if RT_WLAN_PROT_ENABLE
  520. config RT_WLAN_PROT_NAME_LEN
  521. int "Transport protocol name length"
  522. default 8
  523. config RT_WLAN_PROT_MAX
  524. int "Transport protocol maxcount"
  525. default 2
  526. config RT_WLAN_DEFAULT_PROT
  527. string "Default transport protocol"
  528. default "lwip"
  529. config RT_WLAN_PROT_LWIP_ENABLE
  530. bool "LWIP transport protocol Enable"
  531. select RT_USING_LWIP
  532. default y
  533. if RT_WLAN_PROT_LWIP_ENABLE
  534. config RT_WLAN_PROT_LWIP_NAME
  535. string "LWIP transport protocol name"
  536. default "lwip"
  537. config RT_WLAN_PROT_LWIP_PBUF_FORCE
  538. bool "Forced use of PBUF transmission"
  539. default n
  540. endif
  541. endif
  542. config RT_WLAN_WORK_THREAD_ENABLE
  543. bool "WLAN work queue thread Enable"
  544. default y
  545. if RT_WLAN_WORK_THREAD_ENABLE
  546. config RT_WLAN_WORKQUEUE_THREAD_NAME
  547. string "WLAN work queue thread name"
  548. default "wlan"
  549. config RT_WLAN_WORKQUEUE_THREAD_SIZE
  550. int "WLAN work queue thread size"
  551. default 2048
  552. config RT_WLAN_WORKQUEUE_THREAD_PRIO
  553. int "WLAN work queue thread priority"
  554. default 15
  555. endif
  556. menuconfig RT_WLAN_DEBUG
  557. bool "Enable WLAN Debugging Options"
  558. default n
  559. if RT_WLAN_DEBUG
  560. config RT_WLAN_CMD_DEBUG
  561. bool "Enable Debugging of wlan_cmd.c"
  562. default n
  563. config RT_WLAN_MGNT_DEBUG
  564. bool "Enable Debugging of wlan_mgnt.c"
  565. default n
  566. config RT_WLAN_DEV_DEBUG
  567. bool "Enable Debugging of wlan_dev.c"
  568. default n
  569. config RT_WLAN_PROT_DEBUG
  570. bool "Enable Debugging of wlan_prot.c"
  571. default n
  572. config RT_WLAN_CFG_DEBUG
  573. bool "Enable Debugging of wlan_cfg.c"
  574. default n
  575. config RT_WLAN_LWIP_DEBUG
  576. bool "Enable Debugging of wlan_lwip.c"
  577. default n
  578. endif
  579. endif
  580. menuconfig RT_USING_VIRTIO
  581. bool "Using VirtIO device drivers"
  582. default n
  583. if RT_USING_VIRTIO
  584. choice
  585. prompt "VirtIO Version"
  586. default RT_USING_VIRTIO10
  587. config RT_USING_VIRTIO10
  588. bool "VirtIO v1.0"
  589. endchoice
  590. config RT_USING_VIRTIO_MMIO_ALIGN
  591. bool "Using VirtIO MMIO alignment"
  592. default y
  593. config RT_USING_VIRTIO_BLK
  594. bool "Using VirtIO BLK"
  595. default y
  596. config RT_USING_VIRTIO_NET
  597. bool "Using VirtIO NET"
  598. default y
  599. menuconfig RT_USING_VIRTIO_CONSOLE
  600. bool "Using VirtIO Console"
  601. default y
  602. if RT_USING_VIRTIO_CONSOLE
  603. config RT_USING_VIRTIO_CONSOLE_PORT_MAX_NR
  604. int "Max number of port in VirtIO Console"
  605. default 4
  606. endif
  607. config RT_USING_VIRTIO_GPU
  608. bool "Using VirtIO GPU"
  609. default y
  610. config RT_USING_VIRTIO_INPUT
  611. bool "Using VirtIO Input"
  612. default y
  613. endif
  614. source "$RTT_DIR/components/drivers/ofw/Kconfig"
  615. source "$RTT_DIR/components/drivers/pic/Kconfig"
  616. source "$RTT_DIR/components/drivers/ktime/Kconfig"
  617. menu "Using USB"
  618. config RT_USING_USB
  619. bool
  620. default n
  621. config RT_USING_USB_HOST
  622. bool "Using USB host"
  623. default n
  624. select RT_USING_USB
  625. if RT_USING_USB_HOST
  626. config RT_USBH_MSTORAGE
  627. bool "Enable Udisk Drivers"
  628. default n
  629. if RT_USBH_MSTORAGE
  630. config UDISK_MOUNTPOINT
  631. string "Udisk mount dir"
  632. default "/"
  633. endif
  634. config RT_USBH_HID
  635. bool "Enable HID Drivers"
  636. default n
  637. if RT_USBH_HID
  638. config RT_USBH_HID_MOUSE
  639. bool "Enable HID mouse protocol"
  640. default n
  641. config RT_USBH_HID_KEYBOARD
  642. bool "Enable HID keyboard protocol"
  643. default n
  644. endif
  645. endif
  646. config RT_USING_USB_DEVICE
  647. bool "Using USB device"
  648. default n
  649. select RT_USING_USB
  650. if RT_USING_USB_DEVICE || RT_USING_USB_HOST
  651. config RT_USBD_THREAD_STACK_SZ
  652. int "usb thread stack size"
  653. default 4096
  654. endif
  655. if RT_USING_USB_DEVICE
  656. config USB_VENDOR_ID
  657. hex "USB Vendor ID"
  658. default 0x0FFE
  659. config USB_PRODUCT_ID
  660. hex "USB Product ID"
  661. default 0x0001
  662. config RT_USB_DEVICE_COMPOSITE
  663. bool "Enable composite device"
  664. default n
  665. choice
  666. prompt "Device type"
  667. default _RT_USB_DEVICE_NONE
  668. depends on !RT_USB_DEVICE_COMPOSITE
  669. config _RT_USB_DEVICE_NONE
  670. bool "Using custom class by register interface"
  671. select RT_USB_DEVICE_NONE
  672. config _RT_USB_DEVICE_CDC
  673. bool "Enable to use device as CDC device"
  674. select RT_USB_DEVICE_CDC
  675. config _RT_USB_DEVICE_MSTORAGE
  676. bool "Enable to use device as Mass Storage device"
  677. select RT_USB_DEVICE_MSTORAGE
  678. config _RT_USB_DEVICE_HID
  679. bool "Enable to use device as HID device"
  680. select RT_USB_DEVICE_HID
  681. config _RT_USB_DEVICE_RNDIS
  682. bool "Enable to use device as rndis device"
  683. select RT_USB_DEVICE_RNDIS
  684. depends on RT_USING_LWIP
  685. config _RT_USB_DEVICE_ECM
  686. bool "Enable to use device as ecm device"
  687. select RT_USB_DEVICE_ECM
  688. depends on RT_USING_LWIP
  689. config _RT_USB_DEVICE_WINUSB
  690. bool "Enable to use device as winusb device"
  691. select RT_USB_DEVICE_WINUSB
  692. config _RT_USB_DEVICE_AUDIO
  693. bool "Enable to use device as audio device"
  694. select RT_USB_DEVICE_AUDIO
  695. endchoice
  696. if RT_USB_DEVICE_COMPOSITE
  697. config RT_USB_DEVICE_CDC
  698. bool "Enable to use device as CDC device"
  699. default n
  700. config RT_USB_DEVICE_NONE
  701. bool
  702. default y
  703. config RT_USB_DEVICE_MSTORAGE
  704. bool "Enable to use device as Mass Storage device"
  705. default n
  706. config RT_USB_DEVICE_HID
  707. bool "Enable to use device as HID device"
  708. default n
  709. config RT_USB_DEVICE_RNDIS
  710. bool "Enable to use device as rndis device"
  711. default n
  712. depends on RT_USING_LWIP
  713. config RT_USB_DEVICE_ECM
  714. bool "Enable to use device as ecm device"
  715. default n
  716. depends on RT_USING_LWIP
  717. config RT_USB_DEVICE_WINUSB
  718. bool "Enable to use device as winusb device"
  719. default n
  720. config RT_USB_DEVICE_AUDIO
  721. bool "Enable to use device as audio device"
  722. default n
  723. endif
  724. if RT_USB_DEVICE_CDC
  725. config RT_VCOM_TASK_STK_SIZE
  726. int "virtual com thread stack size"
  727. default 512
  728. config RT_CDC_RX_BUFSIZE
  729. int "virtual com rx buffer size"
  730. default 128
  731. config RT_VCOM_TX_USE_DMA
  732. bool "Enable to use dma for vcom tx"
  733. default n
  734. config RT_VCOM_SERNO
  735. string "serial number of virtual com"
  736. default "32021919830108"
  737. config RT_VCOM_SER_LEN
  738. int "serial number length of virtual com"
  739. default 14
  740. config RT_VCOM_TX_TIMEOUT
  741. int "tx timeout(ticks) of virtual com"
  742. default 1000
  743. endif
  744. if RT_USB_DEVICE_WINUSB
  745. config RT_WINUSB_GUID
  746. string "Guid for winusb"
  747. default "{6860DC3C-C05F-4807-8807-1CA861CC1D66}"
  748. endif
  749. if RT_USB_DEVICE_MSTORAGE
  750. config RT_USB_MSTORAGE_DISK_NAME
  751. string "msc class disk name"
  752. default "flash0"
  753. endif
  754. if RT_USB_DEVICE_RNDIS
  755. config RNDIS_DELAY_LINK_UP
  756. bool "Delay linkup media connection"
  757. select RT_USING_TIMER_SOFT
  758. default n
  759. endif
  760. if RT_USB_DEVICE_HID
  761. config RT_USB_DEVICE_HID_KEYBOARD
  762. bool "Use to HID device as Keyboard"
  763. default n
  764. if RT_USB_DEVICE_HID_KEYBOARD
  765. config RT_USB_DEVICE_HID_KEYBOARD_NUMBER
  766. int "Number of Keyboard(max 3)"
  767. default 1
  768. range 1 3
  769. endif
  770. config RT_USB_DEVICE_HID_MOUSE
  771. bool "Use to HID device as Mouse"
  772. default n
  773. config RT_USB_DEVICE_HID_GENERAL
  774. bool "Use to HID device as General HID device"
  775. default y
  776. if RT_USB_DEVICE_HID_GENERAL
  777. config RT_USB_DEVICE_HID_GENERAL_OUT_REPORT_LENGTH
  778. int "General HID device out report length"
  779. default 63
  780. range 0 63
  781. config RT_USB_DEVICE_HID_GENERAL_IN_REPORT_LENGTH
  782. int "General HID device in report length"
  783. default 63
  784. range 0 63
  785. endif
  786. config RT_USB_DEVICE_HID_MEDIA
  787. bool "Use to HID device as media keyboard"
  788. default y
  789. endif
  790. if RT_USB_DEVICE_AUDIO
  791. config RT_USB_DEVICE_AUDIO_MIC
  792. bool "Use usb mic device as audio device"
  793. default n
  794. if RT_USB_DEVICE_AUDIO_MIC
  795. config RT_USBD_MIC_DEVICE_NAME
  796. string "audio mic device name"
  797. default "mic0"
  798. endif
  799. config RT_USB_DEVICE_AUDIO_SPEAKER
  800. bool "Use usb speaker device as audio device"
  801. default n
  802. if RT_USB_DEVICE_AUDIO_SPEAKER
  803. config RT_USBD_SPEAKER_DEVICE_NAME
  804. string "audio speaker device name"
  805. default "sound0"
  806. endif
  807. endif
  808. endif
  809. endmenu
  810. endmenu