mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-12 03:44:19 +00:00
Fix broken XMEGA USB support.
This commit is contained in:
parent
f8f8ac0b1a
commit
fb18c315d0
@ -213,8 +213,8 @@
|
|||||||
UDADDR = (UDADDR & (1 << ADDEN)) | (Address & 0x7F);
|
UDADDR = (UDADDR & (1 << ADDEN)) | (Address & 0x7F);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void USB_Device_EnableDeviceAddress(void) ATTR_ALWAYS_INLINE;
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
||||||
static inline void USB_Device_EnableDeviceAddress(void)
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address)
|
||||||
{
|
{
|
||||||
UDADDR |= (1 << ADDEN);
|
UDADDR |= (1 << ADDEN);
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ static void USB_Device_SetAddress(void)
|
|||||||
|
|
||||||
while (!(Endpoint_IsINReady()));
|
while (!(Endpoint_IsINReady()));
|
||||||
|
|
||||||
USB_Device_EnableDeviceAddress();
|
USB_Device_EnableDeviceAddress(DeviceAddress);
|
||||||
|
|
||||||
USB_DeviceState = (DeviceAddress) ? DEVICE_STATE_Addressed : DEVICE_STATE_Default;
|
USB_DeviceState = (DeviceAddress) ? DEVICE_STATE_Addressed : DEVICE_STATE_Default;
|
||||||
}
|
}
|
||||||
|
@ -211,8 +211,8 @@
|
|||||||
AVR32_USBB.UDCON.uadd = Address;
|
AVR32_USBB.UDCON.uadd = Address;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void USB_Device_EnableDeviceAddress(void) ATTR_ALWAYS_INLINE;
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
||||||
static inline void USB_Device_EnableDeviceAddress(void)
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address)
|
||||||
{
|
{
|
||||||
AVR32_USBB.UDCON.adden = true;
|
AVR32_USBB.UDCON.adden = true;
|
||||||
}
|
}
|
||||||
|
@ -205,13 +205,13 @@
|
|||||||
static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
||||||
static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
|
static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
|
||||||
{
|
{
|
||||||
USB.ADDR = Address;
|
/* No implementation for XMEGA architecture */
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void USB_Device_EnableDeviceAddress(void) ATTR_ALWAYS_INLINE;
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
||||||
static inline void USB_Device_EnableDeviceAddress(void)
|
static inline void USB_Device_EnableDeviceAddress(const uint8_t Address)
|
||||||
{
|
{
|
||||||
/* No implementation for XMEGA architecture */
|
USB.ADDR = Address;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
|
@ -57,6 +57,13 @@
|
|||||||
|
|
||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
|
/* Macros: */
|
||||||
|
#if defined(MAX_ENDPOINT_INDEX)
|
||||||
|
#define ENDPOINT_TABLE_COUNT (MAX_ENDPOINT_INDEX + 1)
|
||||||
|
#else
|
||||||
|
#define ENDPOINT_TABLE_COUNT 16
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Type Defines: */
|
/* Type Defines: */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -64,7 +71,7 @@
|
|||||||
{
|
{
|
||||||
USB_EP_t OUT;
|
USB_EP_t OUT;
|
||||||
USB_EP_t IN;
|
USB_EP_t IN;
|
||||||
} Endpoints[16];
|
} Endpoints[ENDPOINT_TABLE_COUNT];
|
||||||
uint16_t FrameNum;
|
uint16_t FrameNum;
|
||||||
} ATTR_PACKED USB_EndpointTable_t;
|
} ATTR_PACKED USB_EndpointTable_t;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user