⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_usb.h

📁 基于omap5912平台的usb设备驱动源程序
💻 H
📖 第 1 页 / 共 5 页
字号:
    volatile INT16U REV;
    volatile INT8U RSVD0[2];
    volatile INT16U EPNUM;
    volatile INT8U RSVD1[2];
    volatile INT16U DATA;
    volatile INT8U RSVD2[2];
    volatile INT16U CTRL;
    volatile INT8U RSVD3[2];
    volatile INT16U STAT_FLG;
    volatile INT8U RSVD4[2];
    volatile INT16U RXFSTAT;
    volatile INT8U RSVD5[2];
    volatile INT16U SYSCON1;
    volatile INT8U RSVD6[2];
    volatile INT16U SYSCON2;
    volatile INT8U RSVD7[2];
    volatile INT16U DEVSTAT;
    volatile INT8U RSVD8[2];
    volatile INT16U SOF;
    volatile INT8U RSVD9[2];
    volatile INT16U IRQ_EN;
    volatile INT8U RSVD10[2];
    volatile INT16U DMA_IRQ_EN;
    volatile INT8U RSVD11[2];
    volatile INT16U IRQ_SRC;
    volatile INT8U RSVD12[2];
    volatile INT16U EPN_STAT;
    volatile INT8U RSVD13[2];
    volatile INT16U DMAN_STAT;
    volatile INT8U RSVD14[6];
    volatile INT16U RXDMA_CFG;
    volatile INT8U RSVD15[2];
    volatile INT16U TXDMA_CFG;
    volatile INT8U RSVD16[2];
    volatile INT16U DATA_DMA;
    volatile INT8U RSVD17[6];
    volatile INT16U TXDMA0;
    volatile INT8U RSVD18[2];
    volatile INT16U TXDMA1;
    volatile INT8U RSVD19[2];
    volatile INT16U TXDMA2;
    volatile INT8U RSVD20[6];
    volatile INT16U RXDMA0;
    volatile INT8U RSVD21[2];
    volatile INT16U RXDMA1;
    volatile INT8U RSVD22[2];
    volatile INT16U RXDMA2;
    volatile INT8U RSVD23[22];
    volatile INT16U EP0;
    volatile INT8U RSVD24[2];
    CSL_UsbfRx_epRegs RX_EP[15];
    volatile INT8U RSVD25[4];
    CSL_UsbfTx_epRegs TX_EP[15];
} CSL_UsbfRegs;
/**************************************************************************\
* Overlay structure typedef definition
\**************************************************************************/
typedef volatile CSL_UsbfRegs  *CSL_UsbfRegsOvly;


/**************************************************************************\
* Register Id's
\**************************************************************************/
typedef enum  {
   CSL_USBF_REV = 0x0000u,
   CSL_USBF_EPNUM = 0x0004u,
   CSL_USBF_DATA = 0x0008u,
   CSL_USBF_CTRL = 0x000cu,
   CSL_USBF_STAT_FLG = 0x0010u,
   CSL_USBF_RXFSTAT = 0x0014u,
   CSL_USBF_SYSCON1 = 0x0018u,
   CSL_USBF_SYSCON2 = 0x001cu,
   CSL_USBF_DEVSTAT = 0x0020u,
   CSL_USBF_SOF = 0x0024u,
   CSL_USBF_IRQ_EN = 0x0028u,
   CSL_USBF_DMA_IRQ_EN = 0x002cu,
   CSL_USBF_IRQ_SRC = 0x0030u,
   CSL_USBF_EPN_STAT = 0x0034u,
   CSL_USBF_DMAN_STAT = 0x0038u,
   CSL_USBF_RXDMA_CFG = 0x0040u,
   CSL_USBF_TXDMA_CFG = 0x0044u,
   CSL_USBF_DATA_DMA = 0x0048u,
   CSL_USBF_TXDMA0 = 0x0050u,
   CSL_USBF_TXDMA1 = 0x0054u,
   CSL_USBF_TXDMA2 = 0x0058u,
   CSL_USBF_RXDMA0 = 0x0060u,
   CSL_USBF_RXDMA1 = 0x0064u,
   CSL_USBF_RXDMA2 = 0x0068u,
   CSL_USBF_EP0 = 0x0080u,
   CSL_USBF_RX_EP = 0x0000u,
   CSL_USBF_TX_EP = 0x0000u
} CSL_UsbfRegIds;

/**************************************************************************\
* Field Definition Macros
\**************************************************************************/

/* REV */

#define CSL_USBF_REV_REV_NB_MASK         (0x000000FFu)
#define CSL_USBF_REV_REV_NB_SHIFT        (0x00000000u)
#define CSL_USBF_REV_REV_NB_RESETVAL     (0x00000000u)

#define CSL_USBF_REV_RESETVAL            (0x00000000u)

/* EPNUM */

#define CSL_USBF_EPNUM_SETUP_SEL_MASK    (0x00000040u)
#define CSL_USBF_EPNUM_SETUP_SEL_SHIFT   (0x00000006u)
#define CSL_USBF_EPNUM_SETUP_SEL_RESETVAL (0x00000000u)
#define CSL_USBF_EPNUM_SETUP_SEL_NO      (0x00000000u)
#define CSL_USBF_EPNUM_SETUP_SEL_YES     (0x00000001u)

#define CSL_USBF_EPNUM_EP_SEL_MASK       (0x00000020u)
#define CSL_USBF_EPNUM_EP_SEL_SHIFT      (0x00000005u)
#define CSL_USBF_EPNUM_EP_SEL_RESETVAL   (0x00000000u)
#define CSL_USBF_EPNUM_EP_SEL_NO         (0x00000000u)
#define CSL_USBF_EPNUM_EP_SEL_YES        (0x00000001u)

#define CSL_USBF_EPNUM_EP_DIR_MASK       (0x00000010u)
#define CSL_USBF_EPNUM_EP_DIR_SHIFT      (0x00000004u)
#define CSL_USBF_EPNUM_EP_DIR_RESETVAL   (0x00000000u)
#define CSL_USBF_EPNUM_EP_DIR_OUT        (0x00000000u)
#define CSL_USBF_EPNUM_EP_DIR_IN         (0x00000001u)

#define CSL_USBF_EPNUM_EP_NUM_MASK       (0x0000000Fu)
#define CSL_USBF_EPNUM_EP_NUM_SHIFT      (0x00000000u)
#define CSL_USBF_EPNUM_EP_NUM_RESETVAL   (0x00000000u)

#define CSL_USBF_EPNUM_RESETVAL          (0x00000000u)

/* DATA */

#define CSL_USBF_DATA_DATA_MASK          (0x0000FFFFu)
#define CSL_USBF_DATA_DATA_SHIFT         (0x00000000u)
#define CSL_USBF_DATA_DATA_RESETVAL      (0x00000000u)

#define CSL_USBF_DATA_RESETVAL           (0x00000000u)

/* CTRL */

#define CSL_USBF_CTRL_CLR_HALT_MASK      (0x00000080u)
#define CSL_USBF_CTRL_CLR_HALT_SHIFT     (0x00000007u)
#define CSL_USBF_CTRL_CLR_HALT_RESETVAL  (0x00000000u)
#define CSL_USBF_CTRL_CLR_HALT_CLEARHALT (0x00000001u)

#define CSL_USBF_CTRL_SET_HALT_MASK      (0x00000040u)
#define CSL_USBF_CTRL_SET_HALT_SHIFT     (0x00000006u)
#define CSL_USBF_CTRL_SET_HALT_RESETVAL  (0x00000000u)
#define CSL_USBF_CTRL_SET_HALT_SETHALT   (0x00000001u)

#define CSL_USBF_CTRL_SET_FIFO_EN_MASK   (0x00000004u)
#define CSL_USBF_CTRL_SET_FIFO_EN_SHIFT  (0x00000002u)
#define CSL_USBF_CTRL_SET_FIFO_EN_RESETVAL (0x00000000u)
#define CSL_USBF_CTRL_SET_FIFO_EN_FIFOEN (0x00000001u)

#define CSL_USBF_CTRL_CLR_EP_MASK        (0x00000002u)
#define CSL_USBF_CTRL_CLR_EP_SHIFT       (0x00000001u)
#define CSL_USBF_CTRL_CLR_EP_RESETVAL    (0x00000000u)
#define CSL_USBF_CTRL_CLR_EP_CLEAREP     (0x00000001u)

#define CSL_USBF_CTRL_RESET_EP_MASK      (0x00000001u)
#define CSL_USBF_CTRL_RESET_EP_SHIFT     (0x00000000u)
#define CSL_USBF_CTRL_RESET_EP_RESETVAL  (0x00000000u)
#define CSL_USBF_CTRL_RESET_EP_RESETEP   (0x00000001u)

#define CSL_USBF_CTRL_RESETVAL           (0x00000000u)

/* STAT_FLG */

#define CSL_USBF_STAT_FLG_NO_RXPACKET_MASK (0x00008000u)
#define CSL_USBF_STAT_FLG_NO_RXPACKET_SHIFT (0x0000000Fu)
#define CSL_USBF_STAT_FLG_NO_RXPACKET_RESETVAL (0x00000001u)
#define CSL_USBF_STAT_FLG_NO_RXPACKET_RECIEVED (0x00000000u)
#define CSL_USBF_STAT_FLG_NO_RXPACKET_NOTRECIEVED (0x00000001u)

#define CSL_USBF_STAT_FLG_MISS_IN_MASK   (0x00004000u)
#define CSL_USBF_STAT_FLG_MISS_IN_SHIFT  (0x0000000Eu)
#define CSL_USBF_STAT_FLG_MISS_IN_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_MISS_IN_RECIEVED (0x00000000u)
#define CSL_USBF_STAT_FLG_MISS_IN_NOTRECIEVED (0x00000001u)

#define CSL_USBF_STAT_FLG_DATA_FLUSH_MASK (0x00002000u)
#define CSL_USBF_STAT_FLG_DATA_FLUSH_SHIFT (0x0000000Du)
#define CSL_USBF_STAT_FLG_DATA_FLUSH_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_DATA_FLUSH_FLUSHED (0x00000001u)

#define CSL_USBF_STAT_FLG_ISO_ERR_MASK   (0x00001000u)
#define CSL_USBF_STAT_FLG_ISO_ERR_SHIFT  (0x0000000Cu)
#define CSL_USBF_STAT_FLG_ISO_ERR_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_ISO_ERR_ERROR  (0x00000001u)

#define CSL_USBF_STAT_FLG_ISO_FIFO_EMPTY_MASK (0x00000200u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_EMPTY_SHIFT (0x00000009u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_EMPTY_RESETVAL (0x00000001u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_EMPTY_NOTEMPTY (0x00000000u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_EMPTY_EMPTY (0x00000001u)

#define CSL_USBF_STAT_FLG_ISO_FIFO_FULL_MASK (0x00000100u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_FULL_SHIFT (0x00000008u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_FULL_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_FULL_NOTFULL (0x00000000u)
#define CSL_USBF_STAT_FLG_ISO_FIFO_FULL_FULL (0x00000001u)

#define CSL_USBF_STAT_FLG_EP_HALTED_MASK (0x00000040u)
#define CSL_USBF_STAT_FLG_EP_HALTED_SHIFT (0x00000006u)
#define CSL_USBF_STAT_FLG_EP_HALTED_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_EP_HALTED_NOTHALTED (0x00000000u)
#define CSL_USBF_STAT_FLG_EP_HALTED_HALTED (0x00000001u)

#define CSL_USBF_STAT_FLG_STALL_MASK     (0x00000020u)
#define CSL_USBF_STAT_FLG_STALL_SHIFT    (0x00000005u)
#define CSL_USBF_STAT_FLG_STALL_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_STALL_NOHS     (0x00000000u)
#define CSL_USBF_STAT_FLG_STALL_HS       (0x00000001u)

#define CSL_USBF_STAT_FLG_NAK_MASK       (0x00000010u)
#define CSL_USBF_STAT_FLG_NAK_SHIFT      (0x00000004u)
#define CSL_USBF_STAT_FLG_NAK_RESETVAL   (0x00000000u)
#define CSL_USBF_STAT_FLG_NAK_NONAK      (0x00000000u)
#define CSL_USBF_STAT_FLG_NAK_NAK        (0x00000001u)

#define CSL_USBF_STAT_FLG_ACK_MASK       (0x00000008u)
#define CSL_USBF_STAT_FLG_ACK_SHIFT      (0x00000003u)
#define CSL_USBF_STAT_FLG_ACK_RESETVAL   (0x00000000u)
#define CSL_USBF_STAT_FLG_ACK_NOACK      (0x00000000u)
#define CSL_USBF_STAT_FLG_ACK_ACK        (0x00000001u)

#define CSL_USBF_STAT_FLG_FIFO_EN_MASK   (0x00000004u)
#define CSL_USBF_STAT_FLG_FIFO_EN_SHIFT  (0x00000002u)
#define CSL_USBF_STAT_FLG_FIFO_EN_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_FIFO_EN_DISABLED (0x00000000u)
#define CSL_USBF_STAT_FLG_FIFO_EN_ENABLED (0x00000001u)

#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_EMPTY_MASK (0x00000002u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_EMPTY_SHIFT (0x00000001u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_EMPTY_RESETVAL (0x00000001u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_EMPTY_NOTEMPTY (0x00000000u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_EMPTY_EMPTY (0x00000001u)

#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_FULL_MASK (0x00000001u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_FULL_SHIFT (0x00000000u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_FULL_RESETVAL (0x00000000u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_FULL_NOTFULL (0x00000000u)
#define CSL_USBF_STAT_FLG_NON_ISO_FIFO_FULL_FULL (0x00000001u)

#define CSL_USBF_STAT_FLG_RESETVAL       (0x00008202u)

/* RXFSTAT */

#define CSL_USBF_RXFSTAT_RXF_COUNT_MASK  (0x000003FFu)
#define CSL_USBF_RXFSTAT_RXF_COUNT_SHIFT (0x00000000u)
#define CSL_USBF_RXFSTAT_RXF_COUNT_RESETVAL (0x00000000u)
#define CSL_USBF_RXFSTAT_RXF_COUNT_DISABLE (0x00000000u)
#define CSL_USBF_RXFSTAT_RXF_COUNT_ENABLE (0x00000001u)

#define CSL_USBF_RXFSTAT_RESETVAL        (0x00000000u)

/* SYSCON1 */

#define CSL_USBF_SYSCON1_CFG_LOCK_MASK   (0x00000100u)
#define CSL_USBF_SYSCON1_CFG_LOCK_SHIFT  (0x00000008u)
#define CSL_USBF_SYSCON1_CFG_LOCK_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_CFG_LOCK_NOTLOCKED (0x00000000u)
#define CSL_USBF_SYSCON1_CFG_LOCK_LOCKED (0x00000001u)

#define CSL_USBF_SYSCON1_DATA_ENDIAN_MASK (0x00000080u)
#define CSL_USBF_SYSCON1_DATA_ENDIAN_SHIFT (0x00000007u)
#define CSL_USBF_SYSCON1_DATA_ENDIAN_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_DATA_ENDIAN_LTL (0x00000000u)
#define CSL_USBF_SYSCON1_DATA_ENDIAN_BIG (0x00000001u)

#define CSL_USBF_SYSCON1_DMA_ENDIAN_MASK (0x00000040u)
#define CSL_USBF_SYSCON1_DMA_ENDIAN_SHIFT (0x00000006u)
#define CSL_USBF_SYSCON1_DMA_ENDIAN_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_DMA_ENDIAN_LTL  (0x00000000u)
#define CSL_USBF_SYSCON1_DMA_ENDIAN_BIG  (0x00000001u)

#define CSL_USBF_SYSCON1_NAK_EN_MASK     (0x00000010u)
#define CSL_USBF_SYSCON1_NAK_EN_SHIFT    (0x00000004u)
#define CSL_USBF_SYSCON1_NAK_EN_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_NAK_EN_DISABLED (0x00000000u)
#define CSL_USBF_SYSCON1_NAK_EN_ENABLED  (0x00000001u)

#define CSL_USBF_SYSCON1_AUTODEC_DIS_MASK (0x00000008u)
#define CSL_USBF_SYSCON1_AUTODEC_DIS_SHIFT (0x00000003u)
#define CSL_USBF_SYSCON1_AUTODEC_DIS_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_AUTODEC_DIS_ACTIVE (0x00000000u)
#define CSL_USBF_SYSCON1_AUTODEC_DIS_NOTACTIVE (0x00000001u)

#define CSL_USBF_SYSCON1_SELF_PWR_MASK   (0x00000004u)
#define CSL_USBF_SYSCON1_SELF_PWR_SHIFT  (0x00000002u)
#define CSL_USBF_SYSCON1_SELF_PWR_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_SELF_PWR_BUS    (0x00000000u)
#define CSL_USBF_SYSCON1_SELF_PWR_SELF   (0x00000001u)

#define CSL_USBF_SYSCON1_SOFF_DIS_MASK   (0x00000002u)
#define CSL_USBF_SYSCON1_SOFF_DIS_SHIFT  (0x00000001u)
#define CSL_USBF_SYSCON1_SOFF_DIS_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_SOFF_DIS_ENABLED (0x00000000u)
#define CSL_USBF_SYSCON1_SOFF_DIS_DISBALE (0x00000001u)

#define CSL_USBF_SYSCON1_PULLUP_EN_MASK  (0x00000001u)
#define CSL_USBF_SYSCON1_PULLUP_EN_SHIFT (0x00000000u)
#define CSL_USBF_SYSCON1_PULLUP_EN_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON1_PULLUP_EN_DISABLED (0x00000000u)
#define CSL_USBF_SYSCON1_PULLUP_EN_ENABLED (0x00000001u)

#define CSL_USBF_SYSCON1_RESETVAL        (0x00000000u)

/* SYSCON2 */

#define CSL_USBF_SYSCON2_RMT_WKP_MASK    (0x00000040u)
#define CSL_USBF_SYSCON2_RMT_WKP_SHIFT   (0x00000006u)
#define CSL_USBF_SYSCON2_RMT_WKP_RESETVAL (0x00000000u)

#define CSL_USBF_SYSCON2_STALL_CMD_MASK  (0x00000020u)
#define CSL_USBF_SYSCON2_STALL_CMD_SHIFT (0x00000005u)
#define CSL_USBF_SYSCON2_STALL_CMD_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON2_STALL_CMD_STALL (0x00000001u)

#define CSL_USBF_SYSCON2_DEV_CFG_MASK    (0x00000008u)
#define CSL_USBF_SYSCON2_DEV_CFG_SHIFT   (0x00000003u)
#define CSL_USBF_SYSCON2_DEV_CFG_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON2_DEV_CFG_DEVSTATCFGSET (0x00000001u)

#define CSL_USBF_SYSCON2_CLR_CFG_MASK    (0x00000004u)
#define CSL_USBF_SYSCON2_CLR_CFG_SHIFT   (0x00000002u)
#define CSL_USBF_SYSCON2_CLR_CFG_RESETVAL (0x00000000u)
#define CSL_USBF_SYSCON2_CLR_CFG_DEVSTATCFGCLR (0x00000001u)

#define CSL_USBF_SYSCON2_RESETVAL        (0x00000000u)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -