BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Functions | Variables
usbdevice.h File Reference

Go to the source code of this file.

Data Structures

struct  USBDEVICE_SETUP_DATA
struct  USBDEVICE_DEVICE_DESCRIPTOR
struct  USBDEVICE_CONFIGURATION_DESCRIPTOR
struct  USBDEVICE_INTERFACE_DESCRIPTOR
struct  USBDEVICE_ENDPOINT_DESCRIPTOR
struct  USBDEVICE_CONTROL
struct  ENDPOINT0_CONTROL
struct  ENDPOINT1_CONTROL
struct  ENDPOINT2_CONTROL
struct  ENDPOINT3_CONTROL
struct  ENDPOINT4_CONTROL

Macros

#define DISABLE_SUSPEND   0x00
#define ENABLE_SUSPEND   0x01
#define SUSPEND_MODE   0x02
#define MCU_RESUME   0x04
#define ISO_UPDATE   (1<<7)
#define FIFO_SIZE_0   0x00 /* 0x00 * 8 = 0 */
#define FIFO_SIZE_8   0x01 /* 0x01 * 8 = 8 */
#define FIFO_SIZE_16   0x02 /* 0x02 * 8 = 16 */
#define FIFO_SIZE_32   0x04 /* 0x04 * 8 = 32 */
#define FIFO_SIZE_64   0x08 /* 0x08 * 8 = 64 */
#define EP0_OUT_PKT_READY   0x01 /* USB sets, MCU clears by setting SERVICED_OUT_PKT_RDY */
#define EP0_IN_PKT_READY   0x02 /* MCU sets, USB clears after sending FIFO */
#define EP0_SENT_STALL   0x04 /* USB sets */
#define EP0_DATA_END   0x08 /* MCU sets */
#define EP0_SETUP_END   0x10 /* USB sets, MCU clears by setting SERVICED_SETUP_END */
#define EP0_SEND_STALL   0x20 /* MCU sets */
#define EP0_SERVICED_OUT_PKT_RDY   0x40 /* MCU writes 1 to clear OUT_PKT_READY */
#define EP0_SERVICED_SETUP_END   0x80 /* MCU writes 1 to clear SETUP_END */
#define EP0_WR_BITS   0xc0
#define EP0_INT   0x01
#define EP1_INT   0x02
#define EP2_INT   0x04
#define EP3_INT   0x08
#define EP4_INT   0x10
#define SUSPEND_INT   0x01
#define RESUME_INT   0x02
#define RESET_INT   0x04
#define EPI_IN_PKT_READY   0x01
#define EPI_UNDER_RUN   0x04
#define EPI_FIFO_FLUSH   0x08
#define EPI_SEND_STALL   0x10
#define EPI_SENT_STALL   0x20
#define EPI_CDT   0x40
#define EPI_WR_BITS   (EPI_FIFO_FLUSH|EPI_IN_PKT_READY|EPI_CDT)
#define EPI_IN_DMA_INT_MASK   (1<<4)
#define EPI_MODE_IN   (1<<5)
#define EPI_MODE_OUT   (0<<5)
#define EPI_ISO   (1<<6)
#define EPI_BULK   (0<<6)
#define EPI_AUTO_SET   (1<<7)
#define EPO_OUT_PKT_READY   0x01
#define EPO_OVER_RUN   0x04
#define EPO_DATA_ERROR   0x08
#define EPO_FIFO_FLUSH   0x10
#define EPO_SEND_STALL   0x20
#define EPO_SENT_STALL   0x40
#define EPO_CDT   0x80
#define EPO_WR_BITS   (EPO_FIFO_FLUSH|EPO_SEND_STALL|EPO_CDT)
#define EPO_OUT_DMA_INT_MASK   (1<<5)
#define EPO_ISO   (1<<6)
#define EPO_BULK   (0<<6)
#define EPO_AUTO_CLR   (1<<7)
#define UDMA_IN_RUN_OB   (1<<7)
#define UDMA_IGNORE_TTC   (1<<7)
#define UDMA_DEMAND_MODE   (1<<3)
#define UDMA_OUT_RUN_OB   (1<<2)
#define UDMA_OUT_DMA_RUN   (1<<2)
#define UDMA_IN_DMA_RUN   (1<<1)
#define UDMA_DMA_MODE_EN   (1<<0)
#define rEP1_DMA_TTC   (rEP1_DMA_TTC_L+(rEP1_DMA_TTC_M<<8)+(rEP1_DMA_TTC_H<<16))
#define rEP2_DMA_TTC   (rEP2_DMA_TTC_L+(rEP2_DMA_TTC_M<<8)+(rEP2_DMA_TTC_H<<16))
#define rEP3_DMA_TTC   (rEP3_DMA_TTC_L+(rEP3_DMA_TTC_M<<8)+(rEP3_DMA_TTC_H<<16))
#define rEP4_DMA_TTC   (rEP4_DMA_TTC_L+(rEP4_DMA_TTC_M<<8)+(rEP4_DMA_TTC_H<<16))
#define ADDR_EP0_FIFO   (0x520001c0)
#define ADDR_EP1_FIFO   (0x520001c4)
#define ADDR_EP2_FIFO   (0x520001c8)
#define ADDR_EP3_FIFO   (0x520001cc)
#define ADDR_EP4_FIFO   (0x520001d0)
#define EP0_PKT_SIZE   8
#define EP1_PKT_SIZE   BULK_PKT_SIZE
#define EP3_PKT_SIZE   BULK_PKT_SIZE
#define PWR_REG_DEFAULT_VALUE   (DISABLE_SUSPEND)
#define HOST_TO_DEVICE   (0x00)
#define DEVICE_TO_HOST   (0x80)
#define STANDARD_TYPE   (0x00)
#define CLASS_TYPE   (0x20)
#define VENDOR_TYPE   (0x40)
#define RESERVED_TYPE   (0x60)
#define DEVICE_RECIPIENT   (0)
#define INTERFACE_RECIPIENT   (1)
#define ENDPOINT_RECIPIENT   (2)
#define OTHER_RECIPIENT   (3)
#define DEVICE_REMOTE_WAKEUP   (1)
#define EP_STALL   (0)
#define GET_STATUS   (0)
#define CLEAR_FEATURE   (1)
#define SET_FEATURE   (3)
#define SET_ADDRESS   (5)
#define GET_DESCRIPTOR   (6)
#define SET_DESCRIPTOR   (7)
#define GET_CONFIGURATION   (8)
#define SET_CONFIGURATION   (9)
#define GET_INTERFACE   (10)
#define SET_INTERFACE   (11)
#define SYNCH_FRAME   (12)
#define GET_DEVICE_ID   (0)
#define GET_PORT_STATUS   (1)
#define SOFT_RESET   (2)
#define DEVICE_TYPE   (1)
#define CONFIGURATION_TYPE   (2)
#define STRING_TYPE   (3)
#define INTERFACE_TYPE   (4)
#define ENDPOINT_TYPE   (5)
#define CONF_ATTR_DEFAULT   (0x80)
#define CONF_ATTR_REMOTE_WAKEUP   (0x20)
#define CONF_ATTR_SELFPOWERED   (0x40)
#define EP_ADDR_IN   (0x80)
#define EP_ADDR_OUT   (0x00)
#define EP_ATTR_CONTROL   (0x0)
#define EP_ATTR_ISOCHRONOUS   (0x1)
#define EP_ATTR_BULK   (0x2)
#define EP_ATTR_INTERRUPT   (0x3)
#define LANGID_US_L   (0x09)
#define LANGID_US_H   (0x04)

Functions

void F_UsbDeviceInit (void)
void F_UsbDeviceSvc (void)

Variables

USBDEVICE_CONTROL UsbDeviceCtrl

Macro Definition Documentation

#define ADDR_EP0_FIFO   (0x520001c0)

Definition at line 93 of file usbdevice.h.

#define ADDR_EP1_FIFO   (0x520001c4)

Definition at line 94 of file usbdevice.h.

#define ADDR_EP2_FIFO   (0x520001c8)

Definition at line 95 of file usbdevice.h.

#define ADDR_EP3_FIFO   (0x520001cc)

Definition at line 96 of file usbdevice.h.

#define ADDR_EP4_FIFO   (0x520001d0)

Definition at line 97 of file usbdevice.h.

#define CLASS_TYPE   (0x20)

Definition at line 121 of file usbdevice.h.

#define CLEAR_FEATURE   (1)

Definition at line 137 of file usbdevice.h.

#define CONF_ATTR_DEFAULT   (0x80)

Definition at line 161 of file usbdevice.h.

#define CONF_ATTR_REMOTE_WAKEUP   (0x20)

Definition at line 162 of file usbdevice.h.

#define CONF_ATTR_SELFPOWERED   (0x40)

Definition at line 163 of file usbdevice.h.

#define CONFIGURATION_TYPE   (2)

Definition at line 155 of file usbdevice.h.

#define DEVICE_RECIPIENT   (0)

Definition at line 126 of file usbdevice.h.

#define DEVICE_REMOTE_WAKEUP   (1)

Definition at line 132 of file usbdevice.h.

#define DEVICE_TO_HOST   (0x80)

Definition at line 117 of file usbdevice.h.

#define DEVICE_TYPE   (1)

Definition at line 154 of file usbdevice.h.

#define DISABLE_SUSPEND   0x00

Definition at line 8 of file usbdevice.h.

#define ENABLE_SUSPEND   0x01

Definition at line 9 of file usbdevice.h.

#define ENDPOINT_RECIPIENT   (2)

Definition at line 128 of file usbdevice.h.

#define ENDPOINT_TYPE   (5)

Definition at line 158 of file usbdevice.h.

#define EP0_DATA_END   0x08 /* MCU sets */

Definition at line 25 of file usbdevice.h.

#define EP0_IN_PKT_READY   0x02 /* MCU sets, USB clears after sending FIFO */

Definition at line 23 of file usbdevice.h.

#define EP0_INT   0x01

Definition at line 34 of file usbdevice.h.

#define EP0_OUT_PKT_READY   0x01 /* USB sets, MCU clears by setting SERVICED_OUT_PKT_RDY */

Definition at line 22 of file usbdevice.h.

#define EP0_PKT_SIZE   8

Definition at line 100 of file usbdevice.h.

#define EP0_SEND_STALL   0x20 /* MCU sets */

Definition at line 27 of file usbdevice.h.

#define EP0_SENT_STALL   0x04 /* USB sets */

Definition at line 24 of file usbdevice.h.

#define EP0_SERVICED_OUT_PKT_RDY   0x40 /* MCU writes 1 to clear OUT_PKT_READY */

Definition at line 28 of file usbdevice.h.

#define EP0_SERVICED_SETUP_END   0x80 /* MCU writes 1 to clear SETUP_END */

Definition at line 29 of file usbdevice.h.

#define EP0_SETUP_END   0x10 /* USB sets, MCU clears by setting SERVICED_SETUP_END */

Definition at line 26 of file usbdevice.h.

#define EP0_WR_BITS   0xc0

Definition at line 31 of file usbdevice.h.

#define EP1_INT   0x02

Definition at line 35 of file usbdevice.h.

#define EP1_PKT_SIZE   BULK_PKT_SIZE

Definition at line 101 of file usbdevice.h.

#define EP2_INT   0x04

Definition at line 36 of file usbdevice.h.

#define EP3_INT   0x08

Definition at line 37 of file usbdevice.h.

#define EP3_PKT_SIZE   BULK_PKT_SIZE

Definition at line 102 of file usbdevice.h.

#define EP4_INT   0x10

Definition at line 38 of file usbdevice.h.

#define EP_ADDR_IN   (0x80)

Definition at line 166 of file usbdevice.h.

#define EP_ADDR_OUT   (0x00)

Definition at line 167 of file usbdevice.h.

#define EP_ATTR_BULK   (0x2)

Definition at line 171 of file usbdevice.h.

#define EP_ATTR_CONTROL   (0x0)

Definition at line 169 of file usbdevice.h.

#define EP_ATTR_INTERRUPT   (0x3)

Definition at line 172 of file usbdevice.h.

#define EP_ATTR_ISOCHRONOUS   (0x1)

Definition at line 170 of file usbdevice.h.

#define EP_STALL   (0)

Definition at line 133 of file usbdevice.h.

#define EPI_AUTO_SET   (1<<7)

Definition at line 60 of file usbdevice.h.

#define EPI_BULK   (0<<6)

Definition at line 59 of file usbdevice.h.

#define EPI_CDT   0x40

Definition at line 51 of file usbdevice.h.

#define EPI_FIFO_FLUSH   0x08

Definition at line 48 of file usbdevice.h.

#define EPI_IN_DMA_INT_MASK   (1<<4)

Definition at line 55 of file usbdevice.h.

#define EPI_IN_PKT_READY   0x01

Definition at line 46 of file usbdevice.h.

#define EPI_ISO   (1<<6)

Definition at line 58 of file usbdevice.h.

#define EPI_MODE_IN   (1<<5)

Definition at line 56 of file usbdevice.h.

#define EPI_MODE_OUT   (0<<5)

Definition at line 57 of file usbdevice.h.

#define EPI_SEND_STALL   0x10

Definition at line 49 of file usbdevice.h.

#define EPI_SENT_STALL   0x20

Definition at line 50 of file usbdevice.h.

#define EPI_UNDER_RUN   0x04

Definition at line 47 of file usbdevice.h.

#define EPI_WR_BITS   (EPI_FIFO_FLUSH|EPI_IN_PKT_READY|EPI_CDT)

Definition at line 52 of file usbdevice.h.

#define EPO_AUTO_CLR   (1<<7)

Definition at line 77 of file usbdevice.h.

#define EPO_BULK   (0<<6)

Definition at line 76 of file usbdevice.h.

#define EPO_CDT   0x80

Definition at line 69 of file usbdevice.h.

#define EPO_DATA_ERROR   0x08

Definition at line 65 of file usbdevice.h.

#define EPO_FIFO_FLUSH   0x10

Definition at line 66 of file usbdevice.h.

#define EPO_ISO   (1<<6)

Definition at line 75 of file usbdevice.h.

#define EPO_OUT_DMA_INT_MASK   (1<<5)

Definition at line 74 of file usbdevice.h.

#define EPO_OUT_PKT_READY   0x01

Definition at line 63 of file usbdevice.h.

#define EPO_OVER_RUN   0x04

Definition at line 64 of file usbdevice.h.

#define EPO_SEND_STALL   0x20

Definition at line 67 of file usbdevice.h.

#define EPO_SENT_STALL   0x40

Definition at line 68 of file usbdevice.h.

#define EPO_WR_BITS   (EPO_FIFO_FLUSH|EPO_SEND_STALL|EPO_CDT)

Definition at line 70 of file usbdevice.h.

#define FIFO_SIZE_0   0x00 /* 0x00 * 8 = 0 */

Definition at line 15 of file usbdevice.h.

#define FIFO_SIZE_16   0x02 /* 0x02 * 8 = 16 */

Definition at line 17 of file usbdevice.h.

#define FIFO_SIZE_32   0x04 /* 0x04 * 8 = 32 */

Definition at line 18 of file usbdevice.h.

#define FIFO_SIZE_64   0x08 /* 0x08 * 8 = 64 */

Definition at line 19 of file usbdevice.h.

#define FIFO_SIZE_8   0x01 /* 0x01 * 8 = 8 */

Definition at line 16 of file usbdevice.h.

#define GET_CONFIGURATION   (8)

Definition at line 142 of file usbdevice.h.

#define GET_DESCRIPTOR   (6)

Definition at line 140 of file usbdevice.h.

#define GET_DEVICE_ID   (0)

Definition at line 149 of file usbdevice.h.

#define GET_INTERFACE   (10)

Definition at line 144 of file usbdevice.h.

#define GET_PORT_STATUS   (1)

Definition at line 150 of file usbdevice.h.

#define GET_STATUS   (0)

Definition at line 136 of file usbdevice.h.

#define HOST_TO_DEVICE   (0x00)

Definition at line 116 of file usbdevice.h.

#define INTERFACE_RECIPIENT   (1)

Definition at line 127 of file usbdevice.h.

#define INTERFACE_TYPE   (4)

Definition at line 157 of file usbdevice.h.

#define ISO_UPDATE   (1<<7)

Definition at line 12 of file usbdevice.h.

#define LANGID_US_H   (0x04)

Definition at line 176 of file usbdevice.h.

#define LANGID_US_L   (0x09)

Definition at line 175 of file usbdevice.h.

#define MCU_RESUME   0x04

Definition at line 11 of file usbdevice.h.

#define OTHER_RECIPIENT   (3)

Definition at line 129 of file usbdevice.h.

#define PWR_REG_DEFAULT_VALUE   (DISABLE_SUSPEND)

Definition at line 109 of file usbdevice.h.

#define rEP1_DMA_TTC   (rEP1_DMA_TTC_L+(rEP1_DMA_TTC_M<<8)+(rEP1_DMA_TTC_H<<16))

Definition at line 88 of file usbdevice.h.

#define rEP2_DMA_TTC   (rEP2_DMA_TTC_L+(rEP2_DMA_TTC_M<<8)+(rEP2_DMA_TTC_H<<16))

Definition at line 89 of file usbdevice.h.

#define rEP3_DMA_TTC   (rEP3_DMA_TTC_L+(rEP3_DMA_TTC_M<<8)+(rEP3_DMA_TTC_H<<16))

Definition at line 90 of file usbdevice.h.

#define rEP4_DMA_TTC   (rEP4_DMA_TTC_L+(rEP4_DMA_TTC_M<<8)+(rEP4_DMA_TTC_H<<16))

Definition at line 91 of file usbdevice.h.

#define RESERVED_TYPE   (0x60)

Definition at line 123 of file usbdevice.h.

#define RESET_INT   0x04

Definition at line 43 of file usbdevice.h.

#define RESUME_INT   0x02

Definition at line 42 of file usbdevice.h.

#define SET_ADDRESS   (5)

Definition at line 139 of file usbdevice.h.

#define SET_CONFIGURATION   (9)

Definition at line 143 of file usbdevice.h.

#define SET_DESCRIPTOR   (7)

Definition at line 141 of file usbdevice.h.

#define SET_FEATURE   (3)

Definition at line 138 of file usbdevice.h.

#define SET_INTERFACE   (11)

Definition at line 145 of file usbdevice.h.

#define SOFT_RESET   (2)

Definition at line 151 of file usbdevice.h.

#define STANDARD_TYPE   (0x00)

Definition at line 120 of file usbdevice.h.

#define STRING_TYPE   (3)

Definition at line 156 of file usbdevice.h.

#define SUSPEND_INT   0x01

Definition at line 41 of file usbdevice.h.

#define SUSPEND_MODE   0x02

Definition at line 10 of file usbdevice.h.

#define SYNCH_FRAME   (12)

Definition at line 146 of file usbdevice.h.

#define UDMA_DEMAND_MODE   (1<<3)

Definition at line 82 of file usbdevice.h.

#define UDMA_DMA_MODE_EN   (1<<0)

Definition at line 86 of file usbdevice.h.

#define UDMA_IGNORE_TTC   (1<<7)

Definition at line 81 of file usbdevice.h.

#define UDMA_IN_DMA_RUN   (1<<1)

Definition at line 85 of file usbdevice.h.

#define UDMA_IN_RUN_OB   (1<<7)

Definition at line 80 of file usbdevice.h.

#define UDMA_OUT_DMA_RUN   (1<<2)

Definition at line 84 of file usbdevice.h.

#define UDMA_OUT_RUN_OB   (1<<2)

Definition at line 83 of file usbdevice.h.

#define VENDOR_TYPE   (0x40)

Definition at line 122 of file usbdevice.h.


Function Documentation

void F_UsbDeviceInit ( void  )

Definition at line 126 of file usbdevice.c.

void F_UsbDeviceSvc ( void  )

Definition at line 140 of file usbdevice.c.


Variable Documentation

USBDEVICE_CONTROL UsbDeviceCtrl

Definition at line 86 of file usbdevice.c.