forked from mfulz_github/qmk_firmware
Corrected incorrect signature bytes for the AT90USB82 and added support for the ATMEGAXX2 variant AVRs to the DFU bootloader.
Added warning to the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() events that they may be fired multiple times during device enumeration on the series 2 AVRs.
This commit is contained in:
parent
1190652c0b
commit
c8b72f955f
|
@ -92,6 +92,7 @@ uint16_t StartAddr = 0x0000;
|
|||
*/
|
||||
uint16_t EndAddr = 0x0000;
|
||||
|
||||
|
||||
/** Main program entry point. This routine configures the hardware required by the bootloader, then continuously
|
||||
* runs the bootloader processing routine until instructed to soft-exit, or hard-reset via the watchdog to start
|
||||
* the loaded application code.
|
||||
|
|
|
@ -78,26 +78,16 @@
|
|||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x96
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_AT90USB647__)
|
||||
#define PRODUCT_ID_CODE 0x2FF9
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x96
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_AT90USB162__)
|
||||
#define PRODUCT_ID_CODE 0x2FFA
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x94
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_AT90USB82__)
|
||||
#define PRODUCT_ID_CODE 0x2FF7
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x94
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_ATmega32U6__)
|
||||
#define PRODUCT_ID_CODE 0x2FFB
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x95
|
||||
#define AVR_SIGNATURE_3 0x88
|
||||
#elif defined(__AVR_AT90USB647__)
|
||||
#define PRODUCT_ID_CODE 0x2FF9
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x96
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_ATmega32U4__)
|
||||
#define PRODUCT_ID_CODE 0x2FF4
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
|
@ -108,6 +98,26 @@
|
|||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x94
|
||||
#define AVR_SIGNATURE_3 0x88
|
||||
#elif defined(__AVR_AT90USB162__)
|
||||
#define PRODUCT_ID_CODE 0x2FFA
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x94
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_ATmega8U2__)
|
||||
#define PRODUCT_ID_CODE 0x2FF7
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x93
|
||||
#define AVR_SIGNATURE_3 0x82
|
||||
#elif defined(__AVR_ATmega16U2__)
|
||||
#define PRODUCT_ID_CODE 0x2FEF
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x94
|
||||
#define AVR_SIGNATURE_3 0x89
|
||||
#elif defined(__AVR_AT90USB82__)
|
||||
#define PRODUCT_ID_CODE 0x2FEE
|
||||
#define AVR_SIGNATURE_1 0x1E
|
||||
#define AVR_SIGNATURE_2 0x93
|
||||
#define AVR_SIGNATURE_3 0x89
|
||||
#else
|
||||
#error The selected AVR part is not currently supported by this bootloader.
|
||||
#endif
|
||||
|
|
|
@ -148,13 +148,16 @@
|
|||
/** Event for USB device connection. This event fires when the AVR in device mode and the device is connected
|
||||
* to a host, beginning the enumeration process, measured by a rising level on the AVR's VBUS pin.
|
||||
*
|
||||
* \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.
|
||||
* \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.
|
||||
* this means that the current connection state is derived from the bus suspension and wake up events by default,
|
||||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.
|
||||
*
|
||||
* \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers
|
||||
* if NO_LIMITED_CONTROLLER_CONNECT is not defined.
|
||||
*
|
||||
* \see USBTask.h for more information on the USB management task and reducing CPU usage.
|
||||
*/
|
||||
void EVENT_USB_Device_Connect(void);
|
||||
|
@ -162,13 +165,16 @@
|
|||
/** Event for USB device disconnection. This event fires when the AVR in device mode and the device is disconnected
|
||||
* from a host, measured by a falling level on the AVR's VBUS pin.
|
||||
*
|
||||
* \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.
|
||||
* \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.
|
||||
* this means that the current connection state is derived from the bus suspension and wake up events by default,
|
||||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.
|
||||
*
|
||||
* \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers
|
||||
* if NO_LIMITED_CONTROLLER_CONNECT is not defined.
|
||||
*
|
||||
* \see USBTask.h for more information on the USB management task and reducing CPU usage.
|
||||
*/
|
||||
void EVENT_USB_Device_Disconnect(void);
|
||||
|
|
|
@ -60,7 +60,8 @@
|
|||
* - CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)
|
||||
* - Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)
|
||||
* - Fix allowable F_CPU values comment in project makefiles
|
||||
* - Fixed DFU and CDC class bootloaders on the AT90USBXXX2 series USB AVRs
|
||||
* - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new
|
||||
* ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader
|
||||
*
|
||||
*
|
||||
* \section Sec_ChangeLog090810 Version 090810
|
||||
|
|
Loading…
Reference in New Issue