VLSI Solution Oy / MegaLib Documentation

usb.h

Go to the documentation of this file.
00001 
00004 #ifndef USB_H
00005 #define USB_H
00006 
00007 #define USB_SET_ADDRESS_ENA     0xD0
00008 #define USB_SET_ENDP_ENA        0xD8
00009 #define USB_SET_MODE            0xF3
00010 #define USB_SET_DMA             0xFB
00011 #define USB_READ_INT            0xF4
00012 #define USB_SELECT_ENDP_CO      0x00
00013 #define USB_SELECT_ENDP_CI      0x01
00014 #define USB_SELECT_ENDP_E1O     0x02
00015 #define USB_SELECT_ENDP_E1I     0x03
00016 #define USB_SELECT_ENDP_E2O     0x04
00017 #define USB_SELECT_ENDP_E2I     0x05
00018 #define USB_ENDP_ST_CO          0x40
00019 #define USB_ENDP_ST_CI          0x41
00020 #define USB_ENDP_ST_E1O         0x42
00021 #define USB_ENDP_ST_E1I         0x43
00022 #define USB_ENDP_ST_E2O         0x44
00023 #define USB_ENDP_ST_E2I         0x45
00024 #define USB_ACCESS_BUF          0xF0
00025 #define USB_ACK_SETUP           0xF1
00026 #define USB_CLEAR_BUF           0xF2
00027 #define USB_VALIDATE_BUF        0xFA
00028 #define USB_SEND_RESUME         0xF6
00029 #define USB_READ_FRAME_NUMBER   0xF5
00030 
00031 #define D12_INT_EOT             0x100
00032 #define D12_INT_SUSPENDCHANGE   0x80
00033 #define D12_INT_BUSRESET        0x40
00034 #define D12_INT_ENDP2IN         0x20
00035 #define D12_INT_ENDP2OUT        0x10
00036 #define D12_INT_ENDP1IN         0x08
00037 #define D12_INT_ENDP1OUT        0x04
00038 #define D12_INT_ENDP0IN         0x02
00039 #define D12_INT_ENDP0OUT        0x01
00040 
00041 #define USB_ENDPOINT_HALT       0
00042 #define USB_ENDPOINT_DIRECTION_MASK     0x80
00043 #define USB_MAX_ENDPOINTS               0x03
00044 
00045 
00046 
00047 #define D12_FULLEMPTY           0x01
00048 #define D12_STALL               0x02
00049 
00050 #define D12_SETUPPACKET         0x20
00051 
00052 #define EP0_TX_FIFO_SIZE        16
00053 #define EP0_RX_FIFO_SIZE        16
00054 #define EP0_PACKET_SIZE         16
00055 
00056 #define EP1_TX_FIFO_SIZE        16
00057 #define EP1_RX_FIFO_SIZE        16
00058 #define EP1_PACKET_SIZE         16
00059 
00060 #define EP2_TX_FIFO_SIZE        64
00061 #define EP2_RX_FIFO_SIZE        64
00062 #define EP2_PACKET_SIZE         64
00063 
00064 
00065 #define USB_REQUEST_MASK 0x0F
00066 #define USB_REQUEST_GET_STATUS          0x00
00067 #define USB_REQUEST_CLEAR_FEATURE       0x01
00068 #define USB_REQUEST_SET_FEATURE         0x03
00069 #define USB_REQUEST_SET_ADDRESS         0x05
00070 #define USB_REQUEST_GET_DESCRIPTOR      0x06
00071 #define USB_REQUEST_SET_DESCRIPTOR      0x07
00072 #define USB_REQUEST_GET_CONFIGURATION   0x08
00073 #define USB_REQUEST_SET_CONFIGURATION   0x09
00074 #define USB_REQUEST_GET_INTERFACE       0x0A
00075 #define USB_REQUEST_SET_INTERFACE       0x0B
00076 #define USB_REQUEST_SYNC_FRAME          0x0C
00077 
00078 #define USB_REQUEST_TYPE_MASK 0x60
00079 #define USB_STANDARD_REQUEST            0x00
00080 #define USB_INTERFACE_REQUEST           0x01
00081 #define USB_ENDPOINT_REQUEST            0x02
00082 
00083 #define USB_CLASS_REQUEST               0x20
00084 #define USB_VENDOR_REQUEST              0x40
00085 
00086 #define USB_DEVICE_DESCRIPTOR_TYPE      0x01
00087 #define USB_CONFIGURATION_DESCRIPTOR_TYPE       0x02
00088 #define USB_STRING_DESCRIPTOR_TYPE      0x03
00089 #define USB_INTERFACE_DESCRIPTOR_TYPE   0x04
00090 #define USB_ENDPOINT_DESCRIPTOR_TYPE    0x05
00091 #define USB_POWER_DESCRIPTOR_TYPE       0x06
00092 
00093 #define USB_CLASS_CODE_TEST_CLASS_DEVICE        0xDC
00094 #define USB_SUBCLASS_CODE_TEST_CLASS_D12        0xA0
00095 #define USB_PROTOCOL_CODE_TEST_CLASS_D12        0xB0
00096 
00097 #define USB_RECIPIENT                   0x1f
00098 #define USB_RECIPIENT_DEVICE            0x00
00099 #define USB_RECIPIENT_INTERFACE         0x01
00100 #define USB_RECIPIENT_ENDPOINT          0x02
00101 
00102 #define USB_SP_REQUEST 0
00103 #define USB_SP_VALUE 1
00104 #define USB_SP_INDEX 2
00105 #define USB_SP_LENGTH 3
00106 
00107 
00108 #endif

All software copyright 2005-2006 VLSI Solution OY. Redistribution of this software is strictly forbidden.