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

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

?? sysgei82543end.c

?? vxworks嵌入式開發vmware bsp包 其中已包括網卡的驅動 本人試過 非常好用
?? C
?? 第 1 頁 / 共 4 頁
字號:
    if (adr[0] & 0x1)        return (ERROR);     return OK;    }/*************************************************************************** * sys543eepromCheckSum - calculate checksum ** This routine perform EEPROM checksum** RETURNS: N/A*/LOCAL STATUS sys543eepromCheckSum    (    int    unit    )    {    UINT16 checkSum = 0 ;    UINT32 ix;    for (ix = 0; ix < EEPROM_WORD_SIZE; ix++)         checkSum += sys543eepromReadWord (unit, ix);     if (checkSum == (UINT16)EEPROM_SUM)        return OK;     return ERROR;    }/***************************************************************************** sys544PhyPreInit -- Init 82544's specific PHY regs before link setup** This routine initializes some 82544's PHY regs before set up link* Basically, it fixed short cable/backplane problem, Errata 21** RETURN: N/A*/LOCAL void sys544PhyPreInit    (    PHY_INFO * pPhyInfo     /* PHY's info structure pointer */    )    {    UINT16 regVal;          /* register value */    UINT16 phyId1;          /* phy Id 1 */    UINT16 phyId2;          /* phy ID 2 */    UINT32 retVal;          /* return value */    UINT32 phyOui = 0;      /* PHY's manufacture ID */    UINT32 phyMode;         /* PHY mode number */    UINT8  phyAddr;         /* PHY's bus number */    phyAddr = pPhyInfo->phyAddr;     MII_READ (phyAddr, MII_PHY_ID1_REG, &phyId1, retVal);       MII_READ (phyAddr, MII_PHY_ID2_REG, &phyId2, retVal);    phyOui =  phyId1 << 6 | phyId2 >> 10;    phyMode = (phyId2 & MII_ID2_MODE_MASK) >> 4;    if (phyOui == INTEL_82544PHY_OUI_ID && (phyMode == INTEL_82544PHY_MODEL))        {        regVal = 0x0004;         MII_WRITE (phyAddr, 29, 0x4, retVal);        MII_READ (phyAddr, 30, &regVal, retVal);        regVal |= 0x0200;         MII_WRITE (phyAddr, 30, regVal, retVal);        }    }/**************************************************************************** sys543PhySpecRegsInit - Initialize PHY specific registers** This routine initialize PHY specific registers** RETURN: N/A*/LOCAL void sys543PhySpecRegsInit    (    PHY_INFO * pPhyInfo,    /* PHY's info structure pointer */    UINT8      phyAddr      /* PHY's bus number */    )    {    UINT16 regVal;          /* register value */    UINT16 phyId1;          /* phy Id 1 */    UINT16 phyId2;          /* phy ID 2 */    UINT32 retVal;          /* return value */    UINT32 phyOui = 0;      /* PHY's manufacture ID */    UINT32 phyMode;         /* PHY mode number */    /* Intel Pro1000T adaptor uses Alaska transceiver */    /* read device ID to check Alaska chip available */    MII_READ (phyAddr, MII_PHY_ID1_REG, &phyId1, retVal);        MII_READ (phyAddr, MII_PHY_ID2_REG, &phyId2, retVal);           phyOui =  phyId1 << 6 | phyId2 >> 10;    phyMode = (phyId2 & MII_ID2_MODE_MASK) >> 4;    if (phyOui == MARVELL_OUI_ID && (phyMode == MARVELL_ALASKA_88E1000 ||                                      phyMode == MARVELL_ALASKA_88E1000S))        {         /* This is actually a Marvell Alaska 1000T transceiver */         /* disable PHY's interrupt */                  MII_READ (phyAddr, ALASKA_INT_ENABLE_REG, &regVal, retVal);         regVal = 0;         MII_WRITE (phyAddr, ALASKA_INT_ENABLE_REG, regVal, retVal);         /* CRS assert on transmit */         MII_READ (phyAddr, ALASKA_PHY_SPEC_CTRL_REG, &regVal, retVal);         regVal |= ALASKA_PSCR_ASSERT_CRS_ON_TX;         MII_WRITE (phyAddr, ALASKA_PHY_SPEC_CTRL_REG, regVal, retVal);        /* set the clock rate when operate in 1000T mode */         MII_READ (phyAddr, ALASKA_EXT_PHY_SPEC_CTRL_REG, &regVal, retVal);         regVal |= ALASKA_EPSCR_TX_CLK_25;         MII_WRITE (phyAddr, ALASKA_EXT_PHY_SPEC_CTRL_REG, regVal, retVal);        }    else if (phyOui == INTEL_82544PHY_OUI_ID &&             (phyMode == INTEL_82544PHY_MODEL))        {         /* This is INTEL 82544GC/EI internal PHY */         /* disable PHY's interrupt */                  MII_READ (phyAddr, INTEL_82544PHY_INT_ENABLE_REG, &regVal, retVal);         regVal = 0;         MII_WRITE (phyAddr, INTEL_82544PHY_INT_ENABLE_REG, regVal, retVal);         /* CRS assert on transmit */         MII_READ (phyAddr, INTEL_82544PHY_PHY_SPEC_CTRL_REG,                    &regVal, retVal);         regVal |= INTEL_82544PHY_PSCR_ASSERT_CRS_ON_TX;         MII_WRITE (phyAddr, INTEL_82544PHY_PHY_SPEC_CTRL_REG,                    regVal, retVal);        /* set the TX_CLK rate when operate in 1000T mode */         MII_READ (phyAddr, INTEL_82544PHY_EXT_PHY_SPEC_CTRL_REG,                    &regVal, retVal);         regVal |= INTEL_82544PHY_EPSCR_TX_CLK_25;         MII_WRITE (phyAddr, INTEL_82544PHY_EXT_PHY_SPEC_CTRL_REG,                    regVal, retVal);        /* INTEL PHY's bug fixing ... */         MII_WRITE (phyAddr, 29, 0x5, retVal);        MII_READ (phyAddr, 30, &regVal, retVal);        regVal |= 0x100;        MII_WRITE (phyAddr, 30, regVal, retVal);               }             /* other PHYS .... */     }/******************************************************************************* sys543IntAck - acknowledge an 8254x interrupt** This routine performs any 8254x interrupt acknowledge that may be* required.  This typically involves an operation to some interrupt* control hardware.** This routine gets called from the 82543 driver's interrupt handler.** This routine assumes that the PCI configuration information has already* been setup.** RETURNS: OK, or ERROR if the interrupt could not be acknowledged.*/LOCAL STATUS sys543IntAck    (    int    unit        /* unit number */    )    {    return (OK);    }/******************************************************************************* sys543IntEnable - enable 8254x chip interrupts** This routine enables 8254x interrupts.  This may involve operations on* interrupt control hardware.** The 8254x driver calls this routine throughout normal operation to terminate* critical sections of code.** This routine assumes that the PCI configuration information has already* been setup.** RETURNS: OK, or ERROR if interrupts could not be enabled.*/LOCAL STATUS sys543IntEnable    (    int    unit        /* unit number */    )    {    return (OK);    }/******************************************************************************* sys543IntDisable - disable 8254x chip interrupts** This routine disables 8254x interrupts.  This may involve operations on* interrupt control hardware.** The 8254x driver calls this routine throughout normal operation to enter* critical sections of code.** This routine assumes that the PCI configuration information has already* been setup.** RETURNS: OK, or ERROR if interrupts could not be disabled.*/LOCAL STATUS sys543IntDisable    (    int    unit        /* unit number */    )    {    return (OK);    }/******************************************************************************* sys543Show - shows 8254x chip configuration ** This routine shows (Intel Pro 1000F/T/XT/XF) adapter configuration ** RETURNS: N/A*/void sys543Show    (    int    unit        /* unit number */    )    {    int    ix;    PCI_BOARD_RESOURCE * pRsrc;    GEI_RESOURCE *       pReso;    if (unit >= geiUnits)        {        printf ("gei device %d is not available\n", unit);        return;        }     pRsrc = &geiPciResources [unit];    pReso = (GEI_RESOURCE *)(pRsrc->pExtended);    if (pRsrc->boardType == PRO1000_543_BOARD)        printf ("********* Intel PRO1000 82543GC Based Adapter ***********\n");    else if (pRsrc->boardType == PRO1000_544_BOARD)        printf ("********* Intel PRO1000 82544GC/EI based Adapter ********\n");    else if (pRsrc->boardType == PRO1000_546_BOARD)        printf ("********* Intel 82540/82545/82546EB based Adapter ********\n");    else        printf ("********* UNKNOWN Adaptor ************ \n");     printf ("  CSR PCI Membase address = 0x%x\n", pReso->memBaseLow);     printf ("  Flash PCI Membase address = 0x%x\n", pReso->flashBase);    printf ("  PCI bus no.= 0x%x, device no.= 0x%x, function no.= 0x%x\n",              pRsrc->pciBus, pRsrc->pciDevice, pRsrc->pciFunc);    printf ("  IRQ = %d\n", pRsrc->irq);      if (pReso->iniStatus == ERROR)        return;    printf ("  Adapter Ethernet Address");    for (ix = 0; ix < 6; ix ++)        printf (":%2.2X", (UINT32)pReso->enetAddr[ix]);    printf ("\n");    printf ("  EEPROM Initialization Control Word 1 = 0x%4.4X\n",             pReso->eeprom_icw1);    printf ("  EEPROM Initialization Control Word 2 = 0x%4.4X\n",             pReso->eeprom_icw2);    printf ("*********************************************\n");    }/********************************************************************************* sysGeiDevToType - convert PCI Vendor and Device IDs to a device type** Given <vendorId>, <deviceId>, and <revisionId> values read from PCI Vendor* and Device ID registers in PCI configuration space, this routine will* attempt to map the IDs to an 8254x device type value.** RETURNS:* A board type value which will be one of** .IP* PRO1000_543_BOARD* .IP* PRO1000_544_BOARD* .IP* PRO1000_546_BOARD* .LP** BOARD_TYPE_UNKNOWN will be returned if the Device ID does not map to* a supported board type.** NOMANUAL*/LOCAL UINT32 sysGeiDevToType    (    UINT32 vendorId,    /* specifies a PCI Vendor ID value */    UINT32 deviceId,    /* specifies a PCI Device ID value */    UINT8  revisionId   /* specifies a PCI Revision ID value */    )    {    /* At the moment, we are only supporting vendor Intel */    if (vendorId == PRO1000_PCI_VENDOR_ID)        {        switch (deviceId)            {            case PRO1000_543_PCI_DEVICE_ID_T:            case PRO1000_543_PCI_DEVICE_ID_FT:                return (PRO1000_543_BOARD);            case PRO1000_544_PCI_DEVICE_ID_XT:            case PRO1000_544_PCI_DEVICE_ID_XF:            case PRO1000_544_PCI_DEVICE_ID_GC:                return (PRO1000_544_BOARD);                        case PRO1000_540_PCI_DEVICE_ID_XT:            case PRO1000_545_PCI_DEVICE_ID_XT:            case PRO1000_546_PCI_DEVICE_ID_XT:            case PRO1000_545_PCI_DEVICE_ID_MF:            case PRO1000_546_PCI_DEVICE_ID_MF:                return (PRO1000_546_BOARD);            }        }    return (BOARD_TYPE_UNKNOWN);    }#endif /* INCLUDE_GEI8254X_END */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区在线观看| 日韩高清欧美激情| 91精品国产欧美一区二区18| 蜜桃一区二区三区在线| 久久久美女艺术照精彩视频福利播放| 成人性生交大片免费看视频在线| |精品福利一区二区三区| 91精品在线免费| av亚洲精华国产精华精| 免费精品99久久国产综合精品| 欧美激情一区二区三区在线| 9191成人精品久久| 99精品久久免费看蜜臀剧情介绍| 日本成人中文字幕在线视频| 成人免费在线观看入口| 2021国产精品久久精品| 欧美日韩成人在线一区| 色综合久久久久综合99| 国产麻豆一精品一av一免费| 亚洲午夜精品在线| 一区二区三区免费在线观看| 国产精品久久精品日日| 国产片一区二区三区| 欧美变态口味重另类| 5566中文字幕一区二区电影 | 91猫先生在线| 成+人+亚洲+综合天堂| 国产成人综合在线播放| 国产精品亚洲午夜一区二区三区| 久久99精品国产.久久久久 | 欧美在线短视频| 日本韩国欧美国产| 色香色香欲天天天影视综合网| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲妇女屁股眼交7| 午夜在线成人av| 国产乱码字幕精品高清av| 成人av在线网| 欧美日韩视频在线一区二区| 51精品久久久久久久蜜臀| 日韩欧美专区在线| 国产精品久久久久久久久久久免费看 | 色88888久久久久久影院按摩| 99久久国产综合色|国产精品| 欧美日韩免费不卡视频一区二区三区| 欧美久久高跟鞋激| 2021久久国产精品不只是精品| 一区二区视频在线看| 亚洲一区二区在线播放相泽 | 一区二区三区电影在线播| 蜜臀av国产精品久久久久| 99国产欧美久久久精品| 久久伊人中文字幕| 亚洲成国产人片在线观看| 成人免费看片app下载| 精品国产乱码久久久久久牛牛| 中文字幕字幕中文在线中不卡视频| 免费在线成人网| 欧美日韩在线观看一区二区| 中文字幕一区二区三区蜜月 | 亚洲第一二三四区| 色综合色狠狠综合色| 国产欧美一区二区三区在线看蜜臀| 五月天视频一区| 欧美日韩亚洲另类| 亚洲va国产天堂va久久en| 91福利国产成人精品照片| 国产精品色哟哟| 91啪在线观看| 亚瑟在线精品视频| 91精品国产综合久久福利软件 | 成人的网站免费观看| 中文字幕制服丝袜成人av | 国产伦精品一区二区三区免费迷| 欧美电影一区二区| 看电视剧不卡顿的网站| 国产亚洲一二三区| 成人一级视频在线观看| 欧美不卡一区二区三区四区| 黄页视频在线91| 国产精品乱人伦| 欧美日韩在线免费视频| 国产福利精品导航| 亚洲一区二区三区自拍| 91精品欧美福利在线观看 | 粉嫩欧美一区二区三区高清影视| 国产精品美女一区二区三区| 欧美日韩激情在线| 国产成人精品免费视频网站| 亚洲欧洲日韩综合一区二区| 欧美日本韩国一区二区三区视频| 东方欧美亚洲色图在线| 亚洲www啪成人一区二区麻豆| 2017欧美狠狠色| 欧美性感一区二区三区| 免费精品99久久国产综合精品| 亚洲欧美另类在线| 日韩你懂的电影在线观看| proumb性欧美在线观看| 精品一区二区三区免费视频| 亚洲一区二区三区在线播放| 国产欧美日韩中文久久| 久久综合色一综合色88| 欧美人妖巨大在线| 色噜噜久久综合| 99re这里只有精品首页| 国产 日韩 欧美大片| 日韩综合一区二区| 一区二区三区日韩欧美精品| 国产网站一区二区三区| 久久久久久久久免费| 日韩欧美国产综合一区 | 欧美大片国产精品| 91精品国模一区二区三区| 欧美视频一区二| 制服丝袜亚洲网站| 日韩欧美自拍偷拍| 欧美国产精品v| 亚洲福中文字幕伊人影院| 奇米色777欧美一区二区| 日韩精品一卡二卡三卡四卡无卡| 日韩中文字幕亚洲一区二区va在线| 秋霞av亚洲一区二区三| 国产精品伊人色| 在线精品视频一区二区| 精品国产91洋老外米糕| 国产精品国产三级国产aⅴ中文| 亚洲精品成人在线| 日本不卡高清视频| 成人激情开心网| 欧美电影在哪看比较好| 国产亚洲欧美色| 亚洲午夜免费福利视频| 狠狠色丁香婷综合久久| 91浏览器打开| 久久久不卡网国产精品一区| 亚洲欧美自拍偷拍| 午夜电影一区二区三区| 成人国产精品免费观看动漫| 欧美日韩一区视频| 亚洲欧美国产毛片在线| 国产成人午夜99999| 4438x成人网最大色成网站| 亚洲色图在线播放| 老司机午夜精品99久久| 欧美私人免费视频| 亚洲精品午夜久久久| 国产黄人亚洲片| 精品美女被调教视频大全网站| 一区二区三区精品视频| 99久久夜色精品国产网站| 久久久久久久久99精品| 麻豆精品久久久| 91精品国产综合久久久久| 亚洲18女电影在线观看| 欧美年轻男男videosbes| 亚洲一区在线播放| 欧美日韩精品综合在线| 亚洲一区二区偷拍精品| 欧美日韩一区在线观看| 日韩黄色免费电影| 欧美不卡一区二区三区四区| 精品影视av免费| 久久精品视频免费| 92精品国产成人观看免费 | 综合久久综合久久| 欧美伊人久久久久久久久影院| 亚洲一区二区三区四区的| 色婷婷av一区二区三区之一色屋| 亚洲精品一卡二卡| 欧美性极品少妇| 久久99热这里只有精品| 国产精品天天摸av网| 欧美日韩高清一区二区三区| 国产最新精品免费| 亚洲综合自拍偷拍| 国产欧美日韩在线| 91麻豆精品国产91久久久更新时间 | 一区二区国产盗摄色噜噜| 欧美精品久久久久久久多人混战 | 国内成人自拍视频| 一个色综合av| 亚洲国产精品av| 精品国产免费一区二区三区香蕉| 国产成a人亚洲精| 日本不卡一区二区三区 | 欧美国产日本韩| 精品国产免费人成电影在线观看四季| 97久久精品人人做人人爽| 国产精品一色哟哟哟| 老司机免费视频一区二区| 亚洲精品久久嫩草网站秘色| 国产精品传媒入口麻豆| 欧美激情在线看| 国产精品久久久久四虎| 国产三级欧美三级日产三级99| 91成人在线观看喷潮| 色婷婷国产精品久久包臀| 色狠狠色噜噜噜综合网| 欧美三级在线看|