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

📄 csl_gpiohal.h

📁 SEED DM642平台,jpeg_loopback为JPEG算法的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
/******************************************************************************\*      Copyright (C) 2000-2001 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_gpiohal.h* DATE CREATED.. 12/04/2000 * LAST MODIFIED. 06/17/2003   - Added support for 6712C*                06/09/2003   - Added support for 6711C*                10/02/2001   - GPIO1 implementation*                      *------------------------------------------------------------------------------* REGISTERS** GPENx    - GPIO Enable register* GPDIRx   - GPIO Direction register * GPVALx   - GPIO Value register * GPDHx   -  GPIO Delta High register * GPHMx    - GPIO High Mask register * GPDLx    - GPIO Delta Low register * GPLMx    - GPIO Low Mask register * GPGCx    - GPIO Global Control register * GPPOLx   - GPIO Interrupt Polarity register ** with x = {0,1} \******************************************************************************/#ifndef _CSL_GPIOHAL_H_#define _CSL_GPIOHAL_H_#include <csl_stdinchal.h>#include <csl_chip.h>#if (GPIO_SUPPORT)/******************************************************************************\*  MISC section \******************************************************************************/#define _GPIO_BASE_ADDR    0x01B00000u #define _GPIO_BASE_ADDR0   0x01B00000u#if (CHIP_DA610)#define _GPIO_BASE_ADDR1   0x01B04000u#endif/******************************************************************************\*  Module level register/field access macros\******************************************************************************/  /* -------------------------- */  /*  FIELD MAKE MACROS */  /* -------------------------- */  #define GPIO_FMK(REG,FIELD,x)\    _PER_FMK(GPIO,##REG,##FIELD,x)  #define GPIO_FMKS(REG,FIELD,SYM)\    _PER_FMKS(GPIO,##REG,##FIELD,##SYM)    /* ----------------------------------------- */  /*  RAW REGISTER/FIELD ACCESS MACROS */  /* ----------------------------------------- */  #define GPIO_ADDR(REG)\    _GPIO_##REG##_ADDR  #define GPIO_RGET(REG)\    _PER_RGET(_GPIO_##REG##_ADDR,GPIO,##REG)  #define GPIO_RSET(REG,x)\    _PER_RSET(_GPIO_##REG##_ADDR,GPIO,##REG,x)  #define GPIO_FGET(REG,FIELD)\    _GPIO_##REG##_FGET(##FIELD)  #define GPIO_FSET(REG,FIELD,x)\    _GPIO_##REG##_FSET(##FIELD,##x)  #define GPIO_FSETS(REG,FIELD,SYM)\    _GPIO_##REG##_FSETS(##FIELD,##SYM)    /* --------------------------------------------------- */  /*  ADDRESS BASED REGISTER/FIELD ACCESS MACROS */  /* --------------------------------------------------- */  #define GPIO_RGETA(addr,REG)\    _PER_RGET(addr,GPIO,##REG)  #define GPIO_RSETA(addr,REG,x)\    _PER_RSET(addr,GPIO,##REG,x)  #define GPIO_FGETA(addr,REG,FIELD)\    _PER_FGET(addr,GPIO,##REG,##FIELD)  #define GPIO_FSETA(addr,REG,FIELD,x)\    _PER_FSET(addr,GPIO,##REG,##FIELD,x)  #define GPIO_FSETSA(addr,REG,FIELD,SYM)\    _PER_FSETS(addr,GPIO,##REG,##FIELD,##SYM)  /* -------------------------------------------------- */  /*  HANDLE BASED REGISTER/FIELD ACCESS MACROS */  /* -------------------------------------------------- */  #define GPIO_ADDRH(h,REG)\    (Uint32)(&((h)->baseAddr[_GPIO_##REG##_OFFSET]))  #define GPIO_RGETH(h,REG)\    GPIO_RGETA(GPIO_ADDRH(h,##REG),##REG)  #define GPIO_RSETH(h,REG,x)\    GPIO_RSETA(GPIO_ADDRH(h,##REG),##REG,x)  #define GPIO_FGETH(h,REG,FIELD)\    GPIO_FGETA(GPIO_ADDRH(h,##REG),##REG,##FIELD)  #define GPIO_FSETH(h,REG,FIELD,x)\    GPIO_FSETA(GPIO_ADDRH(h,##REG),##REG,##FIELD,x)  #define GPIO_FSETSH(h,REG,FIELD,SYM)\    GPIO_FSETSA(GPIO_ADDRH(h,##REG),##REG,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P E N       |* |___________________|** GPEN  - GPIO Enable register** FIELDS (msb -> lsb)* (rw)  GPXEN  *\******************************************************************************/  #define _GPIO_GPEN_OFFSET              0  #define _GPIO_GPEN_ADDR                0x01B00000u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPEN_GPXEN_MASK          0x000000F4u#else  #define _GPIO_GPEN_GPXEN_MASK          0x0000FFFFu#endif  #define _GPIO_GPEN_GPXEN_SHIFT         0x00000000u#if (CHIP_6713 || CHIP_DA610 || CHIP_6711C || CHIP_6712C)  #define  GPIO_GPEN_GPXEN_DEFAULT       0x000000F0u#else  #define  GPIO_GPEN_GPXEN_DEFAULT       0x000000F9u#endif  #define  GPIO_GPEN_GPXEN_OF(x)         _VALUEOF(x)  #define  GPIO_GPEN_OF(x)               _VALUEOF(x)  #define GPIO_GPEN_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPEN,GPXEN)\  )  #define GPIO_GPEN_RMK(gpxen) (Uint32)( \     _PER_FMK(GPIO,GPEN,GPXEN,gpxen)\  )  #define _GPIO_GPEN_FGET(FIELD)\    _PER_FGET(_GPIO_GPEN_ADDR,GPIO,GPEN,##FIELD)  #define _GPIO_GPEN_FSET(FIELD,field)\    _PER_FSET(_GPIO_GPEN_ADDR,GPIO,GPEN,##FIELD,field)  #define _GPIO_GPEN_FSETS(FIELD,SYM)\    _PER_FSETS(_GPIO_GPEN_ADDR,GPIO,GPEN,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P D I R     |* |___________________|** GPDIR  - GPIO Direction register** FIELDS (msb -> lsb)* (rw)  GPXDIR  *\******************************************************************************/  #define _GPIO_GPDIR_OFFSET               1  #define _GPIO_GPDIR_ADDR                 0x01B00004u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPDIR_GPXDIR_MASK          0x000000F4u#else  #define _GPIO_GPDIR_GPXDIR_MASK          0x0000FFFFu#endif    #define _GPIO_GPDIR_GPXDIR_SHIFT         0x00000000u  #define  GPIO_GPDIR_GPXDIR_DEFAULT       0x00000000u  #define  GPIO_GPDIR_GPXDIR_OF(x)         _VALUEOF(x)  #define  GPIO_GPDIR_OF(x)               _VALUEOF(x)  #define GPIO_GPDIR_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPDIR,GPXDIR)\  )  #define GPIO_GPDIR_RMK(gpxdir) (Uint32)( \     _PER_FMK(GPIO,GPDIR,GPXDIR,gpxdir)\  )  #define _GPIO_GPDIR_FGET(FIELD)\    _PER_FGET(_GPIO_GPDIR_ADDR,GPIO,GPDIR,##FIELD)  #define _GPIO_GPDIR_FSET(FIELD,field)\    _PER_FSET(_GPIO_GPDIR_ADDR,GPIO,GPDIR,##FIELD,field)  #define _GPIO_GPDIR_FSETS(FIELD,SYM)\    _PER_FSETS(_GPIO_GPDIR_ADDR,GPIO,GPDIR,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P V A L     |* |___________________|** GPVAL  - GPIO Value register** FIELDS (msb -> lsb)* (rw)  GPXVAL  *\******************************************************************************/  #define _GPIO_GPVAL_OFFSET               2  #define _GPIO_GPVAL_ADDR                 0x01B00008u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPVAL_GPXVAL_MASK          0x000000F4u#else  #define _GPIO_GPVAL_GPXVAL_MASK          0x0000FFFFu#endif  #define _GPIO_GPVAL_GPXVAL_SHIFT         0x00000000u  #define  GPIO_GPVAL_GPXVAL_DEFAULT       0x00000000u  #define  GPIO_GPVAL_GPXVAL_OF(x)         _VALUEOF(x)  #define  GPIO_GPVAL_OF(x)               _VALUEOF(x)  #define GPIO_GPVAL_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPVAL,GPXVAL)\  )  #define GPIO_GPVAL_RMK(gpxval) (Uint32)( \     _PER_FMK(GPIO,GPVAL,GPXVAL,gpxval)\  )  #define _GPIO_GPVAL_FGET(FIELD)\    _PER_FGET(_GPIO_GPVAL_ADDR,GPIO,GPVAL,##FIELD)  #define _GPIO_GPVAL_FSET(FIELD,field)\    _PER_FSET(_GPIO_GPVAL_ADDR,GPIO,GPVAL,##FIELD,field)  #define _GPIO_GPVAL_FSETS(FIELD,SYM)\    _PER_FSETS(_GPIO_GPVAL_ADDR,GPIO,GPVAL,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P D H       |* |___________________|** GPDH  - GPIO Delta High register** FIELDS (msb -> lsb)* (rw)  GPXDH  *\******************************************************************************/  #define _GPIO_GPDH_OFFSET              4  #define _GPIO_GPDH_ADDR                0x01B00010u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPDH_GPXDH_MASK          0x000000F4u#else  #define _GPIO_GPDH_GPXDH_MASK          0x0000FFFFu#endif  #define _GPIO_GPDH_GPXDH_SHIFT         0x00000000u  #define  GPIO_GPDH_GPXDH_DEFAULT       0x00000000u  #define  GPIO_GPDH_GPXDH_OF(x)         _VALUEOF(x)  #define  GPIO_GPDH_OF(x)               _VALUEOF(x)  #define GPIO_GPDH_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPDH,GPXDH)\  )  #define GPIO_GPDH_RMK(gpxdh) (Uint32)( \     _PER_FMK(GPIO,GPDH,GPXDH,gpxdh)\  )  #define _GPIO_GPDH_FGET(FIELD)\    _PER_FGET(_GPIO_GPDH_ADDR,GPIO,GPDH,##FIELD)  #define _GPIO_GPDH_FSET(FIELD,field)\    _PER_FSET(_GPIO_GPDH_ADDR,GPIO,GPDH,##FIELD,field)  #define _GPIO_GPDH_FSETS(FIELD,SYM)\    _PER_FSETS(_GPIO_GPDH_ADDR,GPIO,GPDH,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P H M       |* |___________________|** GPHM  - GPIO High Mask register** FIELDS (msb -> lsb)* (rw)  GPXHM  *\******************************************************************************/  #define _GPIO_GPHM_OFFSET              5  #define _GPIO_GPHM_ADDR              0x01B00014u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPHM_GPXHM_MASK          0x000000F4u#else  #define _GPIO_GPHM_GPXHM_MASK          0x0000FFFFu#endif  #define _GPIO_GPHM_GPXHM_SHIFT         0x00000000u  #define  GPIO_GPHM_GPXHM_DEFAULT       0x00000000u  #define  GPIO_GPHM_GPXHM_OF(x)         _VALUEOF(x)  #define  GPIO_GPHM_OF(x)               _VALUEOF(x)  #define GPIO_GPHM_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPHM,GPXHM)\  )  #define GPIO_GPHM_RMK(gpxhm) (Uint32)( \     _PER_FMK(GPIO,GPHM,GPXHM,gpxhm)\  )  #define _GPIO_GPHM_FGET(FIELD)\    _PER_FGET(_GPIO_GPHM_ADDR,GPIO,GPHM,##FIELD)  #define _GPIO_GPHM_FSET(FIELD,field)\    _PER_FSET(_GPIO_GPHM_ADDR,GPIO,GPHM,##FIELD,field)  #define _GPIO_GPHM_FSETS(FIELD,SYM)\    _PER_FSETS(_GPIO_GPHM_ADDR,GPIO,GPHM,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |     G P D L       |* |___________________|** GPDL  - GPIO Delta Low register** FIELDS (msb -> lsb)* (rw)  GPXDL  *\******************************************************************************/  #define _GPIO_GPDL_OFFSET              6  #define _GPIO_GPDL_ADDR                0x01B00018u#if (CHIP_6711C || CHIP_6712C)  #define _GPIO_GPDL_GPXDL_MASK          0x000000F4u#else  #define _GPIO_GPDL_GPXDL_MASK          0x0000FFFFu#endif  #define _GPIO_GPDL_GPXDL_SHIFT         0x00000000u  #define  GPIO_GPDL_GPXDL_DEFAULT       0x00000000u  #define  GPIO_GPDL_GPXDL_OF(x)         _VALUEOF(x)  #define  GPIO_GPDL_OF(x)               _VALUEOF(x)  #define GPIO_GPDL_DEFAULT (Uint32)( \     _PER_FDEFAULT(GPIO,GPDL,GPXDL)\  )  #define GPIO_GPDL_RMK(gpxdl) (Uint32)( \     _PER_FMK(GPIO,GPDL,GPXDL,gpxdl)\  )  #define _GPIO_GPDL_FGET(FIELD)\    _PER_FGET(_GPIO_GPDL_ADDR,GPIO,GPDL,##FIELD)

⌨️ 快捷键说明

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