Skip to content

Commit 01b256c

Browse files
committed
fix(usb): Enable TinyUSB mode for ESP32-P4
1 parent c3aa74f commit 01b256c

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

Diff for: .github/scripts/sketch_utils.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [ex
9191
esp32c3_opts="PartitionScheme=huge_app,FlashMode=dio"
9292
esp32c6_opts="PartitionScheme=huge_app,FlashMode=dio"
9393
esp32h2_opts="PartitionScheme=huge_app,FlashMode=dio"
94-
esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio"
94+
esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio,USBMode=default"
9595

9696
# Select the common part of the FQBN based on the target. The rest will be
9797
# appended depending on the passed options.

Diff for: boards.txt

+22-5
Original file line numberDiff line numberDiff line change
@@ -212,21 +212,38 @@ esp32p4.menu.JTAGAdapter.bridge=ESP USB Bridge
212212
esp32p4.menu.JTAGAdapter.bridge.build.openocdscript=esp32p4-bridge.cfg
213213
esp32p4.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
214214

215-
esp32p4.menu.CDCOnBoot.default=Disabled
216-
esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0
217-
esp32p4.menu.CDCOnBoot.cdc=Enabled
218-
esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
219-
220215
esp32p4.menu.PSRAM.disabled=Disabled
221216
esp32p4.menu.PSRAM.disabled.build.defines=
222217
esp32p4.menu.PSRAM.enabled=Enabled
223218
esp32p4.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
224219

220+
esp32p4.menu.USBMode.hwcdc=Hardware CDC and JTAG
221+
esp32p4.menu.USBMode.hwcdc.build.usb_mode=1
222+
esp32p4.menu.USBMode.default=USB-OTG (TinyUSB)
223+
esp32p4.menu.USBMode.default.build.usb_mode=0
224+
225225
esp32p4.menu.CDCOnBoot.default=Disabled
226226
esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0
227227
esp32p4.menu.CDCOnBoot.cdc=Enabled
228228
esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
229229

230+
esp32p4.menu.MSCOnBoot.default=Disabled
231+
esp32p4.menu.MSCOnBoot.default.build.msc_on_boot=0
232+
esp32p4.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
233+
esp32p4.menu.MSCOnBoot.msc.build.msc_on_boot=1
234+
235+
esp32p4.menu.DFUOnBoot.default=Disabled
236+
esp32p4.menu.DFUOnBoot.default.build.dfu_on_boot=0
237+
esp32p4.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
238+
esp32p4.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
239+
240+
esp32p4.menu.UploadMode.default=UART0 / Hardware CDC
241+
esp32p4.menu.UploadMode.default.upload.use_1200bps_touch=false
242+
esp32p4.menu.UploadMode.default.upload.wait_for_upload_port=false
243+
esp32p4.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
244+
esp32p4.menu.UploadMode.cdc.upload.use_1200bps_touch=true
245+
esp32p4.menu.UploadMode.cdc.upload.wait_for_upload_port=true
246+
230247
esp32p4.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
231248
esp32p4.menu.PartitionScheme.default.build.partitions=default
232249
esp32p4.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)

Diff for: platform.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ build.extra_flags.esp32c2=-DARDUINO_USB_CDC_ON_BOOT=0
8484
build.extra_flags.esp32c3=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot}
8585
build.extra_flags.esp32c6=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot}
8686
build.extra_flags.esp32h2=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot}
87-
build.extra_flags.esp32p4=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot}
87+
build.extra_flags.esp32p4=-DARDUINO_USB_MODE={build.usb_mode} -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} -DARDUINO_USB_MSC_ON_BOOT={build.msc_on_boot} -DARDUINO_USB_DFU_ON_BOOT={build.dfu_on_boot}
8888

8989
# This can be overriden in boards.txt
9090
build.zigbee_mode=

0 commit comments

Comments
 (0)