summaryrefslogtreecommitdiffstats
path: root/usb/endpt1.c
diff options
context:
space:
mode:
Diffstat (limited to 'usb/endpt1.c')
-rw-r--r--usb/endpt1.c36
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);*/
+}