From ffa8b430c1886b696e1e94039e6a9343b5b81dbd Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 14 Jul 2011 11:31:12 +0000 Subject: Complete initial revision of the XMEGA Clock Management platform driver. Start the USB clock source generator inside USB_ResetInterface() for XMEGA devices. --- LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c | 2 +- LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'LUFA/Drivers/USB') diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c index 154020c41..daace9697 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c +++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c @@ -43,7 +43,7 @@ bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number, const uint8_t UECFG0XData, const uint8_t UECFG1XData) { - // TODO + return false; // TODO } void Endpoint_ClearEndpoints(void) diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c index 2556ee858..c8839c9d0 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c +++ b/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c @@ -78,6 +78,11 @@ void USB_Disable(void) void USB_ResetInterface(void) { + if (USB_Options & USB_DEVICE_OPT_LOWSPEED) + CLK.USBCTRL = ((((F_USB / 6000000) - 1) << CLK_USBPSDIV_gp) | CLK_USBSRC_PLL_gc | CLK_USBEN_bm); + else + CLK.USBCTRL = ((((F_USB / 48000000) - 1) << CLK_USBPSDIV_gp) | CLK_USBSRC_PLL_gc | CLK_USBEN_bm); + USB_INT_DisableAllInterrupts(); USB_INT_ClearAllInterrupts(); -- cgit v1.2.3