|
12 | 12 | #define __PHY_GENERAL_H__ |
13 | 13 | /* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */ |
14 | 14 | #define SPEED_10 10 |
15 | | -#define SPEED_100 100 |
16 | | -#define SPEED_1000 1000 |
17 | | -#define SPEED_2500 2500 |
18 | | -#define SPEED_10000 10000 |
| 15 | +#define SPEED_100 100 |
| 16 | +#define SPEED_1000 1000 |
| 17 | +#define SPEED_2500 2500 |
| 18 | +#define SPEED_10000 10000 |
19 | 19 | /* Advertisement control register. */ |
20 | 20 | #define RT_ADVERTISE_SLCT 0x001f /* Selector bits */ |
21 | 21 | #define RT_ADVERTISE_CSMA 0x0001 /* Only selector supported */ |
22 | | -#define RT_ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */ |
| 22 | +#define RT_ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */ |
23 | 23 | #define RT_ADVERTISE_1000XFULL 0x0020 /* Try for 1000BASE-X full-duplex */ |
24 | | -#define RT_ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ |
| 24 | +#define RT_ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ |
25 | 25 | #define RT_ADVERTISE_1000XHALF 0x0040 /* Try for 1000BASE-X half-duplex */ |
26 | 26 | #define RT_ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */ |
27 | 27 | #define RT_ADVERTISE_1000XPAUSE 0x0080 /* Try for 1000BASE-X pause */ |
|
31 | 31 | #define RT_ADVERTISE_PAUSE_CAP 0x0400 /* Try for pause */ |
32 | 32 | #define RT_ADVERTISE_PAUSE_ASYM 0x0800 /* Try for asymetric pause */ |
33 | 33 | #define RT_ADVERTISE_RESV 0x1000 /* Unused... */ |
34 | | -#define RT_ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */ |
| 34 | +#define RT_ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */ |
35 | 35 | #define RT_ADVERTISE_LPACK 0x4000 /* Ack link partners response */ |
36 | 36 | #define RT_ADVERTISE_NPAGE 0x8000 /* Next page bit */ |
37 | 37 |
|
|
47 | 47 | #define RT_ADVERTISED__100baseT_Full (1 << 3) |
48 | 48 | #define RT_ADVERTISED__1000baseT_Half (1 << 4) |
49 | 49 | #define RT_ADVERTISED__1000baseT_Full (1 << 5) |
50 | | -#define RT_ADVERTISED__Autoneg (1 << 6) |
51 | | -#define RT_ADVERTISED__TP (1 << 7) |
52 | | -#define RT_ADVERTISED__AUI (1 << 8) |
53 | | -#define RT_ADVERTISED__MII (1 << 9) |
54 | | -#define RT_ADVERTISED__FIBRE (1 << 10) |
55 | | -#define RT_ADVERTISED__BNC (1 << 11) |
| 50 | +#define RT_ADVERTISED__Autoneg (1 << 6) |
| 51 | +#define RT_ADVERTISED__TP (1 << 7) |
| 52 | +#define RT_ADVERTISED__AUI (1 << 8) |
| 53 | +#define RT_ADVERTISED__MII (1 << 9) |
| 54 | +#define RT_ADVERTISED__FIBRE (1 << 10) |
| 55 | +#define RT_ADVERTISED__BNC (1 << 11) |
56 | 56 | #define RT_ADVERTISED__10000baseT_Full (1 << 12) |
57 | | -#define RT_ADVERTISED__Pause (1 << 13) |
| 57 | +#define RT_ADVERTISED__Pause (1 << 13) |
58 | 58 | #define RT_ADVERTISED__Asym_Pause (1 << 14) |
59 | 59 | #define RT_ADVERTISED__2500baseX_Full (1 << 15) |
60 | 60 | #define RT_ADVERTISED__Backplane (1 << 16) |
|
67 | 67 |
|
68 | 68 | /* Basic mode status register. */ |
69 | 69 | #define RT_BMSR_ERCAP 0x0001 /* Ext-reg capability */ |
70 | | -#define RT_BMSR_JCD 0x0002 /* Jabber detected */ |
| 70 | +#define RT_BMSR_JCD 0x0002 /* Jabber detected */ |
71 | 71 | #define RT_BMSR_LSTATUS 0x0004 /* Link status */ |
72 | 72 | #define RT_BMSR_ANEGCAPABLE 0x0008 /* Able to do auto-negotiation */ |
73 | 73 | #define RT_BMSR_RFAULT 0x0010 /* Remote fault detected */ |
74 | 74 | #define RT_BMSR_ANEGCOMPLETE 0x0020 /* Auto-negotiation complete */ |
75 | 75 | #define RT_BMSR_RESV 0x00c0 /* Unused... */ |
76 | 76 | #define RT_BMSR_ESTATEN 0x0100 /* Extended Status in R15 */ |
77 | | -#define RT_BMSR_100HALF2 0x0200 /* Can do 100BASE-T2 HDX */ |
78 | | -#define RT_BMSR_100FULL2 0x0400 /* Can do 100BASE-T2 FDX */ |
| 77 | +#define RT_BMSR_100HALF2 0x0200 /* Can do 100BASE-T2 HDX */ |
| 78 | +#define RT_BMSR_100FULL2 0x0400 /* Can do 100BASE-T2 FDX */ |
79 | 79 | #define RT_BMSR_10HALF 0x0800 /* Can do 10mbps, half-duplex */ |
80 | 80 | #define RT_BMSR_10FULL 0x1000 /* Can do 10mbps, full-duplex */ |
81 | 81 | #define RT_BMSR_100HALF 0x2000 /* Can do 100mbps, half-duplex */ |
82 | 82 | #define RT_BMSR_100FULL 0x4000 /* Can do 100mbps, full-duplex */ |
83 | | -#define RT_BMSR_100BASE4 0x8000 /* Can do 100mbps, 4k packets */ |
| 83 | +#define RT_BMSR_100BASE4 0x8000 /* Can do 100mbps, 4k packets */ |
84 | 84 | /* 1000BASE-T Control register */ |
85 | 85 | #define RT_ADVERTISE_1000FULL 0x0200 /* Advertise 1000BASE-T full duplex */ |
86 | 86 | #define RT_ADVERTISE_1000HALF 0x0100 /* Advertise 1000BASE-T half duplex */ |
87 | | -#define CTL1000_AS_MASTER 0x0800 |
| 87 | +#define CTL1000_AS_MASTER 0x0800 |
88 | 88 | #define CTL1000_ENABLE_MASTER 0x1000 |
89 | 89 |
|
90 | 90 | /* Duplex, half or full. */ |
91 | 91 | #define DUPLEX_HALF 0x00 |
92 | 92 | #define DUPLEX_FULL 0x01 |
93 | 93 |
|
94 | | -#define AUTONEG_DISABLE 0x00 |
95 | | -#define AUTONEG_ENABLE 0x01 |
| 94 | +#define AUTONEG_DISABLE 0x00 |
| 95 | +#define AUTONEG_ENABLE 0x01 |
96 | 96 | #define RT_PHY_1000BTSR_MSCF 0x8000 |
97 | 97 | #define RT_PHY_1000BTSR_MSCR 0x4000 |
98 | | -#define RT_PHY_1000BTSR_LRS 0x2000 |
99 | | -#define RT_PHY_1000BTSR_RRS 0x1000 |
| 98 | +#define RT_PHY_1000BTSR_LRS 0x2000 |
| 99 | +#define RT_PHY_1000BTSR_RRS 0x1000 |
100 | 100 | #define RT_PHY_1000BTSR_1000FD 0x0800 |
101 | 101 | #define RT_PHY_1000BTSR_1000HD 0x0400 |
102 | 102 |
|
103 | 103 | /* Link partner ability register. */ |
104 | | -#define RT_LINK_PARTNER__SLCT 0x001f /* Same as advertise selector */ |
105 | | -#define RT_LINK_PARTNER__10HALF 0x0020 /* Can do 10mbps half-duplex */ |
| 104 | +#define RT_LINK_PARTNER__SLCT 0x001f /* Same as advertise selector */ |
| 105 | +#define RT_LINK_PARTNER__10HALF 0x0020 /* Can do 10mbps half-duplex */ |
106 | 106 | #define RT_LINK_PARTNER__1000XFULL 0x0020 /* Can do 1000BASE-X full-duplex */ |
107 | | -#define RT_LINK_PARTNER__10FULL 0x0040 /* Can do 10mbps full-duplex */ |
| 107 | +#define RT_LINK_PARTNER__10FULL 0x0040 /* Can do 10mbps full-duplex */ |
108 | 108 | #define RT_LINK_PARTNER__1000XHALF 0x0040 /* Can do 1000BASE-X half-duplex */ |
109 | 109 | #define RT_LINK_PARTNER__100HALF 0x0080 /* Can do 100mbps half-duplex */ |
110 | 110 | #define RT_LINK_PARTNER__1000XPAUSE 0x0080 /* Can do 1000BASE-X pause */ |
|
113 | 113 | #define RT_LINK_PARTNER__100BASE4 0x0200 /* Can do 100mbps 4k packets */ |
114 | 114 | #define RT_LINK_PARTNER__PAUSE_CAP 0x0400 /* Can pause */ |
115 | 115 | #define RT_LINK_PARTNER__PAUSE_ASYM 0x0800 /* Can pause asymetrically */ |
116 | | -#define RT_LINK_PARTNER__RESV 0x1000 /* Unused... */ |
117 | | -#define RT_LINK_PARTNER__RFAULT 0x2000 /* Link partner faulted */ |
118 | | -#define RT_LINK_PARTNER__LPACK 0x4000 /* Link partner acked us */ |
119 | | -#define RT_LINK_PARTNER__NPAGE 0x8000 /* Next page bit */ |
| 116 | +#define RT_LINK_PARTNER__RESV 0x1000 /* Unused... */ |
| 117 | +#define RT_LINK_PARTNER__RFAULT 0x2000 /* Link partner faulted */ |
| 118 | +#define RT_LINK_PARTNER__LPACK 0x4000 /* Link partner acked us */ |
| 119 | +#define RT_LINK_PARTNER__NPAGE 0x8000 /* Next page bit */ |
120 | 120 |
|
121 | 121 | #define RT_LINK_PARTNER__DUPLEX (RT_LINK_PARTNER__10FULL | RT_LINK_PARTNER__100FULL) |
122 | 122 | #define RT_LINK_PARTNER__100 (RT_LINK_PARTNER__100FULL | RT_LINK_PARTNER__100HALF | RT_LINK_PARTNER__100BASE4) |
123 | 123 | /* Expansion register for auto-negotiation. */ |
124 | | -#define RT_EXPANSION_REG_NWAY 0x0001 /* Can do N-way auto-nego */ |
125 | | -#define RT_EXPANSION_REG_LCWP 0x0002 /* Got new RX page code word */ |
| 124 | +#define RT_EXPANSION_REG_NWAY 0x0001 /* Can do N-way auto-nego */ |
| 125 | +#define RT_EXPANSION_REG_LCWP 0x0002 /* Got new RX page code word */ |
126 | 126 | #define RT_EXPANSION_REG_ENABLENPAGE 0x0004 /* This enables npage words */ |
127 | | -#define RT_EXPANSION_REG_NPCAPABLE 0x0008 /* Link partner supports npage */ |
128 | | -#define RT_EXPANSION_REG_MFAULTS 0x0010 /* Multiple faults detected */ |
129 | | -#define RT_EXPANSION_REG_RESV 0xffe0 /* Unused... */ |
| 127 | +#define RT_EXPANSION_REG_NPCAPABLE 0x0008 /* Link partner supports npage */ |
| 128 | +#define RT_EXPANSION_REG_MFAULTS 0x0010 /* Multiple faults detected */ |
| 129 | +#define RT_EXPANSION_REG_RESV 0xffe0 /* Unused... */ |
130 | 130 |
|
131 | 131 | #define RT_SUPORT_1000B_XFULL 0x8000 /* Can do 1000BX Full */ |
132 | 132 | #define RT_SUPORT_1000B_XHALF 0x4000 /* Can do 1000BX Half */ |
133 | 133 | #define RT_SUPORT_1000B_TFULL 0x2000 /* Can do 1000BT Full */ |
134 | 134 | #define RT_SUPORT_1000B_THALF 0x1000 /* Can do 1000BT Half */ |
135 | | -#define RT_PHY_ANEG_TIMEOUT 4000 |
| 135 | +#define RT_PHY_ANEG_TIMEOUT 4000 |
136 | 136 | struct rt_phy_device; |
137 | 137 |
|
138 | 138 | int rt_genphy_parse_link(struct rt_phy_device *phydev); |
|
0 commit comments