Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions subsys/usb/host/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,9 @@ zephyr_library_sources_ifdef(
usbip.c
)

zephyr_library_sources_ifdef(
CONFIG_USBH_VENDOR_SERIAL
class/usbh_vendor_serial.c
)

zephyr_linker_sources(DATA_SECTIONS usbh_data.ld)
1 change: 1 addition & 0 deletions subsys/usb/host/class/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
# SPDX-License-Identifier: Apache-2.0

rsource "Kconfig.uvc"
rsource "Kconfig.vendor_serial"
40 changes: 40 additions & 0 deletions subsys/usb/host/class/Kconfig.vendor_serial
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# Copyright (c) 2026 Linumiz
#
# SPDX-License-Identifier: Apache-2.0
#

config USBH_VENDOR_SERIAL
bool "USB Host Vendor Serial Class Support"
depends on USB_HOST_STACK
depends on SERIAL
select UART_ASYNC_API
select SERIAL_SUPPORT_ASYNC
help
USB host class driver for vendor-specific serial devices
that use bulk endpoints for data transfer. Targets modem
devices such as the Quectel EG916Q which expose vendor-class
interfaces for AT/PPP communication.

Exposes the Zephyr UART async API so that higher-level
subsystems (modem, PPP) can use the device transparently.

if USBH_VENDOR_SERIAL

config USBH_VENDOR_SERIAL_INSTANCES_COUNT
int "Number of USB host vendor serial instances"
default 1
range 1 4
help
Maximum number of vendor serial devices that can be
connected simultaneously.

config USBH_VENDOR_SERIAL_LOG_LEVEL
int
default 4

module = USBH_VENDOR_SERIAL
module-str = USB Host Vendor Serial
source "subsys/logging/Kconfig.template.log_config"

endif # USBH_VENDOR_SERIAL
Loading
Loading