<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Davicom公司DM9000A和DM9010 ISA NIC 以太網(wǎng)驅(qū)動(dòng)分析

          Davicom公司DM9000A和DM9010 ISA NIC 以太網(wǎng)驅(qū)動(dòng)分析

          作者: 時(shí)間:2012-11-02 來(lái)源:網(wǎng)絡(luò) 收藏

          /*

          本文引用地址:http://www.ex-cimer.com/article/148275.htm

          dm9ks.c: Version 2.03 2005/10/17

          A / fast Ethernet driver for Linux.

          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 program is distributed in the hope that it will be useful,

          but WITHOUT ANY WARRANTY; without even the implied warranty of

          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

          GNU General Public License for more details.

          (C)Copyright 1997-2005 DAVICOM Semiconductor,Inc. All Rights Reserved.

          V1.00 10/13/2004 Add new function Early transmit IP/TCP/UDP Checksum

          offload enable flow control is default

          V1.1 12/29/2004 Add Two packet mode modify RX function

          V1.2 01/14/2005 Add Early transmit mode

          V1.3 03/02/2005 Support kernel 2.6

          v1.33 06/08/2005 #define DM9KS_MDRAL 0xf4

          #define DM9KS_MDRAH 0xf5

          V2.00 01/10/2005 Spenser

          - Modification for PXA270 MAINSTONE.

          - Modified dmfe_tx_done().

          - Add dmfe_timeout().

          V2.01 10/07/2005 Modified dmfe_timer()

          Dected network speed 10/100M

          V2.02 10/12/2005 Use link change to chage db->Speed

          dmfe_open() wait for Link OK

          V2.03 11/22/2005 Power-off and Power-on PHY in dmfe_init() support IOL

          */

          #if defined(MODVERSIONS)

          #include

          #endif

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          #ifdef CONFIG_ARCH_MAINSTONE

          #include

          #include

          #include

          #endif

          /* Board/System/Debug information/definition ---------------- */

          #define DM9KS_ID 0x90000A46

          #define _ID 0x90100A46

          /*-------register name-----------------------*/

          #define DM9KS_NCR 0x00 /* Network control Reg.*/

          #define DM9KS_NSR 0x01 /* Network Status Reg.*/

          #define DM9KS_TCR 0x02 /* TX control Reg.*/

          #define DM9KS_RXCR 0x05 /* RX control Reg.*/

          #define DM9KS_BPTR 0x08

          #define DM9KS_EPCR 0x0b

          #define DM9KS_EPAR 0x0c

          #define DM9KS_EPDRL 0x0d

          #define DM9KS_EPDRH 0x0e

          #define DM9KS_GPR 0x1f /* General purpose register */

          #define DM9KS_TCR2 0x2d

          #define DM9KS_SMCR 0x2f /* Special Mode Control Reg.*/

          #define DM9KS_ETXCSR 0x30 /* Early Transmit control/status Reg.*/

          #define DM9KS_TCCR 0x31 /* Checksum cntrol Reg. */

          #define DM9KS_RCSR 0x32 /* Receive Checksum status Reg.*/

          #define DM9KS_MRCMDX 0xf0

          #define DM9KS_MRCMD 0xf2

          #define DM9KS_MDRAL 0xf4

          #define DM9KS_MDRAH 0xf5

          #define DM9KS_MWCMD 0xf8

          #define DM9KS_TXPLL 0xfc

          #define DM9KS_TXPLH 0xfd

          #define DM9KS_ISR 0xfe

          #define DM9KS_IMR 0xff

          /*---------------------------------------------*/

          #define DM9KS_REG05 0x30 /* SKIP_CRC/SKIP_LONG */

          #define DM9KS_REGFF 0xA3 /* IMR */

          #define DM9KS_DISINTR 0x80

          #define DM9KS_PHY 0x40 /* PHY address 0x01 */

          #define DM9KS_PKT_RDY 0x01 /* Packet ready to receive */

          /* Added for PXA of MAINSTONE */

          #ifdef CONFIG_ARCH_MAINSTONE

          #include

          #define DM9KS_MIN_IO (MST_ETH_PHYS + 0x300)

          #define DM9KS_MAX_IO (MST_ETH_PHYS + 0x370)

          #define DM9K_IRQ MAINSTONE_IRQ(3)

          #else

          #define DM9KS_MIN_IO 0x300

          #define DM9KS_MAX_IO 0x370

          #define DM9K_IRQ 3

          #endif

          #define DM9KS_VID_L 0x28

          #define DM9KS_VID_H 0x29

          #define DM9KS_PID_L 0x2A

          #define DM9KS_PID_H 0x2B

          #define DM9KS_RX_INTR 0x01

          #define DM9KS_TX_INTR 0x02

          #define DM9KS_LINK_INTR 0x20

          #define DM9KS_DWORD_MODE 1

          #define DM9KS_BYTE_MODE 2

          #define DM9KS_WORD_MODE 0

          #define TRUE 1

          #define FALSE 0

          /* Number of continuous Rx packets */

          #define CONT_RX_PKT_CNT 10

          #define DMFE_TIMER_WUT jiffies+(HZ*5) /* timer wakeup time : 5 second */

          #if defined(DM9KS_DEBUG)

          #define DMFE_DBUG(dbug_now, msg, vaule)

          if (dmfe_debug||dbug_now) printk(KERN_ERR dmfe: %s %xn, msg, vaule)

          pid控制相關(guān)文章:pid控制原理



          上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();