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

📄 csl_xbushal.h

📁 Ti C6416 上对FLASH操作得范例程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************\
*           Copyright (C) 2000 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... csl_xbushal.h
* DATE CREATED.. 06/12/2000 
* LAST MODIFIED. 10/03/2000 
*------------------------------------------------------------------------------
* REGISTERS
*
* XBGC     - global control register
* XCECTL0  - space control register 0
* XCECTL1  - space control register 1
* XCECTL2  - space control register 2
* XCECTL3  - space control register 3
* XBHC     - host port interface control register
* XBIMA    - internal master address register
* XBEA     - external address register
*
\******************************************************************************/
#ifndef _CSL_XBUSHAL_H_
#define _CSL_XBUSHAL_H_

#include <csl_stdinc.h>
#include <csl_chip.h>


#if (XBUS_SUPPORT)
/******************************************************************************\
* MISC section
\******************************************************************************/
#define _XBUS_BASE_GLOBAL   0x01880000u


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

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

  #define XBUS_FMK(REG,FIELD,x)\
    _PER_FMK(XBUS,##REG,##FIELD,x)

  #define XBUS_FMKS(REG,FIELD,SYM)\
    _PER_FMKS(XBUS,##REG,##FIELD,##SYM)


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

  #define XBUS_ADDR(REG)\
    _XBUS_##REG##_ADDR

  #define XBUS_RGET(REG)\
    _PER_RGET(_XBUS_##REG##_ADDR,XBUS,##REG)

  #define XBUS_RSET(REG,x)\
    _PER_RSET(_XBUS_##REG##_ADDR,XBUS,##REG,x)

  #define XBUS_FGET(REG,FIELD)\
    _XBUS_##REG##_FGET(##FIELD)

  #define XBUS_FSET(REG,FIELD,x)\
    _XBUS_##REG##_FSET(##FIELD,##x)

  #define XBUS_FSETS(REG,FIELD,SYM)\
    _XBUS_##REG##_FSETS(##FIELD,##SYM)


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

  #define XBUS_RGETA(addr,REG)\
    _PER_RGET(addr,XBUS,##REG)

  #define XBUS_RSETA(addr,REG,x)\
    _PER_RSET(addr,XBUS,##REG,x)

  #define XBUS_FGETA(addr,REG,FIELD)\
    _PER_FGET(addr,XBUS,##REG,##FIELD)

  #define XBUS_FSETA(addr,REG,FIELD,x)\
    _PER_FSET(addr,XBUS,##REG,##FIELD,x)

  #define XBUS_FSETSA(addr,REG,FIELD,SYM)\
    _PER_FSETS(addr,XBUS,##REG,##FIELD,##SYM)


/******************************************************************************\
* _____________________
* |                   |
* |  X B G C          |
* |___________________|
*
* XBGC - global control register
*
* FIELDS (msb -> lsb)
* (r)  FMOD
* (rw) XFCEN
* (rw) XFRAT
* (r)  XARB
*
\******************************************************************************/
  #define _XBUS_XBGC_OFFSET                0
  
  #define _XBUS_XBGC_ADDR                  0x01880000u

  #define _XBUS_XBGC_FMOD_MASK             0x00008000u
  #define _XBUS_XBGC_FMOD_SHIFT            0x0000000Fu
  #define  XBUS_XBGC_FMOD_DEFAULT          0x00000000u
  #define  XBUS_XBGC_FMOD_OF(x)            _VALUEOF(x)
  #define  XBUS_XBGC_FMOD_GLUE             0x00000000u
  #define  XBUS_XBGC_FMOD_GLUELESS         0x00000001u

  #define _XBUS_XBGC_XFCEN_MASK            0x00004000u
  #define _XBUS_XBGC_XFCEN_SHIFT           0x0000000Eu
  #define  XBUS_XBGC_XFCEN_DEFAULT         0x00000000u
  #define  XBUS_XBGC_XFCEN_OF(x)           _VALUEOF(x)
  #define  XBUS_XBGC_XFCEN_DISABLE         0x00000000u
  #define  XBUS_XBGC_XFCEN_ENABLE          0x00000001u

  #define _XBUS_XBGC_XFRAT_MASK            0x00003000u
  #define _XBUS_XBGC_XFRAT_SHIFT           0x0000000Cu
  #define  XBUS_XBGC_XFRAT_DEFAULT         0x00000000u
  #define  XBUS_XBGC_XFRAT_OF(x)           _VALUEOF(x)
  #define  XBUS_XBGC_XFRAT_ONEEIGHTH       0x00000000u
  #define  XBUS_XBGC_XFRAT_ONESIXTH        0x00000001u
  #define  XBUS_XBGC_XFRAT_ONEFOURTH       0x00000002u
  #define  XBUS_XBGC_XFRAT_ONEHALF         0x00000003u

  #define _XBUS_XBGC_XARB_MASK             0x00000800u
  #define _XBUS_XBGC_XARB_SHIFT            0x0000000Bu
  #define  XBUS_XBGC_XARB_DEFAULT          0x00000000u
  #define  XBUS_XBGC_XARB_OF(x)            _VALUEOF(x)
  #define  XBUS_XBGC_XARB_DISABLE          0x00000000u
  #define  XBUS_XBGC_XARB_ENABLE           0x00000001u

  #define  XBUS_XBGC_OF(x)                 _VALUEOF(x)

  #define XBUS_XBGC_DEFAULT (Uint32)( \
     _PER_FDEFAULT(XBUS,XBGC,FMOD) \
    |_PER_FDEFAULT(XBUS,XBGC,XFCEN) \
    |_PER_FDEFAULT(XBUS,XBGC,XFRAT) \
    |_PER_FDEFAULT(XBUS,XBGC,XARB) \
  )

  #define XBUS_XBGC_RMK(xfcen,xfrat) (Uint32)( \
     _PER_FMK(XBUS,XBGC,XFCEN,xfcen) \
    |_PER_FMK(XBUS,XBGC,XFRAT,xfrat) \
  )

  #define _XBUS_XBGC_FGET(FIELD)\
    _PER_FGET(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD)

  #define _XBUS_XBGC_FSET(FIELD,field)\
    _PER_FSET(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD,field)

  #define _XBUS_XBGC_FSETS(FIELD,SYM)\
    _PER_FSETS(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD,##SYM)


/******************************************************************************\
* _____________________
* |                   |
* |  X C E C T L      |
* |___________________|
*
* XCECTL0  - XCE space control register 0
* XCECTL1  - XCE space control register 1
* XCECTL2  - XCE space control register 2
* XCECTL3  - XCE space control register 3
*
* FIELDS (msb -> lsb)
* (rw) WRSETUP
* (rw) WRSTROBE
* (rw) WRHOLD
* (rw) RDSETUP
* (rw) RDSTROBE
* (rw) MTYPE
* (rw) RDHOLD
*
\******************************************************************************/
  #define _XBUS_XCECTL0_OFFSET             2
  #define _XBUS_XCECTL1_OFFSET             1
  #define _XBUS_XCECTL2_OFFSET             4
  #define _XBUS_XCECTL3_OFFSET             5

  #define _XBUS_XCECTL0_ADDR               0x01880008u
  #define _XBUS_XCECTL1_ADDR               0x01880004u
  #define _XBUS_XCECTL2_ADDR               0x01880010u
  #define _XBUS_XCECTL3_ADDR               0x01880014u

  #define _XBUS_XCECTL_WRSETUP_MASK        0xF0000000u
  #define _XBUS_XCECTL_WRSETUP_SHIFT       0x0000001Cu
  #define  XBUS_XCECTL_WRSETUP_DEFAULT     0x0000000Fu
  #define  XBUS_XCECTL_WRSETUP_OF(x)       _VALUEOF(x)

  #define _XBUS_XCECTL_WRSTRB_MASK       0x0FC00000u
  #define _XBUS_XCECTL_WRSTRB_SHIFT      0x00000016u
  #define  XBUS_XCECTL_WRSTRB_DEFAULT    0x0000003Fu
  #define  XBUS_XCECTL_WRSTRB_OF(x)      _VALUEOF(x)

  #define _XBUS_XCECTL_WRHLD_MASK         0x00300000u
  #define _XBUS_XCECTL_WRHLD_SHIFT        0x00000014u
  #define  XBUS_XCECTL_WRHLD_DEFAULT      0x00000003u
  #define  XBUS_XCECTL_WRHLD_OF(x)        _VALUEOF(x)

  #define _XBUS_XCECTL_RDSETUP_MASK        0x000F0000u
  #define _XBUS_XCECTL_RDSETUP_SHIFT       0x00000010u
  #define  XBUS_XCECTL_RDSETUP_DEFAULT     0x0000000Fu
  #define  XBUS_XCECTL_RDSETUP_OF(x)       _VALUEOF(x)

  #define _XBUS_XCECTL_RDSTRB_MASK       0x00003F00u
  #define _XBUS_XCECTL_RDSTRB_SHIFT      0x00000008u
  #define  XBUS_XCECTL_RDSTRB_DEFAULT    0x0000003Fu
  #define  XBUS_XCECTL_RDSTRB_OF(x)      _VALUEOF(x)

  #define _XBUS_XCECTL_MTYPE_MASK          0x00000070u

⌨️ 快捷键说明

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