cslr_ata.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 787 行 · 第 1/3 页
H
787 行
#ifndef _CSLR_ATA_001_H_
#define _CSLR_ATA_001_H_
/*********************************************************************
* Copyright (C) 2003-2004 Texas Instruments Incorporated.
* All Rights Reserved
*********************************************************************/
/** \file cslr_ata.h
*
* \brief This file contains the Register Desciptions for ATA
*
*********************************************************************/
/* =============================================================================
* Revision History
* ===============
* 30-Oct-2004 kpn Added #defines for HWNHLD bits of MISCCTL register
* according to ti-bk-3710shu-1[1].01_latest pdf file.
* Changed filename from cslr_ata_001.h to cslr_ata.h
* =============================================================================
*/
#include <cslr.h>
#include <tistdtypes.h>
/**************************************************************************\
* Register Overlay Structure for DmaEngine
\**************************************************************************/
typedef struct {
volatile Uint16 BMICP;
volatile Uint16 BMISP;
volatile Uint32 BMIDTP;
volatile Uint16 BMICS;
volatile Uint16 BMISS;
volatile Uint32 BMIDTPS;
} CSL_AtaDmaengineRegs;
/**************************************************************************\
* Register Overlay Structure for Config
\**************************************************************************/
typedef struct {
volatile Uint16 IDETIMP;
volatile Uint16 IDETIMS;
volatile Uint8 SIDETIM;
volatile Uint16 SLEWCTL;
volatile Uint8 IDESTATUS;
volatile Uint16 UDMACTL;
volatile Uint16 UDMATIM;
volatile Uint8 RSVD0[4];
volatile Uint32 MISCCTL;
volatile Uint32 REGSTB;
volatile Uint32 REGRCVR;
volatile Uint32 DATSTB;
volatile Uint32 DATRCVR;
volatile Uint32 DMASTB;
volatile Uint32 DMARCVR;
volatile Uint32 UDMASTB;
volatile Uint32 UDMATRP;
volatile Uint32 UDMATENV;
volatile Uint32 IORDYTMP;
volatile Uint32 IORDYTMS;
} CSL_AtaConfigRegs;
/**************************************************************************\
* Register Overlay Structure
\**************************************************************************/
typedef struct {
CSL_AtaDmaengineRegs DMAENGINE;
volatile Uint8 RSVD0[48];
CSL_AtaConfigRegs CONFIG;
} CSL_AtaRegs;
/**************************************************************************\
* Register Id's
\**************************************************************************/
typedef enum {
CSL_ATA_BMICP = 0x0000u,
CSL_ATA_BMISP = 0x0002u,
CSL_ATA_BMIDTP = 0x0004u,
CSL_ATA_BMICS = 0x0008u,
CSL_ATA_BMISS = 0x000au,
CSL_ATA_BMIDTPS = 0x000cu,
CSL_ATA_IDETIMP = 0x0000u,
CSL_ATA_IDETIMS = 0x0002u,
CSL_ATA_SIDETIM = 0x0004u,
CSL_ATA_SLEWCTL = 0x0005u,
CSL_ATA_IDESTATUS = 0x0007u,
CSL_ATA_UDMACTL = 0x0008u,
CSL_ATA_UDMATIM = 0x000au,
CSL_ATA_MISCCTL = 0x0010u,
CSL_ATA_REGSTB = 0x0014u,
CSL_ATA_REGRCVR = 0x0018u,
CSL_ATA_DATSTB = 0x001cu,
CSL_ATA_DATRCVR = 0x0020u,
CSL_ATA_DMASTB = 0x0024u,
CSL_ATA_DMARCVR = 0x0028u,
CSL_ATA_UDMASTB = 0x002cu,
CSL_ATA_UDMATRP = 0x0030u,
CSL_ATA_UDMATENV = 0x0034u,
CSL_ATA_IORDYTMP = 0x0038u,
CSL_ATA_IORDYTMS = 0x003cu
} CSL_AtaRegIds;
typedef volatile CSL_AtaRegs *CSL_AtaRegsOvly;
/**************************************************************************\
* Field Definition Macros
\**************************************************************************/
/* BMICP */
#define CSL_ATA_BMICP_DMADIR_MASK (0x00000008u)
#define CSL_ATA_BMICP_DMADIR_SHIFT (0x00000003u)
#define CSL_ATA_BMICP_DMADIR_RESETVAL (0x00000001u)
#define CSL_ATA_BMICP_DMADIR_DMAREAD (0x00000000u)
#define CSL_ATA_BMICP_DMADIR_DMAWRITE (0x00000001u)
#define CSL_ATA_BMICP_DMASTART_MASK (0x00000001u)
#define CSL_ATA_BMICP_DMASTART_SHIFT (0x00000000u)
#define CSL_ATA_BMICP_DMASTART_RESETVAL (0x00000000u)
#define CSL_ATA_BMICP_DMASTART_START (0x00000001u)
#define CSL_ATA_BMICP_DMASTART_STOP (0x00000000u)
#define CSL_ATA_BMICP_RESETVAL (0x00000008u)
/* BMISP */
#define CSL_ATA_BMISP_SIMPLEX_MASK (0x00000080u)
#define CSL_ATA_BMISP_SIMPLEX_SHIFT (0x00000007u)
#define CSL_ATA_BMISP_SIMPLEX_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_SIMPLEX_DUAL (0x00000000u)
#define CSL_ATA_BMISP_SIMPLEX_SINGLE (0x00000001u)
#define CSL_ATA_BMISP_DMAEN1_MASK (0x00000040u)
#define CSL_ATA_BMISP_DMAEN1_SHIFT (0x00000006u)
#define CSL_ATA_BMISP_DMAEN1_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_DMAEN1_DISABLE (0x00000000u)
#define CSL_ATA_BMISP_DMAEN1_ENABLE (0x00000001u)
#define CSL_ATA_BMISP_DMAEN0_MASK (0x00000020u)
#define CSL_ATA_BMISP_DMAEN0_SHIFT (0x00000005u)
#define CSL_ATA_BMISP_DMAEN0_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_DMAEN0_DISABLE (0x00000000u)
#define CSL_ATA_BMISP_DMAEN0_ENABLE (0x00000001u)
#define CSL_ATA_BMISP_IORDYINT_MASK (0x00000008u)
#define CSL_ATA_BMISP_IORDYINT_SHIFT (0x00000003u)
#define CSL_ATA_BMISP_IORDYINT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_IORDYINT_ENABLED (0x00000001u)
#define CSL_ATA_BMISP_IORDYINT_CLEAR (0x00000001u)
#define CSL_ATA_BMISP_INTRSTAT_MASK (0x00000004u)
#define CSL_ATA_BMISP_INTRSTAT_SHIFT (0x00000002u)
#define CSL_ATA_BMISP_INTRSTAT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_INTRSTAT_CLEAR (0x00000001u)
#define CSL_ATA_BMISP_INTRSTAT_ACTIVE (0x00000001u)
#define CSL_ATA_BMISP_DMAERROR_MASK (0x00000002u)
#define CSL_ATA_BMISP_DMAERROR_SHIFT (0x00000001u)
#define CSL_ATA_BMISP_DMAERROR_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_DMAERROR_CLEAR (0x00000001u)
#define CSL_ATA_BMISP_DMAERROR_ACTIVE (0x00000001u)
#define CSL_ATA_BMISP_IDEACT_MASK (0x00000001u)
#define CSL_ATA_BMISP_IDEACT_SHIFT (0x00000000u)
#define CSL_ATA_BMISP_IDEACT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISP_IDEACT_ACTIVE (0x00000001u)
#define CSL_ATA_BMISP_IDEACT_COMPLETE (0x00000000u)
#define CSL_ATA_BMISP_RESETVAL (0x00000000u)
/* BMIDTP */
#define CSL_ATA_BMIDTP_BMIDTP_MASK (0xFFFFFFFCu)
#define CSL_ATA_BMIDTP_BMIDTP_SHIFT (0x00000002u)
#define CSL_ATA_BMIDTP_BMIDTP_RESETVAL (0x00000000u)
#define CSL_ATA_BMIDTP_RESETVAL (0x00000000u)
/* BMICS */
#define CSL_ATA_BMICS_DMADIR_MASK (0x00000008u)
#define CSL_ATA_BMICS_DMADIR_SHIFT (0x00000003u)
#define CSL_ATA_BMICS_DMADIR_RESETVAL (0x00000001u)
#define CSL_ATA_BMICS_DMADIR_DMAREAD (0x00000000u)
#define CSL_ATA_BMICS_DMADIR_DMAWRITE (0x00000001u)
#define CSL_ATA_BMICS_DMASTART_MASK (0x00000001u)
#define CSL_ATA_BMICS_DMASTART_SHIFT (0x00000000u)
#define CSL_ATA_BMICS_DMASTART_RESETVAL (0x00000000u)
#define CSL_ATA_BMICS_DMASTART_START (0x00000001u)
#define CSL_ATA_BMICS_DMASTART_STOP (0x00000000u)
#define CSL_ATA_BMICS_RESETVAL (0x00000008u)
/* BMISS */
#define CSL_ATA_BMISS_SIMPLEX_MASK (0x00000080u)
#define CSL_ATA_BMISS_SIMPLEX_SHIFT (0x00000007u)
#define CSL_ATA_BMISS_SIMPLEX_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_SIMPLEX_DUAL (0x00000000u)
#define CSL_ATA_BMISS_SIMPLEX_SINGLE (0x00000001u)
#define CSL_ATA_BMISS_DMAEN1_MASK (0x00000040u)
#define CSL_ATA_BMISS_DMAEN1_SHIFT (0x00000006u)
#define CSL_ATA_BMISS_DMAEN1_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_DMAEN1_DISABLE (0x00000000u)
#define CSL_ATA_BMISS_DMAEN1_ENABLE (0x00000001u)
#define CSL_ATA_BMISS_DMAEN0_MASK (0x00000020u)
#define CSL_ATA_BMISS_DMAEN0_SHIFT (0x00000005u)
#define CSL_ATA_BMISS_DMAEN0_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_DMAEN0_DISABLE (0x00000000u)
#define CSL_ATA_BMISS_DMAEN0_ENABLE (0x00000001u)
#define CSL_ATA_BMISS_IORDYINT_MASK (0x00000008u)
#define CSL_ATA_BMISS_IORDYINT_SHIFT (0x00000003u)
#define CSL_ATA_BMISS_IORDYINT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_IORDYINT_ENABLED (0x00000001u)
#define CSL_ATA_BMISS_IORDYINT_CLEAR (0x00000001u)
#define CSL_ATA_BMISS_INTRSTAT_MASK (0x00000004u)
#define CSL_ATA_BMISS_INTRSTAT_SHIFT (0x00000002u)
#define CSL_ATA_BMISS_INTRSTAT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_INTRSTAT_CLEAR (0x00000001u)
#define CSL_ATA_BMISS_INTRSTAT_ACTIVE (0x00000001u)
#define CSL_ATA_BMISS_DMAERROR_MASK (0x00000002u)
#define CSL_ATA_BMISS_DMAERROR_SHIFT (0x00000001u)
#define CSL_ATA_BMISS_DMAERROR_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_DMAERROR_CLEAR (0x00000001u)
#define CSL_ATA_BMISS_DMAERROR_ACTIVE (0x00000001u)
#define CSL_ATA_BMISS_IDEACT_MASK (0x00000001u)
#define CSL_ATA_BMISS_IDEACT_SHIFT (0x00000000u)
#define CSL_ATA_BMISS_IDEACT_RESETVAL (0x00000000u)
#define CSL_ATA_BMISS_IDEACT_ACTIVE (0x00000001u)
#define CSL_ATA_BMISS_IDEACT_COMPLETE (0x00000000u)
#define CSL_ATA_BMISS_RESETVAL (0x00000000u)
/* BMIDTPS */
#define CSL_ATA_BMIDTPS_BMIDTP_MASK (0xFFFFFFFCu)
#define CSL_ATA_BMIDTPS_BMIDTP_SHIFT (0x00000002u)
#define CSL_ATA_BMIDTPS_BMIDTP_RESETVAL (0x00000000u)
#define CSL_ATA_BMIDTPS_RESETVAL (0x00000000u)
/* IDETIMP */
#define CSL_ATA_IDETIMP_IDEEN_MASK (0x00008000u)
#define CSL_ATA_IDETIMP_IDEEN_SHIFT (0x0000000Fu)
#define CSL_ATA_IDETIMP_IDEEN_RESETVAL (0x00000000u)
#define CSL_ATA_IDETIMP_IDEEN_DISABLE (0x00000000u)
#define CSL_ATA_IDETIMP_IDEEN_ENABLE (0x00000001u)
#define CSL_ATA_IDETIMP_SLVTIMEN_MASK (0x00004000u)
#define CSL_ATA_IDETIMP_SLVTIMEN_SHIFT (0x0000000Eu)
#define CSL_ATA_IDETIMP_SLVTIMEN_RESETVAL (0x00000000u)
#define CSL_ATA_IDETIMP_SLVTIMEN_DISABLE (0x00000000u)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?