diff options
Diffstat (limited to 'usbdrv/usbdrv.h')
-rw-r--r-- | usbdrv/usbdrv.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/usbdrv/usbdrv.h b/usbdrv/usbdrv.h index bf9418d..5bab059 100644 --- a/usbdrv/usbdrv.h +++ b/usbdrv/usbdrv.h @@ -566,7 +566,14 @@ int usbDescriptorStringSerialNumber[]; # endif #endif #ifndef USB_INTR_CFG_SET /* allow user to override our default */ -# define USB_INTR_CFG_SET ((1 << ISC00) | (1 << ISC01)) /* cfg for rising edge */ +# if defined(USB_COUNT_SOF) || defined(USB_SOF_HOOK) +# define USB_INTR_CFG_SET (1 << ISC01) /* cfg for falling edge */ + /* If any SOF logic is used, the interrupt must be wired to D- where + * we better trigger on falling edge + */ +# else +# define USB_INTR_CFG_SET ((1 << ISC00) | (1 << ISC01)) /* cfg for rising edge */ +# endif #endif #ifndef USB_INTR_CFG_CLR /* allow user to override our default */ # define USB_INTR_CFG_CLR 0 /* no bits to clear */ |