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