mii.h
001: 
002: 
003: 
004: 
005: davem@redhat.com
006: 
007: 
008: #ifndef __LINUX_MII_H__
009: #define __LINUX_MII_H__
010: 
011: #include <linux/types.h>
012: 
013: 
014: #define MII_BMCR                0x00    
015: #define MII_BMSR                0x01    
016: #define MII_PHYSID1             0x02    
017: #define MII_PHYSID2             0x03    
018: #define MII_ADVERTISE           0x04    
019: #define MII_LPA                 0x05    
020: #define MII_EXPANSION           0x06    
021: #define MII_CTRL1000            0x09    
022: #define MII_STAT1000            0x0a    
023: #define MII_ESTATUS             0x0f    
024: #define MII_DCOUNTER            0x12    
025: #define MII_FCSCOUNTER          0x13    
026: #define MII_NWAYTEST            0x14    
027: #define MII_RERRCOUNTER         0x15    
028: #define MII_SREVISION           0x16    
029: #define MII_RESV1               0x17    
030: #define MII_LBRERROR            0x18    
031: #define MII_PHYADDR             0x19    
032: #define MII_RESV2               0x1a    
033: #define MII_TPISTATUS           0x1b    
034: #define MII_NCONFIG             0x1c    
035: 
036: 
037: #define BMCR_RESV               0x003f  
038: #define BMCR_SPEED1000          0x0040  
039: #define BMCR_CTST               0x0080  
040: #define BMCR_FULLDPLX           0x0100  
041: #define BMCR_ANRESTART          0x0200  
042: #define BMCR_ISOLATE            0x0400  
043: #define BMCR_PDOWN              0x0800  
044: #define BMCR_ANENABLE           0x1000  
045: #define BMCR_SPEED100           0x2000  
046: #define BMCR_LOOPBACK           0x4000  
047: #define BMCR_RESET              0x8000  
048: 
049: 
050: #define BMSR_ERCAP              0x0001  
051: #define BMSR_JCD                0x0002  
052: #define BMSR_LSTATUS            0x0004  
053: #define BMSR_ANEGCAPABLE        0x0008  
054: #define BMSR_RFAULT             0x0010  
055: #define BMSR_ANEGCOMPLETE       0x0020  
056: #define BMSR_RESV               0x00c0  
057: #define BMSR_ESTATEN            0x0100  
058: #define BMSR_100HALF2           0x0200  
059: #define BMSR_100FULL2           0x0400  
060: #define BMSR_10HALF             0x0800  
061: #define BMSR_10FULL             0x1000  
062: #define BMSR_100HALF            0x2000  
063: #define BMSR_100FULL            0x4000  
064: #define BMSR_100BASE4           0x8000  
065: 
066: 
067: #define ADVERTISE_SLCT          0x001f  
068: #define ADVERTISE_CSMA          0x0001  
069: #define ADVERTISE_10HALF        0x0020  
070: #define ADVERTISE_1000XFULL     0x0020  
071: #define ADVERTISE_10FULL        0x0040  
072: #define ADVERTISE_1000XHALF     0x0040  
073: #define ADVERTISE_100HALF       0x0080  
074: #define ADVERTISE_1000XPAUSE    0x0080  
075: #define ADVERTISE_100FULL       0x0100  
076: #define ADVERTISE_1000XPSE_ASYM 0x0100  
077: #define ADVERTISE_100BASE4      0x0200  
078: #define ADVERTISE_PAUSE_CAP     0x0400  
079: #define ADVERTISE_PAUSE_ASYM    0x0800  
080: #define ADVERTISE_RESV          0x1000  
081: #define ADVERTISE_RFAULT        0x2000  
082: #define ADVERTISE_LPACK         0x4000  
083: #define ADVERTISE_NPAGE         0x8000  
084: 
085: #define ADVERTISE_FULL          (ADVERTISE_100FULL | ADVERTISE_10FULL | \
086:                                   ADVERTISE_CSMA)
087: #define ADVERTISE_ALL           (ADVERTISE_10HALF | ADVERTISE_10FULL | \
088:                                   ADVERTISE_100HALF | ADVERTISE_100FULL)
089: 
090: 
091: #define LPA_SLCT                0x001f  
092: #define LPA_10HALF              0x0020  
093: #define LPA_1000XFULL           0x0020  
094: #define LPA_10FULL              0x0040  
095: #define LPA_1000XHALF           0x0040  
096: #define LPA_100HALF             0x0080  
097: #define LPA_1000XPAUSE          0x0080  
098: #define LPA_100FULL             0x0100  
099: #define LPA_1000XPAUSE_ASYM     0x0100  
100: #define LPA_100BASE4            0x0200  
101: #define LPA_PAUSE_CAP           0x0400  
102: #define LPA_PAUSE_ASYM          0x0800  
103: #define LPA_RESV                0x1000  
104: #define LPA_RFAULT              0x2000  
105: #define LPA_LPACK               0x4000  
106: #define LPA_NPAGE               0x8000  
107: 
108: #define LPA_DUPLEX              (LPA_10FULL | LPA_100FULL)
109: #define LPA_100                 (LPA_100FULL | LPA_100HALF | LPA_100BASE4)
110: 
111: 
112: #define EXPANSION_NWAY          0x0001  
113: #define EXPANSION_LCWP          0x0002  
114: #define EXPANSION_ENABLENPAGE   0x0004  
115: #define EXPANSION_NPCAPABLE     0x0008  
116: #define EXPANSION_MFAULTS       0x0010  
117: #define EXPANSION_RESV          0xffe0  
118: 
119: #define ESTATUS_1000_TFULL      0x2000  
120: #define ESTATUS_1000_THALF      0x1000  
121: 
122: 
123: #define NWAYTEST_RESV1          0x00ff  
124: #define NWAYTEST_LOOPBACK       0x0100  
125: #define NWAYTEST_RESV2          0xfe00  
126: 
127: 
128: #define ADVERTISE_1000FULL      0x0200  
129: #define ADVERTISE_1000HALF      0x0100  
130: #define CTL1000_AS_MASTER       0x0800
131: #define CTL1000_ENABLE_MASTER   0x1000
132: 
133: 
134: #define LPA_1000LOCALRXOK       0x2000  
135: #define LPA_1000REMRXOK         0x1000  
136: #define LPA_1000FULL            0x0800  
137: #define LPA_1000HALF            0x0400  
138: 
139: 
140: #define FLOW_CTRL_TX            0x01
141: #define FLOW_CTRL_RX            0x02
142: 
143: 
144: struct mii_ioctl_data {
145:         __u16           phy_id;
146:         __u16           reg_num;
147:         __u16           val_in;
148:         __u16           val_out;
149: };
150: 
151: #endif 
152: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved