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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ether_cs8900.c~

?? 針對(duì)德州儀器DM270開(kāi)發(fā)板的bootloader,其實(shí)現(xiàn)了內(nèi)核的下載以及文件系統(tǒng)的下載
?? C~
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* * File: cs8900.c * * This is an implementation of a ether.h interface. This implementation * supplies an ethernet driver particular to the CS8900 series ethernet chip * set. This h/w dependent implemenation exposes the h/w independent ether.h * interface. *  * Implemented with assitance from the Cirrus Logic CS8900A h/w data sheet. * * See Also *   ether.h * * Copyright (C) 2002 RidgeRun, Inc. * Author: RidgeRun, Inc  <skranz@ridgerun.com> * *  This program is free software; you can redistribute  it and/or modify it *  under  the terms of  the GNU General  Public License as published by the *  Free Software Foundation;  either version 2 of the  License, or (at your *  option) any later version. * *  THIS  SOFTWARE  IS  PROVIDED  ``AS  IS''  AND   ANY  EXPRESS  OR IMPLIED *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT,  INDIRECT, *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *  You should have received a copy of the  GNU General Public License along *  with this program; if not, write  to the Free Software Foundation, Inc., *  675 Mass Ave, Cambridge, MA 02139, USA. * * Please report all bugs/problems to the author or <support@dsplinux.net> * * key: RRGPLCR (do not remove) * */#include "memconfig.h"#include "types.h"#include "util.h"#include "ether.h"#include "net.h"#include "io.h"#define RECVPORT   0x0000 // Recive Data Port.#define XMITPORT   0x0000 // Transmit Data Port.#define TXCMDPORT  0x0004 // TxCMD (Transmit Command)#define TXLENPORT  0x0006 // TxLength (Transmit Length)#define INTSTATQUE 0x0008 // Interrupt Status Que.#define ADD_PORT   0x000A // PacketPage Pointer port.#define DATA_PORT  0x000C // PacketPage Data port./* EEPROM data and command registers */#define PP_EECMD 0x0040		/*  NVR Interface Command register */#define PP_EEData 0x0042	/*  NVR Interface Data Register */#define PP_DebugReg 0x0044	/*  Debug Register */#define PP_RxCFG 0x0102		/*  Rx Bus config */#define PP_RxCTL 0x0104		/*  Receive Control Register */#define PP_TxCFG 0x0106		/*  Transmit Config Register */#define PP_TxCMD 0x0108		/*  Transmit Command Register */#define PP_BufCFG 0x010A	/*  Bus configuration Register */#define PP_LineCTL 0x0112	/*  Line Config Register */#define PP_SelfCTL 0x0114	/*  Self Command Register */#define PP_BusCTL 0x0116	/*  ISA bus control Register */#define PP_TestCTL 0x0118	/*  Test Register */#define PP_AutoNegCTL 0x011C	/*  Auto Negotiation Ctrl */#define PP_ISQ 0x0120		/*  Interrupt Status */#define PP_RxEvent 0x0124	/*  Rx Event Register */#define PP_TxEvent 0x0128	/*  Tx Event Register */#define PP_BufEvent 0x012C	/*  Bus Event Register */#define PP_RxMiss 0x0130	/*  Receive Miss Count */#define PP_TxCol 0x0132		/*  Transmit Collision Count */#define PP_LineST 0x0134	/*  Line State Register */#define PP_SelfST 0x0136	/*  Self State register */#define PP_BusST 0x0138		/*  Bus Status */#define PP_TDR 0x013C		/*  Time Domain Reflectometry */#define PP_AutoNegST 0x013E	/*  Auto Neg Status */#define PP_TxCommand 0x0144	/*  Tx Command */#define PP_TxLength 0x0146	/*  Tx Length */#define PP_LAF 0x0150		/*  Hash Table */#define PP_IA 0x0158		/*  Physical Address Register */#define PP_RxStatus 0x0400	/*  Receive start of frame */#define PP_RxLength 0x0402	/*  Receive Length of frame */#define PP_RxFrame 0x0404	/*  Receive frame pointer */#define PP_TxFrame 0x0A00	/*  Transmit frame pointer */#define PP_ChipID    0x0000#define PRODUCT_ID_ADD 0x0002   /*  Address of product ID */#define PP_SelfST 0x0136	/*  Self State register */#define INTCNTRL   0x0022#define RECVCONF   0x0102#define RECVCNTRL  0x0104#define XMITCONF   0x0106#define BUFFCONF   0x010A#define LINECNTRL  0x0112#define SELFCNTRL  0x0114#define BUSCNTRL   0x0116#define RECVEVENT  0x0124 // register 4#define XMITEVENT  0x0128#define SELFSTATUS 0x0136#define BUSSTATUS  0x0138#define MACREG1    0x0158#define MACREG2    0x015A#define MACREG3    0x015C#define RXSTATUS   0x0400#define RXLENGTH   0x0402#define CHIP_EISA_ID_SIG	0x630E#ifdef BSPCONF_BTLDR_CS8900_DEBUGstatic unsigned short last_readreg_addr, last_readreg_data;#endif/****************************** Routine: Description: ******************************/static __inline__ void outw(unsigned short reg_offset, unsigned short val){  *((volatile unsigned short *)(BSPCONF_ETHERNET_BASE+reg_offset)) = val;}  /****************************** Routine: Description: ******************************/static __inline__ unsigned short inw(unsigned short reg_offset){  return *((volatile unsigned short *)(BSPCONF_ETHERNET_BASE+reg_offset));}/****************************** Routine: Description: ******************************/static void __inline__ outb(unsigned short reg_offset, unsigned char val){  *((volatile unsigned char *)(reg_offset+BSPCONF_ETHERNET_BASE)) = val;}  /****************************** Routine: Description: ******************************/static __inline__ unsigned char inb(unsigned short reg_offset){  return *((volatile unsigned char *)(reg_offset+BSPCONF_ETHERNET_BASE));}/****************************** Routine: Description: ******************************/static __inline__ void insw(unsigned short port, void* buf, unsigned int count){  register unsigned short* wbuf = (unsigned short*) buf;  while(count--)    *wbuf++  = inw(port);}/****************************** Routine: Description: ******************************/static __inline__ void outsw(unsigned short port, const void* buf, unsigned int count){  register const unsigned short* wbuf = (const unsigned short*) buf;  while(count--)    outw(port,*wbuf++);}/****************************** Routine: Description: ******************************/static void writereg(unsigned short reg_offset, unsigned short val){#ifdef BSPCONF_BTLDR_CS8900_DEBUG  util_printf("writereg: %x = %x \n", reg_offset, val);#endif  outw(ADD_PORT,reg_offset);//  barrier();  outw(DATA_PORT,val);}/****************************** Routine: Description: ******************************/#ifdef BSPCONF_BTLDR_CS8900_DEBUGunsigned short readreg_silent(unsigned short reg_offset){  outw(ADD_PORT,reg_offset);  return(inw(DATA_PORT));}#endif/****************************** Routine: Description: ******************************/unsigned short readreg(unsigned short reg_offset){ unsigned j;//#ifdef BSPCONF_BTLDR_CS8900_DEBUG//  unsigned short i;//  outw(ADD_PORT,reg_offset);//  i=inw(DATA_PORT);//  if ( ( last_readreg_addr != reg_offset ) ||//       ( last_readreg_data != i ) )//  {//    util_printf(" readreg: %x = %x \n", reg_offset, i);//    last_readreg_addr = reg_offset;//    last_readreg_data = i;//  }//  return(i);//#else  outw(ADD_PORT,reg_offset);//  io_delay(100);//  barrier();  j = inw(DATA_PORT);//  io_delay(500);  return(j);//#endif}/****************************** Routine: Description: ******************************/static void chip_online(void){  // Next, put the chip on-line with the wire.  writereg(LINECNTRL,0x0000);  writereg(INTCNTRL,0x0000);  writereg(BUFFCONF,0x3300);  writereg(BUSCNTRL,0x0000);    writereg(RECVCNTRL,0x0D00);  writereg(RECVCONF,0x1100);  writereg(LINECNTRL,0x00D3);}/****************************** Routine: Description: ******************************/#if 0static void chip_offline(void){  // Next, take the chip off-line from the wire.  writereg(LINECNTRL,0x0000);}#endif/****************************** Routine: Description: ******************************/static void chip_reset(void){

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu亚洲综合色| 成人在线综合网站| 亚洲国产一区二区三区| 亚洲精品乱码久久久久久久久| 亚洲国产岛国毛片在线| 国产精品女人毛片| 亚洲欧洲日韩一区二区三区| 国产精品乱码一区二三区小蝌蚪| 国产亚洲人成网站| 久久久久久久久免费| 久久久久国产精品厨房| 国产精品毛片高清在线完整版| 国产农村妇女毛片精品久久麻豆| 日本一区二区免费在线观看视频| 国产精品毛片无遮挡高清| 一区二区三区在线视频免费观看| 亚洲一区二区偷拍精品| 蜜桃av一区二区在线观看| 久久成人久久鬼色| 粉嫩一区二区三区性色av| 91免费看视频| 日韩一区二区电影在线| 国产人成一区二区三区影院| 亚洲天堂成人网| 日韩电影一区二区三区四区| 国产伦精一区二区三区| 色琪琪一区二区三区亚洲区| 91精品国产欧美一区二区| 国产欧美日本一区视频| 亚洲成人av资源| 国产精品1区二区.| 欧美性猛交xxxxxx富婆| 国产片一区二区| 天堂一区二区在线免费观看| 丰满亚洲少妇av| 7777精品伊人久久久大香线蕉 | 久久精品久久99精品久久| 国产剧情一区在线| 欧美人体做爰大胆视频| 国产午夜精品久久久久久免费视| 亚洲乱码中文字幕综合| 国产精品一卡二| 制服丝袜av成人在线看| 亚洲人精品一区| 国产精品影音先锋| 欧美一区二区三区电影| 亚洲最大色网站| 成人福利在线看| 精品剧情在线观看| 亚洲成人三级小说| 播五月开心婷婷综合| 日韩视频一区二区三区在线播放| 一区二区在线免费观看| 成人sese在线| 欧美极品少妇xxxxⅹ高跟鞋| 免费一区二区视频| 欧美日本在线播放| 亚洲乱码中文字幕| 不卡一区在线观看| 久久久五月婷婷| 老司机免费视频一区二区三区| 在线视频一区二区三区| 亚洲特黄一级片| 成人sese在线| 国产精品久久久99| 成人午夜av在线| 久久精品日产第一区二区三区高清版 | 久国产精品韩国三级视频| 欧美影视一区二区三区| 亚洲女同一区二区| av一区二区三区四区| 国产精品久久久久久久久免费桃花 | 亚洲人成人一区二区在线观看| 国产成人午夜精品5599 | 欧美性感一区二区三区| 一区二区三区在线视频播放 | 天堂在线一区二区| 日韩欧美国产综合| 韩国精品免费视频| 国产女主播视频一区二区| 丁香天五香天堂综合| 国产精品毛片大码女人| 日本韩国一区二区三区| 一区二区三区美女视频| 欧美久久免费观看| 乱一区二区av| 中文字幕国产一区| 色狠狠av一区二区三区| 日日夜夜一区二区| 亚洲精品一区二区三区香蕉| 高清不卡一区二区| 亚洲欧美色一区| 欧美一区二区视频在线观看| 韩日精品视频一区| 国产精品久久久久久久第一福利 | 久久免费看少妇高潮| 99久久精品免费精品国产| 一区二区三区日韩欧美精品| 欧美久久久久久久久久 | 中文字幕欧美国产| 97久久久精品综合88久久| 樱花草国产18久久久久| 日韩一区二区中文字幕| zzijzzij亚洲日本少妇熟睡| 亚洲mv大片欧洲mv大片精品| 精品第一国产综合精品aⅴ| 顶级嫩模精品视频在线看| 亚洲综合在线第一页| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产日韩影视精品| 欧美午夜寂寞影院| 国产91丝袜在线播放0| 亚洲成人激情综合网| 欧美激情一二三区| 制服丝袜亚洲网站| 色婷婷激情久久| 国产盗摄精品一区二区三区在线| 亚洲欧美另类在线| 久久嫩草精品久久久精品一| 欧美午夜精品免费| av在线播放一区二区三区| 久久99久久99| 天天综合网天天综合色| 亚洲精品国产一区二区精华液| 久久综合色综合88| 91精品视频网| 欧美三片在线视频观看| 成人激情免费电影网址| 精品一区二区在线免费观看| 亚洲一区在线观看免费观看电影高清| 国产色一区二区| 2021中文字幕一区亚洲| 日韩一区二区三区观看| 欧美乱熟臀69xxxxxx| 色婷婷激情久久| 99久久er热在这里只有精品15| 久久不见久久见中文字幕免费| 亚洲一二三四久久| 亚洲另类在线制服丝袜| 国产精品传媒在线| 亚洲国产精品成人综合色在线婷婷| 欧美一级欧美三级| 在线播放亚洲一区| 欧美日韩高清在线| 欧美系列日韩一区| 欧美色成人综合| 欧美日韩免费高清一区色橹橹| 成人app网站| 成人午夜看片网址| 成年人国产精品| jlzzjlzz欧美大全| 91在线国产福利| 91色porny蝌蚪| 在线视频综合导航| 欧美日韩一区二区在线观看| 欧美性xxxxx极品少妇| 欧美日韩中文国产| 欧美肥大bbwbbw高潮| 欧美福利视频导航| 日韩精品资源二区在线| 日韩欧美亚洲国产另类| 精品国精品国产| 久久精品人人爽人人爽| 国产精品电影院| 亚洲精品一二三区| 视频一区二区不卡| 国产精品一区在线观看你懂的| 国产精品亚洲一区二区三区妖精| 国产99久久久久久免费看农村| 北条麻妃国产九九精品视频| 91在线免费播放| 在线播放中文一区| 久久久久国产一区二区三区四区| 久久毛片高清国产| 日韩一区日韩二区| 日韩在线观看一区二区| 激情六月婷婷久久| 91免费观看国产| 91麻豆精品国产91久久久久久久久| 日韩欧美二区三区| 亚洲欧美一区二区三区极速播放| 亚洲大片精品永久免费| 精品一区二区三区久久久| 成人app在线观看| 欧美另类videos死尸| 亚洲国产高清在线观看视频| 亚洲成在人线免费| 国产精品亚洲第一| 色婷婷精品大在线视频| 精品区一区二区| 亚洲午夜精品网| 国产成人在线免费| 欧美日韩国产123区| 欧美韩日一区二区三区四区| 午夜精品久久久久影视| 成人动漫av在线| 精品国产乱码久久久久久老虎| 最新久久zyz资源站| 韩国欧美国产1区| 欧美亚洲国产bt|