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 + -
显示快捷键?