⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mplregs.h

📁 NATIONAL公司DP83816芯片Linux下驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
#define WAKEON_PATRN5       0x00001000  // wake on pattern #5 match (R/W) 
#define WAKEON_PATRN6       0x00002000  // wake on pattern #6 match (R/W) 
#define WAKEON_PATRN7       0x00004000  // wake on pattern #7 match (R/W) 

#define WAKESTS_PATRN4      0x00020000  // pattern4 match wake event (ROSC) 
#define WAKESTS_PATRN5      0x00040000  // pattern5 match wake event (ROSC) 
#define WAKESTS_PATRN6      0x00080000  // pattern6 match wake event (ROSC) 
#define WAKESTS_PATRN7      0x00100000  // pattern7 match wake event (ROSC) 
#define WAKESTS_SEC_HACK    0x00200000  // magic pkt security hack event (ROSC)
#define WAKESTS_PHYSTSCHNG  0x00400000  // phy sts change wake event (ROSC)
#define WAKESTS_UNICAST     0x00800000  // unicast pkt wake event (ROSC) 
#define WAKESTS_MULTICAST   0x01000000  // multicast pkt wake event (ROSC) 
#define WAKESTS_BROADCAST   0x02000000  // broadcast pkt wake event (ROSC) 
#define WAKESTS_ARPPKT      0x04000000  // ARP pkt wake event (ROSC) 
#define WAKESTS_PATRN0      0x08000000  // pattern0 match wake event (ROSC) 
#define WAKESTS_PATRN1      0x10000000  // pattern1 match wake event (ROSC) 
#define WAKESTS_PATRN2      0x20000000  // pattern2 match wake event (ROSC) 
#define WAKESTS_PATRN3      0x40000000  // pattern3 match wake event (ROSC) 
#define WAKESTS_MAGICPKT    0x80000000  // magic pkt wake event (ROSC) 

#define WAKEON_MASK         0x0000EFFF  // Alll wake-on bits

//**************************************************************
// PCR - Pause Control / Status Register.
//***************************************************************
#define PAUSEVAL_MASK           0x0000FFFF  // pause cntr value mask 

#define PS_TX_DP83818           0x00020000  // Manual pause frame load enable 
#define PS_TX                   0x00010000  // Manual pause frame load enable 

#define PS_DA                   0x20000000  // en pause  rcv sent to MAC addr
                                            //  or any pattern match (R/W) 
#define PS_MCAST                0x40000000  // en pause pkt rcv sent to IEEE
                                            //  reserved mcast address (R/W) 
#define RXPAUSE_EN              0x80000000  // en. pause frame reception (R/W) 

// pause threshold low values - rx data fifo  - DP83818+
#define PTHRESHLO_DFIFO_MASK    0x000C0000  // data fifo thresh low mask (R/W) 
#define PTHRESHLO_DFIFO_DIS     0x00000000  // low thresh disabled (R/W) 
#define PTHRESHLO_DFIFO512      0x00040000  // low thresh < 512 bytes (R/W) 
#define PTHRESHLO_DFIFO1024     0x00080000  // low thresh < 1K bytes (R/W) 
#define PTHRESHLO_DFIFO1536     0x000C0000  // low thresh < 1536 bytes (R/W) 

// pause threshold hi values - rx data fifo  - DP83818+
#define PTHRESHHI_DFIFO_MASK    0x00300000  // data fifo thresh hi mask (R/W) 
#define PTHRESHHI_DFIFO_DIS     0x00000000  // hi thresh disabled (R/W) 
#define PTHRESHHI_DFIFO512      0x00100000  // hi thresh >= 512 bytes (R/W) 
#define PTHRESHHI_DFIFO1024     0x00200000  // hi thresh >= 1K bytes (R/W) 
#define PTHRESHHI_DFIFO1536     0x00300000  // hi thresh >= 2K bytes (R/W) 

// pause threshold low values - rx status fifo  - DP83818+
#define PTHRESHLO_SFIFO_MASK    0x00C00000  // stat fifo thresh low mask (R/W) 
#define PTHRESHLO_SFIFO_DIS     0x00000000  // low thresh disabled (R/W) 
#define PTHRESHLO_SFIFO2PKTS    0x00400000  // low thresh < 2 pkts (R/W) 
#define PTHRESHLO_SFIFO4PKTS    0x00800000  // low thresh < 4 pkts (R/W) 
#define PTHRESHLO_SFIFO8PKTS    0x00C00000  // low thresh < 8 pkts (R/W) 

// pause threshold hi values - rx status fifo  - DP83818+
#define PTHRESHHI_SFIFO_MASK    0x03000000  // stat fifo thresh hi mask (R/W) 
#define PTHRESHHI_SFIFO_DIS     0x00000000  // hi thresh disabled (R/W) 
#define PTHRESHHI_SFIFO2PKTS    0x01000000  // hi thresh = 2 or more pkts (R/W) 
#define PTHRESHHI_SFIFO4PKTS    0x02000000  // hi thresh = 4 or more pkts (R/W) 
#define PTHRESHHI_SFIFO8PKTS    0x03000000  // hi thresh = 4 or more pkts (R/W) 



//**************************************************************
// RFCR - Receive Filter Control Register.
//***************************************************************
#define RXFLTRAM_ADDRMASK   0x000007ff

// FM - Need to check
#define MAX_FILTER_ROWS     32
#define MAX_FILTER_COLS     16
#define HASH_TABLE_INDEX    0x200       // beginning of the mcast/ucast hash
#define RCVPATTERNS_ADDR    0x280       // beginning of the receive pattern
                                        //  buffers 

#define ACCEPT_PTRNMATCH4   0x00008000  // en pattern match 0 (R/W) 
#define ACCEPT_PTRNMATCH5   0x00010000  // en pattern match 1 (R/W) 
#define ACCEPT_PTRNMATCH6   0x00020000  // en pattern match 2 (R/W) 
#define ACCEPT_PTRNMATCH7   0x00040000  // en pattern match 3 (R/W) 
#define IGNORE_ADDR_ULBIT   0x00080000  // ignore U/L bit in dest addr (R/W) 
#define UNICASTHASH_EN      0x00100000  // en unicast hash table (R/W) 
#define MCASTHASH_EN        0x00200000  // en multicast hash table (R/W) 
#define ACCEPT_ALLARP       0x00400000  // en reception of all ARP pkts (R/W) 

#define PATTRNMATCH_MASK    0x07800000  // pattern match en mask (R/W) 
#define ACCEPT_PTRNMATCH0   0x00800000  // en pattern match 0 (R/W) 
#define ACCEPT_PTRNMATCH1   0x01000000  // en pattern match 1 (R/W) 
#define ACCEPT_PTRNMATCH2   0x02000000  // en pattern match 2 (R/W) 
#define ACCEPT_PTRNMATCH3   0x04000000  // en pattern match 3 (R/W) 
#define ACCEPT_PERFECTMATCH 0x08000000  // en perfect match (R/W) 
#define ACCEPT_ALLUNICAST   0x10000000  // en reception of all unicast (R/W) 
#define ACCEPT_ALLMCAST     0x20000000  // en reception of all multicast (R/W) 
#define ACCEPT_ALLBCAST     0x40000000  // en reception of all broadcast (R/W) 
#define RXFLTR_EN           0x80000000  // ena recevie filtering.  
                                        //  Must be cleared to
                                        //   set other filter bits. (R/W) 

//**************************************************************
// RFDR - Receive Filter Data Register.
//***************************************************************
#define RXFLTRDATA_MASK     0x0000FFFF  // Recieve filter data mask (R/W) 
#define RXFLTRMSKBITS_MASK  0x00030000  // recive filter byte mask bits (R/W) 
#define RXFLTRMSKBIT_SHIFT  16          // required shift to point to the 
                                        //  mask bits 


//**************************************************************
// MIBC - MIB Control Register
//***************************************************************
#define MIBCNTRS_WRN    0x00000001  // Warning Test Indicator  (RO) 
#define MIBCNTRS_FREEZE 0x00000002  // freeze mib counters (WR0) 
#define MIBCNTRS_CLR    0x00000004  // clear all mib counters (W/R0) 
#define MIBCNTRS_STRB   0x00000008  // Strobe MIB counter (R/W) - Test Only 


//**************************************************************
// PQCR    - Priority Queuing Control Register
//***************************************************************
#define TXPRIOQ_EN  0x00000001  // en tx priority queuing (R/W) 
#define ROTPRIO_EN  0x00000002  // en rotating priority (i.e. 01230) If clear,
                                //  fixed priority (3 highest, 0 lowest) (R/W) 
#define Q0_QUOTA_SHIFT 8  // shift for Q0 quota (when ROTPRIO_EN set)
#define Q1_QUOTA_SHIFT 14 // shift for Q1 quota (when ROTPRIO_EN set)
#define Q2_QUOTA_SHIFT 20 // shift for Q2 quota (when ROTPRIO_EN set)
#define Q3_QUOTA_SHIFT 26 // shift for Q3 quota (when ROTPRIO_EN set)

//**************************************************************
// VRCR    -  VLAN Rx Control Reg
//***************************************************************
#define VTDEN 0x00000001  // VLAN tag detection enable
#define VTREN 0x00000002  // VLAN tag removal enable
#define DVTF  0x00000004  // Discard VLAN tagged frame
#define DUTF  0x00000008  // Discard untagged frame

//**************************************************************
// VTCR    -  VLAN Tx Control Reg
//***************************************************************
#define VGTI   0x00000001  // VLAN Global tag insertion
#define VPPTI  0x00000002  // VLAN per pkt tag insertion
#define VPAD68 0x00000004  // Tag VLAN frames to 68 bytes

#define VTCI_MASK  0x0000FFFF // tag mask
#define VTCI_SHIFT 16        // shift for tag contol field

//**************************************************************
// PHY Registers
//***************************************************************

// MII Base register offsets
#define MII_BMCR        0x00
#define MII_BMSR        0x01
#define MII_PHYIDR1     0x02
#define MII_PHYIDR2     0x03
#define MII_ANAR        0x04
#define MII_ANLPAR      0x05
#define MII_ANER        0x06
#define MII_ANNPTR      0x07

// BMCR - Basic Mode Control Register Definitions
#define PHY_RESET       0x8000     // Initiate soft reset of PHY
#define PHY_LOOPBACK    0x4000     // Put PHY in loopback mode
#define FORCE_SPEED_100 0x2000     // Force mode - 100Mbps
#define FORCE_SPEED_10  0x0000     // Force mode - 10Mbps
#define AUTONEG_ENABLE  0x1000     // Enable Auto-Neg
#define PHY_POWERDOWN   0x0800     // Power down the PHY
#define ISOLATE_PORT    0x0400     // Isolate this port from the MII
#define AUTONEG_RESTART 0x0200     // Restart Auto-Neg
#define FORCE_MODE_FD   0x0100     // Force mode - Full duplex
#define FORCE_MODE_HD   0x0000     // Force mode - Half duplex
#define COLL_TEST       0x0080     // Start Collision test

// BMSR - Basic Mode Status Register Definitions
#define AUTONEG_COMP    0x0020     // Auto nego process done
#define LINK_STATUS     0x0004     // Link Up
#define JABBER_DET      0x0002     // Jabber detected

// ANAR Definitions.
#define NP              0x8000     // Next Page Indication
#define ADV_RF          0x2000     // Advertise remote fault detection
#define ADV_ASM_DIR     0x0800     // Advertise Asymmetrical Pause
#define ADV_PAUSE       0x0400     // Advertise Symmetrical Pause
#define ADV_100BASET4   0x0200     // 100BASE-T4 Support
#define ADV_100BASET_FD 0x0100     // 100BASE-TX Full Duplex Support
#define ADV_100BASET_HD 0x0080     // 100BASE-TX Half Duplex Support
#define ADV_10BASET_FD  0x0040     // 10BASE-TX Full Duplex Support
#define ADV_10BASET_HD  0x0020     // 10BASE-TX Half Duplex Support
#define PSB             0x0001     // Protocol Selection - 802.3u

// PHYSTS Definitions - Some uncommon bits are not populated
#define POL_STS         0x1000     // Set when Inverted polarity is detected
#define INT_STS         0x0080     // Set when an internal interrupt is pending
#define RF_STS          0x0040     // Set when remote fault condition is 
                                   //  detected
#define JABBER_STS       0x0020    // Set when Jabber detected on line
#define AUTONEG_DONE_STS 0x0010    // Set when Auto-Neg is complete
#define LOOPBACK_STS     0x0008    // Set when PHY is in loopback mode
#define DUPLEX_FULL_STS  0x0004    // Set for Full duplex, reset for half
#define SPEED_10_STS     0x0002    // Set for 10Mbps, reset for 100Mbps
#define LINK_STS         0x0001    // Set when valid link is established

// MICR Definitions
#define PHY_INT          0x0002    // Propagate PHY intr to MAC
#define TINT             0x0001    // Indicate PHY to generate test intr

// MISR Definitions
#define MSK_LINK         0x4000    // Mask Link interrupt
#define MSK_ANC          0x0800    // Mask Auto-Neg done interrupt

#endif // _MPLREGS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -