diff options
Diffstat (limited to 'usbdrv/usbdrvasm.S')
-rw-r--r-- | usbdrv/usbdrvasm.S | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/usbdrv/usbdrvasm.S b/usbdrv/usbdrvasm.S index 47a1850..851a9be 100644 --- a/usbdrv/usbdrvasm.S +++ b/usbdrv/usbdrvasm.S @@ -26,7 +26,8 @@ the file appropriate for the given clock rate. #define cnt r19 #define x3 r20 #define x4 r21 -#define bitcnt r22 +#define x5 r22 +#define bitcnt x5 #define phase x4 #define leap x4 @@ -279,18 +280,26 @@ usbMFTimeout: # define USB_CFG_CLOCK_KHZ 12000 #endif -#if USB_CFG_CLOCK_KHZ == 12000 -# include "usbdrvasm12.inc" -#elif USB_CFG_CLOCK_KHZ == 12800 -# include "usbdrvasm128.inc" -#elif USB_CFG_CLOCK_KHZ == 15000 -# include "usbdrvasm15.inc" -#elif USB_CFG_CLOCK_KHZ == 16000 -# include "usbdrvasm16.inc" -#elif USB_CFG_CLOCK_KHZ == 16500 -# include "usbdrvasm165.inc" -#elif USB_CFG_CLOCK_KHZ == 20000 -# include "usbdrvasm20.inc" -#else -# error "USB_CFG_CLOCK_KHZ is not one of the supported rates!" -#endif +#if USB_CFG_CHECK_CRC /* separate dispatcher for CRC type modules */ +# if USB_CFG_CLOCK_KHZ == 18000 +# include "usbdrvasm18-crc.inc" +# else +# error "USB_CFG_CLOCK_KHZ is not one of the supported crc-rates!" +# endif +#else /* USB_CFG_CHECK_CRC */ +# if USB_CFG_CLOCK_KHZ == 12000 +# include "usbdrvasm12.inc" +# elif USB_CFG_CLOCK_KHZ == 12800 +# include "usbdrvasm128.inc" +# elif USB_CFG_CLOCK_KHZ == 15000 +# include "usbdrvasm15.inc" +# elif USB_CFG_CLOCK_KHZ == 16000 +# include "usbdrvasm16.inc" +# elif USB_CFG_CLOCK_KHZ == 16500 +# include "usbdrvasm165.inc" +# elif USB_CFG_CLOCK_KHZ == 20000 +# include "usbdrvasm20.inc" +# else +# error "USB_CFG_CLOCK_KHZ is not one of the supported non-crc-rates!" +# endif +#endif /* USB_CFG_CHECK_CRC */ |