|
|
@ -60,19 +60,24 @@
|
|
|
|
enum USB_Interrupts_t
|
|
|
|
enum USB_Interrupts_t
|
|
|
|
{
|
|
|
|
{
|
|
|
|
USB_INT_VBUSTI = 0,
|
|
|
|
USB_INT_VBUSTI = 0,
|
|
|
|
|
|
|
|
#if (defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__))
|
|
|
|
USB_INT_IDTI = 1,
|
|
|
|
USB_INT_IDTI = 1,
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__))
|
|
|
|
USB_INT_WAKEUPI = 2,
|
|
|
|
USB_INT_WAKEUPI = 2,
|
|
|
|
USB_INT_SUSPI = 3,
|
|
|
|
USB_INT_SUSPI = 3,
|
|
|
|
USB_INT_EORSTI = 4,
|
|
|
|
USB_INT_EORSTI = 4,
|
|
|
|
USB_INT_SOFI = 5,
|
|
|
|
USB_INT_SOFI = 5,
|
|
|
|
USB_INT_HSOFI = 6,
|
|
|
|
USB_INT_RXSTPI = 6,
|
|
|
|
USB_INT_DCONNI = 7,
|
|
|
|
#endif
|
|
|
|
USB_INT_DDISCI = 8,
|
|
|
|
#if (defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__))
|
|
|
|
USB_INT_RSTI = 9,
|
|
|
|
USB_INT_HSOFI = 7,
|
|
|
|
USB_INT_BCERRI = 10,
|
|
|
|
USB_INT_DCONNI = 8,
|
|
|
|
USB_INT_VBERRI = 11,
|
|
|
|
USB_INT_DDISCI = 9,
|
|
|
|
USB_INT_SRPI = 12,
|
|
|
|
USB_INT_RSTI = 10,
|
|
|
|
USB_INT_RXSTPI = 13,
|
|
|
|
USB_INT_BCERRI = 11,
|
|
|
|
|
|
|
|
USB_INT_VBERRI = 12,
|
|
|
|
|
|
|
|
#endif
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* Inline Functions: */
|
|
|
|
/* Inline Functions: */
|
|
|
@ -84,9 +89,12 @@
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
AVR32_USBB.USBCON.vbuste = true;
|
|
|
|
AVR32_USBB.USBCON.vbuste = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_BOTH)
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
AVR32_USBB.USBCON.idte = true;
|
|
|
|
AVR32_USBB.USBCON.idte = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_DEVICE)
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
AVR32_USBB.UDINTESET.wakeupes = true;
|
|
|
|
AVR32_USBB.UDINTESET.wakeupes = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -99,6 +107,11 @@
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
AVR32_USBB.UDINTESET.sofes = true;
|
|
|
|
AVR32_USBB.UDINTESET.sofes = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_HOST)
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
AVR32_USBB.UHINTESET.hsofies = true;
|
|
|
|
AVR32_USBB.UHINTESET.hsofies = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -117,10 +130,7 @@
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
AVR32_USBB.USBCON.vberre = true;
|
|
|
|
AVR32_USBB.USBCON.vberre = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case USB_INT_SRPI:
|
|
|
|
#endif
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -132,9 +142,12 @@
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
AVR32_USBB.USBCON.vbuste = false;
|
|
|
|
AVR32_USBB.USBCON.vbuste = false;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_BOTH)
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
AVR32_USBB.USBCON.idte = false;
|
|
|
|
AVR32_USBB.USBCON.idte = false;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_DEVICE)
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
AVR32_USBB.UDINTECLR.wakeupec = true;
|
|
|
|
AVR32_USBB.UDINTECLR.wakeupec = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -147,6 +160,11 @@
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
AVR32_USBB.UDINTECLR.sofec = true;
|
|
|
|
AVR32_USBB.UDINTECLR.sofec = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_HOST)
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
AVR32_USBB.UHINTECLR.hsofiec = true;
|
|
|
|
AVR32_USBB.UHINTECLR.hsofiec = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -165,10 +183,7 @@
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
AVR32_USBB.USBCON.vberre = false;
|
|
|
|
AVR32_USBB.USBCON.vberre = false;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case USB_INT_SRPI:
|
|
|
|
#endif
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -180,9 +195,12 @@
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
AVR32_USBB.USBSTACLR.vbustic = true;
|
|
|
|
AVR32_USBB.USBSTACLR.vbustic = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_BOTH)
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
AVR32_USBB.USBSTACLR.idtic = true;
|
|
|
|
AVR32_USBB.USBSTACLR.idtic = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_DEVICE)
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
AVR32_USBB.UDINTCLR.wakeupc = true;
|
|
|
|
AVR32_USBB.UDINTCLR.wakeupc = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -195,6 +213,11 @@
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
AVR32_USBB.UDINTCLR.sofc = true;
|
|
|
|
AVR32_USBB.UDINTCLR.sofc = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_HOST)
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
AVR32_USBB.UHINTCLR.hsofic = true;
|
|
|
|
AVR32_USBB.UHINTCLR.hsofic = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -213,10 +236,7 @@
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
AVR32_USBB.USBSTACLR.vberric = true;
|
|
|
|
AVR32_USBB.USBSTACLR.vberric = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case USB_INT_SRPI:
|
|
|
|
#endif
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -227,8 +247,11 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
return AVR32_USBB.USBCON.vbuste;
|
|
|
|
return AVR32_USBB.USBCON.vbuste;
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_BOTH)
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
return AVR32_USBB.USBCON.idte;
|
|
|
|
return AVR32_USBB.USBCON.idte;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_DEVICE)
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
return AVR32_USBB.UDINTE.wakeupe;
|
|
|
|
return AVR32_USBB.UDINTE.wakeupe;
|
|
|
|
case USB_INT_SUSPI:
|
|
|
|
case USB_INT_SUSPI:
|
|
|
@ -237,6 +260,11 @@
|
|
|
|
return AVR32_USBB.UDINTE.eorste;
|
|
|
|
return AVR32_USBB.UDINTE.eorste;
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
return AVR32_USBB.UDINTE.sofe;
|
|
|
|
return AVR32_USBB.UDINTE.sofe;
|
|
|
|
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_HOST)
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
return AVR32_USBB.UHINTE.hsofie;
|
|
|
|
return AVR32_USBB.UHINTE.hsofie;
|
|
|
|
case USB_INT_DCONNI:
|
|
|
|
case USB_INT_DCONNI:
|
|
|
@ -249,10 +277,7 @@
|
|
|
|
return AVR32_USBB.USBCON.bcerre;
|
|
|
|
return AVR32_USBB.USBCON.bcerre;
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
return AVR32_USBB.USBCON.vberre;
|
|
|
|
return AVR32_USBB.USBCON.vberre;
|
|
|
|
case USB_INT_SRPI:
|
|
|
|
#endif
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
@ -265,8 +290,11 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
case USB_INT_VBUSTI:
|
|
|
|
return AVR32_USBB.USBSTA.vbusti;
|
|
|
|
return AVR32_USBB.USBSTA.vbusti;
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_BOTH)
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
case USB_INT_IDTI:
|
|
|
|
return AVR32_USBB.USBSTA.idti;
|
|
|
|
return AVR32_USBB.USBSTA.idti;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_DEVICE)
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
case USB_INT_WAKEUPI:
|
|
|
|
return AVR32_USBB.UDINT.wakeup;
|
|
|
|
return AVR32_USBB.UDINT.wakeup;
|
|
|
|
case USB_INT_SUSPI:
|
|
|
|
case USB_INT_SUSPI:
|
|
|
@ -275,6 +303,11 @@
|
|
|
|
return AVR32_USBB.UDINT.eorst;
|
|
|
|
return AVR32_USBB.UDINT.eorst;
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
case USB_INT_SOFI:
|
|
|
|
return AVR32_USBB.UDINT.sof;
|
|
|
|
return AVR32_USBB.UDINT.sof;
|
|
|
|
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(USB_CAN_BE_HOST)
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
case USB_INT_HSOFI:
|
|
|
|
return AVR32_USBB.UHINT.hsofi;
|
|
|
|
return AVR32_USBB.UHINT.hsofi;
|
|
|
|
case USB_INT_DCONNI:
|
|
|
|
case USB_INT_DCONNI:
|
|
|
@ -287,10 +320,7 @@
|
|
|
|
return AVR32_USBB.USBSTA.bcerri;
|
|
|
|
return AVR32_USBB.USBSTA.bcerri;
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
case USB_INT_VBERRI:
|
|
|
|
return AVR32_USBB.USBSTA.vberri;
|
|
|
|
return AVR32_USBB.USBSTA.vberri;
|
|
|
|
case USB_INT_SRPI:
|
|
|
|
#endif
|
|
|
|
case USB_INT_RXSTPI:
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|