156 lines
4.2 KiB
Plaintext
156 lines
4.2 KiB
Plaintext
# USB device stack configuration options
|
|
|
|
# Copyright (c) 2016 Wind River Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig USB_DEVICE_STACK
|
|
bool "USB Device Support"
|
|
depends on USB_DEVICE_DRIVER || ARCH_POSIX
|
|
select HWINFO
|
|
help
|
|
Enable USB device stack.
|
|
|
|
if USB_DEVICE_STACK
|
|
|
|
module = USB_DEVICE
|
|
module-str = usb device
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
source "samples/subsys/usb/usb_pid.Kconfig"
|
|
|
|
config USB_DEVICE_VID
|
|
hex "USB Vendor ID"
|
|
default 0x2FE3
|
|
help
|
|
USB device vendor ID. MUST be configured by vendor.
|
|
|
|
config USB_DEVICE_PID
|
|
hex "USB Product ID"
|
|
default 0x0100
|
|
help
|
|
USB device product ID. MUST be configured by vendor.
|
|
|
|
config USB_DEVICE_MANUFACTURER
|
|
string "USB manufacturer name"
|
|
default "ZEPHYR"
|
|
help
|
|
USB device Manufacturer string. MUST be configured by vendor.
|
|
|
|
config USB_DEVICE_PRODUCT
|
|
string "USB product name"
|
|
default "USB-DEV"
|
|
help
|
|
USB device Product string. MUST be configured by vendor.
|
|
|
|
config USB_DEVICE_SN
|
|
string "USB device Serial Number String"
|
|
default "0123456789ABCDEF"
|
|
help
|
|
Placeholder for USB device Serial Number String.
|
|
Serial Number String will be derived from
|
|
Hardware Information Driver (HWINFO).
|
|
|
|
config USB_COMPOSITE_DEVICE
|
|
bool "Enable composite device driver"
|
|
depends on USB
|
|
help
|
|
Enable composite USB device driver.
|
|
|
|
config USB_MAX_NUM_TRANSFERS
|
|
int "Set number of USB transfer data buffers"
|
|
range 1 32
|
|
default 4
|
|
help
|
|
Allocates buffers used for parallel transfers. Increase this number
|
|
according to USB devices count.
|
|
|
|
config USB_DEVICE_BLUETOOTH_BIG_BUF
|
|
bool
|
|
# Hidden option to simplify bluetooth buffer requirement
|
|
# TODO: Add BUF reserve in H4 mode and ISO?
|
|
default y if BT_BUF_ACL_RX_SIZE > 123 # 4 byte header
|
|
default y if BT_BUF_ACL_TX_SIZE > 123 # 4 byte header
|
|
default y if BT_BUF_EVT_RX_SIZE > 125 # 2 byte header
|
|
default y if BT_BUF_CMD_TX_SIZE > 124 # 3 byte header
|
|
|
|
config USB_REQUEST_BUFFER_SIZE
|
|
int "Set buffer size for Standard, Class and Vendor request handlers"
|
|
range 256 65536 if USB_DEVICE_NETWORK_RNDIS
|
|
range 8 65536
|
|
default 256 if USB_DEVICE_NETWORK_RNDIS
|
|
default 266 if (USB_DEVICE_BLUETOOTH && USB_DEVICE_BLUETOOTH_BIG_BUF)
|
|
default 1024 if USB_DEVICE_LOOPBACK
|
|
default 128
|
|
|
|
config USB_NUMOF_EP_WRITE_RETRIES
|
|
int "Number of endpoint write retries"
|
|
default 3
|
|
help
|
|
Number of endpoint write retries.
|
|
|
|
config USB_DEVICE_SOF
|
|
bool "Enable Start of Frame processing in events"
|
|
default y if (USB_DEVICE_AUDIO && NRFX_USBD)
|
|
|
|
config USB_DEVICE_REMOTE_WAKEUP
|
|
bool "Enable support for remote wakeup"
|
|
help
|
|
This option requires USBD peripheral driver to also support remote wakeup.
|
|
|
|
config USB_DEVICE_BOS
|
|
bool "Enable USB Binary Device Object Store (BOS)"
|
|
|
|
config USB_DEVICE_OS_DESC
|
|
bool "Enable MS OS Descriptors support"
|
|
|
|
config USB_SELF_POWERED
|
|
bool "Set Self-powered characteristic"
|
|
default y
|
|
help
|
|
Set Self-powered characteristic in bmAttributes to indicate
|
|
self powered USB device.
|
|
|
|
config USB_MAX_POWER
|
|
int "Set bMaxPower value"
|
|
default 50
|
|
range 0 250
|
|
help
|
|
Set bMaxPower value in the Standard Configuration Descriptor,
|
|
the result is 2mA times the value provided.
|
|
|
|
config USB_WORKQUEUE
|
|
bool "Use a dedicate work queue in the USB subsystem"
|
|
default y if USB_CDC_ACM
|
|
help
|
|
This option provides a dedicated work queue that is used for
|
|
all offloaded operations initiated by the USB subsystem.
|
|
This prevents deadlock situations where tasks on the system
|
|
workqueue inadvertently initiate operations that block, such
|
|
as UART transmission on CDC-ACM, preventing the system work
|
|
queue from making progress on the USB tasks that would
|
|
release the task.
|
|
|
|
Without this the system work queue is used for all USB
|
|
offloaded transfers.
|
|
|
|
config USB_WORKQUEUE_STACK_SIZE
|
|
int "USB workqueue stack size"
|
|
depends on USB_WORKQUEUE
|
|
default 4096 if COVERAGE
|
|
default 1024
|
|
|
|
config USB_WORKQUEUE_PRIORITY
|
|
int "USB workqueue priority"
|
|
depends on USB_WORKQUEUE
|
|
default -2 if COOP_ENABLED && !PREEMPT_ENABLED
|
|
default 0 if !COOP_ENABLED
|
|
default -1
|
|
help
|
|
By default, USB work queue priority is the lowest cooperative
|
|
priority. This means that any work handler, once started, won't
|
|
be preempted by any other thread until finished.
|
|
|
|
source "subsys/usb/class/Kconfig"
|
|
|
|
endif # USB_DEVICE_STACK
|