Massive cleanups to the incomplete BluetoothHost demo, to make the HCL layer code...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / LowLevel.h
index 7ad5219..04b2c46 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
   this software.\r
 */\r
 \r
   this software.\r
 */\r
 \r
+/** \file\r
+ *  \brief USB low level USB controller definitions.\r
+ *\r
+ *  This file contains structures, function prototypes and macros related to the low level configutation of the\r
+ *  USB controller, to start, stop and reset the USB library core.\r
+ *\r
+ *  \note This file should not be included directly. It is automatically included as needed by the USB driver\r
+ *        dispatch header located in LUFA/Drivers/USB/USB.h.\r
+ */\r
\r
 /** \ingroup Group_USB\r
  *  @defgroup Group_USBManagement USB Interface Management\r
  *\r
 /** \ingroup Group_USB\r
  *  @defgroup Group_USBManagement USB Interface Management\r
  *\r
                #endif\r
 \r
        /* Preprocessor Checks and Defines: */\r
                #endif\r
 \r
        /* Preprocessor Checks and Defines: */\r
+               #if !defined(__INCLUDE_FROM_USB_DRIVER)\r
+                       #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.\r
+               #endif\r
+\r
                #if !defined(F_CLOCK)\r
                        #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.\r
                #endif\r
        \r
                #if (F_CLOCK == 8000000)\r
                        #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
                #if !defined(F_CLOCK)\r
                        #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.\r
                #endif\r
        \r
                #if (F_CLOCK == 8000000)\r
                        #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
-                            defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))\r
+                            defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
+                                defined(__AVR_ATmega32U2__))\r
                                #define USB_PLL_PSC                0\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                0\r
                                #define USB_PLL_PSC                0\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                0\r
                        #endif\r
                #elif (F_CLOCK == 16000000)\r
                        #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
                        #endif\r
                #elif (F_CLOCK == 16000000)\r
                        #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
-                            defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))\r
+                            defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
+                                defined(__AVR_ATmega32U2__))\r
                                #define USB_PLL_PSC                (1 << PLLP0)\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                (1 << PINDIV)\r
                                #define USB_PLL_PSC                (1 << PLLP0)\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                (1 << PINDIV)\r