Add basic USB support sorta

This commit is contained in:
Melissa Goad
2017-01-22 00:22:14 -06:00
parent bd28cc5e57
commit 46479aa1bd
5 changed files with 83 additions and 3 deletions

32
src/usb.h Normal file
View File

@@ -0,0 +1,32 @@
/* Copyright holders: Melissa Goad
see COPYING for more details
*/
typedef struct
{
uint8_t pid; //low 4 bits are the real pid, top 4 bits are just ~pid
uint8_t dev_addr;
uint8_t dev_endpoint;
uint8_t* data;
int len;
void* device;
} usb_packet_t;
typedef enum
{
USB_DEV_TYPE_NONE = 0,
USB_DEV_TYPE_MOUSE,
USB_DEV_TYPE_TABLET,
USB_DEV_TYPE_KEYPAD,
USB_DEV_TYPE_DISK,
USB_DEV_TYPE_CDROM,
USB_DEV_TYPE_HUB,
USB_DEV_TYPE_PRINTER
} usb_device_type_t;
typedef enum
{
USB_PID_TOKEN_SETUP = 0x2d,
USB_PID_TOKEN_IN = 0x69,
USB_PID_TOKEN_OUT = 0xe1
} usb_pid_type_t;