2012-04-06 17:49:35 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 16:08:57 +02:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2012-04-06 17:49:35 +02:00
|
|
|
#
|
2012-12-26 19:54:59 +01:00
|
|
|
|
2020-02-08 08:30:09 +01:00
|
|
|
config USBHOST_HAVE_ASYNCH
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-02-15 14:38:35 +01:00
|
|
|
menuconfig USBHOST
|
|
|
|
bool "USB Host Driver Support"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
USB host drivers. See also include/nuttx/usb/usbhost.h
|
|
|
|
|
2020-02-08 08:30:09 +01:00
|
|
|
if USBHOST
|
|
|
|
|
2012-04-13 16:27:44 +02: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 16:53:21 +02:00
|
|
|
config USBHOST_ASYNCH
|
|
|
|
bool "Asynchronous transfer support"
|
|
|
|
default n
|
2015-04-23 01:16:35 +02:00
|
|
|
depends on USBHOST_HAVE_ASYNCH
|
2015-04-20 16:53:21 +02: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.
|
|
|
|
|
2015-04-19 00:20:02 +02:00
|
|
|
config USBHOST_HUB
|
|
|
|
bool "USB Hub Support"
|
|
|
|
default n
|
2015-04-23 01:16:35 +02:00
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_INT_DISABLE
|
2015-04-20 16:53:21 +02:00
|
|
|
select USBHOST_ASYNCH
|
2015-04-19 00:20:02 +02:00
|
|
|
---help---
|
|
|
|
Select this option to build in support for USB hubs.
|
|
|
|
|
2015-04-30 19:30:01 +02: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 17:07:52 +02:00
|
|
|
config USBHOST_COMPOSITE
|
|
|
|
bool "Composite device support"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Build in USB host support for connected composite devices
|
|
|
|
|
2016-08-31 15:56:27 +02: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 19:30:22 +02:00
|
|
|
with no support for the other interfaces.
|
2016-08-31 15:56:27 +02:00
|
|
|
|
2012-12-26 19:54:59 +01:00
|
|
|
config USBHOST_MSC
|
|
|
|
bool "Mass Storage Class Support"
|
|
|
|
default n
|
|
|
|
depends on !BULK_DISABLE
|
|
|
|
---help---
|
2017-06-16 16:43:11 +02:00
|
|
|
Enable support for the mass storage class driver. This also depends on
|
2021-03-08 07:25:03 +01:00
|
|
|
SCHED_WORKQUEUE=y
|
2020-11-28 04:48:10 +01:00
|
|
|
|
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 04:48:10 +01:00
|
|
|
connected or disconnected.
|
|
|
|
|
2015-05-06 20:49:00 +02: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 23:10:41 +02:00
|
|
|
select SERIAL_REMOVABLE
|
2015-05-06 20:49:00 +02:00
|
|
|
---help---
|
|
|
|
Select this option to build in host support for CDC/ACM serial
|
|
|
|
devices.
|
|
|
|
|
|
|
|
if USBHOST_CDCACM
|
|
|
|
|
2015-05-10 16:16:58 +02: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 21:35:56 +02:00
|
|
|
If the CDC/ACM compliant protocol is selected, then the reduced
|
2015-05-10 16:16:58 +02: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
|
|
|
|
protocol. The interrupt IN control interface will not be used even
|
|
|
|
if it is available in this case.
|
|
|
|
|
2015-05-07 19:16:03 +02:00
|
|
|
config USBHOST_CDCACM_BULKONLY
|
|
|
|
bool "Bulk only protocol"
|
|
|
|
---help---
|
2015-05-10 16:16:58 +02: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 19:16:03 +02:00
|
|
|
protocol are supported. This option is then most useful for testing
|
2015-05-10 16:16:58 +02:00
|
|
|
purposes. The interrupt IN control interface will not be used even
|
2020-02-23 09:50:23 +01:00
|
|
|
if it is available; nor will EP0 class requests.
|
2015-05-10 16:16:58 +02:00
|
|
|
|
|
|
|
endchoice # CDC/ACM Protocol
|
2015-05-07 19:16:03 +02:00
|
|
|
|
2015-05-06 20:49:00 +02:00
|
|
|
config USBHOST_CDCACM_NTDELAY
|
|
|
|
int "CDC/ACM notification polling interval (MSec)"
|
|
|
|
default 400
|
2015-05-10 18:23:23 +02:00
|
|
|
depends on USBHOST_CDCACM_COMPLIANT
|
2015-05-06 20:49:00 +02: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 16:32:50 +02:00
|
|
|
int "RX poll delay (MSec)"
|
2015-05-06 20:49:00 +02: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 16:32:50 +02:00
|
|
|
int "TX poll delay (MSec)"
|
2015-05-06 20:49:00 +02:00
|
|
|
default 200
|
|
|
|
---help---
|
|
|
|
When the appellation is inactive, the host must poll it at this
|
2019-09-29 20:52:20 +02:00
|
|
|
rate in order to discover if it has serial data to send to the
|
2015-05-06 20:49:00 +02: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 09:50:23 +01:00
|
|
|
data waiting for transmission.
|
2015-05-06 20:49:00 +02:00
|
|
|
|
|
|
|
endif # USBHOST_CDCACM
|
|
|
|
|
2020-06-14 15:10:11 +02:00
|
|
|
config USBHOST_CDCMBIM
|
|
|
|
bool "CDC/MBIM support"
|
|
|
|
default n
|
2020-06-15 00:59:38 +02:00
|
|
|
depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE && EXPERIMENTAL
|
2020-06-14 15:10:11 +02:00
|
|
|
select USBHOST_ASYNCH
|
2020-06-15 00:59:38 +02:00
|
|
|
select NET_MBIM
|
2020-06-14 15:10:11 +02:00
|
|
|
---help---
|
|
|
|
Select this option to build in host support for CDC/MBIM network
|
|
|
|
devices.
|
|
|
|
|
2012-04-13 16:27:44 +02:00
|
|
|
config USBHOST_HIDKBD
|
2012-12-26 19:54:59 +01:00
|
|
|
bool "HID Keyboard Class Support"
|
2012-04-13 16:27:44 +02:00
|
|
|
default n
|
2012-12-26 19:54:59 +01:00
|
|
|
depends on !INT_DISABLE
|
|
|
|
---help---
|
|
|
|
Enable support for the keyboard class driver. This also depends on
|
2019-04-29 22:52:05 +02:00
|
|
|
SCHED_WORKQUEUE
|
2012-04-13 16:27:44 +02:00
|
|
|
|
|
|
|
if USBHOST_HIDKBD
|
2014-02-09 20:49:31 +01:00
|
|
|
|
2012-04-13 16:27:44 +02:00
|
|
|
config HIDKBD_POLLUSEC
|
2012-12-26 19:54:59 +01:00
|
|
|
int "Keyboard Poll Rate (MSEC)"
|
2019-10-23 17:07:23 +02:00
|
|
|
default 40000
|
2012-04-13 16:27:44 +02:00
|
|
|
---help---
|
2019-10-23 17:07:23 +02:00
|
|
|
Device poll rate in microseconds. Default: 40,000 microseconds.
|
2012-04-13 16:27:44 +02:00
|
|
|
|
|
|
|
config HIDKBD_DEFPRIO
|
2012-12-26 19:54:59 +01:00
|
|
|
int "Polling Thread Priority"
|
|
|
|
default 50
|
2012-04-13 16:27:44 +02:00
|
|
|
---help---
|
|
|
|
Priority of the polling thread. Default: 50.
|
|
|
|
|
|
|
|
config HIDKBD_STACKSIZE
|
2012-12-26 19:54:59 +01:00
|
|
|
int "Polling thread stack size"
|
|
|
|
default 1024
|
2012-04-13 16:27:44 +02:00
|
|
|
---help---
|
|
|
|
Stack size for polling thread. Default: 1024
|
|
|
|
|
|
|
|
config HIDKBD_BUFSIZE
|
2012-12-26 19:54:59 +01:00
|
|
|
int "Scancode Buffer Size"
|
|
|
|
default 64
|
2012-04-13 16:27:44 +02:00
|
|
|
---help---
|
|
|
|
Scancode buffer size. Default: 64.
|
|
|
|
|
|
|
|
config HIDKBD_NPOLLWAITERS
|
2012-12-26 19:54:59 +01:00
|
|
|
int "Max Number of Waiters for Poll Event"
|
|
|
|
default 2
|
2012-04-13 16:27:44 +02:00
|
|
|
---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
|
2012-12-26 19:54:59 +01: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.
|
|
|
|
|
|
|
|
config HIDKBD_ENCODED
|
2013-04-21 19:01:46 +02:00
|
|
|
bool "Encode Special Keys"
|
2012-04-13 16:27:44 +02:00
|
|
|
default n
|
2012-12-26 22:37:50 +01:00
|
|
|
depends on !HIDKBD_RAWSCANCODES && LIB_KBDCODEC
|
2012-04-13 16:27:44 +02:00
|
|
|
---help---
|
2012-12-26 19:54:59 +01:00
|
|
|
Encode special key press events in the user buffer. In this case,
|
2012-12-26 22:37:50 +01:00
|
|
|
the user end must decode the encoded special key values using the
|
2012-12-26 19:54:59 +01:00
|
|
|
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.
|
2012-04-13 16:27:44 +02:00
|
|
|
|
|
|
|
config HIDKBD_ALLSCANCODES
|
2012-12-26 19:54:59 +01:00
|
|
|
bool "Use All Scancodes"
|
2012-04-13 16:27:44 +02:00
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
If set to y all 231 possible scancodes will be converted to
|
|
|
|
something. Default: 104 key US keyboard.
|
|
|
|
|
|
|
|
config HIDKBD_NODEBOUNCE
|
2012-12-26 19:54:59 +01:00
|
|
|
bool "Disable Debounce"
|
2012-04-13 16:27:44 +02:00
|
|
|
default n
|
|
|
|
---help---
|
2014-02-09 20:49:31 +01:00
|
|
|
If set to y normal debouncing is disabled. Default:
|
2012-04-13 16:27:44 +02:00
|
|
|
Debounce enabled (No repeat keys).
|
2013-09-09 22:01:52 +02:00
|
|
|
|
2012-04-13 16:27:44 +02:00
|
|
|
endif
|
2013-09-09 22:01:52 +02:00
|
|
|
|
2014-02-09 20:49:31 +01:00
|
|
|
config USBHOST_HIDMOUSE
|
|
|
|
bool "HID Mouse Class Support"
|
|
|
|
default n
|
|
|
|
depends on !INT_DISABLE
|
2014-02-09 22:57:59 +01:00
|
|
|
select INPUT
|
2014-02-10 18:53:37 +01:00
|
|
|
select MOUSE
|
2014-02-09 20:49:31 +01:00
|
|
|
---help---
|
|
|
|
Enable support for the mouse class driver. This also depends on
|
2019-04-29 22:52:05 +02:00
|
|
|
SCHED_WORKQUEUE
|
2014-02-09 20:49:31 +01:00
|
|
|
|
2014-02-10 18:53:37 +01: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 20:49:31 +01:00
|
|
|
|
2014-02-10 17:14:22 +01: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 20:49:31 +01: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-10 00:40:23 +01:00
|
|
|
NOTE: All of the following settings apply AFTER X and Y have been swapped.
|
2014-02-09 20:49:31 +01: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-10 00:40:23 +01:00
|
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
2014-02-09 20:49:31 +01: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-10 00:40:23 +01: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 20:49:31 +01:00
|
|
|
Default: 0x00010000 (1.0)
|
|
|
|
|
|
|
|
config HIDMOUSE_YSCALE
|
|
|
|
hex "Y scaling factor"
|
|
|
|
default 0x00010000
|
|
|
|
---help---
|
2014-02-10 00:40:23 +01:00
|
|
|
Mouse positions are accumulated from X/Y displacements reported by
|
2014-02-09 20:49:31 +01: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-10 00:40:23 +01: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 20:49:31 +01: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 18:53:37 +01:00
|
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
2014-02-10 17:14:22 +01:00
|
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
|
2014-02-09 20:49:31 +01: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 18:53:37 +01:00
|
|
|
thresholds. This tradeoff reduces data rate for some loss in dragging accuracy.
|
2014-02-10 17:14:22 +01:00
|
|
|
Both X and Y axis thresholding can be disabled by setting this value to zero.
|
|
|
|
|
2014-02-09 20:49:31 +01:00
|
|
|
Default: 12
|
|
|
|
|
2014-02-10 18:53:37 +01:00
|
|
|
if 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 # MOUSE_WHEEL
|
|
|
|
endif # USBHOST_HIDMOUSE
|
2014-02-09 20:49:31 +01:00
|
|
|
|
2017-03-18 04:35:49 +01: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-04 02:49:51 +02: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 22:01:52 +02:00
|
|
|
config USBHOST_TRACE
|
|
|
|
bool "Enable USB HCD tracing for debug"
|
|
|
|
default n
|
2016-06-30 21:09:22 +02:00
|
|
|
select HAVE_USBTRACE
|
2013-09-09 22:01:52 +02:00
|
|
|
---help---
|
|
|
|
Enables USB tracing for debug. Only supported for the HCD and,
|
|
|
|
further, no supported by all HCD implementations.
|
|
|
|
|
2013-09-09 23:02:33 +02:00
|
|
|
if USBHOST_TRACE
|
|
|
|
|
2013-09-09 22:01:52 +02:00
|
|
|
config USBHOST_TRACE_NRECORDS
|
|
|
|
int "Number of trace entries to remember"
|
|
|
|
default 128
|
|
|
|
---help---
|
|
|
|
Number of trace entries to remember.
|
2013-09-09 23:02:33 +02:00
|
|
|
|
|
|
|
config USBHOST_TRACE_VERBOSE
|
|
|
|
bool "Enable verbose debug trace"
|
|
|
|
default n
|
|
|
|
---help---
|
2013-09-10 01:27:21 +02: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 08:30:09 +01:00
|
|
|
|
2020-05-27 21:32:29 +02: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
|
|
|
|
|
|
|
|
|
2020-02-08 08:30:09 +01:00
|
|
|
endif # USBHOST
|