diff --git a/components/esp_hw_support/include/esp_private/usb_phy.h b/components/esp_hw_support/include/esp_private/usb_phy.h index 05dcddd7a84..176bc22e2b7 100644 --- a/components/esp_hw_support/include/esp_private/usb_phy.h +++ b/components/esp_hw_support/include/esp_private/usb_phy.h @@ -168,12 +168,16 @@ esp_err_t usb_phy_otg_set_mode(usb_phy_handle_t handle, usb_otg_mode_t mode); /** * @brief Set the USB OTG suspend state for USB wakeup logic * + * @note Only applies to the UTMI (HS) PHY. + * * @param in_suspend True if the USB OTG bus is suspended */ void usb_phy_set_otg_suspend_state(bool in_suspend); /** * @brief Clear USB OTG wakeup status from the USB wakeup logic + * + * @note Only applies to the UTMI (HS) PHY. */ void usb_phy_clear_otg_wakeup_status(void); diff --git a/docs/en/api-reference/system/sleep_modes.rst b/docs/en/api-reference/system/sleep_modes.rst index 2710c68e781..948df371484 100644 --- a/docs/en/api-reference/system/sleep_modes.rst +++ b/docs/en/api-reference/system/sleep_modes.rst @@ -701,7 +701,7 @@ Application Examples :esp32c3: - :example:`system/deep_sleep` demonstrates the usage of Deep-sleep wakeup triggered by various sources, such as the RTC timer, GPIOs, supported by ESP32-C3. :esp32h2: - :example:`system/deep_sleep` demonstrates the usage of Deep-sleep wakeup triggered by various sources, such as the RTC timer and EXT1, supported by ESP32-H2. - :example:`system/light_sleep` demonstrates the usage of Light-sleep wakeup triggered by various sources, such as the timer, GPIOs, supported by {IDF_TARGET_NAME}. - :SOC_PM_SUPPORT_USB_WAKEUP: - :example:`peripherals/usb/device/tud_cdc_acm_wakeup` demonstrates the usage of USB 2.0 wakeup from Light-sleep. + :SOC_PM_SUPPORT_USB_WAKEUP: - :example:`peripherals/usb/device/tusb_cdc_acm_wakeup` demonstrates the usage of USB 2.0 wakeup from Light-sleep. :SOC_TOUCH_SENSOR_SUPPORTED and SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP: - :example:`peripherals/touch_sensor/touch_sens_sleep` demonstrates the usage of Light-sleep and Deep-sleep wakeup triggered by the touch sensor. :SOC_VBAT_SUPPORTED: - :example:`lowpower/vbat` demonstrates the use of backup battery power (VBAT) during Deep-sleep, allowing the RTC timer to keep running after the main power is removed. diff --git a/docs/zh_CN/api-reference/system/sleep_modes.rst b/docs/zh_CN/api-reference/system/sleep_modes.rst index ffcf613e90d..6c2466b3873 100644 --- a/docs/zh_CN/api-reference/system/sleep_modes.rst +++ b/docs/zh_CN/api-reference/system/sleep_modes.rst @@ -701,7 +701,7 @@ UART 输出处理 :esp32c3: - :example:`system/deep_sleep` 演示如何通过 ESP32-C3 的唤醒源,如 RTC 定时器、GPIO 等,触发 Deep-sleep 唤醒。 :esp32h2: - :example:`system/deep_sleep` 演示如何通过 ESP32-H2 的唤醒源,如 RTC 定时器、EXT1 等,触发 Deep-sleep 唤醒。 - :example:`system/light_sleep` 演示如何使用 {IDF_TARGET_NAME} 的唤醒源,如定时器,GPIO 等,触发 Light-sleep 唤醒。 - :SOC_PM_SUPPORT_USB_WAKEUP: - :example:`peripherals/usb/device/tud_cdc_acm_wakeup` 演示如何使用 USB 2.0 将芯片从 Light-sleep 唤醒。 + :SOC_PM_SUPPORT_USB_WAKEUP: - :example:`peripherals/usb/device/tusb_cdc_acm_wakeup` 演示如何使用 USB 2.0 将芯片从 Light-sleep 唤醒。 :SOC_TOUCH_SENSOR_SUPPORTED and SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP: - :example:`peripherals/touch_sensor/touch_sens_sleep` 演示如何使用触摸传感器唤醒 Light-sleep 或 Deep-sleep。 :SOC_VBAT_SUPPORTED: - :example:`lowpower/vbat` 演示如何在 Deep-sleep 期间使用备用电池电源(VBAT),使 RTC 定时器在主电源断开后继续运行。 diff --git a/examples/peripherals/.build-test-rules.yml b/examples/peripherals/.build-test-rules.yml index 7a9f544320c..dc496cdd30b 100644 --- a/examples/peripherals/.build-test-rules.yml +++ b/examples/peripherals/.build-test-rules.yml @@ -817,7 +817,7 @@ examples/peripherals/usb/device/cherryusb_serial_device: temporary: true reason: CherryUSB does not support esp32h4 or esp32s31 -examples/peripherals/usb/device/tud_cdc_acm_wakeup: +examples/peripherals/usb/device/tusb_cdc_acm_wakeup: disable: - if: SOC_USB_OTG_SUPPORTED != 1 or SOC_PM_SUPPORT_USB_WAKEUP != 1 diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/sdkconfig.defaults b/examples/peripherals/usb/device/tud_cdc_acm_wakeup/sdkconfig.defaults deleted file mode 100644 index d541888bd98..00000000000 --- a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/sdkconfig.defaults +++ /dev/null @@ -1,40 +0,0 @@ -# This file was generated using idf.py save-defconfig or menuconfig [D] key. It can be edited manually. -# Espressif IoT Development Framework (ESP-IDF) 6.2.0 Project Minimal Configuration -# -# default: -CONFIG_IDF_TARGET="esp32p4" - -# -# Component config -# - -# -# Hardware Settings -# - -# -# Chip revision -# -CONFIG_ESP32P4_REV_MIN_300=y -# end of Chip revision -# end of Hardware Settings - -# -# Power Management -# -CONFIG_PM_ENABLE=y -CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y -# end of Power Management - -# -# TinyUSB Stack -# -CONFIG_TINYUSB_DEBUG_LEVEL=1 - -# -# Communication Device Class (CDC) -# -CONFIG_TINYUSB_CDC_ENABLED=y -# end of Communication Device Class (CDC) -# end of TinyUSB Stack -# end of Component config diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/CMakeLists.txt b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/CMakeLists.txt similarity index 92% rename from examples/peripherals/usb/device/tud_cdc_acm_wakeup/CMakeLists.txt rename to examples/peripherals/usb/device/tusb_cdc_acm_wakeup/CMakeLists.txt index c16aac83db3..a310f9ffd0c 100644 --- a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/CMakeLists.txt +++ b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/CMakeLists.txt @@ -5,4 +5,4 @@ cmake_minimum_required(VERSION 3.22) include($ENV{IDF_PATH}/tools/cmake/project.cmake) # "Trim" the build. Include the minimal set of components, main, and anything it depends on. idf_build_set_property(MINIMAL_BUILD ON) -project(tud_cdc_acm_wakeup) +project(tusb_cdc_acm_wakeup) diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/README.md b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/README.md similarity index 53% rename from examples/peripherals/usb/device/tud_cdc_acm_wakeup/README.md rename to examples/peripherals/usb/device/tusb_cdc_acm_wakeup/README.md index b12c127747f..89f34e47d21 100644 --- a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/README.md +++ b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/README.md @@ -43,9 +43,9 @@ See the Getting Started Guide for full steps to configure and use ESP-IDF to bui After the flashing you should see this output: ``` -I (285) tud_cdc_acm_wakeup: USB initialization +I (285) tusb_cdc_acm_wakeup: USB initialization I (455) TinyUSB: TinyUSB Driver installed -I (465) tud_cdc_acm_wakeup: USB initialization DONE +I (465) tusb_cdc_acm_wakeup: USB initialization DONE ``` Connect to the serial port (e.g. on Linux, it should be `/dev/ttyACM0`) by any terminal application (e.g. `picocom /dev/ttyACM0`). @@ -56,31 +56,31 @@ To trigger USB suspend from the host, disable or suspend the CDC ACM device on t When the USB host suspends and resumes the bus, the monitor output should include: ``` -I (122142) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (122272) tud_cdc_acm_wakeup: Data from channel 0: -I (122272) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (122402) tud_cdc_acm_wakeup: Data from channel 0: -I (122402) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (122622) tud_cdc_acm_wakeup: Data from channel 0: -I (122622) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (127432) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (132402) tud_cdc_acm_wakeup: USB suspended, entering light sleep -I (132422) tud_cdc_acm_wakeup: Woke up from: USB -I (132422) tud_cdc_acm_wakeup: USB resumed -I (145762) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (145812) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (145812) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (145822) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (145822) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (145832) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (148762) tud_cdc_acm_wakeup: Data from channel 0: -I (148762) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (148902) tud_cdc_acm_wakeup: Data from channel 0: -I (148902) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (149032) tud_cdc_acm_wakeup: Data from channel 0: -I (149032) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (149252) tud_cdc_acm_wakeup: Data from channel 0: -I (149252) tud_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| -I (151382) tud_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 -I (155312) tud_cdc_acm_wakeup: USB suspended, entering light sleep +I (122142) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (122272) tusb_cdc_acm_wakeup: Data from channel 0: +I (122272) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (122402) tusb_cdc_acm_wakeup: Data from channel 0: +I (122402) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (122622) tusb_cdc_acm_wakeup: Data from channel 0: +I (122622) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (127432) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (132402) tusb_cdc_acm_wakeup: USB suspended, entering light sleep +I (132422) tusb_cdc_acm_wakeup: Woke up from: USB +I (132422) tusb_cdc_acm_wakeup: USB resumed +I (145762) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (145812) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (145812) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (145822) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (145822) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (145832) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (148762) tusb_cdc_acm_wakeup: Data from channel 0: +I (148762) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (148902) tusb_cdc_acm_wakeup: Data from channel 0: +I (148902) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (149032) tusb_cdc_acm_wakeup: Data from channel 0: +I (149032) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (149252) tusb_cdc_acm_wakeup: Data from channel 0: +I (149252) tusb_cdc_acm_wakeup: 0x4ff3afa4 48 65 6c 6c 6f |Hello| +I (151382) tusb_cdc_acm_wakeup: Line state changed on channel 0: DTR:0, RTS:0 +I (155312) tusb_cdc_acm_wakeup: USB suspended, entering light sleep ``` diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/CMakeLists.txt b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/CMakeLists.txt similarity index 60% rename from examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/CMakeLists.txt rename to examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/CMakeLists.txt index 10b20b81a8c..f2c0b4447b0 100644 --- a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/CMakeLists.txt +++ b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/CMakeLists.txt @@ -1,3 +1,3 @@ -idf_component_register(SRCS "tud_cdc_acm_wakeup_main.c" +idf_component_register(SRCS "tusb_cdc_acm_wakeup_main.c" INCLUDE_DIRS . PRIV_REQUIRES esp_hal_usb) diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/idf_component.yml b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/idf_component.yml similarity index 100% rename from examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/idf_component.yml rename to examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/idf_component.yml diff --git a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/tud_cdc_acm_wakeup_main.c b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/tusb_cdc_acm_wakeup_main.c similarity index 99% rename from examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/tud_cdc_acm_wakeup_main.c rename to examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/tusb_cdc_acm_wakeup_main.c index 639a7fb124c..519404a30b8 100644 --- a/examples/peripherals/usb/device/tud_cdc_acm_wakeup/main/tud_cdc_acm_wakeup_main.c +++ b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/main/tusb_cdc_acm_wakeup_main.c @@ -24,7 +24,7 @@ #error This example requires a target with SOC_PM_SUPPORT_USB_WAKEUP. #endif -static const char *TAG = "tud_cdc_acm_wakeup"; +static const char *TAG = "tusb_cdc_acm_wakeup"; static uint8_t rx_buf[CONFIG_TINYUSB_CDC_RX_BUFSIZE + 1]; /** diff --git a/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/sdkconfig.defaults b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/sdkconfig.defaults new file mode 100644 index 00000000000..2b132661a29 --- /dev/null +++ b/examples/peripherals/usb/device/tusb_cdc_acm_wakeup/sdkconfig.defaults @@ -0,0 +1,6 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_PM_ENABLE=y +CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y +CONFIG_TINYUSB_CDC_ENABLED=y