Преглед на файлове

Merge pull request #1519 from kilograham/rp2040_shared_handler

rp2040: use shared IRQ handlers, so user can also hook the USB IRQ
Ha Thach преди 3 години
родител
ревизия
d09d0b3147
променени са 2 файла, в които са добавени 2 реда и са изтрити 2 реда
  1. 1 1
      src/portable/raspberrypi/rp2040/dcd_rp2040.c
  2. 1 1
      src/portable/raspberrypi/rp2040/hcd_rp2040.c

+ 1 - 1
src/portable/raspberrypi/rp2040/dcd_rp2040.c

@@ -363,7 +363,7 @@ void dcd_init (uint8_t rhport)
   usb_hw->pwr = USB_USB_PWR_VBUS_DETECT_BITS | USB_USB_PWR_VBUS_DETECT_OVERRIDE_EN_BITS;
 #endif
 
-  irq_set_exclusive_handler(USBCTRL_IRQ, dcd_rp2040_irq);
+  irq_add_shared_handler(USBCTRL_IRQ, dcd_rp2040_irq, PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY);
 
   // Init control endpoints
   tu_memclr(hw_endpoints[0], 2*sizeof(hw_endpoint_t));

+ 1 - 1
src/portable/raspberrypi/rp2040/hcd_rp2040.c

@@ -369,7 +369,7 @@ bool hcd_init(uint8_t rhport)
     // Force VBUS detect to always present, for now we assume vbus is always provided (without using VBUS En)
     usb_hw->pwr = USB_USB_PWR_VBUS_DETECT_BITS | USB_USB_PWR_VBUS_DETECT_OVERRIDE_EN_BITS;
 
-    irq_set_exclusive_handler(USBCTRL_IRQ, hcd_rp2040_irq);
+    irq_add_shared_handler(USBCTRL_IRQ, hcd_rp2040_irq, PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY);
 
     // clear epx and interrupt eps
     memset(&ep_pool, 0, sizeof(ep_pool));