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

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

?? mac.h

?? 很多的經典的嵌入式例子 自己去看吧
?? H
字號:
/****************************************************************************
* Copyright (c) 2002 Windond Electronics Corp.
* All rights reserved.
*
* FILE NAME: mac.h
*
* DESCRIPTION: Header File for MAC of W90N740.
*
* AUTHOR: Jen-Hao Tsai, PC30
****************************************************************************/
#ifndef W740_MAC_H
#define W740_MAC_H

#include "740defs.h"

//#define TxInt_Msg
//#define RxInt_Msg

//#define PHY_Auto_Negotiation
	
#define MODE_DR100_FULL   3
#define MODE_DR100_HALF   2
#define MODE_DR10_FULL    1
#define MODE_DR10_HALF    0

#define MAC_NUM 0

// CAM Command Register(CAMCMR)
#define CAM_AUP  0x0001  // Accept Packets with Unicast Address
#define CAM_AMP  0x0002  // Accept Packets with Multicast Address
#define CAM_ABP  0x0004  // Accept Packets with Broadcast Address
#define CAM_CCAM 0x0008  // 0: Accept Packets CAM Recognizes and Reject Others
                         // 1: Reject Packets CAM Recognizes and Accept Others
#define CAM_ECMP 0x0010  // Enable CAM Compare


// MAC Interrupt Enable Register(MIEN)
#define EnRXINTR 0x00000001  // Enable Interrupt on Receive Interrupt
#define EnCRCE   0x00000002  // Enable CRC Error Interrupt
#define EnRXOV   0x00000004  // Enable Receive FIFO Overflow Interrupt
#define EnPTLE   0x00000008  // Enable Packet Too Long Interrupt
#define EnRXGD   0x00000010  // Enable Receive Good Interrupt
#define EnALIE   0x00000020  // Enable Alignment Error Interrupt
#define EnRP     0x00000040  // Enable Runt Packet on Receive Interrupt
#define EnMMP    0x00000080  // Enable More Missed Packets Interrupt
#define EnDFO    0x00000100  // Enable DMA receive frame over maximum size Interrupt
#define EnDEN    0x00000200  // Enable DMA early notification Interrupt
#define EnRDU    0x00000400  // Enable Receive Descriptor Unavailable Interrupt
#define EnRxBErr 0x00000800  // Enable Receive Bus ERROR interrupt
#define EnNATOK  0x00001000  // Enable NAT Processing OK Interrupt
#define EnNATErr 0x00002000  // Enable NAT Processing Error Interrupt
#define EnCFR    0x00004000  // Enable Control Frame Receive Interrupt
#define EnTXINTR 0x00010000  // Enable Interrupt on Transmit Interrupt
#define EnTXEMP  0x00020000  // Enable Transmit FIFO Empty Interrupt
#define EnTXCP   0x00040000  // Enable Transmit Completion Interrupt
#define EnEXDEF  0x00080000  // Enable Defer Interrupt
#define EnNCS    0x00100000  // Enable No Carrier Sense Interrupt
#define EnTXABT  0x00200000  // Enable Transmit Abort Interrupt
#define EnLC     0x00400000  // Enable Late Collision Interrupt
#define EnTDU    0x00800000  // Enable Transmit Descriptor Unavailable Interrupt
#define EnTxBErr 0x01000000  // Enable Transmit Bus ERROR Interrupt


// MAC Command Register(MCMDR)
#define MCMDR_RXON    0x00000001  // Receive ON
#define MCMDR_ALP     0x00000002  // Accept Long Packet
#define MCMDR_ARP     0x00000004  // Accept Runt Packet
#define MCMDR_ACP     0x00000008  // Accept Control Packet
#define MCMDR_AEP     0x00000010  // Accept Error Packet
#define MCMDR_SPCRC   0x00000020  // Accept Strip CRC Value
#define MCMDR_TXON    0x00000100  // Transmit On
#define MCMDR_NDEF    0x00000200  // No defer
#define MCMDR_SDPZ    0x00010000  // Send Pause
#define MCMDR_EnSQE   0x00020000  // Enable SQE test
#define MCMDR_FDUP    0x00040000  // Full Duplex
#define MCMDR_EnMDC   0x00080000  // Enable MDC signal
#define MCMDR_OPMOD   0x00100000  // Operation Mode
#define MCMDR_LBK     0x00200000  // Loop Back
#define MCMDR_EnRMII  0x00400000  // Enable RMII
#define MCMDR_LPCS    0x00800000  // Low Pin Count Package Switch
#define MCMDR_LAN     0x01000000  // LAN Port Setting Mode
#define MCMDR_EnTMode 0x02000000  // Enable Test Mode


// MAC MII Management Data Control and Address Register(MIIDA)
#define MDCCR    0x00000000  // MDC clock rating
#define PHYAD    0x00000100  // PHY Address
#define PHYWR    0x00010000  // Write Operation
#define PHYBUSY  0x00020000  // Busy Bit
#define PHYPreSP 0x00040000  // Preamble Suppress


// FIFO Threshold Adjustment Register(FIFOTHD)
#define SWR        0x00010000  // Software Reset
#define TxTHD_1    0x00000100  // 1/4 Transmit FIFO Threshold
#define TxTHD_2    0x00000200  // 2/4 Transmit FIFO Threshold
#define TxTHD_3    0x00000300  // 3/4 Transmit FIFO Threshold
#define RxTHD_1    0x00000001  // 1/4 Receive FIFO Threshold
#define RxTHD_2    0x00000002  // 2/4 Receive FIFO Threshold
#define RxTHD_3    0x00000003  // 3/4 Receive FIFO Threshold
#define Blength_8  0x00100000  // DMA burst length 8 beats
#define Blength_12 0x00200000  // DMA burst length 12 beats
#define Blength_16 0x00300000  // DMA burst length 16 beats


// MAC Interrupt Status Register(MISTA)
#define MISTA_RXINTR 0x00000001  // Interrupt on Receive
#define MISTA_CRCE   0x00000002  // CRC Error
#define MISTA_RXOV   0x00000004  // Receive FIFO Overflow error
#define MISTA_PTLE   0x00000008  // Packet Too Long Error
#define MISTA_RXGD   0x00000010  // Receive Good
#define MISTA_ALIE   0x00000020  // Alignment Error
#define MISTA_RP     0x00000040  // Runt Packet
#define MISTA_MMP    0x00000080  // More Missed Packets than miss rolling over counter flag
#define MISTA_DFOI   0x00000100  // DMA receive frame over maximum size interrupt
#define MISTA_DENI   0x00000200  // DMA early notification interrupt
#define MISTA_RDU    0x00000400  // Receive Descriptor Unavailable interrupt
#define MISTA_RxBErr 0x00000800  // Receive Bus Error interrupt
#define MISTA_NATOK  0x00001000  // NAT Processing OK
#define MISTA_NATErr 0x00002000  // NAT Processing Error
#define MISTA_CFR    0x00004000  // Control Frame Receive
#define MISTA_TXINTR 0x00010000  // Interrupt on Transmit
#define MISTA_TXEMP  0x00020000  // Transmit FIFO Empty
#define MISTA_TXCP   0x00040000  // Transmit Completion
#define MISTA_EXDEF  0x00080000  // Defer
#define MISTA_NCS    0x00100000  // No Carrier Sense
#define MISTA_TXABT  0x00200000  // Transmit Abort
#define MISTA_LC     0x00400000  // Late Collision
#define MISTA_TDU    0x00800000  // Transmit Descriptor Unavailable interrupt
#define MISTA_TxBErr 0x01000000  // Transmit Bus Error interrupt


// MAC General Status Register(MGSTA)
#define MGSTA_CFR  0x00000001  // Control Frame Received
#define MGSTA_RXHA 0x00000002  // Reception Halted
#define MGSTA_DEF  0x00000010  // Deferred transmission
#define MGSTA_PAU  0x00000020  // Pause Bit
#define MGSTA_SQE  0x00000040  // Signal Quality Error
#define MGSTA_TXHA 0x00000080  // Transmission Halted


// PHY(DM9161) Register Description
#define PHY_CNTL_REG    0x00
#define PHY_STATUS_REG  0x01
#define PHY_ID1_REG     0x02
#define PHY_ID2_REG     0x03
#define PHY_ANA_REG     0x04
#define PHY_ANLPA_REG   0x05
#define PHY_ANE_REG     0x06

#define PHY_DSC_REG     0x10
#define PHY_DSCS_REG    0x11
#define PHY_10BTCS_REG  0x12
#define PHY_SINT_REG    0x15
#define PHY_SREC_REG    0x16
#define PHY_DISC_REG    0x17

//PHY Control Register
#define RESET_PHY       1 << 15
#define ENABLE_LOOPBACK 1 << 14
#define DR_100MB        1 << 13
#define ENABLE_AN       1 << 12
#define PHY_MAC_ISOLATE 1 << 10
#define RESTART_AN      1 << 9
#define PHY_FULLDUPLEX  1 << 8
#define PHY_COL_TEST    1 << 7

// PHY Status Register
#define AN_COMPLETE     1 << 5

// PHY Auto-negotiation Advertisement Register
#define DR100_TX_FULL   1 << 8
#define DR100_TX_HALF   1 << 7
#define DR10_TX_FULL    1 << 6
#define DR10_TX_HALF    1 << 5
#define IEEE_802_3_CSMA_CD   1


#define MAC_ADDR_SIZE         6

#define MaxRxFrameSize        1520 // Rx Frame Max Size = 1520
//
#define MaxRxFrameDescriptors 32   // Max number of Rx Frame Descriptors
#define MaxTxFrameDescriptors 16   // Max number of Tx Frame Descriptors
#define MaxRxFrameData        32   // Max number of Rx Frame Data
#define MaxTxFrameData        16   // Max number of Tx Frame Data
//


// RX Frame Descriptor's Owner bit
#define RXfOwnership_DMA 0x80000000  // 10 = DMA
#define RXfOwnership_NAT 0xc0000000  // 11 = NAT
#define RXfOwnership_CPU 0x3fffffff  // 00 = CPU

// TX Frame Descriptor's Owner bit
#define TXfOwnership_DMA 0x80000000  // 1 = DMA
#define TXfOwnership_CPU 0x7fffffff  // 0 = CPU


// Rx Frame Descriptor Status
#define RXFD_Hit     0x4000  // current packet is hit with NAT entry table
#define RXFD_IPHit   0x2000  // current packet is hit on IP address
#define RXFD_PortHit 0x1000  // current packet is hit on Port Number
#define RXFD_Inverse 0x0800  // current hit entry is setting on inverse mode
#define RXFD_NATFSH  0x0400  // NAT Processing Finish
#define RXFD_RP      0x0040  // Runt Packet
#define RXFD_ALIE    0x0020  // Alignment Error
#define RXFD_RXGD    0x0010  // Receiving Good packet received
#define RXFD_PTLE    0x0008  // Packet Too Long Error
#define RXFD_CRCE    0x0002  // CRC Error
#define RXFD_RXINTR  0x0001  // Interrupt on receive

// Rx Frame Descriptor NAT Information
#define RXFD_NAT_URG     0x20000000  // TCP status(URG)
#define RXFD_NAT_ACK     0x10000000  // TCP status(ACK)
#define RXFD_NAT_PSH     0x08000000  // TCP status(PSH)
#define RXFD_NAT_RST     0x04000000  // TCP status(RST)
#define RXFD_NAT_SYN     0x02000000  // TCP status(SYN)
#define RXFD_NAT_FIN     0x01000000  // TCP status(FIN)
#define RXFD_NAT_UCKERR  0x00400000  // TCP/UCKS Error
#define RXFD_NAT_TUERR   0x00200000  // TCP/UDP Error
#define RXFD_NAT_NHERR   0x00100000  // No Hit Error
#define RXFD_NAT_PPPCaps 0x00000040  // PPPoE datagram encapsulated
#define RXFD_NAT_PPPoE   0x00000020  // PPPoE protocol
#define RXFD_NAT_UCKS    0x00000010  // UDP protocol with skip checksum replacement
#define RXFD_NAT_UDP     0x00000008  // apply UDP protocol
#define RXFD_NAT_TCP     0x00000004  // apply TCP protocol
#define RXFD_NAT_LAN     0x00000002  // internal (LAN) port gets hit
#define RXFD_NAT_Hit     0x00000001  // current packet is hit with NAT entry table


// Tx Frame Descriptor's Control bits
#define MACTxIntEn    0x04
#define CRCMode       0x02
#define NoCRCMode     0x00
#define PaddingMode   0x01
#define NoPaddingMode 0x00

// Tx Frame Descriptor Status
#define TXFD_TXINTR 0x0001  // Interrupt on Transmit
#define TXFD_DEF    0x0002  // Transmit deferred 
#define TXFD_TXCP   0x0008  // Transmission Completion 
#define TXFD_EXDEF  0x0010  // Exceed Deferral
#define TXFD_NCS    0x0020  // No Carrier Sense Error
#define TXFD_TXABT  0x0040  // Transmission Abort 
#define TXFD_LC     0x0080  // Late Collision 
#define TXFD_TXHA   0x0100  // Transmission halted
#define TXFD_PAU    0x0200  // Paused
#define TXFD_SQE    0x0400  // SQE error 


// Tx/Rx buffer descriptor structure
typedef struct FrameDescriptor
{
 U32 Status1; // RX - Ownership(2bits),RxStatus(14bits),Length(16bits)
              // TX - Ownership(1bits),Control bits(3bits),Reserved(28bits)
 U32 FrameDataPtr;
 U32 Status2; // RX - NAT Information/Reserved(32bits)
              // TX - TxStatus(16bits),Length(16bits)
 U32 NextFrameDescriptor;
} sFrameDescriptor;


// MAC Frame Structure
typedef struct ETH_HEADER
{
 U8 DestinationAddr[6] ;
 U8 SourceAddr[6] ;
 U8 LengthOrType[2] ;
} etheader ;

typedef struct MACFrame
{
 etheader Header ;
 U8       LLCData[1506] ;
} sMACFrame;


// MAC Tx Error Structure
typedef struct MACTxStatus
{
 U32 DEF;
 U32 TXCP;
 U32 EXDEF;
 U32 NCS;
 U32 TXABT;
 U32 LC;
 U32 TXHA;
 U32 PAU;
 U32 SQE;
 U32 TxBErr; //CMN [2002/11/01]
 U32 TxBytes;
 U32 TDU;
 U32 EMP;
} pMACTxStatus;

// MAC Rx Error Structure
typedef struct MACRxStatus
{
 U32 RP;
 U32 ALIE;
 U32 RXGD;
 U32 PTLE;
 U32 CRCE;
 U32 CFR;
 U32 RxBErr; //CMN [2002/11/01]
 U32 RxBytes;
 U32 RXOV;
 U32 RDU;
} pMACRxStatus;


// Utilities
extern void ReadErrReport(int num) ;
extern void ClearErrReport(int num) ;

// Ethernet and MAC hardware control functions
extern void LanInitialize(int num) ;
extern void MacInitialize(int num) ;
extern void TxFDInitialize(int num) ;
extern void RxFDInitialize(int num) ;
extern void ReadyMac(int num) ;
extern void MacTxGo(int num) ;
extern void MacRxOff(int num) ;
extern void SetMacAddr(int num) ;
extern void FillCamEntry(int num, int entry, U32 msw, U32 lsw);
extern void EnableCamEntry(int num, int entry);
extern void DisableCamEntry(int num, int entry);
extern void ResetPhyChip(int num) ;
extern void MiiStationWrite(int num, U32 PhyInAddr, U32 PhyAddr, U32 PhyWrData) ;
extern U32  MiiStationRead(int num, U32 PhyInAddr, U32 PhyAddr) ;
extern void MAC0_Tx_isr(void) ;
extern void MAC0_Rx_isr(void) ;
extern void MAC1_Tx_isr(void) ;
extern void MAC1_Rx_isr(void) ;
extern int  SendPacket(int num, U8 *Data,int Size) ;

#endif /* _MAC_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区电影| 亚洲一区二区综合| 亚洲欧美国产毛片在线| 男男成人高潮片免费网站| 成人中文字幕电影| 欧美成人乱码一区二区三区| 日韩伦理免费电影| 国产一区二区三区观看| 在线观看91精品国产麻豆| 国产精品久久久久婷婷| 国内精品自线一区二区三区视频| 色婷婷亚洲综合| 最新欧美精品一区二区三区| 韩国女主播成人在线观看| 在线电影国产精品| 亚洲一区二区三区视频在线| 99re66热这里只有精品3直播 | 高清av一区二区| 精品国产第一区二区三区观看体验 | 一区二区三区四区精品在线视频| 国产伦理精品不卡| 欧美成人在线直播| 日本成人在线网站| 日韩一二三四区| 日韩一区精品视频| 9191精品国产综合久久久久久| 亚洲日本va午夜在线影院| 波多野结衣亚洲一区| 国产欧美一区二区精品仙草咪| 国产在线视视频有精品| 欧美mv和日韩mv国产网站| 美女视频免费一区| 久久综合九色综合97婷婷女人| 激情小说欧美图片| 国产天堂亚洲国产碰碰| 国产91丝袜在线播放0| 国产精品乱码一区二三区小蝌蚪| 国产成人丝袜美腿| 国产精品国产精品国产专区不蜜| 99在线精品视频| 亚洲国产一二三| 欧美日韩www| 韩日欧美一区二区三区| 国产日韩欧美不卡| 色综合一区二区| 日韩精品福利网| 久久久久久影视| 91亚洲精品久久久蜜桃网站| 一区二区三区成人| 欧美高清激情brazzers| 精品一二三四在线| 国产精品三级av在线播放| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲免费在线电影| 91精品国产入口| 国产精品一区二区果冻传媒| 国产精品白丝在线| 7777精品伊人久久久大香线蕉的| 激情另类小说区图片区视频区| 国产精品色哟哟网站| 欧美日本国产视频| 丰满放荡岳乱妇91ww| 亚洲综合视频网| 精品99一区二区| 91色porny在线视频| 日本成人中文字幕| 一区视频在线播放| 欧美一区二区成人| www.成人网.com| 美女国产一区二区三区| 亚洲人吸女人奶水| 日韩一区二区免费在线电影| av电影在线不卡| 久久99精品一区二区三区三区| 亚洲中国最大av网站| 日韩欧美第一区| 色94色欧美sute亚洲线路二| 久久99在线观看| 亚洲自拍另类综合| 中文字幕va一区二区三区| 国产成人精品三级| 亚洲精品视频在线| 亚洲精品一区二区三区蜜桃下载| 91在线播放网址| 久久精品国产精品亚洲精品| 亚洲综合色自拍一区| 亚洲国产精品成人综合| 欧美v日韩v国产v| 欧美日韩国产中文| 日本韩国欧美三级| 不卡一区在线观看| 国产精品一品二品| 久久精品国产999大香线蕉| 亚洲一区在线观看视频| 国产精品视频在线看| 精品久久久久久久一区二区蜜臀| 欧美亚洲国产一区在线观看网站| 丁香亚洲综合激情啪啪综合| 毛片av一区二区| 麻豆一区二区在线| 蜜臀久久99精品久久久久宅男 | 国产精品福利一区二区| 欧美videossexotv100| 欧美日本国产一区| 在线免费视频一区二区| 99精品久久久久久| 成人av电影在线| 成人在线视频一区二区| 国产乱子伦视频一区二区三区| 精彩视频一区二区三区| 久久99精品久久只有精品| 日韩精品视频网| 免费高清成人在线| 久久99久久久久久久久久久| 欧美aaaaa成人免费观看视频| 日日骚欧美日韩| 蜜芽一区二区三区| 蜜桃视频在线一区| 国产乱子伦一区二区三区国色天香| 秋霞午夜av一区二区三区| 日韩成人免费在线| 日韩成人伦理电影在线观看| 久久99精品国产.久久久久| 麻豆精品国产91久久久久久 | 婷婷成人综合网| 日本在线不卡视频| 久久精品国产亚洲aⅴ| 精品亚洲成av人在线观看| 国产激情一区二区三区| 成人黄色大片在线观看| 色综合中文字幕国产| 91蜜桃传媒精品久久久一区二区| 一本久久a久久精品亚洲 | 91老师片黄在线观看| 色婷婷综合久色| 欧美日韩国产免费一区二区| 欧美一区二区三区视频在线| 精品国产网站在线观看| 国产欧美日韩视频在线观看| 中文字幕中文字幕一区| 亚洲成人福利片| 国产精品综合在线视频| 色婷婷精品久久二区二区蜜臀av | 国产日韩欧美亚洲| 亚洲精选视频免费看| 日韩国产精品久久| 国产东北露脸精品视频| 在线看国产日韩| 久久品道一品道久久精品| 一区二区欧美在线观看| 麻豆91精品91久久久的内涵| 成人午夜av电影| 正在播放一区二区| 国产欧美一区二区三区在线看蜜臀| 一区二区三区在线高清| 国产综合色视频| 欧美三级资源在线| 国产午夜精品久久| 天天亚洲美女在线视频| 99在线精品一区二区三区| 欧美一级黄色大片| 亚洲你懂的在线视频| 韩国欧美一区二区| 欧美日韩精品一区二区| 国产精品乱人伦中文| 狠狠色综合播放一区二区| 欧美图区在线视频| 欧美极品少妇xxxxⅹ高跟鞋| 免费美女久久99| 欧美午夜在线观看| 亚洲欧美区自拍先锋| 国产精品一二三四| 欧美一区二区视频在线观看2020 | 精品少妇一区二区三区在线播放| 自拍偷拍国产亚洲| 国产成人免费视频网站高清观看视频 | 色呦呦国产精品| 国产日韩一级二级三级| 精品亚洲国产成人av制服丝袜 | 色婷婷综合久久久久中文一区二区 | 亚洲欧美日韩一区| 国产精品系列在线观看| 日韩欧美中文字幕一区| 亚洲成人一二三| 欧洲精品一区二区| 一区二区视频在线| 色综合久久久久综合| 国产精品美女久久福利网站| 黄页网站大全一区二区| 精品少妇一区二区三区在线播放| 蜜臀av一级做a爰片久久| 欧美二区乱c少妇| 日本一不卡视频| 91精品国产乱码久久蜜臀| 亚洲国产精品久久不卡毛片| 在线观看欧美精品| 五月婷婷综合网| 91香蕉视频在线| 亚洲欧美二区三区| 91免费国产在线观看|