summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-04-26 00:10:57 +0700
committerhathach <[email protected]>2024-04-26 00:10:57 +0700
commit223ce56625474764dc00229c44731858abcf4f29 (patch)
tree902d084185b85728ec7bdb48bb6726d221a2bdb2
parent03ccc8d8dfe21fc158fc5eb8a4f3f90f425f8a3b (diff)
- add esp32 c3, c6 mcu option
- skip breakpoint for espressif riscv
-rw-r--r--examples/host/cdc_msc_hid_freertos/src/main.c5
-rw-r--r--src/common/tusb_mcu.h4
-rw-r--r--src/common/tusb_verify.h2
-rw-r--r--src/portable/analog/max3421/hcd_max3421.c2
-rw-r--r--src/tusb_option.h2
5 files changed, 11 insertions, 4 deletions
diff --git a/examples/host/cdc_msc_hid_freertos/src/main.c b/examples/host/cdc_msc_hid_freertos/src/main.c
index a6cb4d460..fa799aede 100644
--- a/examples/host/cdc_msc_hid_freertos/src/main.c
+++ b/examples/host/cdc_msc_hid_freertos/src/main.c
@@ -126,7 +126,10 @@ static void usb_host_task(void *param) {
(void) param;
// init host stack on configured roothub port
- tuh_init(BOARD_TUH_RHPORT);
+ if (!tuh_init(BOARD_TUH_RHPORT)) {
+ printf("Failed to init USB Host Stack\r\n");
+ vTaskSuspend(NULL);
+ }
if (board_init_after_tusb) {
board_init_after_tusb();
diff --git a/src/common/tusb_mcu.h b/src/common/tusb_mcu.h
index 00526bdba..5a567f2d5 100644
--- a/src/common/tusb_mcu.h
+++ b/src/common/tusb_mcu.h
@@ -429,8 +429,8 @@
#define TUP_MCU_MULTIPLE_CORE 0
#endif
-#if !defined(TUP_DCD_ENDPOINT_MAX)
- #warning "TUP_DCD_ENDPOINT_MAX is not defined for this MCU, default to 8"
+#if !defined(TUP_DCD_ENDPOINT_MAX) && defined(CFG_TUD_ENABLED) && CFG_TUD_ENABLED
+#warning "TUP_DCD_ENDPOINT_MAX is not defined for this MCU, default to 8"
#define TUP_DCD_ENDPOINT_MAX 8
#endif
diff --git a/src/common/tusb_verify.h b/src/common/tusb_verify.h
index 71406dacf..0a9549c99 100644
--- a/src/common/tusb_verify.h
+++ b/src/common/tusb_verify.h
@@ -84,7 +84,7 @@
if ( (*ARM_CM_DHCSR) & 1UL ) __asm("BKPT #0\n"); /* Only halt mcu if debugger is attached */ \
} while(0)
-#elif defined(__riscv)
+#elif defined(__riscv) && !TUP_MCU_ESPRESSIF
#define TU_BREAKPOINT() do { __asm("ebreak\n"); } while(0)
#elif defined(_mips)
diff --git a/src/portable/analog/max3421/hcd_max3421.c b/src/portable/analog/max3421/hcd_max3421.c
index 053169bf2..4dc93d2d8 100644
--- a/src/portable/analog/max3421/hcd_max3421.c
+++ b/src/portable/analog/max3421/hcd_max3421.c
@@ -479,6 +479,8 @@ bool hcd_init(uint8_t rhport) {
_hcd_data.spi_mutex = osal_mutex_create(&_hcd_data.spi_mutexdef);
#endif
+ // NOTE: driver does not seem to work without nRST pin signal
+
// full duplex, interrupt negative edge
reg_write(rhport, PINCTL_ADDR, _tuh_cfg.pinctl | PINCTL_FDUPSPI, false);
diff --git a/src/tusb_option.h b/src/tusb_option.h
index 25412d432..3ead20ee7 100644
--- a/src/tusb_option.h
+++ b/src/tusb_option.h
@@ -120,6 +120,8 @@
#define OPT_MCU_ESP32S2 900 ///< Espressif ESP32-S2
#define OPT_MCU_ESP32S3 901 ///< Espressif ESP32-S3
#define OPT_MCU_ESP32 902 ///< Espressif ESP32 (for host max3421e)
+#define OPT_MCU_ESP32C3 903 ///< Espressif ESP32-C3
+#define OPT_MCU_ESP32C6 904 ///< Espressif ESP32-C6
#define TUP_MCU_ESPRESSIF (CFG_TUSB_MCU >= 900 && CFG_TUSB_MCU < 1000) // check if Espressif MCU
// Dialog