📄 davincihd_mcasp.h
字号:
#define MCASP1_DITCSRA2 *( volatile Uint32* )( MCASP1_BASE + 0x108 )
#define MCASP1_DITCSRA3 *( volatile Uint32* )( MCASP1_BASE + 0x10c )
#define MCASP1_DITCSRA4 *( volatile Uint32* )( MCASP1_BASE + 0x110 )
#define MCASP1_DITCSRA5 *( volatile Uint32* )( MCASP1_BASE + 0x114 )
#define MCASP1_DITCSRB0 *( volatile Uint32* )( MCASP1_BASE + 0x118 )
#define MCASP1_DITCSRB1 *( volatile Uint32* )( MCASP1_BASE + 0x11c )
#define MCASP1_DITCSRB2 *( volatile Uint32* )( MCASP1_BASE + 0x120 )
#define MCASP1_DITCSRB3 *( volatile Uint32* )( MCASP1_BASE + 0x124 )
#define MCASP1_DITCSRB4 *( volatile Uint32* )( MCASP1_BASE + 0x128 )
#define MCASP1_DITCSRB5 *( volatile Uint32* )( MCASP1_BASE + 0x12c )
#define MCASP1_DITUDRA0 *( volatile Uint32* )( MCASP1_BASE + 0x130 )
#define MCASP1_DITUDRA1 *( volatile Uint32* )( MCASP1_BASE + 0x134 )
#define MCASP1_DITUDRA2 *( volatile Uint32* )( MCASP1_BASE + 0x138 )
#define MCASP1_DITUDRA3 *( volatile Uint32* )( MCASP1_BASE + 0x13c )
#define MCASP1_DITUDRA4 *( volatile Uint32* )( MCASP1_BASE + 0x140 )
#define MCASP1_DITUDRA5 *( volatile Uint32* )( MCASP1_BASE + 0x144 )
#define MCASP1_DITUDRB0 *( volatile Uint32* )( MCASP1_BASE + 0x148 )
#define MCASP1_DITUDRB1 *( volatile Uint32* )( MCASP1_BASE + 0x14c )
#define MCASP1_DITUDRB2 *( volatile Uint32* )( MCASP1_BASE + 0x150 )
#define MCASP1_DITUDRB3 *( volatile Uint32* )( MCASP1_BASE + 0x154 )
#define MCASP1_DITUDRB4 *( volatile Uint32* )( MCASP1_BASE + 0x158 )
#define MCASP1_DITUDRB5 *( volatile Uint32* )( MCASP1_BASE + 0x15c )
#define MCASP1_SRCTL0 *( volatile Uint32* )( MCASP1_BASE + 0x180 )
#define MCASP1_SRCTL1 *( volatile Uint32* )( MCASP1_BASE + 0x184 )
#define MCASP1_SRCTL2 *( volatile Uint32* )( MCASP1_BASE + 0x188 )
#define MCASP1_SRCTL3 *( volatile Uint32* )( MCASP1_BASE + 0x18c )
#define MCASP1_XBUF0 *( volatile Uint32* )( MCASP1_BASE + 0x200 )
#define MCASP1_XBUF0_16BIT *( volatile Uint16* )( MCASP1_BASE + 0x200 )
#define MCASP1_XBUF0_32BIT *( volatile Uint32* )( MCASP1_BASE + 0x200 )
/* ------------------------------------------------------------------------ *
* GBLCTL_ Field Definitions *
* ------------------------------------------------------------------------ */
#define GBLCTL_XFRST_ON 0x1000
#define GBLCTL_XSMRST_ON 0x0800
#define GBLCTL_XSRCLR_ON 0x0400
#define GBLCTL_XHCLKRST_ON 0x0200
#define GBLCTL_XCLKRST_ON 0x0100
#define GBLCTL_RFRST_ON 0x0010
#define GBLCTL_RSMRST_ON 0x0008
#define GBLCTL_RSRCLR_ON 0x0004
#define GBLCTL_RHCLKRST_ON 0x0002
#define GBLCTL_RCLKRST_ON 0x0001
/* ------------------------------------------------------------------------ *
* MCASP interface *
* ------------------------------------------------------------------------ */
typedef struct {
volatile Uint32 PID;
volatile Uint32 PWRDEMU;
Uint32 rsvd_08_0c[2];
volatile Uint32 PFUNC;
volatile Uint32 PDIR;
volatile Uint32 PDOUT;
volatile Uint32 PDIN; // aka PDSET
volatile Uint32 PDCLR;
Uint32 rsvd_24_40[8];
volatile Uint32 GBLCTL;
volatile Uint32 AMUTE; // McASP 0 only
volatile Uint32 DLBCTL;
volatile Uint32 DITCTL;
Uint32 rsvd_54_5c[3];
volatile Uint32 RGBLCTL;
volatile Uint32 RMASK; // McASP 0 only
volatile Uint32 RFMT; // McASP 0 only
volatile Uint32 AFSRCTL; // McASP 0 only
volatile Uint32 ACLKRCTL; // McASP 0 only
volatile Uint32 AHCLKRCTL; // McASP 0 only
volatile Uint32 RTDM; // McASP 0 only
volatile Uint32 RINTCTL;
volatile Uint32 RSTAT;
volatile Uint32 RSLOT; // McASP 0 only
volatile Uint32 RCLKCHK; // McASP 0 only
Uint32 rsvd_8c_9c[5];
volatile Uint32 XGBLCTL;
volatile Uint32 XMASK;
volatile Uint32 XFMT;
volatile Uint32 AFSXCTL;
volatile Uint32 ACLKXCTL;
volatile Uint32 AHCLKXCTL;
volatile Uint32 XTDM;
volatile Uint32 XINTCTL;
volatile Uint32 XSTAT;
volatile Uint32 XSLOT;
volatile Uint32 XCLKCHK;
Uint32 rsvd_cc_fc[13];
volatile Uint32 DITCSRA0;
volatile Uint32 DITCSRA1;
volatile Uint32 DITCSRA2;
volatile Uint32 DITCSRA3;
volatile Uint32 DITCSRA4;
volatile Uint32 DITCSRA5;
volatile Uint32 DITCSRB0;
volatile Uint32 DITCSRB1;
volatile Uint32 DITCSRB2;
volatile Uint32 DITCSRB3;
volatile Uint32 DITCSRB4;
volatile Uint32 DITCSRB5;
volatile Uint32 DITUDRA0;
volatile Uint32 DITUDRA1;
volatile Uint32 DITUDRA2;
volatile Uint32 DITUDRA3;
volatile Uint32 DITUDRA4;
volatile Uint32 DITUDRA5;
volatile Uint32 DITUDRB0;
volatile Uint32 DITUDRB1;
volatile Uint32 DITUDRB2;
volatile Uint32 DITUDRB3;
volatile Uint32 DITUDRB4;
volatile Uint32 DITUDRB5;
Uint32 rsvd_160_17c[8];
volatile Uint32 SRCTL0;
volatile Uint32 SRCTL1; // McASP 0 only
volatile Uint32 SRCTL2; // McASP 0 only
volatile Uint32 SRCTL3; // McASP 0 only
Uint32 rsvd_190_1fc[28];
volatile Uint32 XBUF0;
volatile Uint32 XBUF1; // McASP 0 only
volatile Uint32 XBUF2; // McASP 0 only
volatile Uint32 XBUF3; // McASP 0 only
Uint32 rsvd_210_27c[28];
volatile Uint32 RBUF0; // McASP 0 only
volatile Uint32 RBUF1; // McASP 0 only
volatile Uint32 RBUF2; // McASP 0 only
volatile Uint32 RBUF3; // McASP 0 only
} MCASP_REGS;
#define PDSET PDIN // PDSET & PDIN occupy the same memory location
#define SRCTL_BASE SRCTL0
#define XBUF_BASE XBUF0
#define RBUF_BASE RBUF0
typedef struct {
Uint16 id;
MCASP_REGS* regs;
} MCASP_OBJ;
static MCASP_OBJ MCASP_MODULE_0 = { MCASP_0, ( MCASP_REGS* )MCASP0_BASE };
static MCASP_OBJ MCASP_MODULE_1 = { MCASP_1, ( MCASP_REGS* )MCASP1_BASE };
typedef MCASP_OBJ* MCASP_Handle;
/* ------------------------------------------------------------------------ *
* Prototypes *
* ------------------------------------------------------------------------ */
Int16 DAVINCIHD_MCASP_open ( Uint16 id );
Int16 DAVINCIHD_MCASP_close( Uint16 id );
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -