aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-07-31 00:35:19 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-07-31 00:35:19 +0000
commita789619fbe2cd07347816cc5c168e8f904acca86 (patch)
tree67f2649b7e8e099c5536d9c0a1e458aef075929b /LUFA/Drivers/USB
parent7df6b9563c7aed504b34f42bc46d01e051051bdd (diff)
downloadlufa-a789619fbe2cd07347816cc5c168e8f904acca86.tar.gz
lufa-a789619fbe2cd07347816cc5c168e8f904acca86.tar.bz2
lufa-a789619fbe2cd07347816cc5c168e8f904acca86.zip
Renamed USB_Device_SetHighSpeed() to USB_Device_SetFullSpeed() so that the correct terminology is used (thanks to Brian Dickman).
Fix USB_PLL_Off() call in the series 4, 6 and 7 microcontroller disconnect interrupt handler code, which wasn't guarded by a test of USB_Options to check if the user has specified manual PLL control (thanks to Brian Dickman).
Diffstat (limited to 'LUFA/Drivers/USB')
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBInterrupt.c5
-rw-r--r--LUFA/Drivers/USB/LowLevel/Device.h2
-rw-r--r--LUFA/Drivers/USB/LowLevel/LowLevel.c6
3 files changed, 9 insertions, 4 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
index 20545a40e..f0a59edb7 100644
--- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
+++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
@@ -93,7 +93,10 @@ ISR(USB_GEN_vect, ISR_BLOCK)
USB_Detach();
USB_CLK_Freeze();
- USB_PLL_Off();
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ USB_PLL_Off();
+
USB_REG_Off();
EVENT_USB_VBUSDisconnect();
diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h
index e162a5980..d66def438 100644
--- a/LUFA/Drivers/USB/LowLevel/Device.h
+++ b/LUFA/Drivers/USB/LowLevel/Device.h
@@ -185,7 +185,7 @@
#if !defined(__DOXYGEN__)
/* Macros: */
#define USB_Device_SetLowSpeed() MACROS{ UDCON |= (1 << LSM); }MACROE
- #define USB_Device_SetHighSpeed() MACROS{ UDCON &= ~(1 << LSM); }MACROE
+ #define USB_Device_SetFullSpeed() MACROS{ UDCON &= ~(1 << LSM); }MACROE
#endif
#endif
diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.c b/LUFA/Drivers/USB/LowLevel/LowLevel.c
index 41d9e10cc..3ad1e9830 100644
--- a/LUFA/Drivers/USB/LowLevel/LowLevel.c
+++ b/LUFA/Drivers/USB/LowLevel/LowLevel.c
@@ -121,7 +121,9 @@ void USB_ShutDown(void)
USB_ResetInterface();
USB_Detach();
USB_Controller_Disable();
- USB_PLL_Off();
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ USB_PLL_Off();
#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
USB_OTGPAD_Off();
@@ -188,7 +190,7 @@ void USB_ResetInterface(void)
if (USB_Options & USB_DEVICE_OPT_LOWSPEED)
USB_Device_SetLowSpeed();
else
- USB_Device_SetHighSpeed();
+ USB_Device_SetFullSpeed();
USB_INT_Enable(USB_INT_VBUS);
}