1349dcfc1f
This change adds support for the USB Transport Layer as described in the bluetooth spec. Isochronous endpoints are not yet supported. Because of limitations in the NuttX bluetooth stack, only one USB device can be used. This driver will only allow one USB dongle to use bluetooth. A Laird USB BT4.2 dongle (from Mouser) was used for testing: M/N BT851 1.0 1829, FCC ID:SQGBT850 lsusb: 04b4:f901 Cypress Semiconductor Corp. CYW20704A2 The following commands were used to test from the nsh prompt: bt bnep0 scan start bt bnep0 scan stop bt bnep0 scan get bt bnep0 info The Linux gatttool was used to connect over wireless. With the BDAddr found by "bt bnep0 info", start gatttool using: gatttool -b BDAddr -I Connect to the device using: connect Read the device name using the GAP device name UUID: char-read-uuid 2a00 Part of the response is: value: 41 70 61 63 68 65 20 4e 75 74 74 58 which is the string "Apache NuttX"
734 lines
22 KiB
Plaintext
734 lines
22 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
config USBHOST_HAVE_ASYNCH
|
|
bool
|
|
default n
|
|
|
|
menuconfig USBHOST
|
|
bool "USB Host Driver Support"
|
|
default n
|
|
---help---
|
|
USB host drivers. See also include/nuttx/usb/usbhost.h
|
|
|
|
if USBHOST
|
|
|
|
config USBHOST_NPREALLOC
|
|
int "Number of pre-allocated class instances"
|
|
default 4
|
|
---help---
|
|
Number of pre-allocated class instances
|
|
|
|
config USBHOST_BULK_DISABLE
|
|
bool "Disable bulk endpoint support"
|
|
default n
|
|
---help---
|
|
On some architectures, selecting this setting will reduce driver size
|
|
by disabling bulk endpoint support
|
|
|
|
config USBHOST_INT_DISABLE
|
|
bool "Disable interrupt endpoint support"
|
|
default n
|
|
---help---
|
|
On some architectures, selecting this setting will reduce driver size
|
|
by disabling interrupt endpoint support
|
|
|
|
config USBHOST_ISOC_DISABLE
|
|
bool "Disable isochronous endpoint support"
|
|
default n
|
|
---help---
|
|
On some architectures, selecting this setting will reduce driver size
|
|
by disabling isochronous endpoint support
|
|
|
|
config USBHOST_ASYNCH
|
|
bool "Asynchronous transfer support"
|
|
default n
|
|
depends on USBHOST_HAVE_ASYNCH
|
|
---help---
|
|
Select if the host controller driver needs to support asynchronous
|
|
I/O transfer. This may be required, for example, to receive
|
|
infrequent, asynchronous input from an interrupt pipe.
|
|
|
|
config USBHOST_HUB
|
|
bool "USB Hub Support"
|
|
default n
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_INT_DISABLE
|
|
select USBHOST_ASYNCH
|
|
---help---
|
|
Select this option to build in support for USB hubs.
|
|
|
|
if USBHOST_HUB
|
|
|
|
config USBHOST_HUB_POLLMSEC
|
|
int "USB Hub Polling Interval (MSec)"
|
|
default 400
|
|
---help---
|
|
On higher end host controllers (OHCI and EHCI), the asynchronous,
|
|
interrupt IN transfers will pend until data is available from the
|
|
hub. On lower end host controllers (like STM32 and EFM32), the
|
|
transfer will fail immediately when the device NAKs the first
|
|
attempted interrupt IN transfer (with result == EGAIN) and the hub
|
|
class driver will fall back to polling the hub.
|
|
|
|
For the case of the higher end controllers, this polling interval
|
|
is not critical since it would really only be used in the event of
|
|
failures to communicate with the hub.
|
|
|
|
But for the lower end host controllers, the asynchronous transfers
|
|
are ineffective and this polling interval becomes a critical
|
|
parameter that must be tuned to tradeoff CPU usage with
|
|
responsiveness to hub-related events (It would, I suppose, be more
|
|
efficient to use synchronous transfers with these lower end host
|
|
controllers).
|
|
|
|
endif # USBHOST_HUB
|
|
|
|
config USBHOST_COMPOSITE
|
|
bool "Composite device support"
|
|
default n
|
|
---help---
|
|
Build in USB host support for connected composite devices
|
|
|
|
config USBHOST_COMPOSITE_STRICT
|
|
bool "Strict composite membership"
|
|
default n
|
|
depends on USBHOST_COMPOSITE
|
|
---help---
|
|
If selected, then the composite device will not be enumerated unless
|
|
every member class in the composite is supported. If not selected
|
|
then, for example, you could use the CDC/ACM interface of the device
|
|
with no support for the other interfaces.
|
|
|
|
config USBHOST_MSC
|
|
bool "Mass Storage Class Support"
|
|
default n
|
|
depends on !BULK_DISABLE
|
|
---help---
|
|
Enable support for the mass storage class driver.
|
|
|
|
config USBHOST_MSC_NOTIFIER
|
|
bool "Support USB Mass Storage notifications"
|
|
default n
|
|
depends on USBHOST_MSC
|
|
select WQUEUE_NOTIFIER
|
|
---help---
|
|
Enable building of USB MSC notifier logic that will execute a worker
|
|
function on the low priority work queue when a mass storage device is
|
|
connected or disconnected.
|
|
|
|
config USBHOST_CDCACM
|
|
bool "CDC/ACM support"
|
|
default n
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
|
|
select USBHOST_ASYNCH
|
|
select SERIAL_REMOVABLE
|
|
---help---
|
|
Select this option to build in host support for CDC/ACM serial
|
|
devices.
|
|
|
|
if USBHOST_CDCACM
|
|
|
|
choice
|
|
prompt "CDC/ACM Protocol"
|
|
default USBHOST_CDCACM_COMPLIANT if SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
|
|
default USBHOST_CDCACM_REDUCED if !SERIAL_OFLOWCONTROL || USBHOST_INT_DISABLE
|
|
|
|
config USBHOST_CDCACM_COMPLIANT
|
|
bool "CDC/ACM compliant"
|
|
depends on SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
|
|
---help---
|
|
The device needs to implement the Abstract Control Model (ACM)
|
|
subclass defined in the USB Communication Device Class (CDC)
|
|
specification. This protocol requires two USB interfaces, a data
|
|
interface which consists of two endpoints (bulk in + bulk out) and a
|
|
control interface which consists of one interrupt in endpoint.
|
|
Furthermore, on EP0 the device must implement the class-specific
|
|
requests defined by the CDC specification. Because this USB protocol
|
|
is compliant to the CDC/ACM standard on some other operating systems
|
|
(e.g. Linux, MacOS) the device can work with in-box drivers.
|
|
|
|
config USBHOST_CDCACM_REDUCED
|
|
bool "CDC/ACM reduced"
|
|
---help---
|
|
This mode uses the CDC data interface (bulk in + bulk out endpoint)
|
|
only. No control interface (interrupt in endpoint) is required. The
|
|
device needs to implement the CDC class-specific requests, so that
|
|
is still possible to support baud rate settings and serial control/
|
|
status lines. This mode is useful if the number of available
|
|
endpoints is limited by hardware restrictions.
|
|
|
|
If the CDC/ACM compliant protocol is selected, then the reduced
|
|
protocol is supported for devices that provide not interrupt IN
|
|
endpoint. This option is then most useful for testing purposes or
|
|
if there are insufficient resources to support the compliant
|
|
protocol. The interrupt IN control interface will not be used even
|
|
if it is available in this case.
|
|
|
|
config USBHOST_CDCACM_BULKONLY
|
|
bool "Bulk only protocol"
|
|
---help---
|
|
The device implements only the data interface (bulk in + bulk out
|
|
endpoint). The device does not provide an additional control
|
|
interface and does not need to implement any class-specific requests
|
|
on EP0. Because bulk transfer mode provides flow control, there is
|
|
no need to support serial control/status lines. The advantage of
|
|
the bulk-only protocol is that the implementation efforts on the
|
|
device side are reduced to a minimum.
|
|
|
|
By default, both the CDC/ACM compliant protocol and the reduced
|
|
protocol are supported. This option is then most useful for testing
|
|
purposes. The interrupt IN control interface will not be used even
|
|
if it is available; nor will EP0 class requests.
|
|
|
|
endchoice # CDC/ACM Protocol
|
|
|
|
config USBHOST_CDCACM_NTDELAY
|
|
int "CDC/ACM notification polling interval (MSec)"
|
|
default 400
|
|
depends on USBHOST_CDCACM_COMPLIANT
|
|
---help---
|
|
On higher end host controllers (OHCI and EHCI), the asynchronous,
|
|
interrupt IN transfers will pend until data is available from the
|
|
hub. On lower end host controllers (like STM32 and EFM32), the
|
|
transfer will fail immediately when the device NAKs the first
|
|
attempted interrupt IN transfer (with result == EGAIN) and the hub
|
|
class driver will fall back to polling the hub.
|
|
|
|
For the case of the higher end controllers, this polling interval
|
|
is not critical since it would really only be used in the event of
|
|
failures to communicate with the hub.
|
|
|
|
But for the lower end host controllers, the asynchronous transfers
|
|
are ineffective and this polling interval becomes a critical
|
|
parameter that must be tuned to tradeoff CPU usage with
|
|
responsiveness to hub-related events (It would, I suppose, be more
|
|
efficient to use synchronous transfers with these lower end host
|
|
controllers).
|
|
|
|
config USBHOST_CDCACM_RXDELAY
|
|
int "RX poll delay (MSec)"
|
|
default 200
|
|
---help---
|
|
When the CDC/ACM device is inactive, the host must poll it at this
|
|
rate in order to discover if it has serial data to send to us.
|
|
|
|
config USBHOST_CDCACM_TXDELAY
|
|
int "TX poll delay (MSec)"
|
|
default 200
|
|
---help---
|
|
When the appellation is inactive, the host must poll it at this
|
|
rate in order to discover if it has serial data to send to the
|
|
device.
|
|
|
|
config USBHOST_CDCACM_NPREALLOC
|
|
int "Preallocated state"
|
|
default 0
|
|
---help---
|
|
If this setting is zero, the CDC/ACM class driver will allocate
|
|
memory as needed for CDC/ACM device state. If this value is non-
|
|
zero, then it provides a number of preallocated CDC/ACM state
|
|
structures. This increases the static size of the code image, but
|
|
eliminates all, direct, run-time allocations by the driver.
|
|
|
|
config USBHOST_CDCACM_BAUD
|
|
int "Initialize CDC/ACM BAUD"
|
|
default 115200
|
|
|
|
config USBHOST_CDCACM_PARITY
|
|
int "Initialize CDC/ACM parity"
|
|
default 0
|
|
range 0 2
|
|
---help---
|
|
Initialize CDC/ACM parity. 0=None, 1=Odd, 2=Even. Default: None
|
|
|
|
config USBHOST_CDCACM_BITS
|
|
int "Initialize CDC/ACM number of bits"
|
|
default 8
|
|
---help---
|
|
Initialize CDC/ACM number of bits. Default: 8
|
|
|
|
config USBHOST_CDCACM_2STOP
|
|
int "Initialize CDC/ACM two stop bits"
|
|
default 0
|
|
---help---
|
|
0=1 stop bit, 1=Two stop bits. Default: 1 stop bit
|
|
|
|
config USBHOST_CDCACM_RXBUFSIZE
|
|
int "Serial RX buffer size"
|
|
default 128
|
|
---help---
|
|
This is the size of the serial buffer that will be used to hold
|
|
received data.
|
|
|
|
config USBHOST_CDCACM_TXBUFSIZE
|
|
int "Serial TX buffer size"
|
|
default 128
|
|
---help---
|
|
This is the size of the serial buffer that will be used to hold
|
|
data waiting for transmission.
|
|
|
|
endif # USBHOST_CDCACM
|
|
|
|
config USBHOST_CDCMBIM
|
|
bool "CDC/MBIM support"
|
|
default n
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE && EXPERIMENTAL
|
|
select USBHOST_ASYNCH
|
|
select NET_MBIM
|
|
---help---
|
|
Select this option to build in host support for CDC/MBIM network
|
|
devices.
|
|
|
|
menuconfig USBHOST_HID
|
|
bool "USB Host HID Driver Support"
|
|
default n
|
|
depends on ALLOW_BSD_COMPONENTS
|
|
---help---
|
|
USB host HID drivers. See also include/nuttx/usb/usbhost.h
|
|
|
|
config USBHOST_HIDKBD
|
|
bool "HID Keyboard Class Support"
|
|
default n
|
|
depends on !INT_DISABLE
|
|
---help---
|
|
Enable support for the keyboard class driver.
|
|
|
|
if USBHOST_HIDKBD
|
|
|
|
config HIDKBD_POLLUSEC
|
|
int "Keyboard Poll Rate (MSEC)"
|
|
default 40000
|
|
---help---
|
|
Device poll rate in microseconds. Default: 40,000 microseconds.
|
|
|
|
config HIDKBD_DEFPRIO
|
|
int "Polling Thread Priority"
|
|
default 50
|
|
---help---
|
|
Priority of the polling thread. Default: 50.
|
|
|
|
config HIDKBD_STACKSIZE
|
|
int "Polling thread stack size"
|
|
default 1024
|
|
---help---
|
|
Stack size for polling thread. Default: 1024
|
|
|
|
config HIDKBD_BUFSIZE
|
|
int "Scancode Buffer Size"
|
|
default 64
|
|
---help---
|
|
Scancode buffer size. Default: 64.
|
|
|
|
config HIDKBD_NPOLLWAITERS
|
|
int "Max Number of Waiters for Poll Event"
|
|
default 2
|
|
---help---
|
|
If the poll() method is enabled, this defines the maximum number
|
|
of threads that can be waiting for keyboard events. Default: 2.
|
|
|
|
config HIDKBD_RAWSCANCODES
|
|
bool "Use Raw Scan Codes"
|
|
default n
|
|
---help---
|
|
If set to y no conversions will be made on the raw keyboard scan
|
|
codes. This option is useful during testing. Default: ASCII conversion.
|
|
|
|
config HIDKBD_ENCODED
|
|
bool "Encode Special Keys"
|
|
default n
|
|
depends on !HIDKBD_RAWSCANCODES && LIBC_KBDCODEC
|
|
---help---
|
|
Encode special key press events in the user buffer. In this case,
|
|
the user end must decode the encoded special key values using the
|
|
interfaces defined in include/nuttx/input/kbd_codec.h. These
|
|
special keys include such things as up/down arrows, home and end
|
|
keys, etc. If this not defined, only 7-bit print-able and control
|
|
ASCII characters will be provided to the user.
|
|
|
|
config HIDKBD_ALLSCANCODES
|
|
bool "Use All Scancodes"
|
|
default n
|
|
---help---
|
|
If set to y all 231 possible scancodes will be converted to
|
|
something. Default: 104 key US keyboard.
|
|
|
|
config HIDKBD_NODEBOUNCE
|
|
bool "Disable Debounce"
|
|
default n
|
|
---help---
|
|
If set to y normal debouncing is disabled. Default:
|
|
Debounce enabled (No repeat keys).
|
|
|
|
config HIDKBD_NOGETREPORT
|
|
bool "Use Interrupt pipe to get keys"
|
|
default n
|
|
---help---
|
|
Use the INTERRUPT IN pipe to get keyboard input reports.
|
|
|
|
endif
|
|
|
|
config USBHOST_HIDMOUSE
|
|
bool "HID Mouse Class Support"
|
|
default n
|
|
depends on !INT_DISABLE
|
|
select INPUT
|
|
select INPUT_MOUSE
|
|
---help---
|
|
Enable support for the mouse class driver.
|
|
|
|
NOTE: This driver checks out on a Labtec and an AOpen mouse, but
|
|
does not work correctly on a Microsoft mouse. A little more work
|
|
would be needed to support the Microsoft mouse.
|
|
|
|
if USBHOST_HIDMOUSE
|
|
|
|
config HIDMOUSE_TSCIF
|
|
bool "Touchscreen Emulation"
|
|
default n
|
|
---help---
|
|
Normally, the HID mouse driver uses the mouse report structure
|
|
defined in include/nuttx/input/mouse.h. The mouse driver can,
|
|
however, be configured to use the touchscreen interface defined in
|
|
include/nuttx/input/touchcreen.h. If the touch screen interface is
|
|
used, only support for the left button will be provided.
|
|
|
|
NOTE: Unlike touchscreen drivers, mouse drivers will report
|
|
position data even when the "pen is up", i.e., when no buttons are
|
|
pressed. This behavior is necessary to provide the positional data
|
|
would would be needed to drive a cursor. Without a cursor of some
|
|
kind, the mouse is not very useful. So this option may not be useful.
|
|
|
|
config HIDMOUSE_DEFPRIO
|
|
int "Polling Thread Priority"
|
|
default 50
|
|
---help---
|
|
Priority of the polling thread. Default: 50.
|
|
|
|
config HIDMOUSE_STACKSIZE
|
|
int "Polling thread stack size"
|
|
default 1024
|
|
---help---
|
|
Stack size for polling thread. Default: 1024
|
|
|
|
config HIDMOUSE_BUFSIZE
|
|
int "Scancode Buffer Size"
|
|
default 64
|
|
---help---
|
|
Scancode buffer size. Default: 64.
|
|
|
|
config HIDMOUSE_NPOLLWAITERS
|
|
int "Max Number of Waiters for Poll Event"
|
|
default 2
|
|
---help---
|
|
If the poll() method is enabled, this defines the maximum number
|
|
of threads that can be waiting for mouse events. Default: 2.
|
|
|
|
config HIDMOUSE_SWAPXY
|
|
bool "Swap X/Y"
|
|
default n
|
|
---help---
|
|
Reverse the meaning of X and Y to handle different display orientations.
|
|
NOTE: All of the following settings apply AFTER X and Y have been swapped.
|
|
|
|
config HIDMOUSE_XMAX
|
|
int "Maximum X position"
|
|
default 320
|
|
range 0 32767
|
|
---help---
|
|
This is the maximum value of the X position that will be reported.
|
|
Default: 320
|
|
|
|
config HIDMOUSE_YMAX
|
|
int "Maximum Y position"
|
|
default 240
|
|
range 0 32767
|
|
---help---
|
|
This is the maximum value of the Y position that will be reported.
|
|
Default: 240
|
|
|
|
config HIDMOUSE_XSCALE
|
|
hex "X scaling factor"
|
|
default 0x00010000
|
|
---help---
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
|
the mouse device. This setting provides a scaling value for the X
|
|
displacement. This is a fixed precision floating point number with
|
|
16 bits of fraction. So a value of 0x00010000 is 1.0, 0x00018000
|
|
is 1.5, 0x00024000 is 2.25, etc.
|
|
|
|
NOTE that a negative value of HIDMOUSE_XSCALE such as 0xffff0000
|
|
(-1.0) can be used to change the direction of movement.
|
|
|
|
Default: 0x00010000 (1.0)
|
|
|
|
config HIDMOUSE_YSCALE
|
|
hex "Y scaling factor"
|
|
default 0x00010000
|
|
---help---
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
|
the mouse device. This setting provides a scaling value for the Y
|
|
displacement. This is a fixed precision floating point number with
|
|
16 bits of fraction. So a value of 0x00010000 is 1.0, 0x00018000
|
|
is 1.5, 0x00024000 is 2.25, etc.
|
|
|
|
NOTE that a negative value of HIDMOUSE_YSCALE such as 0xffff0000
|
|
(-1.0) can be used to change the direction of movement.
|
|
|
|
Default: 0x00010000 (1.0)
|
|
|
|
config HIDMOUSE_XTHRESH
|
|
int "X threshold"
|
|
default 12
|
|
---help---
|
|
New mouse positions will only be reported when the X or Y data changes by these
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
Default: 12
|
|
|
|
config HIDMOUSE_THRESHY
|
|
int "Y threshold"
|
|
default 12
|
|
---help---
|
|
New touch positions will only be reported when the X or Y data changes by these
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
Default: 12
|
|
|
|
if INPUT_MOUSE_WHEEL
|
|
|
|
config HIDMOUSE_WMAX
|
|
int "Maximum wheel position"
|
|
default 320
|
|
range 0 32767
|
|
---help---
|
|
This is the maximum value of the wheel position that will be
|
|
reported. Default: 320
|
|
|
|
config HIDMOUSE_WSCALE
|
|
hex "Wheel scaling factor"
|
|
default 0x00010000
|
|
---help---
|
|
Mouse wheel position are accumulated from wheel displacements
|
|
reported by the mouse device. This setting provides a scaling
|
|
value for the wheel displacement. This is a fixed precision
|
|
floating point number with 16 bits of fraction. So a value of
|
|
0x00010000 is 1.0, 0x00018000 is 1.5, 0x00024000 is 2.25, etc.
|
|
|
|
NOTE that a negative value of HIDMOUSE_XSCALE such as 0xffff0000
|
|
(-1.0) can be used to change the direction of wheel output.
|
|
|
|
Default: 0x00010000 (1.0)
|
|
|
|
config HIDMOUSE_WTHRESH
|
|
int "Wheel threshold"
|
|
default 1
|
|
---help---
|
|
New wheel positions will only be reported when the wheel position
|
|
changes by these thresholds. This tradeoff reduces data rate for some
|
|
loss in wheel responsiveness.
|
|
|
|
Default: 1
|
|
|
|
endif # INPUT_MOUSE_WHEEL
|
|
endif # USBHOST_HIDMOUSE
|
|
|
|
config USBHOST_XBOXCONTROLLER
|
|
bool "Xbox Controller Support"
|
|
default n
|
|
depends on !INT_DISABLE
|
|
select INPUT
|
|
---help---
|
|
Enable support for the Xbox Controller driver.
|
|
|
|
if USBHOST_XBOXCONTROLLER
|
|
|
|
config XBOXCONTROLLER_DEFPRIO
|
|
int "Polling Thread Priority"
|
|
default 50
|
|
---help---
|
|
Priority of the polling thread. Default: 50.
|
|
|
|
config XBOXCONTROLLER_STACKSIZE
|
|
int "Polling thread stack size"
|
|
default 1024
|
|
---help---
|
|
Stack size for polling thread. Default: 1024
|
|
|
|
config XBOXCONTROLLER_NPOLLWAITERS
|
|
int "Max Number of Waiters for Poll Event"
|
|
default 2
|
|
---help---
|
|
If the poll() method is enabled, this defines the maximum number
|
|
of threads that can be waiting for mouse events. Default: 2.
|
|
|
|
endif # USBHOST_XBOXCONTROLLER
|
|
|
|
config USBHOST_MAX3421E
|
|
bool "Maxim MAX3421E FS host controller"
|
|
default n
|
|
select SPI
|
|
select SCHED_LPWORK
|
|
depends on EXPERIMENTAL
|
|
---help---
|
|
Enable support for the Maxim MAX3421E FS host controller
|
|
|
|
if USBHOST_MAX3421E
|
|
|
|
config MAX3421E_DESCSIZE
|
|
int "Max descriptor size"
|
|
default 128
|
|
---help---
|
|
Maximum size of a descriptor. Default: 128
|
|
|
|
config MAX3421E_USBHOST_REGDEBUG
|
|
bool "MAX3421 register debug"
|
|
default n
|
|
depends on DEBUG_USB_INFO
|
|
---help---
|
|
Enable very low-level register access debug. Depends on
|
|
CONFIG_DEBUG_USB_INFO.
|
|
|
|
config MAX3421E_USBHOST_PKTDUMP
|
|
bool "MAX3421 packet dump"
|
|
default n
|
|
depends on DEBUG_USB_INFO
|
|
---help---
|
|
Dump all incoming and outgoing USB packets. Depends on
|
|
CONFIG_DEBUG_USB_INFO.
|
|
|
|
endif # USBHOST_MAX3421E
|
|
|
|
config USBHOST_TRACE
|
|
bool "Enable USB HCD tracing for debug"
|
|
default n
|
|
select HAVE_USBTRACE
|
|
---help---
|
|
Enables USB tracing for debug. Only supported for the HCD and,
|
|
further, no supported by all HCD implementations.
|
|
|
|
if USBHOST_TRACE
|
|
|
|
config USBHOST_TRACE_NRECORDS
|
|
int "Number of trace entries to remember"
|
|
default 128
|
|
---help---
|
|
Number of trace entries to remember.
|
|
|
|
config USBHOST_TRACE_VERBOSE
|
|
bool "Enable verbose debug trace"
|
|
default n
|
|
---help---
|
|
Enable verbose trace output if supported by the platform. The
|
|
intent is that if USBHOST_TRACE_VERBOSE is not defined, then only
|
|
errors, warnings, and critical messages would be logged. If
|
|
USBHOST_TRACE_VERBOSE is defined, then general informative trace
|
|
information would also be included.
|
|
|
|
endif
|
|
|
|
config USBHOST_FT232R
|
|
bool "FTDI FT232R support"
|
|
default n
|
|
depends on !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
|
|
select SERIAL_REMOVABLE
|
|
---help---
|
|
Select this option to build in host support for FTDI FT232R
|
|
serial devices.
|
|
|
|
if USBHOST_FT232R
|
|
|
|
config USBHOST_FT232R_RXDELAY
|
|
int "RX poll delay (MSec)"
|
|
default 200
|
|
---help---
|
|
When the CDC/ACM device is inactive, the host must poll it at this
|
|
rate in order to discover if it has serial data to send to us.
|
|
|
|
config USBHOST_FT232R_TXDELAY
|
|
int "TX poll delay (MSec)"
|
|
default 200
|
|
---help---
|
|
When the appellation is inactive, the host must poll it at this
|
|
rate in order to discover if it has serial data to send to the
|
|
device.
|
|
|
|
config USBHOST_FT232R_NPREALLOC
|
|
int "Preallocated state"
|
|
default 0
|
|
---help---
|
|
If this setting is zero, the FT232R driver will allocate
|
|
memory as needed for FT232R device state. If this value is non-
|
|
zero, then it provides a number of preallocated FT232R state
|
|
structures. This increases the static size of the code image, but
|
|
eliminates all, direct, run-time allocations by the driver.
|
|
|
|
config USBHOST_FT232R_BAUD
|
|
int "Initialize FT232R BAUD"
|
|
default 115200
|
|
|
|
config USBHOST_FT232R_PARITY
|
|
int "Initialize FT232R parity"
|
|
default 0
|
|
range 0 2
|
|
---help---
|
|
Initialize FT232R parity. 0=None, 1=Odd, 2=Even. Default: None
|
|
|
|
config USBHOST_FT232R_BITS
|
|
int "Initialize FT232R transfer size"
|
|
default 8
|
|
range 7 8
|
|
---help---
|
|
Initialize FT232R number of bits. Default: 8
|
|
|
|
config USBHOST_FT232R_2STOP
|
|
bool "FT232R use two stop bits"
|
|
default n
|
|
---help---
|
|
False = 1 stop bit, True = Two stop bits. Default: 1 stop bit
|
|
|
|
config USBHOST_FT232R_HWFLOWCTRL
|
|
bool "Use FT232R RTS/CTS"
|
|
default n
|
|
---help---
|
|
Enables the FT232R to use its flow control signals
|
|
|
|
config USBHOST_FT232R_RXBUFSIZE
|
|
int "Serial RX buffer size"
|
|
default 128
|
|
---help---
|
|
This is the size of the serial buffer that will be used to hold
|
|
received data.
|
|
|
|
config USBHOST_FT232R_TXBUFSIZE
|
|
int "Serial TX buffer size"
|
|
default 128
|
|
---help---
|
|
This is the size of the serial buffer that will be used to hold
|
|
data waiting for transmission.
|
|
|
|
config USBHOST_FT232R_LATENCY
|
|
int "Latency Timer"
|
|
default 16
|
|
range 0 255
|
|
---help---
|
|
A timeout for UART to USB packet reception. The FT232R will
|
|
release its buffer for sending to the USB host once this timeout
|
|
occurs or the buffer is full. Measured in ms.
|
|
|
|
endif # USBHOST_FT232R
|
|
|
|
config USBHOST_BTHCI
|
|
bool "Bluetooth HCI Driver"
|
|
default n
|
|
depends on WIRELESS_BLUETOOTH && USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
|
|
select USBHOST_ASYNCH
|
|
select SERIAL_REMOVABLE
|
|
---help---
|
|
Select this option to build in support for USB Bluetooth HCI devices.
|
|
|
|
endif # USBHOST
|