Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# 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 stack"
	depends on USB_DEVICE_DRIVER || ARCH_POSIX
	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 serial number"
	default "ABCDEF012345" if USB_MASS_STORAGE
	default "0.01"
	help
	  USB device SerialNumber string. MUST be configured by vendor.

config USB_COMPOSITE_DEVICE
	bool "Enable composite device driver"
	depends on USB
	help
	  Enable composite USB device driver.

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 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"

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_DISABLE_ZLP_EPIN_HANDLING
	bool
	help
	  Stack should not handle ZLP for Variable-length Data Stage
	  because it is taken over by the hardware.

config USB_DEVICE_BOS
	bool "Enable USB Binary Device Object Store (BOS)"

config USB_DEVICE_OS_DESC
	bool "Enable MS OS Descriptors support"

menuconfig USB_VBUS_GPIO
	bool "Control VBUS via GPIO pin"
	depends on GPIO
	help
	  The USB VBUS signal is connected via a GPIO pin.

if USB_VBUS_GPIO

config USB_VBUS_GPIO_DEV_NAME
	string "GPIO Device"
	default "GPIO_0"
	help
	  The device name of the GPIO device to which the USB_VBUS_EN signal is
	  connected.

config USB_VBUS_GPIO_PIN_NUM
	int "GPIO pin number"
	default 0
	help
	  The number of the GPIO pin to which the USB_VBUS_EN signal is
	  connected.

endif # USB_VBUS_GPIO

source "subsys/usb/class/Kconfig"

endif # USB_DEVICE_STACK