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

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

?? ether_cs8900.c~

?? 針對德州儀器DM270開發板的bootloader,其實現了內核的下載以及文件系統的下載
?? C~
?? 第 1 頁 / 共 2 頁
字號:
/* * 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){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频图片小说| 亚洲欧美aⅴ...| 91国在线观看| 波多野结衣的一区二区三区| 亚洲精品美国一| 2019国产精品| 欧美精品高清视频| 91丨九色丨尤物| 国产一区二区三区不卡在线观看 | 久久精品噜噜噜成人88aⅴ| 亚洲欧美综合色| 欧美精品一区二区三区很污很色的 | 樱桃国产成人精品视频| 久久久午夜精品| 91精品国产福利在线观看| 91视频一区二区| 国产电影一区二区三区| 蜜桃一区二区三区在线| 五月天亚洲婷婷| 亚洲精品自拍动漫在线| 国产精品理论片| 国产午夜精品福利| wwwwxxxxx欧美| 欧美一级xxx| 538在线一区二区精品国产| 欧美中文字幕一二三区视频| 99久久伊人精品| 成人免费看黄yyy456| 国产91丝袜在线观看| 国产伦精品一区二区三区免费迷| 日韩影院在线观看| 日本中文字幕一区二区有限公司| 亚洲高清在线精品| 亚洲国产精品一区二区尤物区| 亚洲男女一区二区三区| 亚洲免费观看在线观看| 亚洲视频图片小说| 亚洲精品午夜久久久| 亚洲人妖av一区二区| 亚洲色欲色欲www在线观看| 综合中文字幕亚洲| 亚洲欧美乱综合| 亚洲一区二区三区爽爽爽爽爽 | 韩国女主播一区| 国产一区二区三区四| 国产精品自拍在线| 国产成人自拍网| 99免费精品视频| 色婷婷久久综合| 欧美久久婷婷综合色| 欧美一区二区三区啪啪| 欧美变态tickling挠脚心| 亚洲精品一区二区在线观看| 国产午夜久久久久| 成人欧美一区二区三区1314 | 国产高清不卡二三区| 国产专区欧美精品| 成人免费看片app下载| 99vv1com这只有精品| 欧美午夜精品一区二区蜜桃| 制服丝袜av成人在线看| 日韩欧美黄色影院| 国产嫩草影院久久久久| 最新不卡av在线| 日韩黄色一级片| 国产一区二区三区最好精华液| 成人网在线播放| 欧美色电影在线| 日韩免费高清视频| 亚洲欧洲日本在线| 午夜婷婷国产麻豆精品| 韩国理伦片一区二区三区在线播放| 成人黄色片在线观看| 欧美中文一区二区三区| 欧美不卡激情三级在线观看| 国产精品国产三级国产普通话蜜臀 | 久久综合九色综合97婷婷| 亚洲国产精品t66y| 亚洲大尺度视频在线观看| 久久疯狂做爰流白浆xx| 91女人视频在线观看| 欧美一区二区三区在| 国产精品久久久久久福利一牛影视| 亚洲福利电影网| 国产福利91精品一区二区三区| 91黄色在线观看| 国产无一区二区| 日韩—二三区免费观看av| 菠萝蜜视频在线观看一区| 69久久99精品久久久久婷婷| **欧美大码日韩| 精品亚洲国内自在自线福利| 欧美性一二三区| 国产欧美视频一区二区| 婷婷夜色潮精品综合在线| av电影天堂一区二区在线观看| 日韩一区二区免费电影| 亚洲精品欧美专区| 国产在线不卡视频| 666欧美在线视频| 一区二区三区中文在线| 国产成人精品免费一区二区| 777欧美精品| 亚洲精品视频在线观看网站| 国产成人av电影在线| 欧美一级日韩不卡播放免费| 亚洲精品国产第一综合99久久 | 亚洲va韩国va欧美va精品| 成人妖精视频yjsp地址| 日韩精品一区二区三区在线观看 | 看电影不卡的网站| 欧美日韩一区久久| 亚洲日本成人在线观看| 成人福利电影精品一区二区在线观看 | 视频在线在亚洲| 欧洲一区二区三区在线| 18涩涩午夜精品.www| 国产高清无密码一区二区三区| 日韩免费观看高清完整版在线观看| 亚洲午夜精品网| 欧洲中文字幕精品| 一区二区欧美精品| 一本到三区不卡视频| 中文字幕制服丝袜一区二区三区| 国产伦精品一区二区三区在线观看 | 不卡av在线免费观看| 国产欧美精品国产国产专区| 国内精品免费**视频| 日韩精品影音先锋| 精品一区二区在线观看| 精品入口麻豆88视频| 九九九久久久精品| 精品美女一区二区三区| 精品一区二区av| 国产午夜精品一区二区三区嫩草| 国产激情偷乱视频一区二区三区| 2欧美一区二区三区在线观看视频| 精品一区二区三区av| 精品黑人一区二区三区久久| 久久不见久久见免费视频7| 欧美电影免费观看高清完整版在线 | 欧美一区二区在线视频| 五月激情综合婷婷| 欧美一区二区三区在| 久久99精品久久久久久国产越南 | 免费成人你懂的| 精品国产乱码久久久久久浪潮| 麻豆传媒一区二区三区| 精品区一区二区| 国产一区视频在线看| 欧美国产乱子伦| 色噜噜夜夜夜综合网| 一区二区三区在线观看动漫| 精品视频一区三区九区| 免费看欧美女人艹b| 久久久久久久久99精品| 成人禁用看黄a在线| 一区二区三区四区视频精品免费| 欧美做爰猛烈大尺度电影无法无天| 亚洲线精品一区二区三区| 欧美一个色资源| 国产高清久久久| 一区二区在线观看免费视频播放 | 欧美日韩国产美| 国产真实乱子伦精品视频| 26uuu精品一区二区| 99久久精品免费看| 亚洲成a人v欧美综合天堂下载| 日韩女优电影在线观看| 高清视频一区二区| 一二三区精品视频| 日韩美女主播在线视频一区二区三区| 国产成人午夜高潮毛片| 亚洲男同1069视频| 欧美一级欧美三级| 99久久国产免费看| 日本三级亚洲精品| 国产婷婷色一区二区三区四区| 在线亚洲免费视频| 国产在线精品一区二区不卡了| 国产精品理论片在线观看| 337p亚洲精品色噜噜噜| 国产91丝袜在线18| 亚洲国产中文字幕| 久久美女艺术照精彩视频福利播放| 色婷婷av一区二区三区软件| 九九九精品视频| 一区二区三区免费观看| 精品欧美久久久| 欧美亚洲一区二区在线观看| 国产伦精品一区二区三区在线观看| 亚洲综合在线视频| 国产精品视频一二| 日韩一区二区中文字幕| 99久久婷婷国产| 国产一区二区三区免费看| 亚洲3atv精品一区二区三区| 国产人成亚洲第一网站在线播放| 欧美日韩成人综合天天影院| 不卡免费追剧大全电视剧网站|