亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? csl_gpio.h

?? ccs下對dm6446的測試程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*  ============================================================================
 *   Copyright (c) Texas Instruments Inc 2002, 2003, 2004, 2005                 
 *                                                                              
 *   Use of this software is controlled by the terms and conditions found in the
 *   license agreement under which this software has been supplied.             
 *   ===========================================================================
 */ 

/** @mainpage GPIO CSL 3.x
 *
 * @section Introduction
 *
 * @subsection xxx Purpose and Scope
 * The purpose of this document is to identify a set of common CSL APIs for
 * the GPIO module across various devices. The CSL developer is expected to
 * refer to this document while designing APIs for these modules. Some of the
 * listed APIs may not be applicable to a given GPIO module. While other cases
 * this list of APIs may not be sufficient to cover all the features of a
 * particular GPIO Module.The CSL developer should use his discretion designing
 * new APIs or extending the existing ones to cover these.
 *
 * @subsection aaa Terms and Abbreviations
 *   -# CSL:  Chip Support Library
 *   -# API:  Application Programmer Interface
 *
 * @subsection References
 *    -# CSL-001-DES, CSL 3.x Design Specification DocumentVersion 1.02
 *
 */

/** \file  csl_gpio.h
    \brief GPIO functional layer API header file
    \internal
    PATH \\(CSLPATH)\\ipmodules\\gpio\\src    
    \date 11th June, 2004
    \author Pratheesh Gangadhar (pratheesh@ti.com)
*/

/* ============================================================================
 *  Revision History
 *  ===============
 *  22-Feb-2005 Nsr added control command CSL_GPIO_CMD_GET_BIT according to
 *                  TI issue PSG00000310.
 *  11-Oct-2004 Nsr removed the extern keyword before function declaration and
 *                 - Changed this file according to review.
 *  04-sep-2004 Nsr updated CSL_GpioObj and added CSL_GpioBaseAddress,
 *                  CSL_GpioParam, SL_GpioContext,  CSL_GpioConfig structures.
 *                 - Updated comments for H/W control cmd and status query
 *                   enums.
 *                 - Added prototypes for CSL_gpioGetBaseAdddress and
 *                   CSL_gpioHwSetupRaw.
 *                 - Changed prototypes of CSL_gpioInit, CSL_gpioOpen.
 *                 - Updated respective comments along with that of
 *                   CSL_gpioClose.
 *
 * ============================================================================
 */

#ifndef _CSL_GPIO_H_
#define _CSL_GPIO_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <soc.h>
#include <cslr.h>
#include <csl_error.h>
#include <csl_types.h>
#include <cslr_gpio.h>

/**
\defgroup CSL_GPIO_API GPIO
   \internal Based on <b>Imaging and Audio Group GPIO Detailed Design
                Specification Rev 1.00.w.02 </b>
*/
/**
\defgroup CSL_GPIO_DATASTRUCT Data Structures
\ingroup CSL_GPIO_API
*/
/**
\defgroup CSL_GPIO_DEFINE  Defines
\ingroup CSL_GPIO_API
*/
/**
\defgroup CSL_GPIO_ENUM  Enumerated Data Types
\ingroup CSL_GPIO_API
*/

/**
\defgroup CSL_GPIO_FUNCTION  Functions
\ingroup CSL_GPIO_API
*/

/** \defgroup CSL_GPIO_ERROR_DEFINE Error Code
*   \ingroup CSL_GPIO_DEFINE
*
*
* @{ */
#define CSL_EGPIO_INVPARAM CSL_EGPIO_FIRST
                       /**< Invalid argument */
/**
@} */

/*****************************************************************************\
          GPIO global typedef declarations
\*****************************************************************************/

/**
 *  \brief  Base-address of the Configuration registers of GPIO.
 */
typedef struct {
    /** Base-address of the configuration registers of the peripheral
     */
    CSL_GpioRegsOvly regs;
} CSL_GpioBaseAddress;

/**
 *  \brief GPIO specific parameters. Present implementation doesn't have
 *  any specific parameters.
 */
typedef struct {
    /** Bit mask to be used for module specific parameters.
     *  The below declaration is just a place-holder for future
     *  implementation.
     */
    CSL_BitMask16   flags;
} CSL_GpioParam;

/** \brief GPIO specific context information. Present implementation doesn't
 *  have any Context information.
 */
typedef struct {
    /** Context information of GPIO.
     *  The below declaration is just a place-holder for future
     *  implementation.
     */
    Uint16  contextInfo;
} CSL_GpioContext;

/** @brief Bank Registers for Config Structure
 */
typedef struct  {
    /** GPIO Direction 2i and 2i+1 Register */
    volatile Uint32 DIR;
    /** GPIO Output Data 2i and 2i+1 Register */
    volatile Uint32 OUT_DATA;
    /** GPIO Set Data 2i and 2i+1 Register */
    volatile Uint32 SET_DATA;
    /** GPIO Clear Data 2i and 2i+1 Register */
    volatile Uint32 CLR_DATA;
    /** GPIO Set Rising Edge Interrupt 2i and 2i+1 Register */
    volatile Uint32 SET_RIS_TRIG;
    /** GPIO Clear Rising Edge Interrupt 2i and 2i+1 Register */
    volatile Uint32 CLR_RIS_TRIG;
    /** GPIO Set Falling Edge Interrupt 2i and 2i+1 Register */
    volatile Uint32 SET_FAL_TRIG;
    /** GPIO Clear Falling Edge Interrupt 2i and 2i+1 Register */
    volatile Uint32 CLR_FAL_TRIG;
    /** GPIO Interrupt Status 2i and 2i+1 Register */
    volatile Uint32 INTSTAT;
} CSL_GpioCfgBankRegs;

/**
 * @brief Config structure of GPIO. This is used to configure GPIO
 * using CSL_HwSetupRaw function
 */
typedef struct  {
    /** GPIO Interrupt Per-Bank Enable Register */
    volatile Uint32 BINTEN;
    /** Configuration structure registers for GPIO bank registers */
    CSL_GpioCfgBankRegs BANK[5];
} CSL_GpioCfg;

/** @brief Default Values for GPIO Config structure */
#define CSL_GPIO_CONFIG_DEFAULTS {      \
    CSL_GPIO_BINTEN_RESETVAL ,          \
    {                                   \
        CSL_GPIO_DIR_RESETVAL,          \
        CSL_GPIO_OUT_DATA_RESETVAL,     \
        CSL_GPIO_SET_DATA_RESETVAL,     \
        CSL_GPIO_CLR_DATA_RESETVAL,     \
        CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
        CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
        CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
        CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
        CSL_GPIO_INTSTAT_RESETVAL       \
    }                                   \
}

/** @brief Default Values for MGPIO Config structure */
#define CSL_MGPIO_CONFIG_DEFAULTS {         \
    CSL_GPIO_BINTEN_RESETVAL ,              \
    {                                       \
        {                                   \
            CSL_GPIO_DIR_RESETVAL,          \
            CSL_GPIO_OUT_DATA_RESETVAL,     \
            CSL_GPIO_SET_DATA_RESETVAL,     \
            CSL_GPIO_CLR_DATA_RESETVAL,     \
            CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
            CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
            CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
            CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
            CSL_GPIO_INTSTAT_RESETVAL    }, \
                                            \
        {                                   \
            CSL_GPIO_DIR_RESETVAL,          \
            CSL_GPIO_OUT_DATA_RESETVAL,     \
            CSL_GPIO_SET_DATA_RESETVAL,     \
            CSL_GPIO_CLR_DATA_RESETVAL,     \
            CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
            CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
            CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
            CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
            CSL_GPIO_INTSTAT_RESETVAL    }, \
                                            \
        {                                   \
            CSL_GPIO_DIR_RESETVAL,          \
            CSL_GPIO_OUT_DATA_RESETVAL,     \
            CSL_GPIO_SET_DATA_RESETVAL,     \
            CSL_GPIO_CLR_DATA_RESETVAL,     \
            CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
            CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
            CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
            CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
            CSL_GPIO_INTSTAT_RESETVAL    }, \
                                            \
        {                                   \
            CSL_GPIO_DIR_RESETVAL,          \
            CSL_GPIO_OUT_DATA_RESETVAL,     \
            CSL_GPIO_SET_DATA_RESETVAL,     \
            CSL_GPIO_CLR_DATA_RESETVAL,     \
            CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
            CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
            CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
            CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
            CSL_GPIO_INTSTAT_RESETVAL    }, \
                                            \
        {                                   \
            CSL_GPIO_DIR_RESETVAL,          \
            CSL_GPIO_OUT_DATA_RESETVAL,     \
            CSL_GPIO_SET_DATA_RESETVAL,     \
            CSL_GPIO_CLR_DATA_RESETVAL,     \
            CSL_GPIO_SET_RIS_TRIG_RESETVAL, \
            CSL_GPIO_CLR_RIS_TRIG_RESETVAL, \
            CSL_GPIO_SET_FAL_TRIG_RESETVAL, \
            CSL_GPIO_CLR_FAL_TRIG_RESETVAL, \
            CSL_GPIO_INTSTAT_RESETVAL    }  \
    }                                       \
}

/**\defgroup CSL_GPIO_DIR_ENUM GPIO Pin Direction
*  \ingroup CSL_GPIO_ENUM
*
*
@{*/

/** \brief  Enums for configuring GPIO pin direction
*
*/
typedef enum {
    CSL_GPIO_DIR_OUTPUT,/**<<b>: Output pin</b>*/
    CSL_GPIO_DIR_INPUT  /**<<b>: Input pin</b>*/
} CSL_GpioDirection;

/**
@} */

/**\defgroup CSL_GPIO_EDGDET_ENUM GPIO Edge Detection
*  \ingroup CSL_GPIO_ENUM
*
*
@{*/

/** \brief  Enums for configuring GPIO pin edge detection
*
*/
typedef enum {
    CSL_GPIO_TRIG_CLEAR_EDGE,  /**<<b>: No edge detection </b>*/
    CSL_GPIO_TRIG_RISING_EDGE, /**<<b>: Rising edge detection </b>*/
    CSL_GPIO_TRIG_FALLING_EDGE,/**<<b>: Falling edge detection </b>*/
    CSL_GPIO_TRIG_DUAL_EDGE    /**<<b>: Dual edge detection </b>*/
} CSL_GpioTriggerType;
/**
@} */


/**\defgroup CSL_GPIO_CONTROLCMD_ENUM  Control Commands
*  \ingroup CSL_GPIO_CONTROL_API
@{*/
/** \brief Enumeration for control commands passed to \a CSL_gpioHwControl()
*
* This is the set of commands that are passed to the \a CSL_gpioHwControl()
* with an optional argument type-casted to \a void* .
* The arguments to be passed with each enumeration (if any) are specified
* next to the enumeration
*/
typedef enum {
    /**
     * @brief Enables interrupt on specified bank
     * @param ( CSL_GpioBankNum )
     */
    CSL_GPIO_CMD_BANK_INT_ENABLE       = 1,

    /**
     * @brief Disables interrupt on specified bank
     * @param ( CSL_GpioBankNum )
     */
    CSL_GPIO_CMD_BANK_INT_DISABLE      = 2,

    /**
     * @brief Configures GPIO pin direction and edge detection properties
     * @param ( CSL_GpioConfig )
     */
    CSL_GPIO_CMD_CONFIG_BIT            = 3,

    /**
     * @brief Changes output state of GPIO pin to logic-1
     * @param ( CSL_GpioPinNum )
     */
    CSL_GPIO_CMD_SET_BIT               = 4,

    /**
     * @brief Changes output state of GPIO pin to logic-0
     * @param ( CSL_GpioPinNum )
     */
    CSL_GPIO_CMD_CLEAR_BIT             = 5,

    /**
     * @brief Gets the interrupt status of individual pins on
     *        banks 2*i and 2*i+1.
     *        The "data" field act as output parameter reporting
     *        the interrupt status of the GPIO pins on the banks.
     * @param ( CSL_GpioBankData )
     */
    CSL_GPIO_CMD_GET_INTSTATUS         = 6,

    /**
     * @brief Gets the state of input pins on banks 2*i and 2*i+1
     *        The "data" field act as output parameter reporting
     *        the input state of the GPIO pins on the banks.
     * @param ( CSL_GpioBankData )
     */
    CSL_GPIO_CMD_GET_INPUTBIT          = 7,

    /**
     * @brief Gets the state of output pins on banks 2*i and 2*i+1.
     *        The "data" field act as output parameter reporting the
     *        output drive state of the GPIO pins on the banks
     * @param ( CSL_GpioBankData )
     */
     CSL_GPIO_CMD_GET_OUTDRVSTATE      = 8,

     /**
     * @brief Gets the state of input pin on banks 2*i and 2*i+1
     * @param ( CSL_GpiopPinNum )
     */
     CSL_GPIO_CMD_GET_BIT              = 9

} CSL_GpioHwControlCmd;
/**
@} */


/**\defgroup CSL_GPIO_QUERYCMD_ENUM Query Commands
*  \ingroup CSL_GPIO_QUERY_API
* @{ */

/** \brief Enumeration for queries passed to \a CSL_GpioGetHwStatus()
*
* This is used to get the status of different operations.The arguments
* to be passed with each enumeration if any are specified next to
* the enumeration */
typedef enum {

    /**
     * @brief Queries GPIO peripheral id
     * @param ( Uint32* )
     */
    CSL_GPIO_QUERY_PID         = 1,

    /**
     * @brief Queries GPIO bank interrupt enable status
     * @param (CSL_BitMask32*)
     */
    CSL_GPIO_QUERY_BINTEN_STAT = 2
} CSL_GpioHwStatusQuery;
/**
@} */


/**
\addtogroup CSL_GPIO_DATASTRUCT
@{
*/

/** \brief Input parameters for configuring a GPIO pin
 *  This is used to configure the direction and edge detection
 */
typedef struct {
    CSL_GpioPinNum pinNum; /**< Pin number for GPIO bank */
    CSL_GpioDirection direction; /**< Direction for GPIO Pin */
    CSL_GpioTriggerType trigger; /**< GPIO pin edge detection */
} CSL_GpioConfig;

/**
@} */

/**
\addtogroup CSL_GPIO_DATASTRUCT
@{
*/

/**
   \brief Generic argument to get the pin information on banks 2*index and
          2*index+1
*
*  Used in CSL_gpioHwControl, designed this way to reduce the number of
*  register reads by a higher layer function
*/
typedef struct {
    Uint32         index; /**< bank select*/
    CSL_BitMask32  data;/**< desired information on the pins*/
} CSL_GpioBankData;
/**
@} */

/**
\addtogroup CSL_GPIO_DATASTRUCT
@{
*/

/**
   \brief Input parameters for setting up GPIO during startup
*
*  This is just a placeholder as GPIO is a simple module, which doesn't
*  require any setup
*/
typedef struct {
    /** The extendSetup is just a place-holder for future
     *  implementation.
     */
    void *extendSetup;
} CSL_GpioHwSetup;
/**
@} */

/**
\addtogroup CSL_GPIO_DATASTRUCT
@{
*/

/** \brief This object contains the reference to the instance of GPIO
*          opened using the @a CSL_gpioOpen()
*
* The pointer to this is passed to all GPIO CSL APIs
* This structure has the fields required to configure GPIO for any test
* case/application. It should be initialized as per requirements of a
* test case/application and passed on to the setup function
*/
typedef struct CSL_GpioObj {
    CSL_GpioRegsOvly regs;/**< This is a pointer to the registers of the

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠一区二区三区果冻| 午夜免费欧美电影| 精品免费99久久| 欧美妇女性影城| 日韩三级视频在线看| 日韩亚洲欧美中文三级| 日韩精品在线看片z| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美一区在线视频| 3d动漫精品啪啪1区2区免费| 91精品欧美综合在线观看最新 | 亚洲精品老司机| 亚洲高清视频的网址| 日韩av中文字幕一区二区三区| 午夜精品一区二区三区免费视频 | 国产在线精品一区二区不卡了| 久久超碰97人人做人人爱| 极品少妇xxxx精品少妇| www.欧美精品一二区| 欧美在线观看视频一区二区三区| 欧美妇女性影城| 国产午夜精品久久久久久久| 一区二区三区在线观看视频| 午夜精品福利一区二区蜜股av| 国产乱理伦片在线观看夜一区| 成人av电影在线观看| 欧美日韩一区二区三区视频| 精品久久久久一区二区国产| 国产精品成人一区二区艾草 | 国产毛片精品国产一区二区三区| 成人av先锋影音| 日韩欧美亚洲一区二区| 国产精品女主播av| 日韩高清电影一区| 91性感美女视频| 精品女同一区二区| 亚洲一区精品在线| 成人小视频在线观看| 在线播放视频一区| **性色生活片久久毛片| 麻豆高清免费国产一区| 欧洲一区二区三区在线| 久久日韩粉嫩一区二区三区| 五月天丁香久久| 波多野结衣亚洲一区| 欧美一区二区三级| 玉足女爽爽91| 不卡一卡二卡三乱码免费网站| 欧美一区二区国产| 亚洲最大成人综合| 成人影视亚洲图片在线| 91精品久久久久久久99蜜桃| 亚洲美女偷拍久久| 成人天堂资源www在线| 欧美成va人片在线观看| 亚洲成人精品一区二区| 91丨porny丨最新| 国产精品久久毛片| 丁香婷婷综合激情五月色| 欧美tk—视频vk| 日本中文字幕一区| 69堂成人精品免费视频| 亚洲国产精品自拍| 欧美主播一区二区三区| 综合久久久久久| 成人开心网精品视频| 国产日韩欧美激情| 国产一区二三区| 精品久久久网站| 经典三级视频一区| 久久久不卡影院| 成人免费看片app下载| 国产喂奶挤奶一区二区三区| 国产一区二区免费在线| 久久久五月婷婷| 国产麻豆精品theporn| 久久久精品国产免大香伊| 国产乱子伦一区二区三区国色天香| 日韩欧美激情一区| 国产在线精品不卡| 国产日产亚洲精品系列| 国产成人免费在线观看不卡| 久久久久9999亚洲精品| 成人禁用看黄a在线| 日韩伦理av电影| 欧美网站大全在线观看| 午夜成人在线视频| 精品99999| 国产成人无遮挡在线视频| 国产精品毛片久久久久久久| 色综合久久久久综合体| 五月婷婷综合在线| 日韩精品一区二区三区视频在线观看| 国产一区美女在线| 亚洲另类中文字| 91精品国产综合久久蜜臀| 国产乱子伦视频一区二区三区| 国产精品久久久久久久久图文区| 色呦呦日韩精品| 午夜精品一区在线观看| 久久色中文字幕| 色综合久久综合网97色综合| 婷婷夜色潮精品综合在线| 亚洲精品一线二线三线| 91在线观看视频| 美美哒免费高清在线观看视频一区二区 | 欧美一级在线视频| 粉嫩久久99精品久久久久久夜| 亚洲视频在线一区二区| 欧美一级理论片| bt欧美亚洲午夜电影天堂| 天堂久久一区二区三区| 国产女人18毛片水真多成人如厕 | 日产国产高清一区二区三区 | 欧美电影在哪看比较好| 寂寞少妇一区二区三区| 亚洲午夜久久久久久久久电影网 | 亚洲国产精品人人做人人爽| 日韩欧美国产综合在线一区二区三区| 成人一区在线看| 美国av一区二区| 亚洲尤物视频在线| 国产精品欧美一区喷水| 日韩欧美专区在线| 欧美女孩性生活视频| 91欧美一区二区| 国产精品资源在线| 精品写真视频在线观看| 综合久久综合久久| 国产色91在线| 中文在线一区二区| 国产一区二区看久久| 精品乱码亚洲一区二区不卡| 91精品欧美福利在线观看| 精品国产成人系列| 国产精品亲子伦对白| 亚洲综合在线电影| 无码av中文一区二区三区桃花岛| 免费在线成人网| 大美女一区二区三区| 色综合视频在线观看| 777亚洲妇女| 久久精品亚洲一区二区三区浴池 | 日韩福利视频导航| 国产精品一级黄| 91久久香蕉国产日韩欧美9色| 91精品欧美福利在线观看| 国产欧美日韩综合精品一区二区| 亚洲人成亚洲人成在线观看图片 | 亚洲色图欧洲色图婷婷| 亚洲va在线va天堂| 国产成人免费视频一区| 在线精品视频免费播放| 精品国产精品网麻豆系列| 国产精品网站在线| 日韩福利视频导航| 91视视频在线观看入口直接观看www | 亚洲三级在线免费观看| 日本女人一区二区三区| av日韩在线网站| 精品美女一区二区| 亚洲国产精品久久人人爱| 国产精品1区2区| 8x8x8国产精品| 亚洲免费观看高清| 国产一区二区三区综合| 色菇凉天天综合网| 久久久青草青青国产亚洲免观| 亚洲成人动漫一区| www.日本不卡| 精品日韩欧美一区二区| 亚洲成av人片一区二区梦乃| 99精品1区2区| 国产三级欧美三级日产三级99| 日本成人中文字幕| 欧美丝袜丝交足nylons图片| 国产精品嫩草99a| 韩国v欧美v日本v亚洲v| 制服丝袜av成人在线看| 亚洲精品乱码久久久久久日本蜜臀| 久久黄色级2电影| 欧美日韩免费在线视频| 亚洲人成网站精品片在线观看| 国产精品一区一区三区| 欧美大白屁股肥臀xxxxxx| 亚洲小说欧美激情另类| 91九色最新地址| 亚洲欧美国产77777| 不卡视频在线观看| 亚洲欧洲精品一区二区三区不卡| 国产成人免费视频一区| 久久久久久一级片| 国产一区二区三区av电影| 欧美大肚乱孕交hd孕妇| 久久超碰97中文字幕| 精品国产精品一区二区夜夜嗨| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美精品18+| 青青草97国产精品免费观看无弹窗版 | 国产福利视频一区二区三区|