瀏覽代碼

fix idf usb pin init changes

hathach 6 年之前
父節點
當前提交
e0490ae786
共有 2 個文件被更改,包括 13 次插入2 次删除
  1. 4 2
      examples/device/cdc_msc_freertos/src/tusb_config.h
  2. 9 0
      hw/bsp/esp32s2_saola_1/esp32s2_saola_1.c

+ 4 - 2
examples/device/cdc_msc_freertos/src/tusb_config.h

@@ -48,8 +48,10 @@
 
 #define CFG_TUSB_OS                 OPT_OS_FREERTOS
 
-// CFG_TUSB_DEBUG is defined by compiler in DEBUG build
-// #define CFG_TUSB_DEBUG           0
+// can be defined by compiler in DEBUG build
+#ifndef CFG_TUSB_DEBUG
+  #define CFG_TUSB_DEBUG           0
+#endif
 
 /* USB DMA on some MCUs can only access a specific SRAM region with restriction on alignment.
  * Tinyusb use follows macros to declare transferring memory so that they can be put

+ 9 - 0
hw/bsp/esp32s2_saola_1/esp32s2_saola_1.c

@@ -26,7 +26,9 @@
 
 #include "../board.h"
 #include "driver/gpio.h"
+#include "driver/periph_ctrl.h"
 #include "hal/usb_hal.h"
+#include "soc/usb_periph.h"
 
 #include "driver/rmt.h"
 #include "led_strip/include/led_strip.h"
@@ -66,10 +68,17 @@ void board_init(void)
   gpio_set_pull_mode(BUTTON_PIN, BUTTON_STATE_ACTIVE ? GPIO_PULLDOWN_ONLY : GPIO_PULLUP_ONLY);
 
   // USB Controller Hal init
+  periph_module_reset(PERIPH_USB_MODULE);
+  periph_module_enable(PERIPH_USB_MODULE);
+
   usb_hal_context_t hal = {
     .use_external_phy = false // use built-in PHY
   };
   usb_hal_init(&hal);
+
+  // Pin drive strength
+  gpio_set_drive_capability(USBPHY_DM_NUM, GPIO_DRIVE_CAP_3);
+  gpio_set_drive_capability(USBPHY_DP_NUM, GPIO_DRIVE_CAP_3);
 }
 
 // Turn LED on or off