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

📄 csl_mcasphal.h

📁 用DSP实现语音的采集和存储显示的程序!很经典!适合DM643的开发板
💻 H
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************\* Step 1.     Copyright (C) 2001 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_mcasphal.h* DATE CREATED.. 06/28/2001 * LAST MODIFIED. *                08/02/2004 - Adding support for C6418*------------------------------------------------------------------------------*HISTORY......6/29/01, changed RSLOT to RSLOTCNT, XSLOT to XSLOTCNT* 7/2/01, XFMT: changed XROT field to 0-2 instead of 0-3*	also added field XDATDLY in bits 17:16 (made appropriate macro changes)*	RFMT: same as above (RROT wasn't specified, but made sense)*	AFSXCTL/AFSRCTL: removed X(R)DATDLY fields and macro entries.*	ACLKRCTL: changed CLKRDIV field to bits 4:0(was 5:0),CLKRM to bit 5(was 6)*	HCLKXDIV/HCLKRDIV: changed field HCLKX(R)DIV to bit 11:0 (was 12:0)*	SCRTL: changed defaults of fields XRDY and RRDY to 0b (was 1b)*	Added register DLBCTL*	Added registers X(R)INTCTL*	8/6/01 fixed MCASP_RFMT_RPAD_RPBIT; was formerly _XPBIT*	08/13/01  V.G.  Reordered the registers and added OFFSETs*	08/14/01  V.G.  Corrected syntax errors*	08/20/01  V.G.	Added addresses for each register**     17/06/04        Adding support for DM640/641*     11/03/01  F.S   CRFAIL -> RCKFAIL / CXFAIL -> XCKFAIL*     11/15/01  F.S   PWREMUMGT -> PWRDEMU*                     PFUNC / PDIR /PDSOUT /PDSET /PDCLR -> fields renaming*     11/20/01  F.S   GBLCTL / XGBLCTL / RGBLCTL *                     RRST -> RSMRST , RGRST -> RCLKRST , HCLKRRST -> RHCLKRST*                     XRST -> XSMRST , XGRST -> XCLKRST , HCLKXRST -> XHCLKRST*     10/22/03        Fixed the typos in MCASP_PDOUT_DEFAULT and MCASP_PDOUT_RMK*                            *------------------------------------------------------------------------------* REGISTERS (register list)** PID		- Peripheral Identification Register            * PWRDEMU	- Power Down and Emulation Management Register  * PFUNC		- Pin Function / GPIO Enable Register  * PDIR		- Pin Direction Register * PDAT		- Pin Data Register   * PDIN		- Pin Data Input Register  * PDOUT		- Pin Data Output Register  * PDSET		- Pin Data Set Register * PDCLR		- Pin Data Clear Register  * DITCTL    - Transmit DIT Control Register  * DLBCTL    -  Loop Back Control Mode* XFMT		- Transmit Bitstream Format Register * RFMT		- Receive Bitstream Format Register  * XMASK* RMASK		* AFSXCTL	- Transmit Frame Control Register * AFSRCTL	- Receive Frame Control Register * ACLKXCTL	- Transmit Clock Control Register * ACLKRCTL	- Receive Clock Control Register * AHCLKXCTL	- High Frequency Transmit Clock Control Register Description* AHCLKRCTL	- High Frequency Receive Clock Control Register Description     * SRCTL0	- Serializer Control Register 0* SRCTL1	- Serializer Control Register 1* SRCTL2	- Serializer Control Register 2* SRCTL3	- Serializer Control Register 3* SRCTL4	- Serializer Control Register 4* SRCTL5	- Serializer Control Register 5* SRCTL6	- Serializer Control Register 6* SRCTL7	- Serializer Control Register 7* SRCTL8	- Serializer Control Register 8 (1)* SRCTL9	- Serializer Control Register 9 (1)* SRCTL10	- Serializer Control Register 10 (1)* SRCTL11	- Serializer Control Register 11 (1)* SRCTL12	- Serializer Control Register 12 (1)* SRCTL13	- Serializer Control Register 13 (1)* SRCTL14	- Serializer Control Register 14 (1)* SRCTL15	- Serializer Control Register 15 (1)* XTDM		- Transmit TDM Register* RTDM		- Receive TDM Register          * GBLCTL	- Global Control Register            * XGBLCTL	- Global Control Register            * RGBLCTL	- Global Control Register            * AMUTE	- Mute Control Register        * XINTCTL   - Transmitter Interrupt Control Register* RINTCTL   - Receiver Interrupt Control Register* RSTAT	- Receiver Status Register * XSTAT	- Transmitter Status Register * RSLOTCNT	- Receiver TDM Slot Counter* XSLOTCNT	- Transmitter TDM Slot Counter* XCLKCHK	- Transmit Clock Check Control Register* RCLKCHK	- Receive Clock Check Control Register* XBUF0	- Transmit Buffer for Serializer 0* XBUF1	- Transmit Buffer for Serializer 1* XBUF2	- Transmit Buffer for Serializer 2* XBUF3	- Transmit Buffer for Serializer 3* XBUF4	- Transmit Buffer for Serializer 4* XBUF5	- Transmit Buffer for Serializer 5* XBUF6	- Transmit Buffer for Serializer 6* XBUF7	- Transmit Buffer for Serializer 7* XBUF8	- Transmit Buffer for Serializer 8 (1)* XBUF9	- Transmit Buffer for Serializer 9 (1)* XBUF10	- Transmit Buffer for Serializer 10 (1)* XBUF11	- Transmit Buffer for Serializer 11 (1)* XBUF12	- Transmit Buffer for Serializer 12 (1)* XBUF13	- Transmit Buffer for Serializer 13 (1)* XBUF14	- Transmit Buffer for Serializer 14 (1)* XBUF15	- Transmit Buffer for Serializer 15 (1)* RBUF0	- Receive Buffer for Serializer 0* RBUF1	- Receive Buffer for Serializer 1* RBUF2	- Receive Buffer for Serializer 2* RBUF3	- Receive Buffer for Serializer 3* RBUF4	- Receive Buffer for Serializer 4* RBUF5	- Receive Buffer for Serializer 5* RBUF6	- Receive Buffer for Serializer 6* RBUF7	- Receive Buffer for Serializer 7* RBUF8	- Receive Buffer for Serializer 8 * RBUF9	- Receive Buffer for Serializer 9 * RBUF10	- Receive Buffer for Serializer 10* RBUF11	- Receive Buffer for Serializer 11 * RBUF12	- Receive Buffer for Serializer 12 * RBUF13	- Receive Buffer for Serializer 13 * RBUF14	- Receive Buffer for Serializer 14 * RBUF15	- Receive Buffer for Serializer 15 * DITCSRA0n	- Left (even TDM Slot) Channel Status Register File* DITCSRA1n* DITCSRA2n* DITCSRA3n* DITCSRA4n* DITCSRA5n* DITCSRB0n	- Right (even TDM Slot) Channel Status Register File* DITCSRB1n* DITCSRB2n* DITCSRB3n* DITCSRB4n* DITCSRB5n* DITUDRA0n	- Left (even TDM Slot) User Data Register File* DITUDRA1n* DITUDRA2n* DITUDRA3n* DITUDRA4n* DITUDRA5n* DITUDRB0n	- Right (even TDM Slot) User Data Register File* DITUDRB1n* DITUDRB2n* DITUDRB3n* DITUDRB4n* DITUDRB5n* *\******************************************************************************//******************************************************************************\* Step 2. Private Macros and Include files\******************************************************************************/#ifndef _CSL_MCASPHAL_H_#define _CSL_MCASPHAL_H_#include <csl_stdinc.h>#include <csl_chip.h>#if (MCASP_SUPPORT)/******************************************************************************\* Step 3. MISC section * Example:* #define _MCASP_BASE_GLOBAL   0xXXXXXXXXu\******************************************************************************/#if (CHIP_6713 | CHIP_DA610 | CHIP_6413 | CHIP_6418 | CHIP_6410) #define _MCASP_PORT_CNT        2#endif#if (CHIP_DM642 | CHIP_DM641 | CHIP_DM640) #define _MCASP_PORT_CNT        1#endif#if (CHIP_DM641 | CHIP_DM640)    #define _MCASP_CHANNEL_CNT    4#endif#if (CHIP_6413 | CHIP_6418 | CHIP_6410)    #define _MCASP_CHANNEL_CNT    6#endif#if (CHIP_DM642 | CHIP_6713)    #define _MCASP_CHANNEL_CNT    8#endif#if (CHIP_DA610)    #define _MCASP_CHANNEL_CNT    16#endif#define _MCASP_BASE_PORT0      0x01B4C000u#define _MCASP_BASE_PORT1      0x01B50000u/******************************************************************************\* Step 4. Module level register/field access macros\******************************************************************************/  /* -------------------------- */  /* Step 4.1 FIELD MAKE MACROS */  /* -------------------------- */  #define MCASP_FMK(REG,FIELD,x)\    _PER_FMK(MCASP,##REG,##FIELD,x)  #define MCASP_FMKS(REG,FIELD,SYM)\    _PER_FMKS(MCASP,##REG,##FIELD,##SYM)    /* ----------------------------------------- */  /* Step 4.2 RAW REGISTER/FIELD ACCESS MACROS */  /* ----------------------------------------- */  #define MCASP_ADDR(REG)\    _MCASP_##REG##_ADDR  #define MCASP_RGET(REG)\    _PER_RGET(_MCASP_##REG##_ADDR,MCASP,##REG)  #define MCASP_RSET(REG,x)\    _PER_RSET(_MCASP_##REG##_ADDR,MCASP,##REG,x)  #define MCASP_FGET(REG,FIELD)\    _MCASP_##REG##_FGET(##FIELD)  #define MCASP_FSET(REG,FIELD,x)\    _MCASP_##REG##_FSET(##FIELD,x)  #define MCASP_FSETS(REG,FIELD,SYM)\    _MCASP_##REG##_FSETS(##FIELD,##SYM)    /* --------------------------------------------------- */  /* Step 4.3 ADDRESS BASED REGISTER/FIELD ACCESS MACROS */  /* --------------------------------------------------- */  #define MCASP_RGETA(addr,REG)\    _PER_RGET(addr,MCASP,##REG)  #define MCASP_RSETA(addr,REG,x)\    _PER_RSET(addr,MCASP,##REG,x)  #define MCASP_FGETA(addr,REG,FIELD)\    _PER_FGET(addr,MCASP,##REG,##FIELD)  #define MCASP_FSETA(addr,REG,FIELD,x)\    _PER_FSET(addr,MCASP,##REG,##FIELD,x)  #define MCASP_FSETSA(addr,REG,FIELD,SYM)\    _PER_FSETS(addr,MCASP,##REG,##FIELD,##SYM)  /* -------------------------------------------------- */  /* Step 4.4 HANDLE BASED REGISTER/FIELD ACCESS MACROS */  /* -------------------------------------------------- */    /* For non-handle based Module : remove the following macros  (remove me)*/  /* See CDK Chapter 3. Module specification and CSL definitions ( remove me)*/      #define MCASP_ADDRH(h,REG)\    (Uint32)(&((h)->baseAddr[_MCASP_##REG##_OFFSET]))  #define MCASP_RGETH(h,REG)\    MCASP_RGETA(MCASP_ADDRH(h,##REG),##REG)  #define MCASP_RSETH(h,REG,x)\    MCASP_RSETA(MCASP_ADDRH(h,##REG),##REG,x)  #define MCASP_FGETH(h,REG,FIELD)\    MCASP_FGETA(MCASP_ADDRH(h,##REG),##REG,##FIELD)  #define MCASP_FSETH(h,REG,FIELD,x)\    MCASP_FSETA(MCASP_ADDRH(h,##REG),##REG,##FIELD,x)  #define MCASP_FSETSH(h,REG,FIELD,SYM)\    MCASP_FSETSA(MCASP_ADDRH(h,##REG),##REG,##FIELD,##SYM)/******************************************************************************\*  * _____________________* |                   |* |     P  I  D       |* |___________________|** PID  -  Peripheral Identification Register** FIELDS (msb -> lsb)* (r)  TYPE* (r)  CLASS* (r)  REV*\******************************************************************************/  #define _MCASP_PID_OFFSET		0  #define _MCASP_PID0_ADDR		(_MCASP_BASE_PORT0 + 4*_MCASP_PID_OFFSET)#if (_MCASP_PORT_CNT > 1)  #define _MCASP_PID1_ADDR		(_MCASP_BASE_PORT1 + 4*_MCASP_PID_OFFSET)#endif  #define _MCASP_PID_TYPE_MASK		0x00FF0000u  #define _MCASP_PID_TYPE_SHIFT		0x00000010u  #define  MCASP_PID_TYPE_DEFAULT	0x00000010u  #define  MCASP_PID_TYPE_OF(x)		_VALUEOF(x)  #define  MCASP_PID_TYPE_MCASP		0x00000010u   #define _MCASP_PID_CLASS_MASK		0x0000FF00u  #define _MCASP_PID_CLASS_SHIFT	0x00000008u  #define  MCASP_PID_CLASS_DEFAULT	0x00000001u  #define  MCASP_PID_CLASS_OF(x)	_VALUEOF(x)  #define  MCASP_PID_CLASS_SERPORT	0x00000001u    #define _MCASP_PID_REV_MASK		0x000000FFu  #define _MCASP_PID_REV_SHIFT		0x00000000u  #define  MCASP_PID_REV_DEFAULT	0x00000001u  #define  MCASP_PID_REV_OF(x)		_VALUEOF(x)  #define  MCASP_PID_REV_ONE		0x00000001u  #define  MCASP_PID_OF(x)		_VALUEOF(x)  #define MCASP_PID_DEFAULT (Uint32)( \     _PER_FDEFAULT(MCASP,PID,TYPE)\	| _PER_FDEFAULT(MCASP,PID,CLASS)\	| _PER_FDEFAULT(MCASP,PID,REV)\  )       #define MCASP_PID_RMK(type, class, rev) (Uint32)( \     _PER_FMK(MCASP,PID,TYPE,type)\	| _PER_FMK(MCASP,PID,CLASS,class)\	| _PER_FMK(MCASP,PID,REV,rev)\  )    #define _MCASP_PID_FGET(N,FIELD)\    _PER_FGET(_MCASP_PID##N##_ADDR,MCASP,PID,##FIELD)  #define _MCASP_PID_FSET(N,FIELD,field)\    _PER_FSET(_MCASP_PID##N##_ADDR,MCASP,PID,##FIELD,field)  #define _MCASP_PID_FSETS(N,FIELD,SYM)\  	_PER_FSETS(_MCASP_PID##N##_ADDR,MCASP,PID,##FIELD,##SYM)  #define _MCASP_PID0_FGET(FIELD) _MCASP_PID_FGET(0,##FIELD)#if (_MCASP_PORT_CNT > 1)  #define _MCASP_PID1_FGET(FIELD) _MCASP_PID_FGET(1,##FIELD)#endif   #define _MCASP_PID0_FSET(FIELD,f) _MCASP_PID_FSET(0,##FIELD,f)#if (_MCASP_PORT_CNT > 1)  #define _MCASP_PID1_FSET(FIELD,f) _MCASP_PID_FSET(1,##FIELD,f)#endif  #define _MCASP_PID0_FSETS(FIELD,SYM) _MCASP_PID_FSETS(0,##FIELD,##SYM)#if (_MCASP_PORT_CNT > 1)  #define _MCASP_PID1_FSETS(FIELD,SYM) _MCASP_PID_FSETS(1,##FIELD,##SYM)#endif/******************************************************************************\* Step 4.5

⌨️ 快捷键说明

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