Kconfig 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see the file kconfig-language.txt in the NuttX tools repository.
  4. #
  5. config USBHOST_HAVE_ASYNCH
  6. bool
  7. default n
  8. menuconfig USBHOST
  9. bool "USB Host Driver Support"
  10. default n
  11. ---help---
  12. USB host drivers. See also include/nuttx/usb/usbhost.h
  13. if USBHOST
  14. config USBHOST_NPREALLOC
  15. int "Number of pre-allocated class instances"
  16. default 4
  17. ---help---
  18. Number of pre-allocated class instances
  19. config USBHOST_BULK_DISABLE
  20. bool "Disable bulk endpoint support"
  21. default n
  22. ---help---
  23. On some architectures, selecting this setting will reduce driver size
  24. by disabling bulk endpoint support
  25. config USBHOST_INT_DISABLE
  26. bool "Disable interrupt endpoint support"
  27. default n
  28. ---help---
  29. On some architectures, selecting this setting will reduce driver size
  30. by disabling interrupt endpoint support
  31. config USBHOST_ISOC_DISABLE
  32. bool "Disable isochronous endpoint support"
  33. default n
  34. ---help---
  35. On some architectures, selecting this setting will reduce driver size
  36. by disabling isochronous endpoint support
  37. config USBHOST_ASYNCH
  38. bool "Asynchronous transfer support"
  39. default n
  40. depends on USBHOST_HAVE_ASYNCH
  41. ---help---
  42. Select if the host controller driver needs to support asynchronous
  43. I/O transfer. This may be required, for example, to receive
  44. infrequent, asynchronous input from an interrupt pipe.
  45. config USBHOST_HUB
  46. bool "USB Hub Support"
  47. default n
  48. depends on USBHOST_HAVE_ASYNCH && !USBHOST_INT_DISABLE
  49. select USBHOST_ASYNCH
  50. ---help---
  51. Select this option to build in support for USB hubs.
  52. if USBHOST_HUB
  53. config USBHOST_HUB_POLLMSEC
  54. int "USB Hub Polling Interval (MSec)"
  55. default 400
  56. ---help---
  57. On higher end host controllers (OHCI and EHCI), the asynchronous,
  58. interrupt IN transfers will pend until data is available from the
  59. hub. On lower end host controllers (like STM32 and EFM32), the
  60. transfer will fail immediately when the device NAKs the first
  61. attempted interrupt IN transfer (with result == EGAIN) and the hub
  62. class driver will fall back to polling the hub.
  63. For the case of the higher end controllers, this polling interval
  64. is not critical since it would really only be used in the event of
  65. failures to communicate with the hub.
  66. But for the lower end host controllers, the asynchronous transfers
  67. are ineffective and this polling interval becomes a critical
  68. parameter that must be tuned to tradeoff CPU usage with
  69. responsiveness to hub-related events (It would, I suppose, be more
  70. efficient to use synchronous transfers with these lower end host
  71. controllers).
  72. endif # USBHOST_HUB
  73. config USBHOST_COMPOSITE
  74. bool "Composite device support"
  75. default n
  76. ---help---
  77. Build in USB host support for connected composite devices
  78. config USBHOST_COMPOSITE_STRICT
  79. bool "Strict composite membership"
  80. default n
  81. depends on USBHOST_COMPOSITE
  82. ---help---
  83. If selected, then the composite device will not be enumerated unless
  84. every member class in the composite is supported. If not selected
  85. then, for example, you could use the CDC/ACM interface of the device
  86. with no support for the other interfaces.
  87. config USBHOST_MSC
  88. bool "Mass Storage Class Support"
  89. default n
  90. depends on !BULK_DISABLE
  91. ---help---
  92. Enable support for the mass storage class driver. This also depends on
  93. SCHED_WORKQUEUE=y
  94. config USBHOST_MSC_NOTIFIER
  95. bool "Support USB Mass Storage notifications"
  96. default n
  97. depends on USBHOST_MSC
  98. select WQUEUE_NOTIFIER
  99. ---help---
  100. Enable building of USB MSC notifier logic that will execute a worker
  101. function on the low priority work queue when a mass storage device is
  102. connected or disconnected.
  103. config USBHOST_CDCACM
  104. bool "CDC/ACM support"
  105. default n
  106. depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
  107. select USBHOST_ASYNCH
  108. select SERIAL_REMOVABLE
  109. ---help---
  110. Select this option to build in host support for CDC/ACM serial
  111. devices.
  112. if USBHOST_CDCACM
  113. choice
  114. prompt "CDC/ACM Protocol"
  115. default USBHOST_CDCACM_COMPLIANT if SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
  116. default USBHOST_CDCACM_REDUCED if !SERIAL_OFLOWCONTROL || USBHOST_INT_DISABLE
  117. config USBHOST_CDCACM_COMPLIANT
  118. bool "CDC/ACM compliant"
  119. depends on SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
  120. ---help---
  121. The device needs to implement the Abstract Control Model (ACM)
  122. subclass defined in the USB Communication Device Class (CDC)
  123. specification. This protocol requires two USB interfaces, a data
  124. interface which consists of two endpoints (bulk in + bulk out) and a
  125. control interface which consists of one interrupt in endpoint.
  126. Furthermore, on EP0 the device must implement the class-specific
  127. requests defined by the CDC specification. Because this USB protocol
  128. is compliant to the CDC/ACM standard on some other operating systems
  129. (e.g. Linux, MacOS) the device can work with in-box drivers.
  130. config USBHOST_CDCACM_REDUCED
  131. bool "CDC/ACM reduced"
  132. ---help---
  133. This mode uses the CDC data interface (bulk in + bulk out endpoint)
  134. only. No control interface (interrupt in endpoint) is required. The
  135. device needs to implement the CDC class-specific requests, so that
  136. is still possible to support baud rate settings and serial control/
  137. status lines. This mode is useful if the number of available
  138. endpoints is limited by hardware restrictions.
  139. If the CDC/ACM compliant protocol is selected, then the reduced
  140. protocol is supported for devices that provide not interrupt IN
  141. endpoint. This option is then most useful for testing purposes or
  142. if there are insufficient resources to support the compliant
  143. protocol. The interrupt IN control interface will not be used even
  144. if it is available in this case.
  145. config USBHOST_CDCACM_BULKONLY
  146. bool "Bulk only protocol"
  147. ---help---
  148. The device implements only the data interface (bulk in + bulk out
  149. endpoint). The device does not provide an additional control
  150. interface and does not need to implement any class-specific requests
  151. on EP0. Because bulk transfer mode provides flow control, there is
  152. no need to support serial control/status lines. The advantage of
  153. the bulk-only protocol is that the implementation efforts on the
  154. device side are reduced to a minimum.
  155. By default, both the CDC/ACM compliant protocol and the reduced
  156. protocol are supported. This option is then most useful for testing
  157. purposes. The interrupt IN control interface will not be used even
  158. if it is available; nor will EP0 class requests.
  159. endchoice # CDC/ACM Protocol
  160. config USBHOST_CDCACM_NTDELAY
  161. int "CDC/ACM notification polling interval (MSec)"
  162. default 400
  163. depends on USBHOST_CDCACM_COMPLIANT
  164. ---help---
  165. On higher end host controllers (OHCI and EHCI), the asynchronous,
  166. interrupt IN transfers will pend until data is available from the
  167. hub. On lower end host controllers (like STM32 and EFM32), the
  168. transfer will fail immediately when the device NAKs the first
  169. attempted interrupt IN transfer (with result == EGAIN) and the hub
  170. class driver will fall back to polling the hub.
  171. For the case of the higher end controllers, this polling interval
  172. is not critical since it would really only be used in the event of
  173. failures to communicate with the hub.
  174. But for the lower end host controllers, the asynchronous transfers
  175. are ineffective and this polling interval becomes a critical
  176. parameter that must be tuned to tradeoff CPU usage with
  177. responsiveness to hub-related events (It would, I suppose, be more
  178. efficient to use synchronous transfers with these lower end host
  179. controllers).
  180. config USBHOST_CDCACM_RXDELAY
  181. int "RX poll delay (MSec)"
  182. default 200
  183. ---help---
  184. When the CDC/ACM device is inactive, the host must poll it at this
  185. rate in order to discover if it has serial data to send to us.
  186. config USBHOST_CDCACM_TXDELAY
  187. int "TX poll delay (MSec)"
  188. default 200
  189. ---help---
  190. When the appellation is inactive, the host must poll it at this
  191. rate in order to discover if it has serial data to send to the
  192. device.
  193. config USBHOST_CDCACM_NPREALLOC
  194. int "Preallocated state"
  195. default 0
  196. ---help---
  197. If this setting is zero, the CDC/ACM class driver will allocate
  198. memory as needed for CDC/ACM device state. If this value is non-
  199. zero, then it provides a number of preallocated CDC/ACM state
  200. structures. This increases the static size of the code image, but
  201. eliminates all, direct, run-time allocations by the driver.
  202. config USBHOST_CDCACM_BAUD
  203. int "Initialize CDC/ACM BAUD"
  204. default 115200
  205. config USBHOST_CDCACM_PARITY
  206. int "Initialize CDC/ACM parity"
  207. default 0
  208. range 0 2
  209. ---help---
  210. Initialize CDC/ACM parity. 0=None, 1=Odd, 2=Even. Default: None
  211. config USBHOST_CDCACM_BITS
  212. int "Initialize CDC/ACM number of bits"
  213. default 8
  214. ---help---
  215. Initialize CDC/ACM number of bits. Default: 8
  216. config USBHOST_CDCACM_2STOP
  217. int "Initialize CDC/ACM two stop bits"
  218. default 0
  219. ---help---
  220. 0=1 stop bit, 1=Two stop bits. Default: 1 stop bit
  221. config USBHOST_CDCACM_RXBUFSIZE
  222. int "Serial RX buffer size"
  223. default 128
  224. ---help---
  225. This is the size of the serial buffer that will be used to hold
  226. received data.
  227. config USBHOST_CDCACM_TXBUFSIZE
  228. int "Serial TX buffer size"
  229. default 128
  230. ---help---
  231. This is the size of the serial buffer that will be used to hold
  232. data waiting for transmission.
  233. endif # USBHOST_CDCACM
  234. config USBHOST_CDCMBIM
  235. bool "CDC/MBIM support"
  236. default n
  237. depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE && EXPERIMENTAL
  238. select USBHOST_ASYNCH
  239. select NET_MBIM
  240. ---help---
  241. Select this option to build in host support for CDC/MBIM network
  242. devices.
  243. config USBHOST_HIDKBD
  244. bool "HID Keyboard Class Support"
  245. default n
  246. depends on !INT_DISABLE
  247. ---help---
  248. Enable support for the keyboard class driver. This also depends on
  249. SCHED_WORKQUEUE
  250. if USBHOST_HIDKBD
  251. config HIDKBD_POLLUSEC
  252. int "Keyboard Poll Rate (MSEC)"
  253. default 40000
  254. ---help---
  255. Device poll rate in microseconds. Default: 40,000 microseconds.
  256. config HIDKBD_DEFPRIO
  257. int "Polling Thread Priority"
  258. default 50
  259. ---help---
  260. Priority of the polling thread. Default: 50.
  261. config HIDKBD_STACKSIZE
  262. int "Polling thread stack size"
  263. default 1024
  264. ---help---
  265. Stack size for polling thread. Default: 1024
  266. config HIDKBD_BUFSIZE
  267. int "Scancode Buffer Size"
  268. default 64
  269. ---help---
  270. Scancode buffer size. Default: 64.
  271. config HIDKBD_NPOLLWAITERS
  272. int "Max Number of Waiters for Poll Event"
  273. default 2
  274. ---help---
  275. If the poll() method is enabled, this defines the maximum number
  276. of threads that can be waiting for keyboard events. Default: 2.
  277. config HIDKBD_RAWSCANCODES
  278. bool "Use Raw Scan Codes"
  279. default n
  280. ---help---
  281. If set to y no conversions will be made on the raw keyboard scan
  282. codes. This option is useful during testing. Default: ASCII conversion.
  283. config HIDKBD_ENCODED
  284. bool "Encode Special Keys"
  285. default n
  286. depends on !HIDKBD_RAWSCANCODES && LIB_KBDCODEC
  287. ---help---
  288. Encode special key press events in the user buffer. In this case,
  289. the user end must decode the encoded special key values using the
  290. interfaces defined in include/nuttx/input/kbd_codec.h. These
  291. special keys include such things as up/down arrows, home and end
  292. keys, etc. If this not defined, only 7-bit print-able and control
  293. ASCII characters will be provided to the user.
  294. config HIDKBD_ALLSCANCODES
  295. bool "Use All Scancodes"
  296. default n
  297. ---help---
  298. If set to y all 231 possible scancodes will be converted to
  299. something. Default: 104 key US keyboard.
  300. config HIDKBD_NODEBOUNCE
  301. bool "Disable Debounce"
  302. default n
  303. ---help---
  304. If set to y normal debouncing is disabled. Default:
  305. Debounce enabled (No repeat keys).
  306. endif
  307. config USBHOST_HIDMOUSE
  308. bool "HID Mouse Class Support"
  309. default n
  310. depends on !INT_DISABLE
  311. select INPUT
  312. select MOUSE
  313. ---help---
  314. Enable support for the mouse class driver. This also depends on
  315. SCHED_WORKQUEUE
  316. NOTE: This driver checks out on a Labtec and an AOpen mouse, but
  317. does not work correctly on a Microsoft mouse. A little more work
  318. would be needed to support the Microsoft mouse.
  319. if USBHOST_HIDMOUSE
  320. config HIDMOUSE_TSCIF
  321. bool "Touchscreen Emulation"
  322. default n
  323. ---help---
  324. Normally, the HID mouse driver uses the mouse report structure
  325. defined in include/nuttx/input/mouse.h. The mouse driver can,
  326. however, be configured to use the touchscreen interface defined in
  327. include/nuttx/input/touchcreen.h. If the touch screen interface is
  328. used, only support for the left button will be provided.
  329. NOTE: Unlike touchscreen drivers, mouse drivers will report
  330. position data even when the "pen is up", i.e., when no buttons are
  331. pressed. This behavior is necessary to provide the positional data
  332. would would be needed to drive a cursor. Without a cursor of some
  333. kind, the mouse is not very useful. So this option may not be useful.
  334. config HIDMOUSE_DEFPRIO
  335. int "Polling Thread Priority"
  336. default 50
  337. ---help---
  338. Priority of the polling thread. Default: 50.
  339. config HIDMOUSE_STACKSIZE
  340. int "Polling thread stack size"
  341. default 1024
  342. ---help---
  343. Stack size for polling thread. Default: 1024
  344. config HIDMOUSE_BUFSIZE
  345. int "Scancode Buffer Size"
  346. default 64
  347. ---help---
  348. Scancode buffer size. Default: 64.
  349. config HIDMOUSE_NPOLLWAITERS
  350. int "Max Number of Waiters for Poll Event"
  351. default 2
  352. ---help---
  353. If the poll() method is enabled, this defines the maximum number
  354. of threads that can be waiting for mouse events. Default: 2.
  355. config HIDMOUSE_SWAPXY
  356. bool "Swap X/Y"
  357. default n
  358. ---help---
  359. Reverse the meaning of X and Y to handle different display orientations.
  360. NOTE: All of the following settings apply AFTER X and Y have been swapped.
  361. config HIDMOUSE_XMAX
  362. int "Maximum X position"
  363. default 320
  364. range 0 32767
  365. ---help---
  366. This is the maximum value of the X position that will be reported.
  367. Default: 320
  368. config HIDMOUSE_YMAX
  369. int "Maximum Y position"
  370. default 240
  371. range 0 32767
  372. ---help---
  373. This is the maximum value of the Y position that will be reported.
  374. Default: 240
  375. config HIDMOUSE_XSCALE
  376. hex "X scaling factor"
  377. default 0x00010000
  378. ---help---
  379. Mouse positions are accumulated from X/Y displacements reported by
  380. the mouse device. This setting provides a scaling value for the X
  381. displacement. This is a fixed precision floating point number with
  382. 16 bits of fraction. So a value of 0x00010000 is 1.0, 0x00018000
  383. is 1.5, 0x00024000 is 2.25, etc.
  384. NOTE that a negative value of HIDMOUSE_XSCALE such as 0xffff0000
  385. (-1.0) can be used to change the direction of movement.
  386. Default: 0x00010000 (1.0)
  387. config HIDMOUSE_YSCALE
  388. hex "Y scaling factor"
  389. default 0x00010000
  390. ---help---
  391. Mouse positions are accumulated from X/Y displacements reported by
  392. the mouse device. This setting provides a scaling value for the Y
  393. displacement. This is a fixed precision floating point number with
  394. 16 bits of fraction. So a value of 0x00010000 is 1.0, 0x00018000
  395. is 1.5, 0x00024000 is 2.25, etc.
  396. NOTE that a negative value of HIDMOUSE_YSCALE such as 0xffff0000
  397. (-1.0) can be used to change the direction of movement.
  398. Default: 0x00010000 (1.0)
  399. config HIDMOUSE_XTHRESH
  400. int "X threshold"
  401. default 12
  402. ---help---
  403. New mouse positions will only be reported when the X or Y data changes by these
  404. thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
  405. Both X and Y axis thresholding can be disabled by setting this value to zero.
  406. Default: 12
  407. config HIDMOUSE_THRESHY
  408. int "Y threshold"
  409. default 12
  410. ---help---
  411. New touch positions will only be reported when the X or Y data changes by these
  412. thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
  413. Both X and Y axis thresholding can be disabled by setting this value to zero.
  414. Default: 12
  415. if INPUT_MOUSE_WHEEL
  416. config HIDMOUSE_WMAX
  417. int "Maximum wheel position"
  418. default 320
  419. range 0 32767
  420. ---help---
  421. This is the maximum value of the wheel position that will be
  422. reported. Default: 320
  423. config HIDMOUSE_WSCALE
  424. hex "Wheel scaling factor"
  425. default 0x00010000
  426. ---help---
  427. Mouse wheel position are accumulated from wheel displacements
  428. reported by the mouse device. This setting provides a scaling
  429. value for the wheel displacement. This is a fixed precision
  430. floating point number with 16 bits of fraction. So a value of
  431. 0x00010000 is 1.0, 0x00018000 is 1.5, 0x00024000 is 2.25, etc.
  432. NOTE that a negative value of HIDMOUSE_XSCALE such as 0xffff0000
  433. (-1.0) can be used to change the direction of wheel output.
  434. Default: 0x00010000 (1.0)
  435. config HIDMOUSE_WTHRESH
  436. int "Wheel threshold"
  437. default 1
  438. ---help---
  439. New wheel positions will only be reported when the wheel position
  440. changes by these thresholds. This tradeoff reduces data rate for some
  441. loss in wheel responsiveness.
  442. Default: 1
  443. endif # INPUT_MOUSE_WHEEL
  444. endif # USBHOST_HIDMOUSE
  445. config USBHOST_XBOXCONTROLLER
  446. bool "Xbox Controller Support"
  447. default n
  448. depends on !INT_DISABLE
  449. select INPUT
  450. ---help---
  451. Enable support for the Xbox Controller driver.
  452. if USBHOST_XBOXCONTROLLER
  453. config XBOXCONTROLLER_DEFPRIO
  454. int "Polling Thread Priority"
  455. default 50
  456. ---help---
  457. Priority of the polling thread. Default: 50.
  458. config XBOXCONTROLLER_STACKSIZE
  459. int "Polling thread stack size"
  460. default 1024
  461. ---help---
  462. Stack size for polling thread. Default: 1024
  463. config XBOXCONTROLLER_NPOLLWAITERS
  464. int "Max Number of Waiters for Poll Event"
  465. default 2
  466. ---help---
  467. If the poll() method is enabled, this defines the maximum number
  468. of threads that can be waiting for mouse events. Default: 2.
  469. endif # USBHOST_XBOXCONTROLLER
  470. config USBHOST_MAX3421E
  471. bool "Maxim MAX3421E FS host controller"
  472. default n
  473. select SPI
  474. select SCHED_LPWORK
  475. depends on EXPERIMENTAL
  476. ---help---
  477. Enable support for the Maxim MAX3421E FS host controller
  478. if USBHOST_MAX3421E
  479. config MAX3421E_DESCSIZE
  480. int "Max descriptor size"
  481. default 128
  482. ---help---
  483. Maximum size of a descriptor. Default: 128
  484. config MAX3421E_USBHOST_REGDEBUG
  485. bool "MAX3421 register debug"
  486. default n
  487. depends on DEBUG_USB_INFO
  488. ---help---
  489. Enable very low-level register access debug. Depends on
  490. CONFIG_DEBUG_USB_INFO.
  491. config MAX3421E_USBHOST_PKTDUMP
  492. bool "MAX3421 packet dump"
  493. default n
  494. depends on DEBUG_USB_INFO
  495. ---help---
  496. Dump all incoming and outgoing USB packets. Depends on
  497. CONFIG_DEBUG_USB_INFO.
  498. endif # USBHOST_MAX3421E
  499. config USBHOST_TRACE
  500. bool "Enable USB HCD tracing for debug"
  501. default n
  502. select HAVE_USBTRACE
  503. ---help---
  504. Enables USB tracing for debug. Only supported for the HCD and,
  505. further, no supported by all HCD implementations.
  506. if USBHOST_TRACE
  507. config USBHOST_TRACE_NRECORDS
  508. int "Number of trace entries to remember"
  509. default 128
  510. ---help---
  511. Number of trace entries to remember.
  512. config USBHOST_TRACE_VERBOSE
  513. bool "Enable verbose debug trace"
  514. default n
  515. ---help---
  516. Enable verbose trace output if supported by the platform. The
  517. intent is that if USBHOST_TRACE_VERBOSE is not defined, then only
  518. errors, warnings, and critical messages would be logged. If
  519. USBHOST_TRACE_VERBOSE is defined, then general informative trace
  520. information would also be included.
  521. endif
  522. config USBHOST_FT232R
  523. bool "FTDI FT232R support"
  524. default n
  525. depends on !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
  526. select SERIAL_REMOVABLE
  527. ---help---
  528. Select this option to build in host support for FTDI FT232R
  529. serial devices.
  530. if USBHOST_FT232R
  531. config USBHOST_FT232R_RXDELAY
  532. int "RX poll delay (MSec)"
  533. default 200
  534. ---help---
  535. When the CDC/ACM device is inactive, the host must poll it at this
  536. rate in order to discover if it has serial data to send to us.
  537. config USBHOST_FT232R_TXDELAY
  538. int "TX poll delay (MSec)"
  539. default 200
  540. ---help---
  541. When the appellation is inactive, the host must poll it at this
  542. rate in order to discover if it has serial data to send to the
  543. device.
  544. config USBHOST_FT232R_NPREALLOC
  545. int "Preallocated state"
  546. default 0
  547. ---help---
  548. If this setting is zero, the FT232R driver will allocate
  549. memory as needed for FT232R device state. If this value is non-
  550. zero, then it provides a number of preallocated FT232R state
  551. structures. This increases the static size of the code image, but
  552. eliminates all, direct, run-time allocations by the driver.
  553. config USBHOST_FT232R_BAUD
  554. int "Initialize FT232R BAUD"
  555. default 115200
  556. config USBHOST_FT232R_PARITY
  557. int "Initialize FT232R parity"
  558. default 0
  559. range 0 2
  560. ---help---
  561. Initialize FT232R parity. 0=None, 1=Odd, 2=Even. Default: None
  562. config USBHOST_FT232R_BITS
  563. int "Initialize FT232R transfer size"
  564. default 8
  565. range 7 8
  566. ---help---
  567. Initialize FT232R number of bits. Default: 8
  568. config USBHOST_FT232R_2STOP
  569. bool "FT232R use two stop bits"
  570. default n
  571. ---help---
  572. False = 1 stop bit, True = Two stop bits. Default: 1 stop bit
  573. config USBHOST_FT232R_HWFLOWCTRL
  574. bool "Use FT232R RTS/CTS"
  575. default n
  576. ---help---
  577. Enables the FT232R to use its flow control signals
  578. config USBHOST_FT232R_RXBUFSIZE
  579. int "Serial RX buffer size"
  580. default 128
  581. ---help---
  582. This is the size of the serial buffer that will be used to hold
  583. received data.
  584. config USBHOST_FT232R_TXBUFSIZE
  585. int "Serial TX buffer size"
  586. default 128
  587. ---help---
  588. This is the size of the serial buffer that will be used to hold
  589. data waiting for transmission.
  590. config USBHOST_FT232R_LATENCY
  591. int "Latency Timer"
  592. default 16
  593. range 0 255
  594. ---help---
  595. A timeout for UART to USB packet reception. The FT232R will
  596. release its buffer for sending to the USB host once this timeout
  597. occurs or the buffer is full. Measured in ms.
  598. endif # USBHOST_FT232R
  599. endif # USBHOST