8db6919695
Rename local usbd copy from nrfx_usbd to nrf_usbd_common and use it in both USB stacks. Renaming header to nrf_usbd_common.h allows breaking changes in exposed interface. Mark all doxygen comments as internal because local usbd copy should not be treated as public interface because we are under refactoring process that aims to arrive at native driver and therefore drop nrf_usbd_common in the future. Use Zephyr constructs directly instead of nrfx glue macros. No functional changes. Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
164 lines
4.5 KiB
Plaintext
164 lines
4.5 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"
|
|
select USB_DEVICE_DRIVER
|
|
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"
|
|
|
|
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 "Use Interface Association Descriptor code triple"
|
|
help
|
|
This option modifies the code triple in the device descriptor
|
|
to signal that one of the functions has two or more interfaces and
|
|
uses the Interface Association Descriptor.
|
|
|
|
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 64 512 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_MAX_ALT_SETTING
|
|
int "Size of the array where alternate settings are stored"
|
|
range 0 16
|
|
default 8
|
|
help
|
|
Size of the array where alternate settings are stored.
|
|
Should not be smaller than the number of interfaces.
|
|
|
|
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 "Start of Frame processing in events"
|
|
default y if (USB_DEVICE_AUDIO && NRF_USBD_COMMON)
|
|
|
|
config USB_DEVICE_BOS
|
|
bool "USB Binary Device Object Store (BOS)"
|
|
|
|
config USB_DEVICE_OS_DESC
|
|
bool "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_GCOV
|
|
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.
|
|
|
|
config USB_DEVICE_INITIALIZE_AT_BOOT
|
|
bool "Initialize USB device support at boot"
|
|
depends on USB_CDC_ACM
|
|
help
|
|
Use CDC ACM UART as backend for console, shell, or logging.
|
|
|
|
source "subsys/usb/device/class/Kconfig"
|
|
|
|
endif # USB_DEVICE_STACK
|