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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? csl_spi.h

?? 基于ti tms320c672x下音頻開發(fā)例子程式
?? H
?? 第 1 頁 / 共 3 頁
字號:
    /** data 1/2 cycle before clock */
    CSL_SPI_PHASE_OUT  =  CSL_SPI_SPIFMT_PHASE_OUT
} CSL_SpiClkPhase;


/** @brief enumeration to control direction of the word during transfer */
typedef enum {
    /** transfer MSB first */
    CSL_SPI_SHDIR_MSBFIRST  =  CSL_SPI_SPIFMT_SHIFTDIR_MSBFIRST,
    /** transfer LSB first */
    CSL_SPI_SHDIR_LSBFIRST  =  CSL_SPI_SPIFMT_SHIFTDIR_LSBFIRST
} CSL_SpiShDir;


/** @brief enumeration to control the protocol of Spi */
typedef enum {
    /** use the multi-buffer mode */
    CSL_SPI_PROTOCOL_MULTIBUFFER  =  CSL_SPI_MIBSPIE_MIBSPIENA_YES,
    /** use the compatibility mode */
    CSL_SPI_PROTOCOL_COMPATIBLE   =  CSL_SPI_MIBSPIE_MIBSPIENA_NO
} CSL_SpiProtocol;


/** @brief enumeration tocontrol the operating mode of Spi */
typedef enum {
    /** operate as master */
    CSL_SPI_OPMOD_MASTER  =  ((CSL_SPI_SPIGCR1_CLKMOD_INTERNAL << 1) |
                                 CSL_SPI_SPIGCR1_MASTER_YES),
    /** operate as slave */
    CSL_SPI_OPMOD_SLAVE   =  ((CSL_SPI_SPIGCR1_CLKMOD_EXTERNAL << 1) |
                                 CSL_SPI_SPIGCR1_MASTER_NO)
} CSL_SpiOpMod;


/** @brief enumeration to control the SPIENA status whe inactive */
typedef enum {
    /** force SPIENA signal high-z when inactive */
    CSL_SPI_ENAHIZ_YES  =  CSL_SPI_SPIINT0_ENABLEHIGHZ_ENABLE,
    /** keep SPIENA signal a value when inactive */
    CSL_SPI_ENAHIZ_NO   =  CSL_SPI_SPIINT0_ENABLEHIGHZ_DISABLE
} CSL_SpiEnaHiZ;


typedef enum {
    /* operate on functionality register */
    CSL_SPI_GPIOTYPE_FUNC      =  0,
    /* operate on direction register */
    CSL_SPI_GPIOTYPE_DIR       =  1,
    /* operate on pull control register */
    CSL_SPI_GPIOTYPE_PULLCTRL  =  2,
    /* operate on open drain register */
    CSL_SPI_GPIOTYPE_OPNDRAIN  =  3
} CSL_SpiGpioType;


/** @brief enumeration for Spi power modes */
typedef enum {
    /** Spi is in active state */
    CSL_SPI_PWRSTAT_ACTIVE  =  CSL_SPI_SPIGCR1_P0WERDOWN_ACTIVE,
    /** Spi is powered down */
    CSL_SPI_PWRSTAT_DOWN    =  CSL_SPI_SPIGCR1_P0WERDOWN_PWRDN
} CSL_SpiPwrStat;


/** @brief enumeartion for Spi serial communication pins */
typedef enum {
    /** SOMI pin */
    CSL_SPI_PINTYPE_SOMI  =  CSL_FMKT(SPI_SPIPC0_SOMIFUN, SPI),
    /** SIMO pin */
    CSL_SPI_PINTYPE_SIMO  =  CSL_FMKT(SPI_SPIPC0_SIMOFUN, SPI),
    /** CLK pin */
    CSL_SPI_PINTYPE_CLK   =  CSL_FMKT(SPI_SPIPC0_CLKFUN, SPI),
    /** ENA pin */
    CSL_SPI_PINTYPE_ENA   =  CSL_FMKT(SPI_SPIPC0_ENABLEFUN, SPI),
    /** SCS7 pin */
    CSL_SPI_PINTYPE_SCS7  =  CSL_FMKT(SPI_SPIPC0_SCSFUN7, SPI),
    /** SCS6 pin */
    CSL_SPI_PINTYPE_SCS6  =  CSL_FMKT(SPI_SPIPC0_SCSFUN6, SPI),
    /** SCS5 pin */
    CSL_SPI_PINTYPE_SCS5  =  CSL_FMKT(SPI_SPIPC0_SCSFUN5, SPI),
    /** SCS4 pin */
    CSL_SPI_PINTYPE_SCS4  =  CSL_FMKT(SPI_SPIPC0_SCSFUN4, SPI),
    /** SCS3 pin */
    CSL_SPI_PINTYPE_SCS3  =  CSL_FMKT(SPI_SPIPC0_SCSFUN3, SPI),
    /** SCS2 pin */
    CSL_SPI_PINTYPE_SCS2  =  CSL_FMKT(SPI_SPIPC0_SCSFUN2, SPI),
    /** SCS1 pin */
    CSL_SPI_PINTYPE_SCS1  =  CSL_FMKT(SPI_SPIPC0_SCSFUN1, SPI),
    /** SCS0 pin */
    CSL_SPI_PINTYPE_SCS0  =  CSL_FMKT(SPI_SPIPC0_SCSFUN0, SPI)
} CSL_SpiPinType;


/** @brief enumeration to control DMA enabling in compatibility mode */
typedef enum {
    /** enable dma servicing in compatibility mode */
    CSL_SPI_CPTDMA_ENABLE   =  CSL_SPI_SPIINT0_DMAREQEN_ENABLE,
    /** disable dma servicing in compatibility mode */
    CSL_SPI_CPTDMA_DISABLE  =  CSL_SPI_SPIINT0_DMAREQEN_DISABLE
} CSL_SpiCptDma;


/** @brief enumeration to control reset of transfer mechnism of Spi */
typedef enum {
    /** enable spi to begin transfers */
    CSL_SPI_XFEREN_DISABLE  =  CSL_SPI_SPIGCR1_SPIEN_INRESET,
    /** hold spi transfer mechanism in reset */
    CSL_SPI_XFEREN_ENABLE   =  CSL_SPI_SPIGCR1_SPIEN_ACTIVE
} CSL_SpiXferEn;


/** @brief this object contains the reference to the instance of SPI
 * opened using the @a CSL_spiOpen()
 *
 * An object related to this structure is passed to all SPI CSL APIs
 * as the first argument */
typedef struct CSL_SpiObj {
    /** This is a pointer to the registers of the instance of SPI referred
      * to by this object */
    CSL_SpiRegsOvly  regs;
    /** This is the instance of SPI being referred to by this object */
    CSL_InstNum       perNum;
} CSL_SpiObj;


/** @brief This will have the base-address information for the peripheral
 *  instance
 */
typedef struct {
    /** Base-address of the Configuration registers of SPI.
     */
    CSL_SpiRegsOvly regs;
} CSL_SpiBaseAddress;

/** @brief SPI 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_SpiParam;

/** @brief SPI specific context information. Present implementation doesn't
 *  have any Context information.
 */

typedef struct {
    /** Context information of SPI.
     *  The below declaration is just a place-holder for future
     *  implementation.
     */
    Uint16  contextInfo;
} CSL_SpiContext;


typedef struct  {
    volatile Uint32 SPIGCR0;
    volatile Uint32 SPIGCR1;
    volatile Uint32 SPIINT0;
    volatile Uint32 SPILVL;
    volatile Uint32 SPIFLG;
    volatile Uint32 SPIPC0;
    volatile Uint32 SPIPC1;
    volatile Uint32 SPIPC2;
    volatile Uint32 SPIPC3;
    volatile Uint32 SPIPC4;
    volatile Uint32 SPIPC5;
    volatile Uint32 SPIPC6;
    volatile Uint32 SPIPC7;
    volatile Uint32 SPIPC8;
    volatile Uint32 SPIDAT0;
    volatile Uint32 SPIDAT1;
    volatile Uint32 SPIBUF;
    volatile Uint32 SPIEMU;
    volatile Uint32 SPIDELAY;
    volatile Uint32 SPIDEF;
    volatile Uint32 SPIFMT[4];
    volatile Uint32 TGINTVEC[2];
    volatile Uint8 RSVD0[8];
    volatile Uint32 MIBSPIE;
} CSL_SpiConfig;

/** Default Values for Config structure */
#define CSL_SPI_CONFIG_DEFAULTS {    \
        CSL_SPI_SPIGCR0_RESETVAL     \
        CSL_SPI_SPIGCR1_RESETVAL     \
        CSL_SPI_SPIINT0_RESETVAL     \
        CSL_SPI_SPILVL_RESETVAL      \
        CSL_SPI_SPIFLG_RESETVAL      \
        CSL_SPI_SPIPC0_RESETVAL      \
        CSL_SPI_SPIPC1_RESETVAL      \
        CSL_SPI_SPIPC2_RESETVAL      \
        CSL_SPI_SPIPC3_RESETVAL      \
        CSL_SPI_SPIPC4_RESETVAL      \
        CSL_SPI_SPIPC5_RESETVAL      \
        CSL_SPI_SPIPC6_RESETVAL      \
        CSL_SPI_SPIPC7_RESETVAL      \
        CSL_SPI_SPIPC8_RESETVAL      \
        CSL_SPI_SPIDAT0_RESETVAL     \
        CSL_SPI_SPIDAT1_RESETVAL     \
        CSL_SPI_SPIBUF_RESETVAL      \
        CSL_SPI_SPIEMU_RESETVAL      \
        CSL_SPI_SPIDELAY_RESETVAL    \
        CSL_SPI_SPIDEF_RESETVAL      \
        CSL_SPI_SPIFMT_RESETVAL      \
        CSL_SPI_TGINTVEC_RESETVAL    \
        CSL_SPI_MIBSPIE_RESETVAL     \
}

/** @brief a pointer to @a CSL_SpiObj; this is passed to all SPI CSL
 * APIs */
typedef struct CSL_SpiObj *CSL_SpiHandle;


/** @brief sets up the properties if the pins of Spi
 *
 * This object is used to setup or get the setup of the pins in Spi */
typedef struct CSL_SpiHwSetupPins {
    /** decides if the pins will be Spi or GPIO */
    Uint16  func;
    /** if GPIO, decides the directions of the pins */
    Uint16  dir;
    /** if configured as GPIO output, decides if the pull control is to
     * be turned on */
    Uint16  pullCtrl;
    /** if configured as GPIO output, decides the pull control is pull up 
     * or pull down */
    Uint16  pullSel;
    /** if configured as GPIO output, decides if the pin should output
     * logic 1 or tristate */
    Uint16  opnDrain;
} CSL_SpiHwSetupPins;


/** @brief sets up the format selection for a set of transfers
 *
 * This object is used to setup or get the setup of the format selection
 * for a set of transfers */
typedef struct CSL_SpiHwSetupFmtCtrl {
    /** decides if chip select is to be held active between transfers */
    CSL_SpiCsHold    csHold;
    /** decides if delay specified in the selected format must be allowed
     * between 2 consecutive transfers */
    CSL_SpiWDelayEn  wDel;
    /** decides which format to select */
    CSL_SpiFmtSel    fmtSel;
    /** defines the chip select that will be activated for the transfer */
    Uint8               cSel;
} CSL_SpiHwSetupFmtCtrl;


/** @brief sets up the Spi for compatibility mode
 *
 * This structure is used to setup or get the setup of Spi in comaptibility
 * mode */
typedef struct CSL_SpiHwSetupCpt {
    /** selects if interrupts should go to lines INT0 or INT1 */
    Uint32                    *lvl;
    /** selects the format & associated controls */
    CSL_SpiHwSetupFmtCtrl  *fmtCtrlPtr;
} CSL_SpiHwSetupCpt;


/** @brief sets up the a formatting for an outgoing word
 *
 * This object is used to set up or get the setup of the format registers in
 * Spi */
typedef struct CSL_SpiHwSetupPriFmt {
    /** delay between 2 consecutive words */
    Uint8             wDelay;
    /** the factor with which to multiply functional clock in order to get the
     * serial clock */
    Uint8             preScale;
    /** the length of the word to be transmitted and/or received */
    Uint8             charLen;
    /** if in master mode; whether Spi should wait for ENA from slave */
    CSL_SpiWaitEn  waitEna;
    /** whether parity should be enabled; if enabled then even or odd */
    CSL_SpiParity  parity;
    /** whether clock should be high or low when inactive */
    CSL_SpiClkPolarity  polarity;
    /** whether data should be in phase of 1/2 cycle ahead of the clock */
    CSL_SpiClkPhase   phase;
    /** whether LSB or MSB should be shifted first */
    CSL_SpiShDir   shiftDir;
} CSL_SpiHwSetupPriFmt;


/** @brief sets up the parameters to be setup in priority mode
 *
 * This object is used to setup or get the setup of the parameters to be setup
 * in priority mode */
typedef struct CSL_SpiHwSetupPri {
    /** array of pointers to structures of formats of an outgoing word */
    CSL_SpiHwSetupPriFmt  *fmt[4];
} CSL_SpiHwSetupPri;


/** @brief sets up the parameters that are needed by multi-buffer as well as
 * compatibility modes
 *
 * This objetc is used to set up or get the setup of parameters that are needed
 * by multi-buffer as well as compatibility modes */
typedef struct CSL_SpiHwSetupGen {
    /** whether to use Spi in compatibility mode or multi-buffer mode */
    CSL_SpiProtocol   protocol;
    /** master or slave mode */
    CSL_SpiOpMod      opMode;
    /** whether ENA signal should be tristated when inactive or if it should
     * bear a value */
    CSL_SpiEnaHiZ     enaHiZ;
    /** the default value on Chip select when inactive */
    Uint8                csDefault;
    /** Chip-select-active-to-transmit-start-delay */
    Uint8                c2tDelay;
    /** Transmit-end-to-chip-select-inactive-delay */
    Uint8                t2cDelay;
    /** Transmit-data-finished-to-ENA-pin-inactive-time-out */
    Uint8                t2eTmout;
    /** Chip-select-active-to-ENA-signal-active-time-out */
    Uint8                c2eTmout;
} CSL_SpiHwSetupGen;


/** @brief main structure that is used to setup the SPI
 *
 * This structure is used to setup or obtain the existing setup of SPI
 * using @a CSL_spiHwSetup() & @a CSL_spiGetHwStatus() functions
 * respectively. If a particular member pointer is null, then these functions
 * do not setup or get the setup of the corresponding part of SPI
 * respectively */
typedef struct CSL_SpiHwSetup {
    /** This pointer to @a CSL_SpiHwSetupCommon is used to hold
     * information on the common part of the SPI setup */
    CSL_SpiHwSetupGen   *genPtr;
    /** This pointer to @a CSL_SpiHwSetupFifo is used to hold information
     * on the data FIFO part of the SPI setup */
    CSL_SpiHwSetupPri   *priPtr;
    /** This pointer to @a CSL_SpiHwSetupSdio is used to hold information
     * on the SDIO part of the SPI setup */
    CSL_SpiHwSetupCpt   *cptPtr;
    /** This pointer to @a CSL_SpiHwSetupSdio is used to hold information
     * on the SPI part of the SPI setup */
    CSL_SpiHwSetupPins  *pinsPtr;
} CSL_SpiHwSetup;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产酒店精品激情| 亚洲色图欧美偷拍| 免费一区二区视频| 欧美一区二区在线看| 亚洲成人免费视频| 91精品国产综合久久久久久| 亚洲综合丁香婷婷六月香| 色悠悠久久综合| 亚洲精品欧美二区三区中文字幕| 国产成人综合亚洲91猫咪| 久久综合九色综合97婷婷| 久久精品国产久精国产| 久久这里只精品最新地址| 久久精品999| 中文字幕不卡的av| 色综合视频在线观看| 亚洲乱码精品一二三四区日韩在线| 日本乱码高清不卡字幕| 亚洲综合在线第一页| 日韩免费高清视频| 国产成人在线视频网站| 久久午夜色播影院免费高清 | 久久久久一区二区三区四区| 午夜国产精品一区| 99视频热这里只有精品免费| 欧美成人一级视频| 99久久99久久精品免费看蜜桃| 亚洲欧美中日韩| 色综合天天综合网国产成人综合天| 日韩伦理免费电影| 97se亚洲国产综合自在线| 亚洲三级久久久| 欧美日产在线观看| 国产一区二区三区黄视频| 亚洲国产精品传媒在线观看| 日本韩国视频一区二区| 图片区小说区区亚洲影院| 日韩精品中文字幕在线不卡尤物| 激情久久五月天| 精品久久国产老人久久综合| 老司机精品视频导航| 欧美色老头old∨ideo| 亚洲一区二区三区三| 99久久精品国产导航| 九九**精品视频免费播放| 国产精品午夜在线观看| 欧美在线观看禁18| 狠狠色狠狠色综合| 欧美激情中文字幕一区二区| 91激情五月电影| 精品一区二区三区久久| 国产精品对白交换视频| 欧美一区二区在线播放| 国产成人亚洲精品狼色在线| 亚洲免费三区一区二区| 日韩精品一区二区三区老鸭窝| 不卡的av在线| 婷婷夜色潮精品综合在线| 欧美激情一区在线观看| 欧美高清激情brazzers| 北岛玲一区二区三区四区| 亚洲va国产天堂va久久en| 国产欧美日韩精品在线| 91精品在线免费| 中文字幕精品三区| 在线一区二区三区做爰视频网站| 美女视频网站久久| 国产亚洲一区二区三区四区 | 亚洲二区视频在线| 精品入口麻豆88视频| 91黄色免费看| 国产91丝袜在线18| 天堂资源在线中文精品| 欧美极品少妇xxxxⅹ高跟鞋| 欧美无人高清视频在线观看| 粉嫩绯色av一区二区在线观看| 日韩精品每日更新| 亚洲综合一区二区| 亚洲老司机在线| 中文字幕成人av| 国产午夜精品久久久久久免费视| 欧美老女人在线| 91小视频在线| 成人一区二区在线观看| 国产在线精品视频| 国内精品视频666| 蓝色福利精品导航| 蜜桃视频在线观看一区二区| 亚洲午夜电影在线观看| 欧美激情一区二区三区全黄| 欧美一卡二卡三卡| 91一区二区三区在线播放| 美美哒免费高清在线观看视频一区二区| 亚洲欧美另类综合偷拍| 亚洲人成精品久久久久久| 国产精品午夜久久| 中文天堂在线一区| 国产精品视频在线看| 国产午夜精品一区二区三区嫩草 | 国产成人一区在线| 国产成人一区二区精品非洲| 日韩国产欧美在线观看| 亚洲成人综合在线| 日韩在线播放一区二区| 无吗不卡中文字幕| 亚洲成人自拍一区| 中文字幕视频一区| 亚洲欧洲在线观看av| 国产亚洲精品bt天堂精选| 精品999在线播放| 久久久久久电影| 中文字幕精品—区二区四季| 中文字幕中文乱码欧美一区二区 | 亚洲欧美激情插| 一区二区三区四区亚洲| 一二三区精品视频| 亚洲综合精品久久| 青青草国产精品97视觉盛宴| 青青青伊人色综合久久| 精品无人码麻豆乱码1区2区| 国产成人高清在线| 色婷婷av久久久久久久| 欧美精品亚洲二区| 欧美精品一区二区不卡| 26uuuu精品一区二区| 国产偷v国产偷v亚洲高清| 亚洲一区二区四区蜜桃| 美女国产一区二区三区| 国产.欧美.日韩| 在线视频综合导航| 欧美电视剧免费观看| 国产精品水嫩水嫩| xnxx国产精品| 尤物视频一区二区| 亚洲第一久久影院| 国产伦精品一区二区三区免费迷| av亚洲精华国产精华精华 | 色综合中文综合网| 91精品黄色片免费大全| 久久久精品一品道一区| 亚洲综合清纯丝袜自拍| 蜜臀91精品一区二区三区| 北条麻妃一区二区三区| 欧美久久久一区| 国产女同互慰高潮91漫画| 亚洲国产人成综合网站| 国产成人a级片| 欧美三区在线观看| 国产欧美日韩精品在线| 天天av天天翘天天综合网| 成人免费看的视频| 欧美一区二区性放荡片| 亚洲色欲色欲www在线观看| 麻豆91在线观看| 色婷婷国产精品综合在线观看| 欧美三日本三级三级在线播放| 欧美精品一区二区三区蜜臀| 久久综合给合久久狠狠狠97色69| 午夜激情综合网| 91原创在线视频| 国产亚洲一区二区三区| 日本麻豆一区二区三区视频| 色综合天天性综合| 久久精品亚洲国产奇米99| 日韩av中文字幕一区二区三区| 91丨九色丨黑人外教| 国产日韩av一区二区| 日韩国产在线观看| 欧美日韩免费一区二区三区| 最好看的中文字幕久久| 国产精品自拍在线| 欧美日韩一区二区在线观看视频| 欧美sm美女调教| 亚洲女人的天堂| 99精品视频在线播放观看| 中文字幕不卡三区| 91视频在线观看免费| 夜夜嗨av一区二区三区四季av| 91精品久久久久久久99蜜桃| 免费在线看一区| 久久嫩草精品久久久久| 免费在线观看一区二区三区| 偷窥少妇高潮呻吟av久久免费| 一本久久a久久免费精品不卡| 国产精品拍天天在线| 国产成人综合亚洲网站| 国产欧美综合在线观看第十页| 国产真实乱子伦精品视频| 精品对白一区国产伦| 麻豆精品一区二区av白丝在线| 欧美一区二区视频网站| 日本系列欧美系列| 日韩欧美成人一区| 久久精品国产秦先生| 日韩欧美国产成人一区二区| 亚洲第一二三四区| 欧美日韩国产区一| 日韩在线观看一区二区| 日韩三级高清在线| 九色porny丨国产精品|