Pārlūkot izejas kodu

usb: configure_pins fix for tinyusb

Closes https://github.com/espressif/esp-idf/issues/5588
Andrei Gramakov 5 gadi atpakaļ
vecāks
revīzija
20cec420ad
1 mainītis faili ar 9 papildinājumiem un 7 dzēšanām
  1. 9 7
      components/tinyusb/port/esp32s2/src/tinyusb.c

+ 9 - 7
components/tinyusb/port/esp32s2/src/tinyusb.c

@@ -12,14 +12,14 @@
 // See the License for the specific language governing permissions and
 // See the License for the specific language governing permissions and
 // limitations under the License.
 // limitations under the License.
 
 
-#include "tinyusb.h"
+#include "driver/gpio.h"
+#include "driver/periph_ctrl.h"
+#include "esp_rom_gpio.h"
+#include "hal/gpio_ll.h"
 #include "hal/usb_hal.h"
 #include "hal/usb_hal.h"
-#include "soc/usb_periph.h"
 #include "soc/gpio_periph.h"
 #include "soc/gpio_periph.h"
-#include "hal/gpio_ll.h"
-#include "esp_rom_gpio.h"
-#include "driver/periph_ctrl.h"
-#include "driver/gpio.h"
+#include "soc/usb_periph.h"
+#include "tinyusb.h"
 
 
 static void configure_pins(usb_hal_context_t *usb)
 static void configure_pins(usb_hal_context_t *usb)
 {
 {
@@ -34,7 +34,9 @@ static void configure_pins(usb_hal_context_t *usb)
                 esp_rom_gpio_connect_out_signal(iopin->pin, iopin->func, false, false);
                 esp_rom_gpio_connect_out_signal(iopin->pin, iopin->func, false, false);
             } else {
             } else {
                 esp_rom_gpio_connect_in_signal(iopin->pin, iopin->func, false);
                 esp_rom_gpio_connect_in_signal(iopin->pin, iopin->func, false);
-                gpio_ll_input_enable(&GPIO, iopin->pin);
+                if ((iopin->pin != GPIO_MATRIX_CONST_ZERO_INPUT) && (iopin->pin != GPIO_MATRIX_CONST_ONE_INPUT)) {
+                    gpio_ll_input_enable(&GPIO, iopin->pin);
+                }
             }
             }
             esp_rom_gpio_pad_unhold(iopin->pin);
             esp_rom_gpio_pad_unhold(iopin->pin);
         }
         }