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

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

?? sif.h

?? umon bootloader source code, support mips cpu.
?? H
字號:
/*
*************************************************************************************
*                       Copyright (c) 2005 vBridge Microsystem, Inc.  
*                             Unpublished & Not for Publication
*                                   All Rights Reserved                   
*   
* File        :                      
*                                                                         
* Description :    
*             
* Date        : Aug 11, 2005                                                           
*************************************************************************************
*/



#include "risc.h"



/*
*********************************************************************************************************
*                              Miscellaneous
*********************************************************************************************************
*/
/* modes of the serial interface */

/*
0 - BOOT mode. In BOOT mode the control registers are set by boot strap.
1 - CBUS mode. In CBUS mode, data access is through CBUS. Control registers are set through CBUS. 
               BOOT mode is a special case of CBUS mode 
               where the RUN bit is automatically set by accessing the SIF_DAT register. 
2 - DBUS mode. Data access is through DBUS via the specified stream. 
               Control registers are set through CBUS.
*/
#define  SIF_BOOT_MODE    0x0      
#define  SIF_CBUS_MODE    0x1
#define  SIF_DBUS_MODE    0x2

/* Chip selection control */
#define  SIF_CS_n0        0x0
#define  SIF_CS_n1        0x1
#define  SIF_CS_n2        0x2
#define  SIF_CS_n3        0x3
#define  SIF_CS_n4        0x4
#define  SIF_CS_n5        0x5
#define  SIF_CS_n6        0x6
#define  SIF_CS_n7        0x7 

/* 
The control word is the first that shifts out on the serial interface 
0 – no control word
1 – control word is 8 bit wide
2 – control word is 16 bit wide
*/
#define  SIF_CTL_SEL_NONE    0x0
#define  SIF_CTL_SEL_8BIT    0x1
#define  SIF_CTL_SEL_16BIT   0x2

/*
The address word is the second that shifts out on the serial interface
0 – No address word
1 – address is 1 byte wide
2 – address is 2 byte wide
3 – address is 3 byte wide
*/
#define  SIF_ADD_SEL_NONE    0x0
#define  SIF_ADD_SEL_1BYTE   0x1
#define  SIF_ADD_SEL_2BYTE   0x2
#define  SIF_ADD_SEL_3BYTE   0x3

/* operation mode: write or read */
#define  SIF_WRITE        0x1   
#define  SIF_READ         0x0


/* serial interface timing */
#define  SIF_SI_TIMING_RISING     1    // Sample serial input at rising edge of SPI_CLK
#define  SIF_SI_TIMING_FALLING    0    // Sample serial input at falling edge of SPI_CLK

#define  SIF_SO_TIMING_RISING    0x1   // serial output is off rising edge of SPI_CLK 
#define  SIF_SO_TIMING_FALLING   0x0   // serial output is off falling edge of SPI_CLK

#define  SIF_CLK_POL_IDLE1       0x1   // 1 - SPI_CLK IDLE level is at 1 
#define  SIF_CLK_POL_IDLE0       0x0   // 0 - SPI_CLK IDLE level is at 0

#define  SIF_CS_WIDTH_OFF_NONE   0x0   // 00 - CS does not turn off between data
#define  SIF_CS_WIDTH_OFF_1BYTE  0x1   // 01 - CS turns off between every 1 byte */
#define  SIF_CS_WIDTH_OFF_2BYTE  0x2   // 10 - CS turns off between every 2 byte */
#define  SIF_CS_WIDTH_OFF_4BYTE  0x3   // 11 - CS turns off between every 4 byte */

/* It specifies the setup and hold timing of CS vs SPI_CLK */
#define  SIF_CS_DLY_NONE         0x0   // 0 - no delay
#define  SIF_CS_DLY_1CLK         0x1   // 1 - 1 SPI_CLK
#define  SIF_CS_DLY_2CLK         0x2   // 2 - 2 SPI_CLK
#define  SIF_CS_DLY_4CLK         0x3   // 3 - 4 SPI_CLK

/* It specifies the off cycles of CS vs SPI_CLK */
#define  SIF_CS_OFF_1CLK         0x0   // 0 - 1 SPI_CLK
#define  SIF_CS_OFF_2CLK         0x1   // 1 - 2 SPI_CLK
#define  SIF_CS_OFF_4CLK         0x2   // 2 - 4 SPI_CLK
#define  SIF_CS_OFF_8CLK         0x3   // 3 - 8 SPI_CLK

/* It specifies the number of dummy bytes insterted between the address and the data on the serial line */
#define  SIF_GAP_NONE            0x0   // 0 - no GAP
#define  SIF_GAP_1BYTE           0x1   // 1 - 1 byte of gap
#define  SIF_GAP_2BYTE           0x2   // 2 - 2 byte of gap
#define  SIF_GAP_3BYTE           0x3   // 3 - 3 byte of gap
#define  SIF_GAP_4BYTE           0x4   // 4 - 4 byte of gap
#define  SIF_GAP_5BYTE           0x5   // 5 - 5 byte of gap
#define  SIF_GAP_6BYTE           0x6   // 6 - 6 byte of gap
#define  SIF_GAP_7BYTE           0x7   // 7 - 7 byte of gap


/* It specifies the extra dummy bit insterted between the GAP and the data on the serial line */                               
#define  SIF_BGAP_NONE           0x0   // 0 - no BGAP
#define  SIF_BGAP_1BIT           0x1   // 1 - 1 bit of gap


#define  SifIntrEn()      rSIF_STAT |= BIT_SIF_INTR_EN
#define  SifIntrDis()     rSIF_STAT &= (~BIT_SIF_INTR_EN)

#define  SifIntrClr()     rSIF_STAT |= BIT_SIF_INTR

#define  SifBusyRead()            rSIF_MODE & 0x80000000
#define  SifDataRead()            rSIF_DAT

#define  SifStart()               rSIF_MODE |= BIT_SIF_RUN
#define  SifAddrSet(addr)         rSIF_ADDR = addr
#define  SifCommandSet(command)   rSIF_CTL = command
#define  SifDataWrite(data)       rSIF_DAT = data

/*
*********************************************************************************************************
*                          SIF register definitions
*********************************************************************************************************
*/
#define  SIF_BASE_ADDR    BLOCK_BASE_ADDR(SIF_BLOCK)

#define  rSIF_MODE      (*(volatile unsigned *)(SIF_BASE_ADDR + 0x0))     /* Serial interface mode register */
#define  rSIF_CTL       (*(volatile unsigned *)(SIF_BASE_ADDR + 0x4))     /* Serial interface control data register */
#define  rSIF_ADDR      (*(volatile unsigned *)(SIF_BASE_ADDR + 0x8))     /* Serial interface address data register */
#define  rSIF_DAT       (*(volatile unsigned *)(SIF_BASE_ADDR + 0xC))     /* Serial interface data register */
#define  rSIF_STAT      (*(volatile unsigned *)(SIF_BASE_ADDR + 0x10))    /* Serial interface status register */
#define  rSIF_TIMING    (*(volatile unsigned *)(SIF_BASE_ADDR + 0x14))    /* Serial interface timing register */

/*
*********************************************************************************************************
*                          SIF register bit definitions
*********************************************************************************************************
*/
// rSIF_MODE bit definitions
#define  BIT_SIF_RUN          (0x1<<31)

// rSIF_STAT bit definitions
#define  BIT_SIF_INTR_EN      (0x1<<31)
#define  BIT_SIF_INTR         (0x1<<30)
#define  BIT_SIF_FULL_EMPTY   (0x1<<29)
 
/*
*********************************************************************************************************
*                              FUCTION PROTYPES
*********************************************************************************************************
*/
void SifModeRegSet(int mode, int cs_sel, int ctl_sel, int add_sel, int op, int sID, int blen);
void SifModeSet(int op);
void SifChipSel(unsigned int cs);
void SifOpModeSet(int op);
void SifStreamIDSet(int sID);
void SifBlenSet(int blen);
void SifTimingRegSet(int si_timing, int so_timing, int clk_pol, int cs_width,\
                    int cs_dly, int cs_off, int gap, int bgap, int clk_div);



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区免费大片| 成人午夜在线免费| 91伊人久久大香线蕉| 久久一留热品黄| 五月天丁香久久| 91精品国产综合久久久久久漫画| 樱花草国产18久久久久| 91麻豆国产福利精品| 成人欧美一区二区三区黑人麻豆| 成人av高清在线| 国产精品欧美经典| av网站免费线看精品| 国产视频一区在线观看| 国产福利一区在线观看| 久久精品亚洲一区二区三区浴池| 国产一区二区视频在线播放| 久久久久9999亚洲精品| 成人在线视频首页| 中文字幕一区二区三区不卡在线| 国产一区二区三区在线观看免费视频 | 欧美老年两性高潮| 午夜视频一区在线观看| 欧美伦理电影网| 蜜桃视频在线一区| 精品久久久三级丝袜| 韩国精品久久久| 久久精品亚洲乱码伦伦中文| 成人精品免费看| 亚洲精品国产视频| 欧美日韩中文国产| 蜜臀av性久久久久蜜臀av麻豆 | 亚洲一区二区三区中文字幕| 成人精品免费网站| 亚洲一区在线视频观看| 欧美一区二区三区人| 国产宾馆实践打屁股91| 一区二区三区四区激情| 欧美老年两性高潮| 国模套图日韩精品一区二区| 中文字幕一区二区三区av| 欧美色区777第一页| 精一区二区三区| 日本一区二区电影| 精品视频一区二区不卡| 国产精品一区二区三区乱码 | 懂色av中文一区二区三区| 亚洲欧美日韩成人高清在线一区| 在线播放欧美女士性生活| 国产suv精品一区二区883| 一区二区三区av电影| 日韩精品最新网址| 色综合久久88色综合天天6| 久久久噜噜噜久久中文字幕色伊伊| 99久久久精品| 国产91丝袜在线观看| 国产自产视频一区二区三区 | 麻豆成人免费电影| 亚洲一区二区免费视频| 中文字幕一区二区三区色视频| 欧美精品一区二区高清在线观看| 欧美日韩国产综合草草| 色菇凉天天综合网| 97精品久久久午夜一区二区三区 | 国产精品亚洲专一区二区三区| 偷拍日韩校园综合在线| 亚洲最大成人网4388xx| 中文字幕一区av| 国产精品电影一区二区三区| 久久久久97国产精华液好用吗| 精品剧情在线观看| 日韩免费观看高清完整版在线观看| 欧美日韩成人一区二区| 欧美日韩免费电影| 欧美性受xxxx黑人xyx| 欧美在线观看一区二区| 91精品办公室少妇高潮对白| 色综合天天天天做夜夜夜夜做| 成人av午夜电影| 99国产精品久久久久久久久久久| av男人天堂一区| 日本乱人伦aⅴ精品| 色婷婷亚洲精品| 欧美性猛交xxxx乱大交退制版| 一本到一区二区三区| 在线看国产日韩| 欧美精品精品一区| 日韩欧美视频在线| 久久久激情视频| 国产精品超碰97尤物18| 综合久久久久久| 亚洲成av人片在线观看无码| 日韩不卡手机在线v区| 韩国成人在线视频| 国产**成人网毛片九色| 91天堂素人约啪| 欧美亚洲综合网| 91精品国产日韩91久久久久久| 日韩一区和二区| 欧美激情一区二区三区在线| 亚洲女同女同女同女同女同69| 亚洲综合一二区| 日韩av高清在线观看| 国产真实乱偷精品视频免| 成人永久看片免费视频天堂| 日本韩国一区二区三区视频| 在线不卡中文字幕| 久久影院视频免费| 亚洲人成在线播放网站岛国| 亚洲妇熟xx妇色黄| 国内久久婷婷综合| 97久久超碰精品国产| 欧美久久久久久久久久| 精品国产一区二区三区忘忧草| 国产精品久久毛片a| 亚洲成人精品一区| 国产精品中文字幕欧美| 91亚洲男人天堂| 精品少妇一区二区三区在线播放 | 蜜臀久久久99精品久久久久久| 国产成人av电影在线观看| 91久久精品一区二区三| 日韩欧美国产午夜精品| 亚洲三级在线播放| 秋霞成人午夜伦在线观看| 99riav一区二区三区| 日韩视频国产视频| 亚洲精品视频在线| 国产一二三精品| 欧美亚洲一区三区| 欧美激情在线观看视频免费| 亚洲成人久久影院| 成人h精品动漫一区二区三区| 欧美一区二区三区思思人| 亚洲天堂中文字幕| 久久精品国产久精国产| 一本到不卡精品视频在线观看| 日韩一区二区三区在线视频| 日韩毛片精品高清免费| 国内精品不卡在线| 欧美日韩国产美| 亚洲欧美乱综合| 国产成人超碰人人澡人人澡| 欧美精品日韩精品| 亚洲黄一区二区三区| 国产成人午夜电影网| 日韩欧美在线不卡| 亚洲成在线观看| 欧美在线不卡一区| 国产精品黄色在线观看| 激情久久久久久久久久久久久久久久| 日本韩国一区二区三区视频| 国产精品福利影院| 国产91在线观看丝袜| 欧美xfplay| 麻豆国产一区二区| 欧美日本一区二区| 香蕉av福利精品导航| 色婷婷综合五月| 亚洲欧美日韩国产另类专区| 成人一区在线看| 欧美—级在线免费片| 韩国欧美国产1区| 欧美成人官网二区| 日本免费新一区视频| 欧美日韩精品系列| 亚洲国产日韩精品| 欧美三区在线观看| 天天射综合影视| 制服丝袜亚洲色图| 日本不卡一区二区| 日韩欧美一级二级三级| 蜜桃一区二区三区在线| 日韩欧美久久一区| 国内不卡的二区三区中文字幕| 精品国产乱码久久久久久牛牛 | 欧美熟乱第一页| 亚洲亚洲精品在线观看| 欧美日韩精品一区二区三区四区| 亚洲午夜激情网页| 欧美精选一区二区| 麻豆国产欧美一区二区三区| 久久婷婷久久一区二区三区| 狠狠色丁香久久婷婷综合_中| 久久这里只精品最新地址| 国产成人高清视频| 亚洲人成精品久久久久久| 在线视频中文字幕一区二区| 亚洲五码中文字幕| 日韩欧美一区二区不卡| 国产精品888| 亚洲伦理在线精品| 欧美日韩精品二区第二页| 免费观看在线色综合| 欧美国产在线观看| 91精品办公室少妇高潮对白| 日韩国产高清在线| 久久精品亚洲精品国产欧美| 91麻豆高清视频| 美女网站一区二区| 国产精品色一区二区三区|