From 4f193132d2de4b464bbed29c9029727440da486a Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Wed, 12 Nov 2025 15:48:59 +1100 Subject: [PATCH] esp32: Remove dependency on esp_tinyusb. Instead, depend directly on espressif/tinyusb component (which is otherwise transitively included via esp_tinyusb). Turns out esp_tinyusb builds a bunch of source files with symbols that conflict with our tinyusb symbols (i.e. descriptors_control.c). This only works because nothing in MicroPython causes the linker to include the esp_tinyusb.a library, however in order to override the dcd_int_handler (in following commit) this caused the linker to pull this library in and break the build. There's also a problematic header skew - TinyUSB component was building with the tusb_config.h file from esp_tinyusb component, but we have our own tusb_config.h file in shared/tinyusb. The changes in parent commit allow us to build the TinyUSB component with our tusb_config.h header. User-facing impacts are: - Can no longer override USB VID & PID via sdkconfig, have to set MICROPY_HW_USB_VID/PID instead (changes applied in this commit). - esp32 boards will have the same USB serial number as other ports (i.e. based on the hardware MAC address, not hard-coded). Side effects include: - CFG_TUD_DWC2_SLAVE_ENABLE is now set, DMA mode is disabled. Signed-off-by: Angus Gratton --- .../ARDUINO_NANO_ESP32/mpconfigboard.cmake | 1 - .../boards/ARDUINO_NANO_ESP32/mpconfigboard.h | 5 +++++ .../boards/ARDUINO_NANO_ESP32/sdkconfig.board | 7 ------ .../ESP32_GENERIC_S2/mpconfigboard.cmake | 1 - .../ESP32_GENERIC_S3/mpconfigboard.cmake | 1 - .../boards/LOLIN_S2_MINI/mpconfigboard.cmake | 1 - .../boards/LOLIN_S2_PICO/mpconfigboard.cmake | 1 - .../M5STACK_ATOMS3_LITE/mpconfigboard.cmake | 1 - .../boards/UM_FEATHERS2/mpconfigboard.cmake | 1 - .../UM_FEATHERS2NEO/mpconfigboard.cmake | 1 - .../boards/UM_FEATHERS3/mpconfigboard.cmake | 1 - .../esp32/boards/UM_FEATHERS3/mpconfigboard.h | 5 +++++ .../esp32/boards/UM_FEATHERS3/sdkconfig.board | 9 -------- .../UM_FEATHERS3NEO/mpconfigboard.cmake | 1 - .../boards/UM_FEATHERS3NEO/mpconfigboard.h | 5 +++++ .../boards/UM_FEATHERS3NEO/sdkconfig.board | 9 -------- .../boards/UM_NANOS3/mpconfigboard.cmake | 1 - ports/esp32/boards/UM_NANOS3/mpconfigboard.h | 5 +++++ ports/esp32/boards/UM_NANOS3/sdkconfig.board | 9 -------- .../esp32/boards/UM_OMGS3/mpconfigboard.cmake | 1 - ports/esp32/boards/UM_OMGS3/mpconfigboard.h | 5 +++++ ports/esp32/boards/UM_OMGS3/sdkconfig.board | 9 -------- .../esp32/boards/UM_PROS3/mpconfigboard.cmake | 1 - ports/esp32/boards/UM_PROS3/mpconfigboard.h | 5 +++++ ports/esp32/boards/UM_PROS3/sdkconfig.board | 9 -------- .../UM_RGBTOUCH_MINI/mpconfigboard.cmake | 1 - .../boards/UM_RGBTOUCH_MINI/mpconfigboard.h | 5 +++++ .../boards/UM_RGBTOUCH_MINI/sdkconfig.board | 9 -------- .../boards/UM_TINYS2/mpconfigboard.cmake | 1 - .../boards/UM_TINYS3/mpconfigboard.cmake | 1 - ports/esp32/boards/UM_TINYS3/mpconfigboard.h | 5 +++++ ports/esp32/boards/UM_TINYS3/sdkconfig.board | 9 -------- .../boards/UM_TINYWATCHS3/mpconfigboard.cmake | 1 - .../boards/UM_TINYWATCHS3/mpconfigboard.h | 5 +++++ .../boards/UM_TINYWATCHS3/sdkconfig.board | 9 -------- ports/esp32/boards/sdkconfig.usb | 4 ---- ports/esp32/esp32_common.cmake | 8 +++++++ ports/esp32/lockfiles/dependencies.lock.esp32 | 2 +- .../esp32/lockfiles/dependencies.lock.esp32c2 | 2 +- .../esp32/lockfiles/dependencies.lock.esp32c3 | 2 +- .../esp32/lockfiles/dependencies.lock.esp32c5 | 2 +- .../esp32/lockfiles/dependencies.lock.esp32c6 | 2 +- .../esp32/lockfiles/dependencies.lock.esp32s2 | 20 +++-------------- .../esp32/lockfiles/dependencies.lock.esp32s3 | 20 +++-------------- ports/esp32/main/idf_component.yml | 4 ++-- ports/esp32/mpconfigport.h | 22 ++++--------------- 46 files changed, 70 insertions(+), 159 deletions(-) delete mode 100644 ports/esp32/boards/sdkconfig.usb diff --git a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake index a388882342..06d3c27a6c 100644 --- a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake +++ b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake @@ -6,7 +6,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.h b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.h index 31b2a49bf8..3ca587ae40 100644 --- a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.h +++ b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.h @@ -22,6 +22,11 @@ #define MICROPY_HW_USB_CDC_1200BPS_TOUCH (1) #define MICROPY_SCHEDULER_STATIC_NODES (1) +#define MICROPY_HW_USB_VID 0x2341 +#define MICROPY_HW_USB_PID 0x056B +#define MICROPY_HW_USB_MANUFACTURER_STRING "Arduino" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "Nano ESP32" + #define MICROPY_BOARD_STARTUP NANO_ESP32_board_startup void NANO_ESP32_board_startup(void); diff --git a/ports/esp32/boards/ARDUINO_NANO_ESP32/sdkconfig.board b/ports/esp32/boards/ARDUINO_NANO_ESP32/sdkconfig.board index d586dd4ce4..242cff84dd 100644 --- a/ports/esp32/boards/ARDUINO_NANO_ESP32/sdkconfig.board +++ b/ports/esp32/boards/ARDUINO_NANO_ESP32/sdkconfig.board @@ -11,13 +11,6 @@ CONFIG_SPIRAM_IGNORE_NOTFOUND= CONFIG_LWIP_LOCAL_HOSTNAME="nano-esp32" -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x2341 -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x056B -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Arduino" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="Nano ESP32" - # compatibility with Espressif Arduino core CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y CONFIG_ESP_ENABLE_COREDUMP_TO_FLASH=y diff --git a/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake index 76d185d90d..6907adb819 100644 --- a/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake +++ b/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake @@ -2,6 +2,5 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.spiram_sx ) diff --git a/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake index 9b0df3b377..cdcefed84c 100644 --- a/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake +++ b/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.spiram_sx boards/ESP32_GENERIC_S3/sdkconfig.board diff --git a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake index dc9abd7478..8d6d1f3598 100644 --- a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake +++ b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake @@ -3,7 +3,6 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.spiram_sx - boards/sdkconfig.usb ) set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake index dc9abd7478..8d6d1f3598 100644 --- a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake +++ b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake @@ -3,7 +3,6 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.spiram_sx - boards/sdkconfig.usb ) set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake index 10608fcec7..9157c6b93e 100644 --- a/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/ESP32_GENERIC_S3/sdkconfig.board ) diff --git a/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake index 5e570d513b..2d8f70135e 100644 --- a/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.spiram_sx - boards/sdkconfig.usb boards/UM_FEATHERS2/sdkconfig.board ) diff --git a/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake index c98ef69176..defb597c9c 100644 --- a/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.spiram_sx - boards/sdkconfig.usb boards/UM_FEATHERS2NEO/sdkconfig.board ) diff --git a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake index 63d1af1da7..5a41be1862 100644 --- a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.h b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.h index f4abfb21bc..cb6269ff9c 100644 --- a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.h @@ -11,3 +11,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x80D7 +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "FeatherS3" diff --git a/ports/esp32/boards/UM_FEATHERS3/sdkconfig.board b/ports/esp32/boards/UM_FEATHERS3/sdkconfig.board index 3092e35598..2962cb44c6 100644 --- a/ports/esp32/boards/UM_FEATHERS3/sdkconfig.board +++ b/ports/esp32/boards/UM_FEATHERS3/sdkconfig.board @@ -4,12 +4,3 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMFeatherS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x80D7 -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="FeatherS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_fs3_" diff --git a/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.cmake index 1d2b887d2c..698aa76f04 100644 --- a/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.h b/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.h index c08206f7b5..bfe38bc03b 100644 --- a/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.h +++ b/ports/esp32/boards/UM_FEATHERS3NEO/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x81FC +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "FeatherS3 Neo" diff --git a/ports/esp32/boards/UM_FEATHERS3NEO/sdkconfig.board b/ports/esp32/boards/UM_FEATHERS3NEO/sdkconfig.board index 25b8d7689d..8d44c65c3f 100644 --- a/ports/esp32/boards/UM_FEATHERS3NEO/sdkconfig.board +++ b/ports/esp32/boards/UM_FEATHERS3NEO/sdkconfig.board @@ -5,12 +5,3 @@ CONFIG_ESPTOOLPY_AFTER_NORESET=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMFeatherS3Neo" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x81FC -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="FeatherS3 Neo" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_fs3neo_" diff --git a/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake b/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake index 6c7f34009e..3935a66f8d 100644 --- a/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_NANOS3/mpconfigboard.h b/ports/esp32/boards/UM_NANOS3/mpconfigboard.h index 44197be2a8..44434d26e2 100644 --- a/ports/esp32/boards/UM_NANOS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_NANOS3/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x817A +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "NanoS3" diff --git a/ports/esp32/boards/UM_NANOS3/sdkconfig.board b/ports/esp32/boards/UM_NANOS3/sdkconfig.board index e06f7a4245..0a1361b9b5 100644 --- a/ports/esp32/boards/UM_NANOS3/sdkconfig.board +++ b/ports/esp32/boards/UM_NANOS3/sdkconfig.board @@ -4,12 +4,3 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMNanoS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x817A -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="NanoS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_ns3_" diff --git a/ports/esp32/boards/UM_OMGS3/mpconfigboard.cmake b/ports/esp32/boards/UM_OMGS3/mpconfigboard.cmake index aa82111d75..85c3d71e8c 100644 --- a/ports/esp32/boards/UM_OMGS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_OMGS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_OMGS3/mpconfigboard.h b/ports/esp32/boards/UM_OMGS3/mpconfigboard.h index e3955a6b80..451225b6fb 100644 --- a/ports/esp32/boards/UM_OMGS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_OMGS3/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (6) #define MICROPY_HW_SPI1_MISO (5) #define MICROPY_HW_SPI1_SCK (4) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x8225 +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "OMGS3" diff --git a/ports/esp32/boards/UM_OMGS3/sdkconfig.board b/ports/esp32/boards/UM_OMGS3/sdkconfig.board index 8a0bf0b13a..794bc70b11 100644 --- a/ports/esp32/boards/UM_OMGS3/sdkconfig.board +++ b/ports/esp32/boards/UM_OMGS3/sdkconfig.board @@ -5,12 +5,3 @@ CONFIG_ESPTOOLPY_AFTER_NORESET=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMOMGS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x8225 -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="OMGS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_omgs3_" diff --git a/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake b/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake index 41a96f26e3..c8267f7280 100644 --- a/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_PROS3/mpconfigboard.h b/ports/esp32/boards/UM_PROS3/mpconfigboard.h index cc0ebbefa3..eea6f6e65d 100644 --- a/ports/esp32/boards/UM_PROS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_PROS3/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x80D4 +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "ProS3" diff --git a/ports/esp32/boards/UM_PROS3/sdkconfig.board b/ports/esp32/boards/UM_PROS3/sdkconfig.board index 75ca58d80b..1b10ba11cd 100644 --- a/ports/esp32/boards/UM_PROS3/sdkconfig.board +++ b/ports/esp32/boards/UM_PROS3/sdkconfig.board @@ -4,12 +4,3 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMProS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x80D4 -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="ProS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_ps3_" diff --git a/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.cmake b/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.cmake index 8b29cb344e..4686fc5884 100644 --- a/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.h b/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.h index 1184124799..2d83cba161 100644 --- a/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.h +++ b/ports/esp32/boards/UM_RGBTOUCH_MINI/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x81FF +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "RGBTouchMini" diff --git a/ports/esp32/boards/UM_RGBTOUCH_MINI/sdkconfig.board b/ports/esp32/boards/UM_RGBTOUCH_MINI/sdkconfig.board index 7d244fdc16..234aed6b21 100644 --- a/ports/esp32/boards/UM_RGBTOUCH_MINI/sdkconfig.board +++ b/ports/esp32/boards/UM_RGBTOUCH_MINI/sdkconfig.board @@ -5,12 +5,3 @@ CONFIG_ESPTOOLPY_AFTER_NORESET=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMRGBTouchMini" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x81FF -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="RGBTouchMini" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_rgbtouch_mini_" diff --git a/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake index 70cb4a814f..4b0c6bfccd 100644 --- a/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s2) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.spiram_sx - boards/sdkconfig.usb boards/UM_TINYS2/sdkconfig.board ) diff --git a/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake index 6c7f34009e..3935a66f8d 100644 --- a/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_TINYS3/mpconfigboard.h b/ports/esp32/boards/UM_TINYS3/mpconfigboard.h index 74c7622cb4..2cba3f1b0a 100644 --- a/ports/esp32/boards/UM_TINYS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_TINYS3/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x80D1 +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "TinyS3" diff --git a/ports/esp32/boards/UM_TINYS3/sdkconfig.board b/ports/esp32/boards/UM_TINYS3/sdkconfig.board index 2474c5fb27..b9cb80695f 100644 --- a/ports/esp32/boards/UM_TINYS3/sdkconfig.board +++ b/ports/esp32/boards/UM_TINYS3/sdkconfig.board @@ -4,12 +4,3 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMTinyS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x80D1 -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="TinyS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_ts3_" diff --git a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake index 089149c44c..2978dcd6f3 100644 --- a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake +++ b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake @@ -2,7 +2,6 @@ set(IDF_TARGET esp32s3) set(SDKCONFIG_DEFAULTS boards/sdkconfig.base - boards/sdkconfig.usb boards/sdkconfig.ble boards/sdkconfig.240mhz boards/sdkconfig.spiram_sx diff --git a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h index 6cc1345413..c8fc554a10 100644 --- a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h +++ b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h @@ -8,3 +8,8 @@ #define MICROPY_HW_SPI1_MOSI (35) #define MICROPY_HW_SPI1_MISO (37) #define MICROPY_HW_SPI1_SCK (36) + +#define MICROPY_HW_USB_VID 0x303A +#define MICROPY_HW_USB_PID 0x81B1 +#define MICROPY_HW_USB_MANUFACTURER_STRING "Unexpected Maker" +#define MICROPY_HW_USB_PRODUCT_FS_STRING "TinyWATCHS3" diff --git a/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board b/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board index 10121d235d..da804fe30a 100644 --- a/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board +++ b/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board @@ -4,12 +4,3 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_SPIRAM_MEMTEST= CONFIG_LWIP_LOCAL_HOSTNAME="UMTinyWATCHS3" - -CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A -CONFIG_TINYUSB_DESC_CUSTOM_PID=0x81B1 -CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 -CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID=n -CONFIG_TINYUSB_DESC_USE_DEFAULT_PID=n -CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker" -CONFIG_TINYUSB_DESC_PRODUCT_STRING="TinyWATCHS3" -CONFIG_TINYUSB_DESC_SERIAL_STRING="_tws3_" diff --git a/ports/esp32/boards/sdkconfig.usb b/ports/esp32/boards/sdkconfig.usb deleted file mode 100644 index 4090c710e6..0000000000 --- a/ports/esp32/boards/sdkconfig.usb +++ /dev/null @@ -1,4 +0,0 @@ -CONFIG_USB_OTG_SUPPORTED=y -CONFIG_TINYUSB_CDC_ENABLED=y -CONFIG_TINYUSB_CDC_RX_BUFSIZE=256 -CONFIG_TINYUSB_CDC_TX_BUFSIZE=256 diff --git a/ports/esp32/esp32_common.cmake b/ports/esp32/esp32_common.cmake index 6922ac5fec..807d712830 100644 --- a/ports/esp32/esp32_common.cmake +++ b/ports/esp32/esp32_common.cmake @@ -97,6 +97,14 @@ if(MICROPY_PY_TINYUSB) list(APPEND MICROPY_INC_TINYUSB ${MICROPY_DIR}/shared/tinyusb/ ) + + # Build the Espressif tinyusb component with MicroPython shared/tinyusb/tusb_config.h + idf_component_get_property(tusb_lib espressif__tinyusb COMPONENT_LIB) + target_include_directories(${tusb_lib} PRIVATE + ${MICROPY_DIR}/shared/tinyusb + ${MICROPY_DIR} + ${MICROPY_PORT_DIR} + ${MICROPY_BOARD_DIR}) endif() list(APPEND MICROPY_SOURCE_PORT diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32 b/ports/esp32/lockfiles/dependencies.lock.esp32 index 71eccf0320..f48a8bcad6 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32 @@ -30,6 +30,6 @@ direct_dependencies: - espressif/lan867x - espressif/mdns - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32c2 b/ports/esp32/lockfiles/dependencies.lock.esp32c2 index 5f46e61564..34311207ee 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32c2 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32c2 @@ -16,6 +16,6 @@ dependencies: direct_dependencies: - espressif/mdns - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32c2 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32c3 b/ports/esp32/lockfiles/dependencies.lock.esp32c3 index 5fb11084ea..811a3ab510 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32c3 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32c3 @@ -16,6 +16,6 @@ dependencies: direct_dependencies: - espressif/mdns - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32c3 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32c5 b/ports/esp32/lockfiles/dependencies.lock.esp32c5 index 204f64f68c..6f24d01347 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32c5 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32c5 @@ -16,6 +16,6 @@ dependencies: direct_dependencies: - espressif/mdns - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: da32add5eb5e196ac97a99eb579025222ec572f5db4038873fbf9d3b9d6ed5a3 target: esp32c5 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32c6 b/ports/esp32/lockfiles/dependencies.lock.esp32c6 index 4debf5548e..74f2cdbd48 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32c6 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32c6 @@ -16,6 +16,6 @@ dependencies: direct_dependencies: - espressif/mdns - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32c6 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32s2 b/ports/esp32/lockfiles/dependencies.lock.esp32s2 index bb1443947e..a672c6d5e0 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32s2 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32s2 @@ -1,18 +1,4 @@ dependencies: - espressif/esp_tinyusb: - component_hash: 96d232ced7afe1976119b62f7fbf1944a2a78b36228ff6f7b9318394ac1153cc - dependencies: - - name: idf - require: private - version: '>=5.0' - - name: espressif/tinyusb - registry_url: https://components.espressif.com - require: public - version: '>=0.14.2' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.7.6~1 espressif/mdns: component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed dependencies: @@ -30,7 +16,7 @@ dependencies: require: private version: '>=5.0' source: - registry_url: https://components.espressif.com + registry_url: https://components.espressif.com/ type: service targets: - esp32s2 @@ -42,9 +28,9 @@ dependencies: type: idf version: 5.5.1 direct_dependencies: -- espressif/esp_tinyusb - espressif/mdns +- espressif/tinyusb - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32s2 version: 2.0.0 diff --git a/ports/esp32/lockfiles/dependencies.lock.esp32s3 b/ports/esp32/lockfiles/dependencies.lock.esp32s3 index 38c17f5d62..f0f229c905 100644 --- a/ports/esp32/lockfiles/dependencies.lock.esp32s3 +++ b/ports/esp32/lockfiles/dependencies.lock.esp32s3 @@ -1,18 +1,4 @@ dependencies: - espressif/esp_tinyusb: - component_hash: 96d232ced7afe1976119b62f7fbf1944a2a78b36228ff6f7b9318394ac1153cc - dependencies: - - name: idf - require: private - version: '>=5.0' - - name: espressif/tinyusb - registry_url: https://components.espressif.com - require: public - version: '>=0.14.2' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.7.6~1 espressif/mdns: component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed dependencies: @@ -30,7 +16,7 @@ dependencies: require: private version: '>=5.0' source: - registry_url: https://components.espressif.com + registry_url: https://components.espressif.com/ type: service targets: - esp32s2 @@ -42,9 +28,9 @@ dependencies: type: idf version: 5.5.1 direct_dependencies: -- espressif/esp_tinyusb - espressif/mdns +- espressif/tinyusb - idf -manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a +manifest_hash: ea629d6996152d77801fb1acae35b27596fdc023a933d40287d80f98dc497b55 target: esp32s3 version: 2.0.0 diff --git a/ports/esp32/main/idf_component.yml b/ports/esp32/main/idf_component.yml index cb14ffde60..1ee8aa9769 100644 --- a/ports/esp32/main/idf_component.yml +++ b/ports/esp32/main/idf_component.yml @@ -1,10 +1,10 @@ ## IDF Component Manager Manifest File dependencies: espressif/mdns: "~1.1.0" - espressif/esp_tinyusb: + espressif/tinyusb: rules: - if: "target in [esp32s2, esp32s3]" - version: "~1.7.6" + version: "~0.18.0" espressif/lan867x: version: "~1.0.0" rules: diff --git a/ports/esp32/mpconfigport.h b/ports/esp32/mpconfigport.h index 142da4b230..7b973ebb96 100644 --- a/ports/esp32/mpconfigport.h +++ b/ports/esp32/mpconfigport.h @@ -223,19 +223,14 @@ #ifndef MICROPY_HW_USB_VID #define USB_ESPRESSIF_VID 0x303A -#if CONFIG_TINYUSB_DESC_USE_ESPRESSIF_VID #define MICROPY_HW_USB_VID (USB_ESPRESSIF_VID) -#else -#define MICROPY_HW_USB_VID (CONFIG_TINYUSB_DESC_CUSTOM_VID) #endif #ifndef MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE #define MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE (1) // Support machine.USBDevice #endif -#endif #ifndef MICROPY_HW_USB_PID -#if CONFIG_TINYUSB_DESC_USE_DEFAULT_PID #define _PID_MAP(itf, n) ((CFG_TUD_##itf) << (n)) // A combination of interfaces must have a unique product id, since PC will save device driver after the first plug. // Same VID/PID with different interface e.g MSC (first), then CDC (later) will possibly cause system error on PC. @@ -244,25 +239,16 @@ #define USB_TUSB_PID (0x4000 | _PID_MAP(CDC, 0) | _PID_MAP(MSC, 1) | _PID_MAP(HID, 2) | \ _PID_MAP(MIDI, 3)) // | _PID_MAP(AUDIO, 4) | _PID_MAP(VENDOR, 5) ) #define MICROPY_HW_USB_PID (USB_TUSB_PID) -#else -#define MICROPY_HW_USB_PID (CONFIG_TINYUSB_DESC_CUSTOM_PID) -#endif #endif +// These Manufacturer & Product strings are the defaults when using the +// esp_tinyusb component (which MicroPython used in the past). #ifndef MICROPY_HW_USB_MANUFACTURER_STRING -#ifdef CONFIG_TINYUSB_DESC_MANUFACTURER_STRING -#define MICROPY_HW_USB_MANUFACTURER_STRING CONFIG_TINYUSB_DESC_MANUFACTURER_STRING -#else -#define MICROPY_HW_USB_MANUFACTURER_STRING "MicroPython" -#endif +#define MICROPY_HW_USB_MANUFACTURER_STRING "Espressif Systems" #endif #ifndef MICROPY_HW_USB_PRODUCT_FS_STRING -#ifdef CONFIG_TINYUSB_DESC_PRODUCT_STRING -#define MICROPY_HW_USB_PRODUCT_FS_STRING CONFIG_TINYUSB_DESC_PRODUCT_STRING -#else -#define MICROPY_HW_USB_PRODUCT_FS_STRING "Board in FS mode" -#endif +#define MICROPY_HW_USB_PRODUCT_FS_STRING "Espressif Device" #endif #endif // MICROPY_HW_ENABLE_USBDEV