diff options
Diffstat (limited to 'usb/endpt1.c')
-rw-r--r-- | usb/endpt1.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/usb/endpt1.c b/usb/endpt1.c new file mode 100644 index 0000000..b29c3bb --- /dev/null +++ b/usb/endpt1.c @@ -0,0 +1,36 @@ +#include <reg/usbotg.h> +#include <stdint.h> + +#include "bdt.h" +#include "endpt1.h" + +#define MAX_PACKET 64 + +static unsigned char buf[2][MAX_PACKET]; + +void usb_endpt1_enable(void) +{ +} + +void usb_endpt1_disable(void) +{ +} + +void usb_endpt1_token(uint8_t state) +{ + struct usb0_bd *bd; + + bd = &BDT_ENDPT(1, GET_BIT(state, STAT_TX), GET_BIT(state, STAT_ODD)); + + switch (GET_BITS(bd->desc, BD_TOK_PID)) { + case BD_TOK_PID_OUT: + bd->desc = USB0_BD_INIT(sizeof buf[0], 1); + /* should never happen */ + break; + case BD_TOK_PID_IN: + /*pushtx();*/ + break; + } + + /*USB0_CTL = BV(CTL_USBENSOFEN);*/ +} |