2012-04-06 15:49:35 +00:00
|
|
|
#
|
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 08:08:57 -06:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2012-04-06 15:49:35 +00:00
|
|
|
#
|
2012-12-26 18:54:59 +00:00
|
|
|
|
2020-02-08 15:30:09 +08:00
|
|
|
config USBHOST_HAVE_ASYNCH
|
|
|
|
|
bool
|
|
|
|
|
default n
|
|
|
|
|
|
2020-02-15 07:38:35 -06:00
|
|
|
menuconfig USBHOST
|
|
|
|
|
bool "USB Host Driver Support"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
USB host drivers. See also include/nuttx/usb/usbhost.h
|
|
|
|
|
|
2020-02-08 15:30:09 +08:00
|
|
|
if USBHOST
|
|
|
|
|
|
2012-04-13 14:27:44 +00:00
|
|
|
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
|
|
|
|
|
|
2015-04-20 08:53:21 -06:00
|
|
|
config USBHOST_ASYNCH
|
|
|
|
|
bool "Asynchronous transfer support"
|
|
|
|
|
default n
|
2015-04-22 17:16:35 -06:00
|
|
|
depends on USBHOST_HAVE_ASYNCH
|
2015-04-20 08:53:21 -06:00
|
|
|
---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.
|
|
|
|
|
|
2026-04-09 13:49:50 -04:00
|
|
|
config USBHOST_CONFIGURATION_SELECTION
|
|
|
|
|
bool "Per device configuration selection"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
Some devices have multiple USB configuration. By default the enumeration
|
|
|
|
|
selects the first configuration which may not be the desired configuration.
|
|
|
|
|
This features enables a board specific callback where it may choose which
|
|
|
|
|
configuration to apply based on the USB device descriptor. The callback may
|
|
|
|
|
choose by VID/PID or any other info it can acquire from a USB descriptor.
|
|
|
|
|
Board file must supply board_usbhost_select_configuration().
|
|
|
|
|
|
usbhost: Report each device as it is enumerated.
A host that enumerates a device says nothing about it unless the whole of
CONFIG_DEBUG_USB_INFO is on, and then it says a great deal else besides.
The quietest case is the one that matters most: a device no class driver
claims produces no output at all, so a user with an unsupported device
sees exactly what a user with no device sees.
Add CONFIG_USBHOST_ANNOUNCE, reporting each device once, in the shape a
reader is likely to recognise from other systems: where it is, what it is,
its vendor, product and release, and the maker, product and serial number
it reports in its own string descriptors. Those cost a control transfer
each, so they are read only where a report was asked for, and only once
the device is addressed.
The report is made after binding rather than from within it, because a
composite device never reaches the class lookup: usbhost_composite() is
tried first and binds it. Whether a driver claimed the device is tracked
rather than read from the returned status, which the per interface loop
sets to OK whatever happened.
The port is given as the path from the root hub, and the path names the
bus, because a device on the first port of a hub and one on the first port
of a controller are otherwise reported identically. struct
usbhost_roothubport_s gains that bus number for the purpose; a driver that
does not set it reports zero, which is the only bus it has.
Class codes are translated where a name is more use than a number, which
includes the HID boot protocols, so a keyboard is reported as a keyboard.
Default n, so no existing configuration changes.
Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-08-08 14:52:17 +08:00
|
|
|
config USBHOST_ANNOUNCE
|
|
|
|
|
bool "Report enumerated devices"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
Report every device the host enumerates with one syslog line,
|
|
|
|
|
naming the hub port it was found on, what it is, its vendor and
|
|
|
|
|
product, and whether a class driver claimed it.
|
|
|
|
|
|
|
|
|
|
A device that no driver claims is reported too. That is the case
|
|
|
|
|
a user most needs to be told about and the one that otherwise
|
|
|
|
|
passes in silence.
|
|
|
|
|
|
|
|
|
|
The same information is available through CONFIG_DEBUG_USB_INFO,
|
|
|
|
|
among a great deal else. This is the one line on its own.
|
|
|
|
|
|
2024-12-09 14:25:24 +01:00
|
|
|
config USBHOST_WAITER
|
|
|
|
|
bool "USB Host Waiter Support"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
Select this option to build in support for common USB host waiter.
|
|
|
|
|
|
|
|
|
|
if USBHOST_WAITER
|
|
|
|
|
|
|
|
|
|
config USBHOST_WAITER_PRIO
|
|
|
|
|
int "USB Host Waiter Thread Priority"
|
|
|
|
|
default 100
|
|
|
|
|
---help---
|
|
|
|
|
USB Host Waiter thread priority.
|
|
|
|
|
|
|
|
|
|
config USBHOST_WAITER_STACKSIZE
|
|
|
|
|
int "USB Host Waiter Thread Stack Size"
|
|
|
|
|
default DEFAULT_TASK_STACKSIZE
|
|
|
|
|
---help---
|
|
|
|
|
USB Host Waiter thread stack size
|
|
|
|
|
|
|
|
|
|
endif # USBHOST_WAITER
|
|
|
|
|
|
2015-04-18 16:20:02 -06:00
|
|
|
config USBHOST_HUB
|
|
|
|
|
bool "USB Hub Support"
|
|
|
|
|
default n
|
2015-04-22 17:16:35 -06:00
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_INT_DISABLE
|
2015-04-20 08:53:21 -06:00
|
|
|
select USBHOST_ASYNCH
|
2015-04-18 16:20:02 -06:00
|
|
|
---help---
|
|
|
|
|
Select this option to build in support for USB hubs.
|
|
|
|
|
|
2015-04-30 11:30:01 -06:00
|
|
|
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
|
|
|
|
|
|
2016-08-26 09:07:52 -06:00
|
|
|
config USBHOST_COMPOSITE
|
|
|
|
|
bool "Composite device support"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
Build in USB host support for connected composite devices
|
|
|
|
|
|
2016-08-31 07:56:27 -06:00
|
|
|
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
|
2016-08-31 11:30:22 -06:00
|
|
|
with no support for the other interfaces.
|
2016-08-31 07:56:27 -06:00
|
|
|
|
2012-12-26 18:54:59 +00:00
|
|
|
config USBHOST_MSC
|
|
|
|
|
bool "Mass Storage Class Support"
|
|
|
|
|
default n
|
|
|
|
|
depends on !BULK_DISABLE
|
|
|
|
|
---help---
|
2022-05-28 02:17:10 +08:00
|
|
|
Enable support for the mass storage class driver.
|
2020-11-28 11:48:10 +08:00
|
|
|
|
2026-08-05 10:13:51 +08:00
|
|
|
config USBHOST_MSC_PARTITIONS
|
|
|
|
|
bool "Register partitions found on a drive"
|
|
|
|
|
default y
|
|
|
|
|
depends on USBHOST_MSC && !DISABLE_MOUNTPOINT
|
|
|
|
|
depends on MBR_PARTITION || GPT_PARTITION
|
|
|
|
|
---help---
|
|
|
|
|
Read the partition table of a mass storage device and register a
|
|
|
|
|
block device for each partition, /dev/sda1 beside /dev/sda and so
|
|
|
|
|
on.
|
|
|
|
|
|
|
|
|
|
Most drives that have been anywhere near another operating system
|
|
|
|
|
carry a partition table rather than a filesystem at sector zero,
|
|
|
|
|
so without this a perfectly good drive cannot be mounted. The
|
|
|
|
|
whole-drive node stays where it was.
|
|
|
|
|
|
2020-08-06 13:30:01 +02:00
|
|
|
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
|
2020-11-28 11:48:10 +08:00
|
|
|
connected or disconnected.
|
|
|
|
|
|
2015-05-06 12:49:00 -06:00
|
|
|
config USBHOST_CDCACM
|
|
|
|
|
bool "CDC/ACM support"
|
|
|
|
|
default n
|
|
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
|
|
|
|
|
select USBHOST_ASYNCH
|
2015-05-11 15:10:41 -06:00
|
|
|
select SERIAL_REMOVABLE
|
2015-05-06 12:49:00 -06:00
|
|
|
---help---
|
|
|
|
|
Select this option to build in host support for CDC/ACM serial
|
|
|
|
|
devices.
|
|
|
|
|
|
|
|
|
|
if USBHOST_CDCACM
|
|
|
|
|
|
2015-05-10 08:16:58 -06:00
|
|
|
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.
|
|
|
|
|
|
2017-05-11 13:35:56 -06:00
|
|
|
If the CDC/ACM compliant protocol is selected, then the reduced
|
2015-05-10 08:16:58 -06:00
|
|
|
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
|
2023-05-22 12:20:06 +02:00
|
|
|
protocol. The interrupt IN control interface will not be used even
|
2015-05-10 08:16:58 -06:00
|
|
|
if it is available in this case.
|
|
|
|
|
|
2015-05-07 11:16:03 -06:00
|
|
|
config USBHOST_CDCACM_BULKONLY
|
|
|
|
|
bool "Bulk only protocol"
|
|
|
|
|
---help---
|
2015-05-10 08:16:58 -06:00
|
|
|
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
|
2015-05-07 11:16:03 -06:00
|
|
|
protocol are supported. This option is then most useful for testing
|
2015-05-10 08:16:58 -06:00
|
|
|
purposes. The interrupt IN control interface will not be used even
|
2020-02-23 16:50:23 +08:00
|
|
|
if it is available; nor will EP0 class requests.
|
2015-05-10 08:16:58 -06:00
|
|
|
|
|
|
|
|
endchoice # CDC/ACM Protocol
|
2015-05-07 11:16:03 -06:00
|
|
|
|
2015-05-06 12:49:00 -06:00
|
|
|
config USBHOST_CDCACM_NTDELAY
|
|
|
|
|
int "CDC/ACM notification polling interval (MSec)"
|
|
|
|
|
default 400
|
2015-05-10 10:23:23 -06:00
|
|
|
depends on USBHOST_CDCACM_COMPLIANT
|
2015-05-06 12:49:00 -06:00
|
|
|
---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
|
2015-05-08 08:32:50 -06:00
|
|
|
int "RX poll delay (MSec)"
|
2015-05-06 12:49:00 -06:00
|
|
|
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
|
2015-05-08 08:32:50 -06:00
|
|
|
int "TX poll delay (MSec)"
|
2015-05-06 12:49:00 -06:00
|
|
|
default 200
|
|
|
|
|
---help---
|
|
|
|
|
When the appellation is inactive, the host must poll it at this
|
2019-09-29 12:52:20 -06:00
|
|
|
rate in order to discover if it has serial data to send to the
|
2015-05-06 12:49:00 -06:00
|
|
|
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
|
2020-02-23 16:50:23 +08:00
|
|
|
data waiting for transmission.
|
2015-05-06 12:49:00 -06:00
|
|
|
|
|
|
|
|
endif # USBHOST_CDCACM
|
|
|
|
|
|
2026-04-09 13:49:50 -04:00
|
|
|
config USBHOST_CDCECM
|
|
|
|
|
bool "CDC/ECM support"
|
|
|
|
|
default n
|
|
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
|
|
|
|
|
select USBHOST_ASYNCH
|
|
|
|
|
select NET_ETHERNET
|
|
|
|
|
---help---
|
|
|
|
|
Select this option to build in host support for CDC/ECM serial
|
|
|
|
|
devices.
|
|
|
|
|
|
|
|
|
|
config USBHOST_CDCECM_PACKET_PRINT
|
|
|
|
|
bool "Print raw CDC/ECM packets"
|
|
|
|
|
default n
|
|
|
|
|
depends on DEBUG_USB_INFO
|
|
|
|
|
---help---
|
|
|
|
|
Print all raw RX and TX packets send and received in the CDC/ECM driver.
|
|
|
|
|
This can be useful for analysing with programs such as wireshark.
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 10:10:11 -03:00
|
|
|
config USBHOST_CDCMBIM
|
|
|
|
|
bool "CDC/MBIM support"
|
|
|
|
|
default n
|
2020-06-14 19:59:38 -03:00
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE && EXPERIMENTAL
|
2020-06-14 10:10:11 -03:00
|
|
|
select USBHOST_ASYNCH
|
2020-06-14 19:59:38 -03:00
|
|
|
select NET_MBIM
|
2020-06-14 10:10:11 -03:00
|
|
|
---help---
|
|
|
|
|
Select this option to build in host support for CDC/MBIM network
|
|
|
|
|
devices.
|
|
|
|
|
|
2022-02-21 08:08:05 +00:00
|
|
|
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
|
|
|
|
|
|
2012-04-13 14:27:44 +00:00
|
|
|
config USBHOST_HIDKBD
|
2012-12-26 18:54:59 +00:00
|
|
|
bool "HID Keyboard Class Support"
|
2012-04-13 14:27:44 +00:00
|
|
|
default n
|
2012-12-26 18:54:59 +00:00
|
|
|
depends on !INT_DISABLE
|
2026-07-30 15:08:32 -03:00
|
|
|
select INPUT
|
|
|
|
|
select INPUT_KEYBOARD
|
2012-12-26 18:54:59 +00:00
|
|
|
---help---
|
2022-05-28 02:17:10 +08:00
|
|
|
Enable support for the keyboard class driver.
|
2012-04-13 14:27:44 +00:00
|
|
|
|
2026-07-30 15:08:32 -03:00
|
|
|
The keyboard is reported through the keyboard upper half, so it
|
|
|
|
|
delivers struct keyboard_event_s events on read() just like any
|
|
|
|
|
other keyboard. Set INPUT_KEYBOARD_BYTESTREAM if the application
|
|
|
|
|
expects the plain byte stream that this driver used to provide.
|
|
|
|
|
|
2023-05-22 12:20:06 +02:00
|
|
|
if USBHOST_HIDKBD
|
2014-02-09 13:49:31 -06:00
|
|
|
|
2012-04-13 14:27:44 +00:00
|
|
|
config HIDKBD_POLLUSEC
|
2012-12-26 18:54:59 +00:00
|
|
|
int "Keyboard Poll Rate (MSEC)"
|
2019-10-23 09:07:23 -06:00
|
|
|
default 40000
|
2012-04-13 14:27:44 +00:00
|
|
|
---help---
|
2019-10-23 09:07:23 -06:00
|
|
|
Device poll rate in microseconds. Default: 40,000 microseconds.
|
2012-04-13 14:27:44 +00:00
|
|
|
|
|
|
|
|
config HIDKBD_DEFPRIO
|
2012-12-26 18:54:59 +00:00
|
|
|
int "Polling Thread Priority"
|
|
|
|
|
default 50
|
2012-04-13 14:27:44 +00:00
|
|
|
---help---
|
|
|
|
|
Priority of the polling thread. Default: 50.
|
|
|
|
|
|
|
|
|
|
config HIDKBD_STACKSIZE
|
2012-12-26 18:54:59 +00:00
|
|
|
int "Polling thread stack size"
|
|
|
|
|
default 1024
|
2012-04-13 14:27:44 +00:00
|
|
|
---help---
|
|
|
|
|
Stack size for polling thread. Default: 1024
|
|
|
|
|
|
|
|
|
|
config HIDKBD_BUFSIZE
|
2026-07-30 15:08:32 -03:00
|
|
|
int "Event Buffer Size"
|
2012-12-26 18:54:59 +00:00
|
|
|
default 64
|
2012-04-13 14:27:44 +00:00
|
|
|
---help---
|
2026-07-30 15:08:32 -03:00
|
|
|
Number of keyboard events buffered by the upper half for each
|
|
|
|
|
open file description. Default: 64.
|
2012-04-13 14:27:44 +00:00
|
|
|
|
|
|
|
|
config HIDKBD_RAWSCANCODES
|
2012-12-26 18:54:59 +00:00
|
|
|
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.
|
|
|
|
|
|
2012-04-13 14:27:44 +00:00
|
|
|
config HIDKBD_ALLSCANCODES
|
2012-12-26 18:54:59 +00:00
|
|
|
bool "Use All Scancodes"
|
2012-04-13 14:27:44 +00:00
|
|
|
default n
|
|
|
|
|
---help---
|
|
|
|
|
If set to y all 231 possible scancodes will be converted to
|
|
|
|
|
something. Default: 104 key US keyboard.
|
|
|
|
|
|
2026-07-30 15:08:32 -03:00
|
|
|
config HIDKBD_REPORT_MODIFIERS
|
|
|
|
|
bool "Report modifier keys"
|
2012-04-13 14:27:44 +00:00
|
|
|
default n
|
2026-07-30 15:08:32 -03:00
|
|
|
depends on !HIDKBD_RAWSCANCODES
|
2012-04-13 14:27:44 +00:00
|
|
|
---help---
|
2026-07-30 15:08:32 -03:00
|
|
|
Report Ctrl, Shift, Alt and GUI as keys in their own right, using
|
|
|
|
|
the KEYCODE_LCTRL..KEYCODE_RGUI keycodes, in addition to applying
|
|
|
|
|
them to the character that they modify. This lets an application
|
|
|
|
|
bind an action to a modifier or know that one is being held down,
|
|
|
|
|
which a game needs and a terminal does not.
|
|
|
|
|
|
|
|
|
|
Presses are reported before the keys that they modify and
|
|
|
|
|
releases after.
|
2013-09-09 14:01:52 -06:00
|
|
|
|
2023-03-28 11:02:43 -04:00
|
|
|
config HIDKBD_NOGETREPORT
|
|
|
|
|
bool "Use Interrupt pipe to get keys"
|
|
|
|
|
default n
|
2026-08-06 13:05:20 +08:00
|
|
|
select USBHOST_ASYNCH
|
2023-03-28 11:02:43 -04:00
|
|
|
---help---
|
|
|
|
|
Use the INTERRUPT IN pipe to get keyboard input reports.
|
|
|
|
|
|
2026-08-06 13:05:20 +08:00
|
|
|
This reads the pipe with DRVR_ASYNCH(), which only exists when
|
|
|
|
|
USBHOST_ASYNCH is set, so it is selected here rather than left
|
|
|
|
|
for a configuration to discover as a link failure.
|
|
|
|
|
|
2012-04-13 14:27:44 +00:00
|
|
|
endif
|
2013-09-09 14:01:52 -06:00
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
config USBHOST_HIDMOUSE
|
|
|
|
|
bool "HID Mouse Class Support"
|
|
|
|
|
default n
|
|
|
|
|
depends on !INT_DISABLE
|
2014-02-09 15:57:59 -06:00
|
|
|
select INPUT
|
2022-01-05 23:12:09 +08:00
|
|
|
select INPUT_MOUSE
|
2014-02-09 13:49:31 -06:00
|
|
|
---help---
|
2022-05-28 02:17:10 +08:00
|
|
|
Enable support for the mouse class driver.
|
2014-02-09 13:49:31 -06:00
|
|
|
|
2014-02-10 11:53:37 -06:00
|
|
|
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
|
2014-02-09 13:49:31 -06:00
|
|
|
|
2014-02-10 10:14:22 -06:00
|
|
|
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.
|
|
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
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.
|
2014-02-09 17:40:23 -06:00
|
|
|
NOTE: All of the following settings apply AFTER X and Y have been swapped.
|
2014-02-09 13:49:31 -06:00
|
|
|
|
|
|
|
|
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---
|
2014-02-09 17:40:23 -06:00
|
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
2014-02-09 13:49:31 -06:00
|
|
|
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.
|
|
|
|
|
|
2014-02-09 17:40:23 -06:00
|
|
|
NOTE that a negative value of HIDMOUSE_XSCALE such as 0xffff0000
|
|
|
|
|
(-1.0) can be used to change the direction of movement.
|
|
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
Default: 0x00010000 (1.0)
|
|
|
|
|
|
|
|
|
|
config HIDMOUSE_YSCALE
|
|
|
|
|
hex "Y scaling factor"
|
|
|
|
|
default 0x00010000
|
|
|
|
|
---help---
|
2014-02-09 17:40:23 -06:00
|
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
2014-02-09 13:49:31 -06:00
|
|
|
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.
|
|
|
|
|
|
2014-02-09 17:40:23 -06:00
|
|
|
NOTE that a negative value of HIDMOUSE_YSCALE such as 0xffff0000
|
|
|
|
|
(-1.0) can be used to change the direction of movement.
|
|
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
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
|
2014-02-10 11:53:37 -06:00
|
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
2014-02-10 10:14:22 -06:00
|
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
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
|
2014-02-10 11:53:37 -06:00
|
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
2014-02-10 10:14:22 -06:00
|
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
|
|
2014-02-09 13:49:31 -06:00
|
|
|
Default: 12
|
|
|
|
|
|
2021-04-08 06:02:31 -03:00
|
|
|
if INPUT_MOUSE_WHEEL
|
2014-02-10 11:53:37 -06:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2021-04-08 06:02:31 -03:00
|
|
|
endif # INPUT_MOUSE_WHEEL
|
2014-02-10 11:53:37 -06:00
|
|
|
endif # USBHOST_HIDMOUSE
|
2014-02-09 13:49:31 -06:00
|
|
|
|
2017-03-17 20:35:49 -07:00
|
|
|
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
|
|
|
|
|
|
2018-07-03 18:49:51 -06:00
|
|
|
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
|
|
|
|
|
|
2013-09-09 14:01:52 -06:00
|
|
|
config USBHOST_TRACE
|
|
|
|
|
bool "Enable USB HCD tracing for debug"
|
|
|
|
|
default n
|
2016-06-30 13:09:22 -06:00
|
|
|
select HAVE_USBTRACE
|
2013-09-09 14:01:52 -06:00
|
|
|
---help---
|
|
|
|
|
Enables USB tracing for debug. Only supported for the HCD and,
|
|
|
|
|
further, no supported by all HCD implementations.
|
|
|
|
|
|
2013-09-09 15:02:33 -06:00
|
|
|
if USBHOST_TRACE
|
|
|
|
|
|
2013-09-09 14:01:52 -06:00
|
|
|
config USBHOST_TRACE_NRECORDS
|
|
|
|
|
int "Number of trace entries to remember"
|
|
|
|
|
default 128
|
|
|
|
|
---help---
|
|
|
|
|
Number of trace entries to remember.
|
2013-09-09 15:02:33 -06:00
|
|
|
|
|
|
|
|
config USBHOST_TRACE_VERBOSE
|
|
|
|
|
bool "Enable verbose debug trace"
|
|
|
|
|
default n
|
|
|
|
|
---help---
|
2013-09-09 17:27:21 -06:00
|
|
|
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
|
2020-02-08 15:30:09 +08:00
|
|
|
|
2020-05-27 15:32:29 -04:00
|
|
|
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
|
|
|
|
|
|
2024-01-15 22:17:31 -05:00
|
|
|
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.
|
|
|
|
|
|
2026-08-16 16:09:13 +08:00
|
|
|
config USBHOST_XHCI
|
|
|
|
|
bool
|
2025-04-16 11:43:09 +02:00
|
|
|
default n
|
2026-08-16 16:09:13 +08:00
|
|
|
depends on USBHOST_WAITER && SCHED_HPWORK && SCHED_LPWORK
|
2025-04-16 11:43:09 +02:00
|
|
|
select USBHOST_HAVE_ASYNCH
|
|
|
|
|
---help---
|
2026-08-16 16:09:13 +08:00
|
|
|
The xHCI controller driver itself, which is the same wherever the
|
|
|
|
|
controller is fitted. Selected by whichever bus found one: PCI
|
|
|
|
|
below, or an SoC that wires one in.
|
2025-04-16 11:43:09 +02:00
|
|
|
|
2026-08-16 16:09:13 +08:00
|
|
|
if USBHOST_XHCI
|
2025-04-16 11:43:09 +02:00
|
|
|
|
|
|
|
|
config USBHOST_XHCI_MAX_DEVS
|
|
|
|
|
int "xHCI maximum supported devices"
|
|
|
|
|
default 8
|
|
|
|
|
range 1 256
|
|
|
|
|
---help---
|
|
|
|
|
How many USB devices will be supported by xHCI driver.
|
|
|
|
|
|
2026-08-16 16:09:13 +08:00
|
|
|
endif # USBHOST_XHCI
|
|
|
|
|
|
|
|
|
|
menuconfig USBHOST_XHCI_PCI
|
|
|
|
|
bool "USB xHCI PCI Host Driver Support"
|
|
|
|
|
default n
|
|
|
|
|
depends on PCI && PCI_MSIX && USBHOST_WAITER && SCHED_HPWORK && SCHED_LPWORK
|
|
|
|
|
select USBHOST_XHCI
|
|
|
|
|
---help---
|
|
|
|
|
USB xHCI PCI host driver support.
|
2025-04-16 11:43:09 +02:00
|
|
|
|
2020-02-08 15:30:09 +08:00
|
|
|
endif # USBHOST
|