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

📄 udcreg.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
#define DEV_RESUME   (1<<5)
#define DEV_PHY16BIT  (1<<6)
#define SOFT_POR   (1<<7)
#define CSR_DONE   (1<<8)

/* UDC_DEVINFO */
#define DEV_ADDR   (0x0000007f) // Device address's bits mask
#define DEV_EN    (0x00000080) // Device enable bit mask
#define CFG_NUM    (0x00000f00) // Configuration number bits mask
#define IF_NUM    (0x0000f000) // Interface number bits mask
#define ALT_NUM    (0x000f0000) // Alternate setting number bits mask
#define VBUS_STS   (0x00100000) // VBUS status bit mask
#define ENUM_SPEED_MASK  (0x00600000) // Enum speed bits mask
#define ENUM_FULL_SPEED  (0x00600000) // FULL speed value
#define ENUM_HIGH_SPEED  (0x00000000) // HIGH speed value

/* UDC_ENINT */
#define EN_SOF_INTR   (1<<0)  /* Receive Start-Of-Frame Interrupt */
#define EN_SETUP_INTR  (1<<1)  /* Receive SETUP package */
#define EN_IN0_INTR   (1<<2)  /* ENP 0  Ctrl_IN  Transmit interrupt */
#define EN_OUT0_INTR  (1<<3)  /* ENP 0  Ctrl_OUT Receive interrupt  */
#define EN_USBRST_INTR  (1<<4)  /* USB Reset   Interrupt */
#define EN_RSUME_INTR  (1<<5)  /* USB Resume  Interrupt */
#define EN_SUSP_INTR  (1<<6)  /* USB Suspend Interrupt */

#define EN_ENP1_INTR  (1<<8)  /* ENP 1  Bulk_OUT Receive Interrupt  */
#define EN_ENP2_INTR  (1<<9)  /* ENP 2  Bulk_IN  Transmit Interrupt */
#define EN_ENP3_INTR  (1<<10)  /* ENP 3  Intr_IN  Transmit Interrupt */
#define EN_ENP4_INTR  (1<<11)  /* ENP 4  Bulk_OUT Receive Interrupt  */
#define EN_ENP5_INTR  (1<<12)  /* ENP 5  Bulk_IN  Transmit Interrupt */
#define EN_ENP6_INTR  (1<<13)  /* ENP 6  Intr_IN  Transmit Interrupt */
#define EN_ENP7_INTR  (1<<14)  /* ENP 7  Bulk_OUT Receive Interrupt  */
#define EN_ENP8_INTR  (1<<15)  /* ENP 8  Bulk_IN  Transmit Interrupt */
#define EN_ENP9_INTR  (1<<16)  /* ENP 9  Intr_IN  Transmit Interrupt */
#define EN_ENP10_INTR  (1<<17)  /* ENP 10 Bulk_OUT Receive Interrupt  */
#define EN_ENP11_INTR  (1<<18)  /* ENP 11 Bulk_IN  Transmit Interrupt */
#define EN_ENP12_INTR  (1<<19)  /* ENP 12 Intr_IN  Transmit Interrupt */
#define EN_ENP13_INTR  (1<<20)  /* ENP 13 Bulk_OUT Receive Interrupt  */
#define EN_ENP14_INTR  (1<<21)  /* ENP 14 Bulk_IN  Transmit Interrupt */
#define EN_ENP15_INTR  (1<<22)  /* ENP 15 Intr_IN  Transmit Interrupt */
#define EN_BOUTALL_INTR  (EN_ENP1_INTR | EN_ENP4_INTR | EN_ENP7_INTR | EN_ENP10_INTR | EN_ENP13_INTR)
#define EN_BINALL_INTR  (EN_ENP2_INTR | EN_ENP5_INTR | EN_ENP8_INTR | EN_ENP11_INTR | EN_ENP14_INTR)
#define EN_IINALL_INTR  (EN_ENP3_INTR | EN_ENP6_INTR | EN_ENP9_INTR | EN_ENP12_INTR | EN_ENP15_INTR)

/* UDC_INTFLG */
#define SOF_INTR   (1<<0)  /* Receive Start-Of-Frame Interrupt */
#define SETUP_INTR   (1<<1)  /* Receive SETUP package */
#define IN0_INTR   (1<<2)  /* ENP 0  Ctrl_IN  Transmit interrupt */
#define OUT0_INTR   (1<<3)  /* ENP 0  Ctrl_OUT Receive interrupt  */
#define USBRST_INTR   (1<<4)  /* USB Reset   Interrupt */
#define RSUME_INTR   (1<<5)  /* USB Resume  Interrupt */
#define SUSP_INTR   (1<<6)  /* USB Suspend Interrupt */
#define VBUS_INTR   (1<<7)  /* USB VBUS    Interrupt */

#define ENP1_INTR   (1<<8)  /* ENP 1  Bulk_OUT Receive Interrupt  */
#define ENP2_INTR   (1<<9)  /* ENP 2  Bulk_IN  Transmit Interrupt */
#define ENP3_INTR   (1<<10)  /* ENP 3  Intr_IN  Transmit Interrupt */
#define ENP4_INTR   (1<<11)  /* ENP 4  Bulk_OUT Receive Interrupt  */
#define ENP5_INTR   (1<<12)  /* ENP 5  Bulk_IN  Transmit Interrupt */
#define ENP6_INTR   (1<<13)  /* ENP 6  Intr_IN  Transmit Interrupt */
#define ENP7_INTR   (1<<14)  /* ENP 7  Bulk_OUT Receive Interrupt  */
#define ENP8_INTR   (1<<15)  /* ENP 8  Bulk_IN  Transmit Interrupt */
#define ENP9_INTR   (1<<16)  /* ENP 9  Intr_IN  Transmit Interrupt */
#define ENP10_INTR   (1<<17)  /* ENP 10 Bulk_OUT Receive Interrupt  */
#define ENP11_INTR   (1<<18)  /* ENP 11 Bulk_IN  Transmit Interrupt */
#define ENP12_INTR   (1<<19)  /* ENP 12 Intr_IN  Transmit Interrupt */
#define ENP13_INTR   (1<<20)  /* ENP 13 Bulk_OUT Receive Interrupt  */
#define ENP14_INTR   (1<<21)  /* ENP 14 Bulk_IN  Transmit Interrupt */
#define ENP15_INTR   (1<<22)  /* ENP 15 Intr_IN  Transmit Interrupt */

/* UDC_INTCON */
#define UDC_INTEN   (1<<0)  /* UDC Interrupt Enable bit */
#define UDC_INTEDGE_TRIG (1<<1)  /* UDC Interrupt Edge Trig bit */
#define UDC_INTHIGH_ACT  (1<<2)  /* UDC Interrupt Active High Trig bit */

/* UDC_SETUP1 */

/* UDC_SETUP2 */


/* Bulk-OUT End Point Define */

/* RXSTAT (Bulk_OUT, Read-Only) */
#define RxCNT    (0x7ff)  /* Bulk_OUT DMA Receive Count Mask */
#define RxVOID    (1<<16)  /* Bulk_OUT Stall Status bit */
#define RxERR    (1<<17)  /* Bulk_OUT DMA Receive Error bit */
#define RxACK    (1<<18)  /* Bulk_OUT Bus get ACK (transaction was successful) */
#define RxFULL    (1<<24)  /* Bulk_OUT Data Buffer Status, 1 -> buffer full */
#define RxOVF    (1<<25)  /* Bulk_OUT Receive Overflow */

/* RXCON (Bulk_OUT) */
#define RxCLR    (1<<1)  /* Bulk_OUT Flush FIFO */
#define RxSTALL    (1<<2)  /* Bulk_OUT Stall */
#define RxNAK    (1<<3)  /* Bulk_OUT Response NACK */
#define RxEPEN    (1<<4)  /* Bulk_OUT Enable */
#define RxVOIDINTEN   (1<<5)  /* Bulk_OUT Voild Interrupt Enable */
#define RxERRINTEN   (1<<6)  /* Bulk_OUT Error Interrupt Enable */
#define RxACKINTEN   (1<<7)  /* Bulk_OUT Receive ACK Interrupt Enable */
#define RxENPNUM   (0x0f00) /* Bulk_OUT ENP Number Mask */

/* Bulk-IN End Point Define */
/* Intr_IN End Point Define */

/* TXSTAT (Bulk_IN) */
#define TxCNT    (0x7ff)  /* Bulk_IN DMA Transmit Count Mask */
#define TxVOID    (1<<16)  /* Bulk_IN Stall Status bit */
#define TxERR    (1<<17)  /* Bulk_IN DMA Transmit Error bit */
#define TxACK    (1<<18)  /* Bulk_IN Bus get ACK (transaction was successful) */
#define TxDMADN    (1<<19)  /* Bulk_IN DMA transmit complete */

/* TXCON (Bulk_IN) */
#define TxCLR    (1<<0)  /* Bulk_IN Flush FIFO */
#define TxSTALL    (1<<1)  /* Bulk_IN Stall */
#define TxNAK    (1<<2)  /* Bulk_IN Response NACK */
#define TxEPEN    (1<<3)  /* Bulk_IN Enable */
#define TxVOIDINTEN   (1<<4)  /* Bulk_IN Voild Interrupt Enable */
#define TxERRINTEN   (1<<5)  /* Bulk_IN Error Interrupt Enable */
#define TxACKINTEN   (1<<6)  /* Bulk_IN Receive ACK Interrupt Enable */
#define TxDMADN_EN   (1<<7)  /* Bulk_IN DMA Enable */
#define TxENPNUM   (0x0f00) /* Bulk_IN ENP Number Mask */

/* TXBUF (Bulk_IN, Read-Only) */
#define TxFULL    (1<<0)  /* Bulk_IN Data Buffer Status, 1 -> buffer full */
#define TxURF    (1<<1)  /* Bulk_IN Transmit Underflow */
#define TxDS0    (1<<2)  /* Bulk_IN Data Set 0 Status bit, 1 -> buffer full */
#define TxDS1    (1<<3)  /* Bulk_IN Data Set 1 Status bit, 1 -> buffer full */

/* DMA Status Bit Mask */
#define ENP_DMASTATUS  (1<<0)
#define ENP_DMA_START  (1<<0)

/* register macro */
#define RETRIEVE_COUNT(x) ((x) & 0x7ff)

/* ivan 040803 */

/* For SET_UDC20_HIGH_SPEED */
// #define SET_UDC20_HIGH_SPEED
//#ifdef SET_UDC20_HIGH_SPEED
#define CTL_MAX_PKT            0x40
#define BULK_PKT_LSB           0x00
#define BULK_PKT_MSB           0x02
#define INTRIN_PKT_LSB         0x20
#define INTRIN_PKT_MSB         0x00
//#else
//     #define CTL_MAX_PKT            0x40
#define FS_BULK_PKT_LSB        0x40
#define FS_BULK_PKT_MSB        0x00
//     #define FS_INTRIN_PKT_LSB      0x20
//     #define FS_INTRIN_PKT_MSB      0x00
//#endif

/* Endpoint number Config SET 1*/
#define BLKOUT_ENDP_NUM_SET1     0x0d
#define BLKIN_ENDP_NUM_SET1      0x8e
#define INTRIN_ENDP_NUM_SET1     0x8f

/* Endpoint number Config SET 2*/
#define BLKOUT_ENDP_NUM_SET2     0x04
#define BLKIN_ENDP_NUM_SET2      0x85
#define INTRIN_ENDP_NUM_SET2     0x86

/* Endpoint number Config SET 3*/
#define BLKOUT_ENDP_NUM_SET3     0x07
#define BLKIN_ENDP_NUM_SET3      0x88
#define INTRIN_ENDP_NUM_SET3     0x89

/* Endpoint number Config SET 4*/
#define BLKOUT_ENDP_NUM_SET4     0x0a
#define BLKIN_ENDP_NUM_SET4      0x8b
#define INTRIN_ENDP_NUM_SET4     0x8c

/* Endpoint number Config SET 5*/
#define BLKOUT_ENDP_NUM_SET5     0x01
#define BLKIN_ENDP_NUM_SET5      0x82
#define INTRIN_ENDP_NUM_SET5     0x83
/* end of ivan 040803 */

#endif /* _UDC_REG_H_ */

⌨️ 快捷键说明

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