📄 mcf5222x_usb.h
字号:
/*
* File: mcf5222x_usb.h
* Purpose: Register and bit definitions
*/
#ifndef __MCF5222x_USB_H__
#define __MCF5222x_USB_H__
/*********************************************************************
*
* Universal Serial Bus (USB)
*
*********************************************************************/
/* Register read/write macros */
#define MCF_USB_PER_ID (*(vuint8 *)(&__IPSBAR[0x1C0000]))
#define MCF_USB_IP_COMP (*(vuint8 *)(&__IPSBAR[0x1C0004]))
#define MCF_USB_REV (*(vuint8 *)(&__IPSBAR[0x1C0008]))
#define MCF_USB_ADD_INFO (*(vuint8 *)(&__IPSBAR[0x1C000C]))
#define MCF_USB_OTG_INT_STAT (*(vuint8 *)(&__IPSBAR[0x1C0010]))
#define MCF_USB_OTG_INT_EN (*(vuint8 *)(&__IPSBAR[0x1C0014]))
#define MCF_USB_OTG_STATUS (*(vuint8 *)(&__IPSBAR[0x1C0018]))
#define MCF_USB_OTG_CTRL (*(vuint8 *)(&__IPSBAR[0x1C001C]))
#define MCF_USB_INT_STAT (*(vuint8 *)(&__IPSBAR[0x1C0080]))
#define MCF_USB_INT_ENB (*(vuint8 *)(&__IPSBAR[0x1C0084]))
#define MCF_USB_ERR_STAT (*(vuint8 *)(&__IPSBAR[0x1C0088]))
#define MCF_USB_ERR_ENB (*(vuint8 *)(&__IPSBAR[0x1C008C]))
#define MCF_USB_STAT (*(vuint8 *)(&__IPSBAR[0x1C0090]))
#define MCF_USB_CTL (*(vuint8 *)(&__IPSBAR[0x1C0094]))
#define MCF_USB_ADDR (*(vuint8 *)(&__IPSBAR[0x1C0098]))
#define MCF_USB_BDT_PAGE_01 (*(vuint8 *)(&__IPSBAR[0x1C009C]))
#define MCF_USB_FRM_NUM (*(vuint16*)(&__IPSBAR[0x1C00A0]))
#define MCF_USB_FRM_NUML (*(vuint8 *)(&__IPSBAR[0x1C00A0]))
#define MCF_USB_FRM_NUMH (*(vuint8 *)(&__IPSBAR[0x1C00A4]))
#define MCF_USB_TOKEN (*(vuint8 *)(&__IPSBAR[0x1C00A8]))
#define MCF_USB_SOF_THLDL (*(vuint8 *)(&__IPSBAR[0x1C00AC]))
#define MCF_USB_BDT_PAGE_02 (*(vuint8 *)(&__IPSBAR[0x1C00B0]))
#define MCF_USB_BDT_PAGE_03 (*(vuint8 *)(&__IPSBAR[0x1C00B4]))
#define MCF_USB_ENDPT0 (*(vuint8 *)(&__IPSBAR[0x1C00C0]))
#define MCF_USB_ENDPT1 (*(vuint8 *)(&__IPSBAR[0x1C00C4]))
#define MCF_USB_ENDPT2 (*(vuint8 *)(&__IPSBAR[0x1C00C8]))
#define MCF_USB_ENDPT3 (*(vuint8 *)(&__IPSBAR[0x1C00CC]))
#define MCF_USB_ENDPT4 (*(vuint8 *)(&__IPSBAR[0x1C00D0]))
#define MCF_USB_ENDPT5 (*(vuint8 *)(&__IPSBAR[0x1C00D4]))
#define MCF_USB_ENDPT6 (*(vuint8 *)(&__IPSBAR[0x1C00D8]))
#define MCF_USB_ENDPT7 (*(vuint8 *)(&__IPSBAR[0x1C00DC]))
#define MCF_USB_ENDPT8 (*(vuint8 *)(&__IPSBAR[0x1C00E0]))
#define MCF_USB_ENDPT9 (*(vuint8 *)(&__IPSBAR[0x1C00E4]))
#define MCF_USB_ENDPT10 (*(vuint8 *)(&__IPSBAR[0x1C00E8]))
#define MCF_USB_ENDPT11 (*(vuint8 *)(&__IPSBAR[0x1C00EC]))
#define MCF_USB_ENDPT12 (*(vuint8 *)(&__IPSBAR[0x1C00F0]))
#define MCF_USB_ENDPT13 (*(vuint8 *)(&__IPSBAR[0x1C00F4]))
#define MCF_USB_ENDPT14 (*(vuint8 *)(&__IPSBAR[0x1C00F8]))
#define MCF_USB_ENDPT15 (*(vuint8 *)(&__IPSBAR[0x1C00FC]))
#define MCF_USB_USB_CTRL (*(vuint8 *)(&__IPSBAR[0x1C0100]))
#define MCF_USB_USB_OTG_OBSERVE (*(vuint8 *)(&__IPSBAR[0x1C0104]))
#define MCF_USB_USB_OTG_CONTROL (*(vuint8 *)(&__IPSBAR[0x1C0108]))
/* Bit definitions and macros for MCF_USB_PER_ID */
#define MCF_USB_PER_ID_ID(x) (((x)&0x3F)<<0)
/* Bit definitions and macros for MCF_USB_IP_COMP */
#define MCF_USB_IP_COMP_NID(x) (((x)&0x3F)<<0)
/* Bit definitions and macros for MCF_USB_REV */
#define MCF_USB_REV_REV(x) (((x)&0xFF)<<0)
/* Bit definitions and macros for MCF_USB_ADD_INFO */
#define MCF_USB_ADD_INFO_HOST (0x01)
#define MCF_USB_ADD_INFO_IRQ_NUM(x) (((x)&0x1F)<<3)
/* Bit definitions and macros for MCF_USB_OTG_INT_STAT */
#define MCF_USB_OTG_INT_STAT_A_VBUS_VLD_CHG (0x01)
#define MCF_USB_OTG_INT_STAT_B_SESS_END_CHG (0x04)
#define MCF_USB_OTG_INT_STAT_SESS_VLD_CHG (0x08)
#define MCF_USB_OTG_INT_STAT_LINE_STATE (0x20)
#define MCF_USB_OTG_INT_STAT_1_MSEC (0x40)
#define MCF_USB_OTG_INT_STAT_ID_CHG (0x80)
/* Bit definitions and macros for MCF_USB_OTG_INT_EN */
#define MCF_USB_OTG_INT_EN_A_VBUS_VLD_EN (0x01)
#define MCF_USB_OTG_INT_EN_B_SESS_END_EN (0x04)
#define MCF_USB_OTG_INT_EN_SESS_VLD_EN (0x08)
#define MCF_USB_OTG_INT_EN_LINE_STATE (0x20)
#define MCF_USB_OTG_INT_EN_1_MSEC_EN (0x40)
#define MCF_USB_OTG_INT_EN_ID_EN (0x80)
/* Bit definitions and macros for MCF_USB_OTG_STATUS */
#define MCF_USB_OTG_STATUS_A_VBUS_VLD (0x01)
#define MCF_USB_OTG_STATUS_B_SESS_END (0x04)
#define MCF_USB_OTG_STATUS_SESS_VLD (0x08)
#define MCF_USB_OTG_STATUS_LINE_STATE (0x20)
#define MCF_USB_OTG_STATUS_1_MSEC (0x40)
#define MCF_USB_OTG_STATUS_ID (0x80)
/* Bit definitions and macros for MCF_USB_OTG_CTRL */
#define MCF_USB_OTG_CTRL_VBUS_DSCHG (0x01)
#define MCF_USB_OTG_CTRL_VBUS_CHG (0x02)
#define MCF_USB_OTG_CTRL_OTG_EN (0x04)
#define MCF_USB_OTG_CTRL_VBUS_ON (0x08)
#define MCF_USB_OTG_CTRL_DM_LOW (0x10)
#define MCF_USB_OTG_CTRL_DP_LOW (0x20)
#define MCF_USB_OTG_CTRL_DM_HIGH (0x40)
#define MCF_USB_OTG_CTRL_DP_HIGH (0x80)
/* Bit definitions and macros for MCF_USB_INT_STAT */
#define MCF_USB_INT_STAT_USB_RST (0x01)
#define MCF_USB_INT_STAT_ERROR (0x02)
#define MCF_USB_INT_STAT_SOF_TOK (0x04)
#define MCF_USB_INT_STAT_TOK_DNE (0x08)
#define MCF_USB_INT_STAT_SLEEP (0x10)
#define MCF_USB_INT_STAT_RESUME (0x20)
#define MCF_USB_INT_STAT_ATTACH (0x40)
#define MCF_USB_INT_STAT_STALL (0x80)
/* Bit definitions and macros for MCF_USB_INT_ENB */
#define MCF_USB_INT_ENB_USB_RST (0x01)
#define MCF_USB_INT_ENB_ERROR (0x02)
#define MCF_USB_INT_ENB_SOF_TOK (0x04)
#define MCF_USB_INT_ENB_TOK_DNE (0x08)
#define MCF_USB_INT_ENB_SLEEP (0x10)
#define MCF_USB_INT_ENB_RESUME (0x20)
#define MCF_USB_INT_ENB_ATTACH (0x40)
#define MCF_USB_INT_ENB_STALL (0x80)
/* Bit definitions and macros for MCF_USB_ERR_STAT */
#define MCF_USB_ERR_STAT_PID_ERR (0x01)
#define MCF_USB_ERR_STAT_CRC5_EOF (0x02)
#define MCF_USB_ERR_STAT_CRC16 (0x04)
#define MCF_USB_ERR_STAT_DFN8 (0x08)
#define MCF_USB_ERR_STAT_BTO_ERR (0x10)
#define MCF_USB_ERR_STAT_DMA_ERR (0x20)
#define MCF_USB_ERR_STAT_BTS_ERR (0x80)
/* Bit definitions and macros for MCF_USB_ERR_ENB */
#define MCF_USB_ERR_ENB_PID_ERR (0x01)
#define MCF_USB_ERR_ENB_CRC5_EOF (0x02)
#define MCF_USB_ERR_ENB_CRC16 (0x04)
#define MCF_USB_ERR_ENB_DFN8 (0x08)
#define MCF_USB_ERR_ENB_BTO_ERR (0x10)
#define MCF_USB_ERR_ENB_DMA_ERR (0x20)
#define MCF_USB_ERR_ENB_BTS_ERR (0x80)
/* Bit definitions and macros for MCF_USB_STAT */
#define MCF_USB_STAT_ODD (0x04)
#define MCF_USB_STAT_TX (0x08)
#define MCF_USB_STAT_ENDP(x) (((x)&0x0F)<<4)
/* Bit definitions and macros for MCF_USB_CTL */
#define MCF_USB_CTL_USB_EN_SOF_EN (0x01)
#define MCF_USB_CTL_ODD_RST (0x02)
#define MCF_USB_CTL_RESUME (0x04)
#define MCF_USB_CTL_HOST_MODE_EN (0x08)
#define MCF_USB_CTL_RESET (0x10)
#define MCF_USB_CTL_TXDSUSPEND_TOKBUSY (0x20)
#define MCF_USB_CTL_SE0 (0x40)
#define MCF_USB_CTL_JSTATE (0x80)
/* Bit definitions and macros for MCF_USB_ADDR */
#define MCF_USB_ADDR_ADDR(x) (((x)&0x7F)<<0)
#define MCF_USB_ADDR_LS_EN (0x80)
/* Bit definitions and macros for MCF_USB_BDT_PAGE_01 */
#define MCF_USB_BDT_PAGE_01_BDT_BA9 (0x02)
#define MCF_USB_BDT_PAGE_01_BDT_BA10 (0x04)
#define MCF_USB_BDT_PAGE_01_BDT_BA11 (0x08)
#define MCF_USB_BDT_PAGE_01_BDT_BA12 (0x10)
#define MCF_USB_BDT_PAGE_01_BDT_BA13 (0x20)
#define MCF_USB_BDT_PAGE_01_BDT_BA14 (0x40)
#define MCF_USB_BDT_PAGE_01_BDT_BA15 (0x80)
/* Bit definitions and macros for MCF_USB_FRM_NUM */
#define MCF_USB_FRM_NUM_FRM(x) (((x)&0xFFFF)<<0)
/* Bit definitions and macros for MCF_USB_FRM_NUML */
#define MCF_USB_FRM_NUML_FRM0 (0x01)
#define MCF_USB_FRM_NUML_FRM1 (0x02)
#define MCF_USB_FRM_NUML_FRM2 (0x04)
#define MCF_USB_FRM_NUML_FRM3 (0x08)
#define MCF_USB_FRM_NUML_FRM4 (0x10)
#define MCF_USB_FRM_NUML_FRM5 (0x20)
#define MCF_USB_FRM_NUML_FRM6 (0x40)
#define MCF_USB_FRM_NUML_FRM7 (0x80)
/* Bit definitions and macros for MCF_USB_FRM_NUMH */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -