- #if !defined(F_CLOCK)\r
- #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled USB controller 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_ATmega32U2__))\r
- #define USB_PLL_PSC 0\r
- #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
- #define USB_PLL_PSC 0\r
- #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__))\r
- #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0))\r
- #elif (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__))\r
- #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0))\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_ATmega32U2__))\r
- #define USB_PLL_PSC (1 << PLLP0)\r
- #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
- #define USB_PLL_PSC (1 << PINDIV)\r
- #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__))\r
- #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP1))\r
- #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))\r
- #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP0))\r
- #endif\r
- #endif\r
-\r
- #if !defined(USB_PLL_PSC)\r
- #error No PLL prescale value available for chosen F_CLOCK value and AVR model.\r
- #endif\r
-\r