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

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

?? motfcc2end.c

?? vxWorks MPC82xx系列CPU FCC網口驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* motFcc2End.c - Second Generation Motorola FCC Ethernet network interface.*/ /* Copyright 1989-2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01a,14jan03,gjc  SPR#85164 Second Generation Motorola FCC END Driver.*//*DESCRIPTIONThis module implements a Motorola Fast Communication Controller (FCC)Ethernet network interface driver. This is a second generation driver that isbased off motFccEnd.c. It differs from the original in initialization, performance, features and SPR fixes. The driver "load string" interface differs from its predecessor. A parameter, that contains a pointer to a predefined array of function pointers, was addedto the end of the load string. Adding this structure removed a layer of ambiguity between the driver and the BSP interface. Multiple global function pointers  were used previously to provide hooks for the BSP to DPRAM (dual port ram) allocation, mii, duplex mode, heart beat and disconnect functions. See the load string interface belowTrying to link a modified version of the previous driver results in link errors. This was due to the global funtion definitions in the driver.Performace of the driver was greately enhanced. A layer of unnecessary queuingwas removed. Time critical functions were re-written to be more fluid and efficent. The drivers work load is distributed between the interrupt and the net job queue. Only one net job add is alowed per interrupt. Multiple events pending are sent as one call as an add to the job queue. TXBDs are freed in the interrupt code. Buffers for the RXBD ring are replenished in the interrupt.Allocation of the Mblks and Cblks happens in the code executing on the job context.RFC 2233 and IPV6 support were added as features.SPRs, written against the original motFccEnd driver, are fixed.The FCC supports several communication protocols. This driver supports the FCC to operate in Ethernet mode which is fully compliant with the IEEE 802.3u 10Base-T and 100Base-T specifications.The FCC establishes a shared memory communication system with the CPU,which may be divided into three parts: a set of Control/Status Registers (CSR)and FCC-specific parameters, the buffer descriptors (BD), and the data buffers.Both the CSRs and the internal parameters reside in the MPC8260's internalRAM. They are used for mode control and to extract status informationof a global nature. For instance, the types of events that shouldgenerate an interrupt, or features like the promiscous mode or thehearthbeat control may be set programming some of the CSRs properly.Pointers to both the Transmit Buffer Descriptors ring (TBD) and theReceive Buffer Descriptors ring (RBD) are stored in the internal parameterRAM. The latter also includes protocol-specific parameters, like theindividual physical address of this station or the max receive frame length.The BDs are used to pass data buffers and related buffer informationbetween the hardware and the software. They may reside either on the 60xbus, or on the CPM local bus They include local status information and apointer to the incoming or outgoing data buffers. These are located againin external memory, and the user may chose whether this is on the 60x bus,or the CPM local bus (see below).This driver is designed to be moderately generic. Without modification, it canoperate across all the FCCs in the MPC8260, regardless of where the internalmemory base address is located. To achieve this goal, this driver must begiven several target-specific parameters, and some external support routinesmust be provided.  These parameters, and the mechanisms used to communicatethem to the driver, are detailed below.This network interface driver does not include support for trailer protocolsor data chaining.  However, buffer loaning has been implemented in an effortto boost performance. In addition, no copy is performed of the outgoing packetbefore it is sent.BOARD LAYOUTThis device is on-board.  No jumpering diagram is necessary.EXTERNAL INTERFACEThe driver provides the standard external interface, motFccEnd2Load(), whichtakes a string of colon-separated parameters. The parameters should bespecified in hexadecimal, optionally preceeded by "0x" or a minus sign "-".The parameter string is parsed using strtok_r() and each parameter isconverted from a string representation to binary by a call tostrtoul(parameter, NULL, 16).The format of the parameter string is:"<immrVal>:<fccNum>:<bdBase>:<bdSize>:<bufBase>:<bufSize>:<fifoTxBase>:<fifoRxBase> :<tbdNum>:<rbdNum>:<phyAddr>:<phyDefMode>:<userFlags>:<function table>"TARGET-SPECIFIC PARAMETERS.IP <immrVal>Indicates the address at which the host processor presents its internalmemory (also known as the internal RAM base address). With this address,and the fccNum (see below), the driver is able to compute the location ofthe FCC parameter RAM, and, ultimately, to program the FCC for properoperations..IP <fccNum>This driver is written to support multiple individual device units.This parameter is used to explicitly state which FCC is being used (on thevads8260 board, FCC2 is wired to the Fast Ethernet tranceiver, thus thisparameter equals "2")..IP <bdBase>The Motorola Fast Communication Controller is a DMA-type device and typicallyshares access to some region of memory with the CPU. This driver is designedfor systems that directly share memory between the CPU and the FCC.This parameter tells the driver that space for both the TBDs and theRBDs needs not be allocated but should be taken from a cache-coherentprivate memory space provided by the user at the given address. The usershould be aware that memory used for buffers descriptors must be 8-bytealigned and non-cacheable. Therefore, the given memory space should allowfor all the buffer descriptors and the 8-byte alignment factor.If this parameter is "NONE", space for buffer descriptors is obtainedby calling cacheDmaMalloc() in motFccEndLoad()..IP <bdSize>The memory size parameter specifies the size of the pre-allocated memoryregion for the BDs. If <bdBase> is specified as NONE (-1), the driver ignoresthis parameter. Otherwise, the driver checks the size of the provided memoryregion is adequate with respect to the given number of Transmit BufferDescriptors and Receive Buffer Descriptors..IP <bufBase>This parameter tells the driver that space for data buffersneeds not be allocated but should be taken from a cache-coherentprivate memory space provided by the user at the given address. The usershould be aware that memory used for buffers must be 32-bytealigned and non-cacheable. The FCC poses one more constraint in that DMAcycles may initiate even when all the incoming data have already beentransferred to memory. This means at most 32 bytes of memory at the end ofeach receive data buffer, may be overwritten during reception. The driverpads that area out, thus consuming some additional memory.If this parameter is "NONE", space for buffer descriptors is obtainedby calling memalign() in sbcMotFccEndLoad()..IP <bufSize>The memory size parameter specifies the size of the pre-allocated memoryregion for data buffers. If <bufBase> is specified as NONE (-1), the driverignores this parameter. Otherwise, the driver checks the size of the providedmemory region is adequate with respect to the given number of Receive BufferDescriptors and a non-configurable number of trasmit buffers(MOT_FCC_TX_CL_NUM).  All the above should fit in the given memory space.This area should also include room for buffer management structures..IP <fifoTxBase>Indicate the base location of the transmit FIFO, in internal memory.The user does not need to initialize this parameter, as the defaultvalue (see MOT_FCC_FIFO_TX_BASE) is highly optimized for best performance.However, if the user wishes to reserve that very area in internal RAM forother purposes, he may set this parameter to a different value.If <fifoTxBase> is specified as NONE (-1), the driver uses the defaultvalue..IP <fifoRxBase>Indicate the base location of the receive FIFO, in internal memory.The user does not need to initialize this parameter, as the defaultvalue (see MOT_FCC_FIFO_TX_BASE) is highly optimized for best performance.However, if the user wishes to reserve that very area in internal RAM forother purposes, he may set this parameter to a different value.If <fifoRxBase> is specified as NONE (-1), the driver uses the defaultvalue..IP <tbdNum>This parameter specifies the number of transmit buffer descriptors (TBDs).Each buffer descriptor resides in 8 bytes of the processor's externalRAM space, If this parameter is less than a minimum number specified in themacro MOT_FCC_TBD_MIN, or if it is "NULL", a default value of 64 (seeMOT_FCC_TBD_DEF_NUM) is used. This number is kept deliberately high, sinceeach packet the driver sends may consume more than a single TBD. Thisparameter should always equal a even number..IP  <rbdNum>This parameter specifies the number of receive buffer descriptors (RBDs).Each buffer descriptor resides in 8 bytes of the processor's externalRAM space, and each one points to a 1584-byte buffer again in externalRAM. If this parameter is less than a minimum number specified in themacro MOT_FCC_RBD_MIN, or if it is "NULL", a default value of 32 (seeMOT_FCC_RBD_DEF_NUM) is used. This parameter should always equal a even number..IP  <phyAddr>This parameter specifies the logical address of a MII-compliant physicaldevice (PHY) that is to be used as a physical media on the network.Valid addresses are in the range 0-31. There may be more than one deviceunder the control of the same management interface. The default physicallayer initialization routine will scan the whole range of PHY devicesstarting from the one in <phyAddr>. If this parameter is"MII_PHY_NULL", the default physical layer initialization routine will findout the PHY actual address by scanning the whole range. The one with the lowestaddress will be chosen..IP  <phyDefMode>This parameter specifies the operating mode that will be set upby the default physical layer initialization routine in case allthe attempts made to establish a valid link failed. If that happens,the first PHY that matches the specified abilities will be chosen towork in that mode, and the physical link will not be tested..IP  <pAnOrderTbl>This parameter may be set to the address of a table that specifies theorder how different subsets of technology abilities should be advertised bythe auto-negotiation process, if enabled. Unless the flag <MOT_FCC_USR_PHY_TBL>is set in the userFlags field of the load string, the driver ignores thisparameter.The user does not normally need to specify this parameter, since the defaultbehaviour enables auto-negotiation process as described in IEEE 802.3u..IP  <userFlags>This field enables the user to give some degree of customization to thedriver.MOT_FCC_USR_PHY_NO_AN: the default physical layer initializationroutine will exploit the auto-negotiation mechanism as described inthe IEEE Std 802.3u, to bring a valid link up. According to it, allthe link partners on the media will take part to the negotiationprocess, and the highest priority common denominator technology abilitywill be chosen. It the user wishes to prevent auto-negotiation fromoccurring, he may set this bit in the user flags.MOT_FCC_USR_PHY_TBL: in the auto-negotiation process, PHYsadvertise all their technology abilities at the same time,and the result is that the maximum common denominator is used. However,this behaviour may be changed, and the user may affect the order howeach subset of PHY's abilities is negotiated. Hence, when theMOT_FCC_USR_PHY_TBL bit is set, the default physical layerinitialization routine will look at the motFccAnOrderTbl[] table andauto-negotiate a subset of abilities at a time, as suggested by thetable itself. It is worth noticing here, however, that if theMOT_FCC_USR_PHY_NO_AN bit is on, the above table will be ignored.MOT_FCC_USR_PHY_NO_FD: the PHY may be set to operate in full duplex mode,provided it has this ability, as a result of the negotiation with otherlink partners. However, in this operating mode, the FCC will ignore thecollision detect and carrier sense signals. If the user wishes not tonegotiate full duplex mode, he should set the MOT_FCC_USR_PHY_NO_FD bitin the user flags.MOT_FCC_USR_PHY_NO_HD: the PHY may be set to operate in half duplex mode,provided it has this ability, as a result of the negotiation with other linkpartners. If the user wishes not to negotiate half duplex mode, he shouldset the MOT_FCC_USR_PHY_NO_HD bit in the user flags.MOT_FCC_USR_PHY_NO_100: the PHY may be set to operate at 100Mbit/s speed,provided it has this ability, as a result of the negotiation withother link partners. If the user wishes not to negotiate 100Mbit/s speed,he should set the MOT_FCC_USR_PHY_NO_100 bit in the user flags.MOT_FCC_USR_PHY_NO_10: the PHY may be set to operate at 10Mbit/s speed,provided it has this ability, as a result of the negotiation withother link partners. If the user wishes not to negotiate 10Mbit/s speed,he should set the MOT_FCC_USR_PHY_NO_10 bit in the user flags.MOT_FCC_USR_PHY_ISO: some boards may have different PHYs controlled by thesame management interface. In some cases, there may be the need ofelectrically isolating some of them from the interface itself, in orderto guarantee a proper behaviour on the medium layer. If the user wishes toelectrically isolate all PHYs from the MII interface, he should set theMOT_FCC_USR_PHY_ISO bit. The default behaviour is to not isolate anyPHY on the board.MOT_FCC_USR_LOOP: when the MOT_FCC_USR_LOOP bit is set, the driver willconfigure the FCC to work in internal loopback mode, with the TX signaldirectly connected to the RX. This mode should only be used for testing.MOT_FCC_USR_RMON: when the MOT_FCC_USR_RMON bit is set, the driver willconfigure the FCC to work in RMON mode, thus collecting network statisticsrequired for RMON support without the need to receive all packets as inpromiscous mode.MOT_FCC_USR_BUF_LBUS: when the MOT_FCC_USR_BUF_LBUS bit is set, the driver willconfigure the FCC to work as though the data buffers were located in theCPM local bus.MOT_FCC_USR_BD_LBUS: when the MOT_FCC_USR_BD_LBUS bit is set, the driver willconfigure the FCC to work as though the buffer descriptors were located in theCPM local bus.MOT_FCC_USR_HBC: if the MOT_FCC_USR_HBC bit is set, the driver willconfigure the FCC to perform heartbeat check following end of transmissonand the HB bit in the status field of the TBD will be set if the collisioninput does not assert within the heartbeat window. The user does not normallyneed to set this bit..IP <Function Table>This is a pointer to the structure FCC_END_FUNCS. The stucture contains mostly FUNCPTRs that are used as a communication mechanism between the driver and theBSP. If the pointer contains a NULL value, the driver will use system defaultfunctions for the m82xxDpram DPRAM alloction and, obviously, the driver will not support BSP function calls for heart beat errors, disconnect errors, and PHY status changes tat are harware specific. .CS    FUNCPTR miiPhyInit; BSP Mii/Phy Init Function    This funtion pointer is initialized by the BSP and call by the driver to      initialize the mii driver. The driver sets up it's phy settings and then    calls this routine. The BSP is responsible for setting BSP specific phy     parameters and then calling the miiPhyInit. The BSP is responsible to set    up any call to an interrupt. See miiPhyInt bellow.     .CE.CS    FUNCPTR miiPhyInt; Driver Function for BSP to Call on a Phy Status Change    This function pointer is intialized by the driver and call by the BSP.    The BSP calls this function when it handles a hardware mii specific     interrupt. The driver initalizes this to the function motFccPhyLSCInt.    The BSP may or may not choose to call this funtion. It will depend if the     BSP supports an interrupt driven PHY. The BSP can also set up the miiLib     driver to poll. In this case the miiPhy diver calls this funtion. See the     miiLib for details.    Note: Not calling this function when the phy duplex mode changes will     result in a duplex mis-match. This will cause TX errors in the driver     and a reduction in throughput. .CE.CS    FUNCPTR miiPhyBitRead; MII Bit Read Funtion    This function pointer is intialized by the BSP and call by the driver.    The driver calls this function when it needs to read a bit from the mii     interface. The mii interface is hardware specific. .CE.CS    FUNCPTR miiPhyBitWrite; MII Bit Write Function    This function pointer is intialized by the BSP and call by the driver.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道亚洲精品aⅴ| 欧美日韩中文精品| 日本黄色一区二区| 欧美tickling挠脚心丨vk| 亚洲福利一区二区三区| 粉嫩在线一区二区三区视频| 日韩一二在线观看| 亚洲精品写真福利| 成人va在线观看| 日韩免费观看高清完整版| 亚洲成人免费看| 色香色香欲天天天影视综合网| 久久日韩精品一区二区五区| 婷婷开心久久网| 日本韩国欧美一区| 亚洲精品美国一| 91视频一区二区三区| 欧美国产一区二区在线观看| 国产一区二区精品在线观看| 欧美一级免费观看| 日韩精品亚洲专区| 欧美日韩在线观看一区二区 | 一卡二卡三卡日韩欧美| 成人av在线播放网站| 日本一区二区动态图| 国产一区二区三区四区在线观看| 日韩一区二区三区四区五区六区| 婷婷开心久久网| 在线电影欧美成精品| 视频精品一区二区| 欧美裸体一区二区三区| 亚洲一区二区美女| 欧美日韩国产一区二区三区地区| 一区二区三区日韩精品视频| 91国产视频在线观看| 一区二区三区久久久| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人丝袜18视频在线观看| 国产清纯在线一区二区www| 国产精品影音先锋| 中文字幕+乱码+中文字幕一区| 从欧美一区二区三区| 17c精品麻豆一区二区免费| 色香蕉成人二区免费| 亚洲最快最全在线视频| 欧美美女激情18p| 久久国产精品99久久人人澡| 久久日一线二线三线suv| 99久久久久久99| 亚洲成a人v欧美综合天堂下载| 欧美日韩亚洲国产综合| 九九国产精品视频| 日本一区二区三区四区在线视频| 色综合网站在线| 日韩国产一二三区| 久久久精品天堂| 91天堂素人约啪| 三级欧美在线一区| 久久久久国色av免费看影院| 97aⅴ精品视频一二三区| 午夜久久久久久| 国产午夜亚洲精品羞羞网站| 色综合夜色一区| 久久精品国产网站| 成人欧美一区二区三区视频网页 | 91天堂素人约啪| 日韩国产在线一| 国产精品视频免费看| 欧美日韩高清影院| 成人a级免费电影| 日韩精品一二区| 亚洲靠逼com| 久久精品人人做| 欧美一区二区视频在线观看2020| 成人h动漫精品一区二区| 免费成人结看片| 亚洲激情在线激情| 久久久久久久久久久电影| 欧美日韩一区二区三区视频| 成人av网址在线| 久久97超碰色| 视频一区二区三区中文字幕| 亚洲欧美日韩久久| 国产视频一区在线观看| 3d成人动漫网站| 一本色道久久综合狠狠躁的推荐 | 国产成人自拍在线| 青青青爽久久午夜综合久久午夜| 136国产福利精品导航| 久久久天堂av| 正在播放亚洲一区| 在线观看国产日韩| 91一区二区在线| 成人午夜大片免费观看| 国产一区福利在线| 久久成人免费电影| 日韩va亚洲va欧美va久久| 一区二区三区蜜桃网| 亚洲少妇最新在线视频| 国产情人综合久久777777| 久久人人爽人人爽| 日韩欧美一级二级三级久久久| 欧美日韩1234| 欧美日本一区二区三区四区| 欧美日韩视频在线第一区| 在线精品观看国产| 欧美性猛交一区二区三区精品| 色综合天天综合在线视频| 99国产精品国产精品久久| 99久久精品一区二区| 99精品欧美一区二区三区小说| 粉嫩绯色av一区二区在线观看| 国产麻豆成人传媒免费观看| 国产综合色精品一区二区三区| 麻豆成人综合网| 国产米奇在线777精品观看| 麻豆传媒一区二区三区| 国产一区中文字幕| 国产酒店精品激情| 岛国精品一区二区| 91亚洲男人天堂| 在线观看三级视频欧美| 欧美日韩日日骚| 制服丝袜中文字幕一区| 精品国产一区a| 日本一区二区三区视频视频| 亚洲天堂中文字幕| 亚洲午夜精品久久久久久久久| 日韩国产在线观看一区| 国产综合久久久久影院| 成人小视频免费在线观看| 91免费在线视频观看| 欧美丝袜自拍制服另类| 91精品国产综合久久久久久| 久久综合久久综合九色| 日韩美女精品在线| 天天综合网天天综合色| 久久国产麻豆精品| 91在线观看污| 91精品欧美综合在线观看最新| 久久先锋资源网| 亚洲另类春色国产| 久久精品99国产精品| www.久久精品| 欧美久久久久久蜜桃| 日本一区二区视频在线观看| 亚洲综合色网站| 国产美女精品人人做人人爽| 94-欧美-setu| 日韩免费电影一区| 亚洲人成亚洲人成在线观看图片| 日韩成人一区二区三区在线观看| 国产成人av一区二区三区在线 | 国产欧美日韩卡一| 亚洲福利国产精品| 国产成人av一区| 欧美精品乱码久久久久久 | 免费成人深夜小野草| av一二三不卡影片| 精品人在线二区三区| 亚洲精品久久久久久国产精华液| 久久国产成人午夜av影院| 91国偷自产一区二区开放时间| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲精品久久久久久国产精华液 | 极品美女销魂一区二区三区| 91麻豆123| 中文字幕欧美日本乱码一线二线| 亚洲成人免费av| 一本久久a久久精品亚洲| 久久亚洲欧美国产精品乐播| 日韩av一区二区在线影视| 波多野结衣中文字幕一区| 日韩欧美一区二区久久婷婷| 亚洲一区二区在线观看视频| 国产精品18久久久久| 欧美国产精品久久| 三级久久三级久久| 9色porny自拍视频一区二区| 精品福利一区二区三区免费视频| 亚洲自拍都市欧美小说| 99免费精品在线观看| 国产欧美视频在线观看| 精品一区二区三区的国产在线播放 | 国产米奇在线777精品观看| 91精品国产色综合久久久蜜香臀| 亚洲国产人成综合网站| 一本久道中文字幕精品亚洲嫩| 国产精品乱子久久久久| 丁香网亚洲国际| 国产精品视频第一区| 国产成人无遮挡在线视频| 国产欧美一区二区三区在线看蜜臀| 免费黄网站欧美| 欧美一级欧美三级在线观看 | 欧美片网站yy| 国产网红主播福利一区二区| 欧美吻胸吃奶大尺度电影| 欧美日韩精品一二三区| 另类小说综合欧美亚洲|