cslr_mcsi.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 601 行 · 第 1/2 页
H
601 行
/** ============================================================================
* @file cslr_mcsi.h
*
* @path $(CSLPATH)\dsp\mcsi\inc
*
* @desc API header file for mcsi
*
*/
/* =============================================================================
* Copyright (c) Texas Instruments Inc 2002, 2003, 2004
*
* Use of this software is controlled by the terms and conditions found in the
* license agreement under which this software has been supplied.
* ============================================================================
*/
/* @(#) PSP/CSL 3.00.01.00[5912] (2004-04-18) */
/* =============================================================================
* Revision History
* ================
* 05-Jul-2004 sp Modifications done according to the new CSL architecture
* 26-Apr-2004 Shiva File Created.
*
* =============================================================================
*/
#ifndef _CSLR_MCSI_H_
#define _CSLR_MCSI_H_
/***************5905PG1_0***************/
#include <cslr.h>
#include <tistdtypes.h>
#include <csl_types.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* Register Overlay Structure
*/
typedef struct {
/** Activity control register */
volatile Uint16 CNTL_REG;
/** Main parameters register */
volatile Uint16 MAIN_PARAMS_REG;
/** Interrupt mask register */
volatile Uint16 INTS_REG;
/** Channel selection register */
volatile Uint16 CHAN_USED_REG;
/** Over sized frame dimension register */
volatile Uint16 OVR_CLK_REG;
/** Clock frequency register */
volatile Uint16 CLK_FREQ_REG;
/** Interface status register */
volatile Uint16 STATUS_REG;
const char RSVD0[25];
/** Transmit word register */
volatile Uint16 TX_REG[16];
/** Receive word register */
volatile Uint16 RX_REG[16];
} CSL_McsiRegs;
/** Overlay structure typedef definition */
typedef volatile ioport CSL_McsiRegs * CSL_McsiRegsOvly;
/**
* Register Id's
*/
typedef enum {
/** Activity control register offset */
CSL_MCSI_CNTL_REG = 0x0000u,
/** Main parameters register offset */
CSL_MCSI_MAIN_PARAMS_REG = 0x0001u,
/** Interrupt mask register offset */
CSL_MCSI_INTS_REG = 0x0002u,
/** Channel selection register offset */
CSL_MCSI_CHAN_USED_REG = 0x0003u,
/** Over sized frame dimension register offset */
CSL_MCSI_OVR_CLK_REG = 0x0004u,
/** Clock frequency register offset */
CSL_MCSI_CLK_FREQ_REG = 0x0005u,
/** Interface status register offset */
CSL_MCSI_STATUS_REG = 0x0006u,
/** Transmit word register offset */
CSL_MCSI_TX_REG = 0x0020u,
/** Receive word register offset */
CSL_MCSI_RX_REG = 0x0030u
} CSL_McsiRegIds;
/**************************************************************************\
* Field Definition Macros
\**************************************************************************/
/** CNTL_REG */
/** Reserved bits' field mask */
#define CSL_MCSI_CNTL_REG_RESVERED_MASK (0x0000FFF8u)
/** Reserved bits' field shift */
#define CSL_MCSI_CNTL_REG_RESVERED_SHIFT (0x00000003u)
/** Reserved bits' field reset value */
#define CSL_MCSI_CNTL_REG_RESVERED_RESETVAL (0x00000000u)
/** Reserved bit field 1 mask */
#define CSL_MCSI_CNTL_REG_RESVERED_1_MASK (0x00000004u)
/** Reserved bit field 1 shift */
#define CSL_MCSI_CNTL_REG_RESVERED_1_SHIFT (0x00000002u)
/** Reserved bit field 1 reset value */
#define CSL_MCSI_CNTL_REG_RESVERED_RESETVAL (0x00000000u)
/** Software reset bit field mask */
#define CSL_MCSI_CNTL_REG_SFT_RST_MASK (0x00000002u)
/** Software reset bit field shift */
#define CSL_MCSI_CNTL_REG_SFT_RST_SHIFT (0x00000001u)
/** Software reset bit field reset value */
#define CSL_MCSI_CNTL_REG_SFT_RST_RESETVAL (0x00000000u)
/** Token to disable software reset */
#define CSL_MCSI_CNTL_REG_SFT_RST_DIS (0x00000000u)
/** Token to enable software reset */
#define CSL_MCSI_CNTL_REG_SFT_RST_EN (0x00000001u)
/** Clock enable bit field mask */
#define CSL_MCSI_CNTL_REG_CLK_EN_MASK (0x00000001u)
/** Clock enable bit field shift */
#define CSL_MCSI_CNTL_REG_CLK_EN_SHIFT (0x00000000u)
/** Clock enable reset value */
#define CSL_MCSI_CNTL_REG_CLK_EN_RESETVAL (0x00000000u)
/** Token to disable Clock */
#define CSL_MCSI_CNTL_REG_CLK_EN_DIS (0x00000000u)
/** Token to enable Clock */
#define CSL_MCSI_CNTL_REG_CLK_EN_EN (0x00000001u)
/** Activity control register reset value */
#define CSL_MCSI_CNTL_REG_RESETVAL (0x00000000u)
/** MAIN_PARAMS_REG */
/** DMA enable bits' field mask */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_MASK (0x0000C000u)
/** DMA enable bits' field shift */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_SHIFT (0x0000000Eu)
/** DMA enable bits' field reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_RESETVAL (0x00000000u)
/** Token for Normal mode (no DMA) */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_NODMA (0x00000000u)
/** Token for DMA transmit mode and normal receive mode */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_RX (0x00000001u)
/** Token for Normal transmit mode and DMA receive mode */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_TX (0x00000002u)
/** Token for DMA transmit and receive mode */
#define CSL_MCSI_MAIN_PARAMS_REG_DMA_EN_TX_RX (0x00000003u)
/** Reserved bits' field mask */
#define CSL_MCSI_MAIN_PARAMS_REG_RESVERED_MASK (0x00003800u)
/** Reserved bits' field shift */
#define CSL_MCSI_MAIN_PARAMS_REG_RESVERED_SHIFT (0x0000000Bu)
/** Reserved bits' field reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_RESVERED_RESETVAL (0x00000000u)
/** Frame-synchronization pulse polarity mask */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNC_POL_MASK (0x00000400u)
/** Frame-synchronization pulse polarity shift */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNC_POL_SHIFT (0x0000000Au)
/** Frame-synchronization pulse polarity reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNC_POL_RESETVAL (0x00000000u)
/** Frame-synchronization pulse polarity positive */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNC_POL_POS (0x00000000u)
/** Frame-synchronization pulse polarity negative */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNC_POL_NEG (0x00000001u)
/** Frame-synchronization pulse position mask */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_MODE_MASK (0x00000200u)
/** Frame-synchronization pulse position shift */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_MODE_SHIFT (0x00000009u)
/** Frame-synchronization pulse position reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_MODE_RESETVAL (0x00000000u)
/** Frame-synchronization pulse position normal */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_MODE_NOR (0x00000000u)
/** Frame-synchronization pulse position alternate */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_MODE_ALTR (0x00000001u)
/** Frame-synchronization pulse position mask */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_SIZE_MASK (0x00000100u)
/** Frame-synchronization pulse position shift */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_SIZE_SHIFT (0x00000008u)
/** Frame-synchronization pulse position reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_SIZE_RESETVAL (0x00000000u)
/** Frame-synchronization pulse position short */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_SIZE_SHORT (0x00000000u)
/** Frame-synchronization pulse position long */
#define CSL_MCSI_MAIN_PARAMS_REG_FSYNCH_SIZE_LONG (0x00000001u)
/** Frame structure mask */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_STRUCT_MASK (0x00000080u)
/** Frame structure shift */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_STRUCT_SHIFT (0x00000007u)
/** Frame structure reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_STRUCT_RESETVAL (0x00000000u)
/** Frame structure single */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_STRUCT_SINGLE (0x00000000u)
/** Multi Frame structure */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_STRUCT_MULTI (0x00000001u)
/** Interface transmission mode mask */
#define CSL_MCSI_MAIN_PARAMS_REG_MCSI_MODE_MASK (0x00000040u)
/** Interface transmission mode shift */
#define CSL_MCSI_MAIN_PARAMS_REG_MCSI_MODE_SHIFT (0x00000006u)
/** Interface transmission mode reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_MCSI_MODE_RESETVAL (0x00000000u)
/** Interface transmission mode as slave */
#define CSL_MCSI_MAIN_PARAMS_REG_MCSI_MODE_SLA (0x00000000u)
/** Interface transmission mode as master */
#define CSL_MCSI_MAIN_PARAMS_REG_MCSI_MODE_MAS (0x00000001u)
/** Frame mode mask */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_MODE_MASK (0x00000020u)
/** Frame mode shift */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_MODE_SHIFT (0x00000005u)
/** Frame mode reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_MODE_RESETVAL (0x00000000u)
/** Frame mode - Burst */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_MODE_BURST (0x00000000u)
/** Frame mode - Continuous */
#define CSL_MCSI_MAIN_PARAMS_REG_FRM_MODE_CONT (0x00000001u)
/** Clock edge selection mask */
#define CSL_MCSI_MAIN_PARAMS_REG_CLK_POL_MASK (0x00000010u)
/** Clock edge selection shift */
#define CSL_MCSI_MAIN_PARAMS_REG_CLK_POL_SHIFT (0x00000004u)
/** Clock edge selection reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_CLK_POL_RESETVAL (0x00000000u)
/** Clock edge selection - positive */
#define CSL_MCSI_MAIN_PARAMS_REG_CLK_POL_POS (0x00000000u)
/** Clock edge selection - negative */
#define CSL_MCSI_MAIN_PARAMS_REG_CLK_POL_NEG (0x00000001u)
/** Word size bits' field mask */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_MASK (0x0000000Fu)
/** Word size bits' field shift */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SHIFT (0x00000000u)
/** Word size bits' field reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_RESETVAL (0x00000000u)
/** Word size in bits number - 0 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE0 (0x00000000u)
/** Word size in bits number - 1 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE1 (0x00000040u)
/** Word size in bits number - 2 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE2 (0x00000040u)
/** Word size in bits number - 3 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE3 (0x00000040u)
/** Word size in bits number - 4 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE4 (0x00000040u)
/** Word size in bits number - 5 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE5 (0x00000041u)
/** Word size in bits number - 6 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE6 (0x00000048u)
/** Word size in bits number - 7 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE7 (0x00000049u)
/** Word size in bits number - 8 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE8 (0x000003E8u)
/** Word size in bits number - 9 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE9 (0x000003E9u)
/** Word size in bits number - 10 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE10 (0x000003F2u)
/** Word size in bits number - 11 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE11 (0x000003F3u)
/** Word size in bits number - 12 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE12 (0x0000044Cu)
/** Word size in bits number - 13 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE13 (0x0000044Du)
/** Word size in bits number - 14 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE14 (0x00000456u)
/** Word size in bits number - 15 */
#define CSL_MCSI_MAIN_PARAMS_REG_WORD_SIZE_SIZE15 (0x00000457u)
/** Main parameters register reset value */
#define CSL_MCSI_MAIN_PARAMS_REG_RESETVAL (0x00000000u)
/** INTS_REG */
/** Reserved field mask */
#define CSL_MCSI_INTS_REG_RESVERED_MASK (0x0000F800u)
/** Reserved field shift */
#define CSL_MCSI_INTS_REG_RESVERED_SHIFT (0x0000000Bu)
/** Reserved field reset value */
#define CSL_MCSI_INTS_REG_RESVERED_RESETVAL (0x00000000u)
/** Mask of frame duration error interrupt, bit field mask */
#define CSL_MCSI_INTS_REG_MSK_IT_ERR_MASK (0x00000400u)
/** Mask of frame duration error interrupt, bit field shift */
#define CSL_MCSI_INTS_REG_MSK_IT_ERR_SHIFT (0x0000000Au)
/** Mask of frame duration error interrupt, bit field reset value */
#define CSL_MCSI_INTS_REG_MSK_IT_ERR_RESETVAL (0x00000000u)
/** Mask of frame duration error interrupt active */
#define CSL_MCSI_INTS_REG_MSK_IT_ERR_ACTV (0x00000000u)
/** Mask of frame duration error interrupt inactive */
#define CSL_MCSI_INTS_REG_MSK_IT_ERR_INACTV (0x00000001u)
/** Mask of transmit interrupt bit field mask */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?