Minor correction to the UC3 USB clock division formula (thanks to Kim Blomqvist).
[pub/USBasp.git] / LUFA / Drivers / USB / Core / UC3 / USBController_UC3.c
index 9e4e4a2..6a3df6e 100644 (file)
@@ -112,7 +112,7 @@ void USB_ResetInterface(void)
        AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].pllsel = !(USB_Options & USB_OPT_GCLK_SRC_OSC);
        AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].oscsel = !(USB_Options & USB_OPT_GCLK_CHANNEL_0);
        AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].diven  = (F_USB != USB_CLOCK_REQUIRED_FREQ);
-       AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].div    = (F_USB == USB_CLOCK_REQUIRED_FREQ) ? 0 : (uint32_t)(((F_USB / USB_CLOCK_REQUIRED_FREQ) - 1) / 2);
+       AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].div    = (F_USB == USB_CLOCK_REQUIRED_FREQ) ? 0 : (uint32_t)((F_USB / USB_CLOCK_REQUIRED_FREQ / 2) - 1);
        AVR32_PM.GCCTRL[AVR32_PM_GCLK_USBB].cen    = true;
 
        USB_INT_DisableAllInterrupts();