Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see misc/tools/kconfig-language.txt.
  4. #
  5. config DISABLE_POLL
  6. bool "Disable driver poll interfaces"
  7. default n
  8. ---help---
  9. The sizes of drivers can be reduced if the poll() method is not
  10. supported. If you do not use poll() or select(), then you can
  11. select DISABLE_POLL to reduce the code footprint by a small amount.
  12. config DEV_NULL
  13. bool "Enable /dev/null"
  14. default y
  15. config DEV_ZERO
  16. bool "Enable /dev/zero"
  17. default n
  18. config ARCH_HAVE_RNG
  19. bool
  20. config DEV_RANDOM
  21. bool "Enable /dev/random"
  22. default n
  23. depends on ARCH_HAVE_RNG
  24. config LOOP
  25. bool "Enable loop device"
  26. default n
  27. ---help---
  28. Supports the standard loop device that can be used to export a
  29. file (or character device) as a block device. See losetup() and
  30. loteardown() in include/nuttx/fs/fs.h.
  31. config RAMDISK
  32. bool "RAM Disk Support"
  33. default n
  34. ---help---
  35. Can be used to set up a block of memory or (read-only) FLASH as
  36. a block driver that can be mounted as a files system. See
  37. include/nuttx/ramdisk.h.
  38. menuconfig CAN
  39. bool "CAN Driver Support"
  40. default n
  41. ---help---
  42. This selection enables building of the "upper-half" CAN driver.
  43. See include/nuttx/can.h for further CAN driver information.
  44. if CAN
  45. config CAN_EXTID
  46. bool "CAN extended IDs"
  47. default n
  48. ---help---
  49. Enables support for the 29-bit extended ID. Default Standard 11-bit
  50. IDs.
  51. config CAN_FIFOSIZE
  52. int "CAN driver I/O buffer size"
  53. default 8
  54. ---help---
  55. The size of the circular buffer of CAN messages. Default: 8
  56. config CAN_NPENDINGRTR
  57. int "Number of pending RTRs"
  58. default 4
  59. ---help---
  60. The size of the list of pending RTR requests. Default: 4
  61. config CAN_LOOPBACK
  62. bool "CAN extended IDs"
  63. default n
  64. ---help---
  65. A CAN driver may or may not support a loopback mode for testing. If the
  66. driver does support loopback mode, the setting will enable it. (If the
  67. driver does not, this setting will have no effect).
  68. endif
  69. menuconfig PWM
  70. bool "PWM Driver Support"
  71. default n
  72. ---help---
  73. This selection enables building of the "upper-half" PWM driver.
  74. See include/nuttx/pwm.h for further PWM driver information.
  75. if PWM
  76. config PWM_PULSECOUNT
  77. bool "PWM Pulse Count Support"
  78. default n
  79. ---help---
  80. Some hardware will support generation of a fixed number of pulses.
  81. This might be used, for example to support a stepper motor. If the
  82. hardware will support a fixed pulse count, then this configuration
  83. should be set to enable the capability.
  84. endif
  85. menuconfig I2C
  86. bool "I2C Driver Support"
  87. default n
  88. ---help---
  89. This selection enables building of the "upper-half" I2C driver.
  90. See include/nuttx/i2c.h for further I2C driver information.
  91. config I2C_SLAVE
  92. bool "I2C Slave"
  93. default n
  94. depends on I2C
  95. config I2C_TRANSFER
  96. bool "Support the I2C transfer() method"
  97. default n
  98. depends on I2C
  99. config I2C_WRITEREAD
  100. bool "Support the I2C writeread() method"
  101. default n
  102. depends on I2C
  103. config I2C_POLLED
  104. bool "Polled I2C (no interrupts)"
  105. default n
  106. depends on I2C
  107. config I2C_TRACE
  108. bool "Enable I2C trace debug"
  109. default n
  110. depends on I2C
  111. config I2C_NTRACE
  112. bool "Enable I2C trace debug"
  113. default n
  114. depends on I2C_TRACE
  115. config ARCH_HAVE_I2CRESET
  116. bool
  117. config I2C_RESET
  118. bool "Support up_i2creset"
  119. default n
  120. depends on I2C && ARCH_HAVE_I2CRESET
  121. menuconfig SPI
  122. bool "SPI Driver Support"
  123. default n
  124. ---help---
  125. This selection enables selection of common SPI options. This option
  126. should be enabled by all platforms that support SPI interfaces.
  127. See include/nuttx/spi.h for further SPI driver information.
  128. if SPI
  129. config SPI_OWNBUS
  130. bool "SPI single device"
  131. default n
  132. ---help---
  133. Set if there is only one active device on the SPI bus. No locking or
  134. SPI configuration will be performed. It is not necessary for clients to
  135. lock, re-configure, etc..
  136. config SPI_EXCHANGE
  137. bool "SPI exchange"
  138. default y
  139. ---help---
  140. Driver supports a single exchange method (vs a recvblock() and
  141. sndblock() methods).
  142. config SPI_CMDDATA
  143. bool "SPI CMD/DATA"
  144. default n
  145. ---help---
  146. Devices on the SPI bus require out-of-band support to distinguish
  147. command transfers from data transfers. Such devices will often support
  148. either 9-bit SPI (yech) or 8-bit SPI and a GPIO output that selects
  149. between command and data.
  150. endif
  151. menuconfig RTC
  152. bool "RTC Driver Support"
  153. default n
  154. ---help---
  155. This selection enables configuration of a real time clock (RTCdriver.
  156. See include/nuttx/rtc.h for further watchdog timer driver information.
  157. Most RTC drivers are MCU specific and may require other specific
  158. settings.
  159. config RTC_DATETIME
  160. bool "Date/Time RTC Support"
  161. default n
  162. depends on RTC
  163. ---help---
  164. There are two general types of RTC: (1) A simple battery backed
  165. counter that keeps the time when power is down, and (2) a full
  166. date / time RTC the provides the date and time information, often in
  167. BCD format. If RTC_DATETIME is selected, it specifies this second kind
  168. of RTC. In this case, the RTC is used to "seed" the normal NuttX timer
  169. and the NuttX system timer provides for higher resolution time.
  170. config RTC_HIRES
  171. bool "Hi-Res RTC Support"
  172. default n
  173. depends on RTC && !RTC_DATETIME
  174. ---help---
  175. If RTC_DATETIME not selected, then the simple, battery backed counter
  176. is used. There are two different implementations of such simple
  177. counters based on the time resolution of the counter: The typical RTC
  178. keeps time to resolution of 1 second, usually supporting a 32-bit
  179. time_t value. In this case, the RTC is used to "seed" the normal NuttX
  180. timer and the NuttX timer provides for higherresoution time.
  181. If RTC_HIRES is enabled in the NuttX configuration, then the RTC
  182. provides higher resolution time and completely replaces the system
  183. timer for purpose of date and time.
  184. config RTC_FREQUENCY
  185. int "Hi-Res RTC frequency"
  186. default 1
  187. depends on RTC && !RTC_DATETIME && RTC_HIRES
  188. ---help---
  189. If RTC_HIRES is defined, then the frequency of the high resolution RTC
  190. must be provided. If RTC_HIRES is not defined, RTC_FREQUENCY is
  191. assumed to be one Hz.
  192. config RTC_ALARM
  193. bool "RTC Alarm Support"
  194. default n
  195. depends on RTC
  196. ---help---
  197. Enable if the RTC hardware supports setting of an alarm. A callback
  198. function will be executed when the alarm goes off.
  199. menuconfig WATCHDOG
  200. bool "Watchdog Timer Support"
  201. default n
  202. ---help---
  203. This selection enables building of the "upper-half" watchdog timer
  204. driver. See include/nuttx/watchdog.h for further watchdog timer driver
  205. information.
  206. if WATCHDOG
  207. endif
  208. menuconfig ANALOG
  209. bool "Analog Device(ADC/DAC) Support"
  210. default n
  211. ---help---
  212. This directory holds implementations of analog device drivers.
  213. This includes drivers for Analog to Digital Conversion (ADC) as
  214. well as drivers for Digital to Analog Conversion (DAC).
  215. See include/nuttx/analog/*.h for registration information.
  216. if ANALOG
  217. source drivers/analog/Kconfig
  218. endif
  219. menuconfig AUDIO_DEVICES
  220. bool "Audio Device Support"
  221. default n
  222. ---help---
  223. This directory holds implementations of audio device drivers.
  224. This includes drivers for MP3, WMA and Ogg Vorbis encoding,
  225. decoding, as well as drivers for interfacing with external
  226. DSP chips to perform custom audio functions.
  227. if AUDIO_DEVICES
  228. source drivers/audio/Kconfig
  229. endif
  230. menuconfig BCH
  231. bool "Block-to-Character (BCH) Support"
  232. default n
  233. ---help---
  234. Contains logic that may be used to convert a block driver into
  235. a character driver. This is the complementary conversion as that
  236. performed by loop.c. See include/nuttx/fs/fs.h for registration
  237. information.
  238. if BCH
  239. source drivers/bch/Kconfig
  240. endif
  241. menuconfig INPUT
  242. bool "Input Device Support"
  243. default n
  244. ---help---
  245. This directory holds implementations of input device drivers.
  246. This includes such things as touchscreen and keypad drivers.
  247. See include/nuttx/input/*.h for registration information.
  248. if INPUT
  249. source drivers/input/Kconfig
  250. endif
  251. menuconfig LCD
  252. bool "LCD Driver Support"
  253. default n
  254. select NX_LCDDRIVER
  255. ---help---
  256. Drivers for parallel and serial LCD and OLED type devices. These
  257. drivers support interfaces as defined in include/nuttx/lcd/lcd.h
  258. This selection is necessary to enable support for LCD drivers in
  259. drivers/lcd as well as for board-specific LCD drivers in the configs/
  260. subdirectories.
  261. if LCD
  262. source drivers/lcd/Kconfig
  263. endif
  264. menuconfig MMCSD
  265. bool "MMC/SD Driver Support"
  266. default n
  267. ---help---
  268. Support for MMC/SD block drivers. MMC/SD block drivers based on
  269. SPI and SDIO/MCI interfaces are supported. See include/nuttx/mmcsd.h
  270. and include/nuttx/sdio.h for further information.
  271. if MMCSD
  272. source drivers/mmcsd/Kconfig
  273. endif
  274. menuconfig MTD
  275. bool "Memory Technology Device (MTD) Support"
  276. default n
  277. ---help---
  278. Memory Technology Device (MTD) drivers. Some simple drivers for
  279. memory technologies like FLASH, EEPROM, NVRAM, etc. See
  280. include/nuttx/mtd.h
  281. (Note: This is a simple memory interface and should not be
  282. confused with the "real" MTD developed at infradead.org. This
  283. logic is unrelated; I just used the name MTD because I am not
  284. aware of any other common way to refer to this class of devices).
  285. if MTD
  286. source drivers/mtd/Kconfig
  287. endif
  288. menuconfig NETDEVICES
  289. bool "Network Device Support"
  290. default n
  291. depends on NET
  292. ---help---
  293. Network interface drivers. See also include/nuttx/net/net.h
  294. if NETDEVICES
  295. source drivers/net/Kconfig
  296. endif
  297. menuconfig PIPES
  298. bool "FIFO and named pipe drivers"
  299. default n
  300. ---help---
  301. FIFO and named pipe drivers. Standard interfaces are declared
  302. in include/unistd.h
  303. if PIPES
  304. source drivers/pipes/Kconfig
  305. endif
  306. config PM
  307. bool "Power management (PM) driver interfaces"
  308. default n
  309. ---help---
  310. Power management (PM) driver interfaces. These interfaces are used
  311. to manage power usage of a platform by monitoring driver activity
  312. and by placing drivers into reduce power usage modes when the
  313. drivers are not active.
  314. menuconfig POWER
  315. bool "Power Management Support"
  316. default n
  317. ---help---
  318. Enable building of power-related devices (battery monitors, chargers,
  319. etc).
  320. if POWER
  321. source drivers/power/Kconfig
  322. endif
  323. menuconfig SENSORS
  324. bool "Sensor Device Support"
  325. default n
  326. ---help---
  327. Drivers for various sensors
  328. if SENSORS
  329. source drivers/sensors/Kconfig
  330. endif
  331. menuconfig SERCOMM_CONSOLE
  332. bool "Osmocom-bb Sercomm Driver Support"
  333. default n
  334. ---help---
  335. Sercomm is the transport used by osmocom-bb that runs on top of serial.
  336. See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed the usage
  337. of nuttx with sercomm.
  338. drivers/sercomm is only built if SERCOMM_CONSOLE in the NuttX
  339. configuration file. If you attempt to build this driver without
  340. osmocom-bb, you will get compilation errors because of header files
  341. that are needed from the osmocom-bb.
  342. if SERCOMM
  343. source drivers/sercomm/Kconfig
  344. endif
  345. menuconfig SERIAL
  346. bool "Serial Driver Support"
  347. default y
  348. ---help---
  349. Front-end character drivers for chip-specific UARTs. This provide
  350. some TTY-like functionality and are commonly used (but not required
  351. for) the NuttX system console. See also include/nuttx/serial/serial.h
  352. if SERIAL
  353. source drivers/serial/Kconfig
  354. endif
  355. menuconfig USBDEV
  356. bool "USB Device Driver Support"
  357. default n
  358. ---help---
  359. USB device drivers. See also include/nuttx/usb/usbdev.h
  360. if USBDEV
  361. source drivers/usbdev/Kconfig
  362. endif
  363. menuconfig USBHOST
  364. bool "USB Host Driver Support"
  365. default n
  366. ---help---
  367. USB host drivers. See also include/nuttx/usb/usbhost.h
  368. if USBHOST
  369. source drivers/usbhost/Kconfig
  370. endif
  371. menuconfig WIRELESS
  372. bool "Wireless Device Support"
  373. default n
  374. ---help---
  375. Drivers for various wireless devices.
  376. if WIRELESS
  377. source drivers/wireless/Kconfig
  378. endif
  379. comment "System Logging Device Options"
  380. source drivers/syslog/Kconfig