diff --git a/CODEOWNERS b/CODEOWNERS index 9984570fe52..1946a03b3b9 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -771,7 +771,7 @@ scripts/gen_image_info.py @tejlmand /subsys/testsuite/ztest/*/ztress* @nordic-krch /subsys/timing/ @nashif @dcpleung /subsys/usb/ @jfischer-no -/subsys/usb/class/dfu/usb_dfu.c @nvlsianpu +/subsys/usb/device/class/dfu/usb_dfu.c @nvlsianpu /tests/ @nashif /tests/arch/arm/ @ioannisg @stephanosio /tests/benchmarks/cmsis_dsp/ @stephanosio diff --git a/doc/reference/usb/uds.rst b/doc/reference/usb/uds.rst index 3e2c4efc5b4..debe972b1b9 100644 --- a/doc/reference/usb/uds.rst +++ b/doc/reference/usb/uds.rst @@ -52,7 +52,7 @@ The following structures and callbacks need to be defined: For example, for the USB loopback application: -.. literalinclude:: ../../../subsys/usb/class/loopback.c +.. literalinclude:: ../../../subsys/usb/device/class/loopback.c :language: c :start-after: usb.rst config structure start :end-before: usb.rst config structure end @@ -60,7 +60,7 @@ For example, for the USB loopback application: Endpoint configuration: -.. literalinclude:: ../../../subsys/usb/class/loopback.c +.. literalinclude:: ../../../subsys/usb/device/class/loopback.c :language: c :start-after: usb.rst endpoint configuration start :end-before: usb.rst endpoint configuration end @@ -68,7 +68,7 @@ Endpoint configuration: USB Device configuration structure: -.. literalinclude:: ../../../subsys/usb/class/loopback.c +.. literalinclude:: ../../../subsys/usb/device/class/loopback.c :language: c :start-after: usb.rst device config data start :end-before: usb.rst device config data end @@ -81,7 +81,7 @@ class driver through the registered vendor handler. For the loopback class driver, :c:func:`loopback_vendor_handler` processes the vendor requests: -.. literalinclude:: ../../../subsys/usb/class/loopback.c +.. literalinclude:: ../../../subsys/usb/device/class/loopback.c :language: c :start-after: usb.rst vendor handler start :end-before: usb.rst vendor handler end diff --git a/samples/net/wpanusb/CMakeLists.txt b/samples/net/wpanusb/CMakeLists.txt index 82b85149d5c..a79b5dc9e48 100644 --- a/samples/net/wpanusb/CMakeLists.txt +++ b/samples/net/wpanusb/CMakeLists.txt @@ -6,7 +6,7 @@ project(wpanusb) target_include_directories(app PRIVATE ${ZEPHYR_BASE}/subsys/net/ip) target_include_directories(app PRIVATE ${ZEPHYR_BASE}/subsys/net/l2) -target_include_directories(app PRIVATE ${ZEPHYR_BASE}/subsys/usb) +target_include_directories(app PRIVATE ${ZEPHYR_BASE}/subsys/usb/device) FILE(GLOB app_sources src/*.c) target_sources(app PRIVATE ${app_sources}) diff --git a/subsys/CMakeLists.txt b/subsys/CMakeLists.txt index 35f47bfb03f..dbd6c1e82fa 100644 --- a/subsys/CMakeLists.txt +++ b/subsys/CMakeLists.txt @@ -14,7 +14,7 @@ add_subdirectory(ipc) add_subdirectory(mgmt) add_subdirectory_ifdef(CONFIG_MCUBOOT_IMG_MANAGER dfu) add_subdirectory_ifdef(CONFIG_NET_BUF net) -add_subdirectory_ifdef(CONFIG_USB_DEVICE_STACK usb) +add_subdirectory(usb) add_subdirectory(random) add_subdirectory(storage) add_subdirectory_ifdef(CONFIG_SETTINGS settings) diff --git a/subsys/Kconfig b/subsys/Kconfig index fb2c7916edd..51c001d13b3 100644 --- a/subsys/Kconfig +++ b/subsys/Kconfig @@ -46,7 +46,7 @@ source "subsys/shell/Kconfig" source "subsys/stats/Kconfig" -source "subsys/usb/Kconfig" +source "subsys/usb/device/Kconfig" source "subsys/dfu/Kconfig" diff --git a/subsys/usb/CMakeLists.txt b/subsys/usb/CMakeLists.txt index dc95cc904f4..a8cf1a69c12 100644 --- a/subsys/usb/CMakeLists.txt +++ b/subsys/usb/CMakeLists.txt @@ -1,34 +1,4 @@ +# Copyright (c) 2022 Nordic Semiconductor # SPDX-License-Identifier: Apache-2.0 -if(CONFIG_USB_DEVICE_STACK) - zephyr_include_directories(${ZEPHYR_BASE}/subsys/usb) - - zephyr_sources( - usb_device.c - usb_descriptor.c - usb_transfer.c - ) - - add_subdirectory(class) -endif() - -zephyr_sources_ifdef(CONFIG_USB_DEVICE_BOS bos.c) - -zephyr_sources_ifdef(CONFIG_USB_DEVICE_OS_DESC os_desc.c) - -zephyr_sources_ifdef(CONFIG_USB_WORKQUEUE usb_work_q.c) - -if(CONFIG_USB_DEVICE_VID EQUAL 0x2FE3) - message(WARNING - "CONFIG_USB_DEVICE_VID has default value 0x2FE3. -This value is only for testing and MUST be configured for USB products." - ) - - if(CONFIG_USB_DEVICE_PID EQUAL 0x100) - message(WARNING - "CONFIG_USB_DEVICE_PID has default value 0x100. -This value is only for testing and MUST be configured for USB products." - ) - endif() - -endif() +add_subdirectory_ifdef(CONFIG_USB_DEVICE_STACK device) diff --git a/subsys/usb/class/Kconfig b/subsys/usb/class/Kconfig deleted file mode 100644 index b79641efe33..00000000000 --- a/subsys/usb/class/Kconfig +++ /dev/null @@ -1,20 +0,0 @@ -# USB class drivers configuration options - -# Copyright (c) 2016 Wind River Systems, Inc. -# SPDX-License-Identifier: Apache-2.0 - -source "subsys/usb/class/Kconfig.cdc" - -source "subsys/usb/class/Kconfig.msc" - -source "subsys/usb/class/Kconfig.bt" - -source "subsys/usb/class/Kconfig.test" - -source "subsys/usb/class/netusb/Kconfig" - -source "subsys/usb/class/hid/Kconfig" - -source "subsys/usb/class/audio/Kconfig" - -source "subsys/usb/class/dfu/Kconfig" diff --git a/subsys/usb/device/CMakeLists.txt b/subsys/usb/device/CMakeLists.txt new file mode 100644 index 00000000000..c9f830b217f --- /dev/null +++ b/subsys/usb/device/CMakeLists.txt @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(CONFIG_USB_DEVICE_STACK) + zephyr_include_directories(${ZEPHYR_BASE}/subsys/usb/device) + + zephyr_sources( + usb_device.c + usb_descriptor.c + usb_transfer.c + ) + + add_subdirectory(class) +endif() + +zephyr_sources_ifdef(CONFIG_USB_DEVICE_BOS bos.c) + +zephyr_sources_ifdef(CONFIG_USB_DEVICE_OS_DESC os_desc.c) + +zephyr_sources_ifdef(CONFIG_USB_WORKQUEUE usb_work_q.c) + +if(CONFIG_USB_DEVICE_VID EQUAL 0x2FE3) + message(WARNING + "CONFIG_USB_DEVICE_VID has default value 0x2FE3. +This value is only for testing and MUST be configured for USB products." + ) + + if(CONFIG_USB_DEVICE_PID EQUAL 0x100) + message(WARNING + "CONFIG_USB_DEVICE_PID has default value 0x100. +This value is only for testing and MUST be configured for USB products." + ) + endif() + +endif() diff --git a/subsys/usb/Kconfig b/subsys/usb/device/Kconfig similarity index 99% rename from subsys/usb/Kconfig rename to subsys/usb/device/Kconfig index 89a64fdbbd2..7239f0696aa 100644 --- a/subsys/usb/Kconfig +++ b/subsys/usb/device/Kconfig @@ -158,6 +158,6 @@ config USB_DEVICE_INITIALIZE_AT_BOOT help Use CDC ACM UART as backend for console, shell, or logging. -source "subsys/usb/class/Kconfig" +source "subsys/usb/device/class/Kconfig" endif # USB_DEVICE_STACK diff --git a/subsys/usb/bos.c b/subsys/usb/device/bos.c similarity index 100% rename from subsys/usb/bos.c rename to subsys/usb/device/bos.c diff --git a/subsys/usb/class/CMakeLists.txt b/subsys/usb/device/class/CMakeLists.txt similarity index 100% rename from subsys/usb/class/CMakeLists.txt rename to subsys/usb/device/class/CMakeLists.txt diff --git a/subsys/usb/device/class/Kconfig b/subsys/usb/device/class/Kconfig new file mode 100644 index 00000000000..9761e969a56 --- /dev/null +++ b/subsys/usb/device/class/Kconfig @@ -0,0 +1,20 @@ +# USB class drivers configuration options + +# Copyright (c) 2016 Wind River Systems, Inc. +# SPDX-License-Identifier: Apache-2.0 + +source "subsys/usb/device/class/Kconfig.cdc" + +source "subsys/usb/device/class/Kconfig.msc" + +source "subsys/usb/device/class/Kconfig.bt" + +source "subsys/usb/device/class/Kconfig.test" + +source "subsys/usb/device/class/netusb/Kconfig" + +source "subsys/usb/device/class/hid/Kconfig" + +source "subsys/usb/device/class/audio/Kconfig" + +source "subsys/usb/device/class/dfu/Kconfig" diff --git a/subsys/usb/class/Kconfig.bt b/subsys/usb/device/class/Kconfig.bt similarity index 100% rename from subsys/usb/class/Kconfig.bt rename to subsys/usb/device/class/Kconfig.bt diff --git a/subsys/usb/class/Kconfig.cdc b/subsys/usb/device/class/Kconfig.cdc similarity index 100% rename from subsys/usb/class/Kconfig.cdc rename to subsys/usb/device/class/Kconfig.cdc diff --git a/subsys/usb/class/Kconfig.msc b/subsys/usb/device/class/Kconfig.msc similarity index 100% rename from subsys/usb/class/Kconfig.msc rename to subsys/usb/device/class/Kconfig.msc diff --git a/subsys/usb/class/Kconfig.template.composite_device_number b/subsys/usb/device/class/Kconfig.template.composite_device_number similarity index 100% rename from subsys/usb/class/Kconfig.template.composite_device_number rename to subsys/usb/device/class/Kconfig.template.composite_device_number diff --git a/subsys/usb/class/Kconfig.test b/subsys/usb/device/class/Kconfig.test similarity index 100% rename from subsys/usb/class/Kconfig.test rename to subsys/usb/device/class/Kconfig.test diff --git a/subsys/usb/class/audio/CMakeLists.txt b/subsys/usb/device/class/audio/CMakeLists.txt similarity index 100% rename from subsys/usb/class/audio/CMakeLists.txt rename to subsys/usb/device/class/audio/CMakeLists.txt diff --git a/subsys/usb/class/audio/Kconfig b/subsys/usb/device/class/audio/Kconfig similarity index 100% rename from subsys/usb/class/audio/Kconfig rename to subsys/usb/device/class/audio/Kconfig diff --git a/subsys/usb/class/audio/audio.c b/subsys/usb/device/class/audio/audio.c similarity index 100% rename from subsys/usb/class/audio/audio.c rename to subsys/usb/device/class/audio/audio.c diff --git a/subsys/usb/class/audio/usb_audio_internal.h b/subsys/usb/device/class/audio/usb_audio_internal.h similarity index 100% rename from subsys/usb/class/audio/usb_audio_internal.h rename to subsys/usb/device/class/audio/usb_audio_internal.h diff --git a/subsys/usb/class/bluetooth.c b/subsys/usb/device/class/bluetooth.c similarity index 100% rename from subsys/usb/class/bluetooth.c rename to subsys/usb/device/class/bluetooth.c diff --git a/subsys/usb/class/bt_h4.c b/subsys/usb/device/class/bt_h4.c similarity index 100% rename from subsys/usb/class/bt_h4.c rename to subsys/usb/device/class/bt_h4.c diff --git a/subsys/usb/class/cdc_acm.c b/subsys/usb/device/class/cdc_acm.c similarity index 100% rename from subsys/usb/class/cdc_acm.c rename to subsys/usb/device/class/cdc_acm.c diff --git a/subsys/usb/class/dfu/CMakeLists.txt b/subsys/usb/device/class/dfu/CMakeLists.txt similarity index 100% rename from subsys/usb/class/dfu/CMakeLists.txt rename to subsys/usb/device/class/dfu/CMakeLists.txt diff --git a/subsys/usb/class/dfu/Kconfig b/subsys/usb/device/class/dfu/Kconfig similarity index 100% rename from subsys/usb/class/dfu/Kconfig rename to subsys/usb/device/class/dfu/Kconfig diff --git a/subsys/usb/class/dfu/usb_dfu.c b/subsys/usb/device/class/dfu/usb_dfu.c similarity index 100% rename from subsys/usb/class/dfu/usb_dfu.c rename to subsys/usb/device/class/dfu/usb_dfu.c diff --git a/subsys/usb/class/hid/CMakeLists.txt b/subsys/usb/device/class/hid/CMakeLists.txt similarity index 86% rename from subsys/usb/class/hid/CMakeLists.txt rename to subsys/usb/device/class/hid/CMakeLists.txt index 9a3ac8d7edb..dd8c926d921 100644 --- a/subsys/usb/class/hid/CMakeLists.txt +++ b/subsys/usb/device/class/hid/CMakeLists.txt @@ -6,7 +6,7 @@ zephyr_library_include_directories( # USB headers #${ZEPHYR_BASE}/include/drivers/usb ${ZEPHYR_BASE}/include/usb - ${ZEPHYR_BASE}/subsys/usb + ${ZEPHYR_BASE}/subsys/usb/device ) zephyr_library_sources( diff --git a/subsys/usb/class/hid/Kconfig b/subsys/usb/device/class/hid/Kconfig similarity index 96% rename from subsys/usb/class/hid/Kconfig rename to subsys/usb/device/class/hid/Kconfig index cb051495f56..4afcc83368d 100644 --- a/subsys/usb/class/hid/Kconfig +++ b/subsys/usb/device/class/hid/Kconfig @@ -20,7 +20,7 @@ config USB_HID_DEVICE_NAME module = USB_HID default-count = 1 -source "subsys/usb/class/Kconfig.template.composite_device_number" +source "subsys/usb/device/class/Kconfig.template.composite_device_number" module = USB_HID module-str = usb hid diff --git a/subsys/usb/class/hid/core.c b/subsys/usb/device/class/hid/core.c similarity index 100% rename from subsys/usb/class/hid/core.c rename to subsys/usb/device/class/hid/core.c diff --git a/subsys/usb/class/loopback.c b/subsys/usb/device/class/loopback.c similarity index 100% rename from subsys/usb/class/loopback.c rename to subsys/usb/device/class/loopback.c diff --git a/subsys/usb/class/msc.c b/subsys/usb/device/class/msc.c similarity index 100% rename from subsys/usb/class/msc.c rename to subsys/usb/device/class/msc.c diff --git a/subsys/usb/class/netusb/CMakeLists.txt b/subsys/usb/device/class/netusb/CMakeLists.txt similarity index 93% rename from subsys/usb/class/netusb/CMakeLists.txt rename to subsys/usb/device/class/netusb/CMakeLists.txt index 0f8b99b21ae..74029cf7c3c 100644 --- a/subsys/usb/class/netusb/CMakeLists.txt +++ b/subsys/usb/device/class/netusb/CMakeLists.txt @@ -6,7 +6,7 @@ zephyr_library_include_directories( # USB headers ${ZEPHYR_BASE}/include/drivers/usb ${ZEPHYR_BASE}/include/usb/ - ${ZEPHYR_BASE}/subsys/usb/ + ${ZEPHYR_BASE}/subsys/usb/device/ .. # IP headers diff --git a/subsys/usb/class/netusb/Kconfig b/subsys/usb/device/class/netusb/Kconfig similarity index 100% rename from subsys/usb/class/netusb/Kconfig rename to subsys/usb/device/class/netusb/Kconfig diff --git a/subsys/usb/class/netusb/function_ecm.c b/subsys/usb/device/class/netusb/function_ecm.c similarity index 100% rename from subsys/usb/class/netusb/function_ecm.c rename to subsys/usb/device/class/netusb/function_ecm.c diff --git a/subsys/usb/class/netusb/function_eem.c b/subsys/usb/device/class/netusb/function_eem.c similarity index 100% rename from subsys/usb/class/netusb/function_eem.c rename to subsys/usb/device/class/netusb/function_eem.c diff --git a/subsys/usb/class/netusb/function_rndis.c b/subsys/usb/device/class/netusb/function_rndis.c similarity index 100% rename from subsys/usb/class/netusb/function_rndis.c rename to subsys/usb/device/class/netusb/function_rndis.c diff --git a/subsys/usb/class/netusb/function_rndis.h b/subsys/usb/device/class/netusb/function_rndis.h similarity index 100% rename from subsys/usb/class/netusb/function_rndis.h rename to subsys/usb/device/class/netusb/function_rndis.h diff --git a/subsys/usb/class/netusb/netusb.c b/subsys/usb/device/class/netusb/netusb.c similarity index 100% rename from subsys/usb/class/netusb/netusb.c rename to subsys/usb/device/class/netusb/netusb.c diff --git a/subsys/usb/class/netusb/netusb.h b/subsys/usb/device/class/netusb/netusb.h similarity index 100% rename from subsys/usb/class/netusb/netusb.h rename to subsys/usb/device/class/netusb/netusb.h diff --git a/subsys/usb/os_desc.c b/subsys/usb/device/os_desc.c similarity index 100% rename from subsys/usb/os_desc.c rename to subsys/usb/device/os_desc.c diff --git a/subsys/usb/os_desc.h b/subsys/usb/device/os_desc.h similarity index 100% rename from subsys/usb/os_desc.h rename to subsys/usb/device/os_desc.h diff --git a/subsys/usb/usb_descriptor.c b/subsys/usb/device/usb_descriptor.c similarity index 100% rename from subsys/usb/usb_descriptor.c rename to subsys/usb/device/usb_descriptor.c diff --git a/subsys/usb/usb_descriptor.h b/subsys/usb/device/usb_descriptor.h similarity index 100% rename from subsys/usb/usb_descriptor.h rename to subsys/usb/device/usb_descriptor.h diff --git a/subsys/usb/usb_device.c b/subsys/usb/device/usb_device.c similarity index 100% rename from subsys/usb/usb_device.c rename to subsys/usb/device/usb_device.c diff --git a/subsys/usb/usb_transfer.c b/subsys/usb/device/usb_transfer.c similarity index 100% rename from subsys/usb/usb_transfer.c rename to subsys/usb/device/usb_transfer.c diff --git a/subsys/usb/usb_transfer.h b/subsys/usb/device/usb_transfer.h similarity index 100% rename from subsys/usb/usb_transfer.h rename to subsys/usb/device/usb_transfer.h diff --git a/subsys/usb/usb_work_q.c b/subsys/usb/device/usb_work_q.c similarity index 100% rename from subsys/usb/usb_work_q.c rename to subsys/usb/device/usb_work_q.c diff --git a/subsys/usb/usb_work_q.h b/subsys/usb/device/usb_work_q.h similarity index 100% rename from subsys/usb/usb_work_q.h rename to subsys/usb/device/usb_work_q.h diff --git a/tests/subsys/usb/desc_sections/CMakeLists.txt b/tests/subsys/usb/desc_sections/CMakeLists.txt index 54b8fd4dfe6..b643b35145d 100644 --- a/tests/subsys/usb/desc_sections/CMakeLists.txt +++ b/tests/subsys/usb/desc_sections/CMakeLists.txt @@ -5,7 +5,7 @@ find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) project(os_desc) zephyr_library_include_directories( - ${ZEPHYR_BASE}/subsys/usb/ + ${ZEPHYR_BASE}/subsys/usb/device/ ) FILE(GLOB app_sources src/*.c) diff --git a/tests/subsys/usb/os_desc/CMakeLists.txt b/tests/subsys/usb/os_desc/CMakeLists.txt index 54b8fd4dfe6..b643b35145d 100644 --- a/tests/subsys/usb/os_desc/CMakeLists.txt +++ b/tests/subsys/usb/os_desc/CMakeLists.txt @@ -5,7 +5,7 @@ find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) project(os_desc) zephyr_library_include_directories( - ${ZEPHYR_BASE}/subsys/usb/ + ${ZEPHYR_BASE}/subsys/usb/device/ ) FILE(GLOB app_sources src/*.c)