#ifndef COMMON_TRANSDIMENSION_H_
#define COMMON_TRANSDIMENSION_H_
#ifdef __cplusplus
extern "C" {
#endif
enum {
USBCMD_RUN_STOP = TU_BIT(0),
USBCMD_RESET = TU_BIT(1),
USBCMD_SETUP_TRIPWIRE = TU_BIT(13),
USBCMD_ADD_QTD_TRIPWIRE = TU_BIT(14) };
#define PORTSC1_PORT_SPEED_POS 26
enum {
PORTSC1_CURRENT_CONNECT_STATUS = TU_BIT(0),
PORTSC1_FORCE_PORT_RESUME = TU_BIT(6),
PORTSC1_SUSPEND = TU_BIT(7),
PORTSC1_FORCE_FULL_SPEED = TU_BIT(24),
PORTSC1_PORT_SPEED = TU_BIT(26) | TU_BIT(27)
};
enum {
OTGSC_VBUS_DISCHARGE = TU_BIT(0),
OTGSC_VBUS_CHARGE = TU_BIT(1),
OTGSC_OTG_TERMINATION = TU_BIT(3), OTGSC_DATA_PULSING = TU_BIT(4),
OTGSC_ID_PULLUP = TU_BIT(5),
OTGSC_ID = TU_BIT(8), OTGSC_A_VBUS_VALID = TU_BIT(9),
OTGSC_A_SESSION_VALID = TU_BIT(10),
OTGSC_B_SESSION_VALID = TU_BIT(11),
OTGSC_B_SESSION_END = TU_BIT(12),
OTGSC_1MS_TOGGLE = TU_BIT(13),
OTGSC_DATA_BUS_PULSING_STATUS = TU_BIT(14),
};
enum {
USBMODE_CM_DEVICE = 2,
USBMODE_CM_HOST = 3,
USBMODE_SLOM = TU_BIT(3),
USBMODE_SDIS = TU_BIT(4),
USBMODE_VBUS_POWER_SELECT = TU_BIT(5), };
typedef struct
{
__I uint32_t TU_RESERVED[64];
__I uint8_t CAPLENGTH; __I uint8_t TU_RESERVED[1];
__I uint16_t HCIVERSION;
__I uint32_t HCSPARAMS; __I uint32_t HCCPARAMS; __I uint32_t TU_RESERVED[5];
__I uint16_t DCIVERSION; __I uint8_t TU_RESERVED[2];
__I uint32_t DCCPARAMS; __I uint32_t TU_RESERVED[6];
__IO uint32_t USBCMD; __IO uint32_t USBSTS; __IO uint32_t USBINTR; __IO uint32_t FRINDEX; __I uint32_t TU_RESERVED;
__IO uint32_t DEVICEADDR; __IO uint32_t ENDPTLISTADDR; __I uint32_t TU_RESERVED;
__IO uint32_t BURSTSIZE; __IO uint32_t TXFILLTUNING; uint32_t TU_RESERVED[4];
__IO uint32_t ENDPTNAK; __IO uint32_t ENDPTNAKEN; __I uint32_t TU_RESERVED;
__IO uint32_t PORTSC1; __I uint32_t TU_RESERVED[7];
__IO uint32_t OTGSC; __IO uint32_t USBMODE; __IO uint32_t ENDPTSETUPSTAT; __IO uint32_t ENDPTPRIME; __IO uint32_t ENDPTFLUSH; __I uint32_t ENDPTSTAT; __IO uint32_t ENDPTCOMPLETE; __IO uint32_t ENDPTCTRL[8]; } dcd_registers_t, hcd_registers_t;
#ifdef __cplusplus
}
#endif
#endif