diff options
Diffstat (limited to 'usb')
-rw-r--r-- | usb/usb.c | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -1,6 +1,7 @@ +#include <cm4.h> +#include <reg/gpio.h> #include <reg/sim.h> #include <reg/usbotg.h> -#include <reg/gpio.h> #include <stddef.h> #include "usb.h" @@ -11,16 +12,10 @@ #define USBFRAC_VAL 1 /* 72 MHz * 2 = 144 MHz (Top of Fraction) */ #define USBDIV_VAL 2 /* 144 MHz / 3 = 48 MHz (Bottom of Fraction) */ -/* TODO: Move this to lib somewhere */ -#define CLRPEND(n) REG_32(0xE000E280 + 4 * (n)) -#define ISR_CLRPEND(i) CLRPEND((i) / 32) = BV((i) % 32); - -#define SETENA(n) REG_32(0xE000E100 + 4 * (n)) -#define ISR_SETENA(i) SETENA((i) / 32) = BV((i) % 32); - - +/* TODO: Only use the number of endpoints that are needed */ +/* TODO: Try using static */ __attribute__ ((aligned(512))) -struct usb0_bd usb_bdt[16 * 4]; /* TODO: Only use the number of endpoints that are needed */ +struct usb0_bd usb_bdt[16 * 4]; /* usb_setup: Setup function for USB subsystem */ void usb_setup(void) |