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

📄 csl_atlhal.h

📁 Ti C6416 上对FLASH操作得范例程序
💻 H
字号:
/******************************************************************************\
*           Copyright (C) 1999-2000 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... csl_atlhal.h
* DATE CREATED.. 07/01/2003 
* .............. 07/02/2003    first draft completed
* LAST MODIFIED.
*               
*------------------------------------------------------------------------------
* REGISTERS
*
* ATLPPMR    - ATL Parts Per Million Register 
* ATLSCNTR   - ATL Sample Count Register
* ATLCR      - ATL Control Register
*
\******************************************************************************/
#ifndef _CSL_ATLHAL_H_
#define _CSL_ATLHAL_H_

#include <csl_stdinc.h>
#include <csl_chip.h>
#if (ATL_SUPPORT)
/******************************************************************************\
* MISC section
\******************************************************************************/
  #define _ATL_BASE_PORT       0x01B7F000u
 

/******************************************************************************\
* module level register/field access macros
\******************************************************************************/

  /* ----------------- */
  /* FIELD MAKE MACROS */
  /* ----------------- */

  #define ATL_FMK(REG,FIELD,x)\
    _PER_FMK(ATL,##REG,##FIELD,x)

  #define ATL_FMKS(REG,FIELD,SYM)\
    _PER_FMKS(ATL,##REG,##FIELD,##SYM)


  /* -------------------------------- */
  /* RAW REGISTER/FIELD ACCESS MACROS */
  /* -------------------------------- */

  #define ATL_ADDR(REG)\
    _ATL_##REG##_ADDR

  #define ATL_RGET(REG)\
    _PER_RGET(_ATL_##REG##_ADDR,ATL,##REG)

  #define ATL_RSET(REG,x)\
    _PER_RSET(_ATL_##REG##_ADDR,ATL,##REG,x)

  #define ATL_FGET(REG,FIELD)\
    _ATL_##REG##_FGET(##FIELD)

  #define ATL_FSET(REG,FIELD,x)\
    _ATL_##REG##_FSET(##FIELD,##x)

  #define ATL_FSETS(REG,FIELD,SYM)\
    _ATL_##REG##_FSETS(##FIELD,##SYM)


  /* ------------------------------------------ */
  /* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */
  /* ------------------------------------------ */

  #define ATL_RGETA(addr,REG)\
    _PER_RGET(addr,ATL,##REG)

  #define ATL_RSETA(addr,REG,x)\
    _PER_RSET(addr,ATL,##REG,x)

  #define ATL_FGETA(addr,REG,FIELD)\
    _PER_FGET(addr,ATL,##REG,##FIELD)

  #define ATL_FSETA(addr,REG,FIELD,x)\
    _PER_FSET(addr,ATL,##REG,##FIELD,x)

  #define ATL_FSETSA(addr,REG,FIELD,SYM)\
    _PER_FSETS(addr,ATL,##REG,##FIELD,##SYM)

/******************************************************************************\
*  ___________________
* |                   |
* |  A T L P P M R    |
* |___________________|
*
* ATLPPMR    - ATL Parts Per Million register
*
* FIELDS (msb -> lsb)
* (rw) PPMSD
* (rw) PPMSET
*
\******************************************************************************/
  #define _ATL_ATLPPMR_OFFSET           0

  #define _ATL_ATLPPMR_ADDR            0x01B7F000

  #define _ATL_ATLPPMR_PPMSD_MASK          0x00008000u
  #define _ATL_ATLPPMR_PPMSD_SHIFT         0x0000000Fu
  #define  ATL_ATLPPMR_PPMSD_DEFAULT       0x00000000u
  #define  ATL_ATLPPMR_PPMSD_OF(x)         _VALUEOF(x)
  #define  ATL_ATLPPMR_PPMSD_SLOWDOWN      0x00000000u
  #define  ATL_ATLPPMR_PPMSD_SPEEDUP       0x00000001u

  #define _ATL_ATLPPMR_PPMSET_MASK          0x000001FFu
  #define _ATL_ATLPPMR_PPMSET_SHIFT         0x00000000u
  #define  ATL_ATLPPMR_PPMSET_DEFAULT       0x00000000u
  #define  ATL_ATLPPMR_PPMSET_OF(x)         _VALUEOF(x)

  #define  ATL_ATLPPMR_OF(x)             _VALUEOF(x)

  #define ATL_ATLPPMR_DEFAULT (Uint32)(\
     _PER_FDEFAULT(ATL,ATLPPMR,PPMSD)\
    |_PER_FDEFAULT(ATL,ATLPPMR,PPMSET)\
  )

  #define ATL_ATLPPMR_RMK(ppmsd,ppmset) (Uint32)(\
     _PER_FMK(ATL,ATLPPMR,PPMSD,ppmsd)\
    |_PER_FMK(ATL,ATLPPMR,PPMSET,ppmset)\
  )
   
  #define _ATL_ATLPPMR_FGET(N,FIELD)\
    _PER_FGET(_ATL_ATLPPMR##N##_ADDR,ATL,ATLPPMR,##FIELD)

  #define _ATL_ATLPPMR_FSET(N,FIELD,field)\
    _PER_FSET(_ATL_ATLPPMR##N##_ADDR,ATL,ATLPPMR,##FIELD,field)

  #define _ATL_ATLPPMR_FSETS(N,FIELD,SYM)\
    _PER_FSETS(_ATL_ATLPPMR##N##_ADDR,ATL,ATLPPMR,##FIELD,##SYM)

/******************************************************************************\
*  ___________________
* |                   |
* |  A T L S C N T R  |
* |___________________|
*
* ATLSCNTR    - ATL Sample Count register
*
* FIELDS (msb -> lsb)
* (r) SCNT
*
\******************************************************************************/
  #define _ATL_ATLSCNTR_OFFSET           1

  #define _ATL_ATLSCNTR_ADDR            0x01B7F004

  #define _ATL_ATLSCNTR_SCNT_MASK          0x0000FFFFu
  #define _ATL_ATLSCNTR_SCNT_SHIFT         0x00000000u
  #define  ATL_ATLSCNTR_SCNT_DEFAULT       0x00000000u
  #define  ATL_ATLSCNTR_SCNT_OF(x)         _VALUEOF(x)

  #define  ATL_ATLSCNTR_OF(x)             _VALUEOF(x)

  #define ATL_ATLSCNTR_DEFAULT (Uint32)(\
     _PER_FDEFAULT(ATL,ATLSCNTR,SCNT)\
  )

  #define ATL_ATLSCNTR_RMK(scnt) (Uint32)(\
     _PER_FMK(ATL,ATLSCNTR,SCNT,scnt)\
  )
   
  #define _ATL_ATLSCNTR_FGET(N,FIELD)\
    _PER_FGET(_ATL_ATLSCNTR##N##_ADDR,ATL,ATLSCNTR,##FIELD)

/******************************************************************************\
*  _______________
* |               |
* |  A T L C R    |
* |_______________|
*
* ATLCR    - ATL Control register
*
* FIELDS (msb -> lsb)
* (rw) MUXCLKSEL
* (rw) MCDSEL
* (rw) ATLIDIV
*
\******************************************************************************/
  #define _ATL_ATLCR_OFFSET           2

  #define _ATL_ATLCR_ADDR            0x01B7F008

  #define _ATL_ATLCR_MUXCLKSEL_MASK          0x00000040u
  #define _ATL_ATLCR_MUXCLKSEL_SHIFT         0x00000006u
  #define  ATL_ATLCR_MUXCLKSEL_DEFAULT       0x00000000u
  #define  ATL_ATLCR_MUXCLKSEL_OF(x)         _VALUEOF(x)
  #define  ATL_ATLCR_MUXCLKSEL_ATLPCLK       0x00000000u
  #define  ATL_ATLCR_MUXCLKSEL_EATCLK        0x00000001u

  #define _ATL_ATLCR_MCDSEL_MASK             0x00000020u
  #define _ATL_ATLCR_MCDSEL_SHIFT            0x00000005u
  #define  ATL_ATLCR_MCDSEL_DEFAULT          0x00000000u
  #define  ATL_ATLCR_MCDSEL_OF(x)            _VALUEOF(x)
  #define  ATL_ATLCR_MCDSEL_BY2P16           0x00000000u
  #define  ATL_ATLCR_MCDSEL_BY2P14           0x00000001u

  #define _ATL_ATLCR_ATLIDIV_MASK            0x0000001Fu
  #define _ATL_ATLCR_ATLIDIV_SHIFT           0x00000000u
  #define  ATL_ATLCR_ATLIDIV_DEFAULT         0x00000018u
  #define  ATL_ATLCR_ATLIDIV_OF(x)           _VALUEOF(x)

  #define  ATL_ATLCR_OF(x)             _VALUEOF(x)

  #define ATL_ATLCR_DEFAULT (Uint32)(\
     _PER_FDEFAULT(ATL,ATLCR,MUXCLKSEL)\
    |_PER_FDEFAULT(ATL,ATLCR,MCDSEL)\
    |_PER_FDEFAULT(ATL,ATLCR,ATLIDIV)\
  )

  #define ATL_ATLCR_RMK(muxclksel,mcdsel,atlidiv) (Uint32)(\
     _PER_FMK(ATL,ATLCR,MUXCLKSEL,muxclksel)\
    |_PER_FMK(ATL,ATLCR,MCDCLK,mcdsel)\
    |_PER_FMK(ATL,ATLCR,ATLIDIV,atlidiv)\
  )
   
  #define _ATL_ATLCR_FGET(N,FIELD)\
    _PER_FGET(_ATL_ATLCR##N##_ADDR,ATL,ATLCR,##FIELD)

  #define _ATL_ATLCR_FSET(N,FIELD,field)\
    _PER_FSET(_ATL_ATLCR##N##_ADDR,ATL,ATLCR,##FIELD,field)

  #define _ATL_ATLCR_FSETS(N,FIELD,SYM)\
    _PER_FSETS(_ATL_ATLCR##N##_ADDR,ATL,ATLCR,##FIELD,##SYM)

#endif /* ATL_SUPPORT */
#endif /* _CSL_ATLHAL_H_ */
/******************************************************************************\
* End of csl_atlhal.h
\******************************************************************************/

⌨️ 快捷键说明

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