diff options
Diffstat (limited to 'drivers/net/igb/e1000_regs.h')
-rw-r--r-- | drivers/net/igb/e1000_regs.h | 81 |
1 files changed, 28 insertions, 53 deletions
diff --git a/drivers/net/igb/e1000_regs.h b/drivers/net/igb/e1000_regs.h index 345d1442d6d6..abb7333a1fbf 100644 --- a/drivers/net/igb/e1000_regs.h +++ b/drivers/net/igb/e1000_regs.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define E1000_EERD 0x00014 /* EEPROM Read - RW */ | 34 | #define E1000_EERD 0x00014 /* EEPROM Read - RW */ |
35 | #define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */ | 35 | #define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */ |
36 | #define E1000_MDIC 0x00020 /* MDI Control - RW */ | 36 | #define E1000_MDIC 0x00020 /* MDI Control - RW */ |
37 | #define E1000_MDICNFG 0x00E04 /* MDI Config - RW */ | ||
37 | #define E1000_SCTL 0x00024 /* SerDes Control - RW */ | 38 | #define E1000_SCTL 0x00024 /* SerDes Control - RW */ |
38 | #define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */ | 39 | #define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */ |
39 | #define E1000_FCAH 0x0002C /* Flow Control Address High -RW */ | 40 | #define E1000_FCAH 0x0002C /* Flow Control Address High -RW */ |
@@ -76,59 +77,20 @@ | |||
76 | #define E1000_FCRTV 0x02460 /* Flow Control Refresh Timer Value - RW */ | 77 | #define E1000_FCRTV 0x02460 /* Flow Control Refresh Timer Value - RW */ |
77 | 78 | ||
78 | /* IEEE 1588 TIMESYNCH */ | 79 | /* IEEE 1588 TIMESYNCH */ |
79 | #define E1000_TSYNCTXCTL 0x0B614 | 80 | #define E1000_TSYNCRXCTL 0x0B620 /* Rx Time Sync Control register - RW */ |
80 | #define E1000_TSYNCTXCTL_VALID (1<<0) | 81 | #define E1000_TSYNCTXCTL 0x0B614 /* Tx Time Sync Control register - RW */ |
81 | #define E1000_TSYNCTXCTL_ENABLED (1<<4) | 82 | #define E1000_TSYNCRXCFG 0x05F50 /* Time Sync Rx Configuration - RW */ |
82 | #define E1000_TSYNCRXCTL 0x0B620 | 83 | #define E1000_RXSTMPL 0x0B624 /* Rx timestamp Low - RO */ |
83 | #define E1000_TSYNCRXCTL_VALID (1<<0) | 84 | #define E1000_RXSTMPH 0x0B628 /* Rx timestamp High - RO */ |
84 | #define E1000_TSYNCRXCTL_ENABLED (1<<4) | 85 | #define E1000_RXSATRL 0x0B62C /* Rx timestamp attribute low - RO */ |
85 | enum { | 86 | #define E1000_RXSATRH 0x0B630 /* Rx timestamp attribute high - RO */ |
86 | E1000_TSYNCRXCTL_TYPE_L2_V2 = 0, | 87 | #define E1000_TXSTMPL 0x0B618 /* Tx timestamp value Low - RO */ |
87 | E1000_TSYNCRXCTL_TYPE_L4_V1 = (1<<1), | 88 | #define E1000_TXSTMPH 0x0B61C /* Tx timestamp value High - RO */ |
88 | E1000_TSYNCRXCTL_TYPE_L2_L4_V2 = (1<<2), | 89 | #define E1000_SYSTIML 0x0B600 /* System time register Low - RO */ |
89 | E1000_TSYNCRXCTL_TYPE_ALL = (1<<3), | 90 | #define E1000_SYSTIMH 0x0B604 /* System time register High - RO */ |
90 | E1000_TSYNCRXCTL_TYPE_EVENT_V2 = (1<<3) | (1<<1), | 91 | #define E1000_TIMINCA 0x0B608 /* Increment attributes register - RW */ |
91 | }; | 92 | #define E1000_TSAUXC 0x0B640 /* Timesync Auxiliary Control register */ |
92 | #define E1000_TSYNCRXCFG 0x05F50 | 93 | #define E1000_SYSTIMR 0x0B6F8 /* System time register Residue */ |
93 | enum { | ||
94 | E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE = 0<<0, | ||
95 | E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE = 1<<0, | ||
96 | E1000_TSYNCRXCFG_PTP_V1_FOLLOWUP_MESSAGE = 2<<0, | ||
97 | E1000_TSYNCRXCFG_PTP_V1_DELAY_RESP_MESSAGE = 3<<0, | ||
98 | E1000_TSYNCRXCFG_PTP_V1_MANAGEMENT_MESSAGE = 4<<0, | ||
99 | |||
100 | E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE = 0<<8, | ||
101 | E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE = 1<<8, | ||
102 | E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_REQ_MESSAGE = 2<<8, | ||
103 | E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_RESP_MESSAGE = 3<<8, | ||
104 | E1000_TSYNCRXCFG_PTP_V2_FOLLOWUP_MESSAGE = 8<<8, | ||
105 | E1000_TSYNCRXCFG_PTP_V2_DELAY_RESP_MESSAGE = 9<<8, | ||
106 | E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_FOLLOWUP_MESSAGE = 0xA<<8, | ||
107 | E1000_TSYNCRXCFG_PTP_V2_ANNOUNCE_MESSAGE = 0xB<<8, | ||
108 | E1000_TSYNCRXCFG_PTP_V2_SIGNALLING_MESSAGE = 0xC<<8, | ||
109 | E1000_TSYNCRXCFG_PTP_V2_MANAGEMENT_MESSAGE = 0xD<<8, | ||
110 | }; | ||
111 | #define E1000_SYSTIML 0x0B600 | ||
112 | #define E1000_SYSTIMH 0x0B604 | ||
113 | #define E1000_TIMINCA 0x0B608 | ||
114 | |||
115 | #define E1000_RXMTRL 0x0B634 | ||
116 | #define E1000_RXSTMPL 0x0B624 | ||
117 | #define E1000_RXSTMPH 0x0B628 | ||
118 | #define E1000_RXSATRL 0x0B62C | ||
119 | #define E1000_RXSATRH 0x0B630 | ||
120 | |||
121 | #define E1000_TXSTMPL 0x0B618 | ||
122 | #define E1000_TXSTMPH 0x0B61C | ||
123 | |||
124 | #define E1000_ETQF0 0x05CB0 | ||
125 | #define E1000_ETQF1 0x05CB4 | ||
126 | #define E1000_ETQF2 0x05CB8 | ||
127 | #define E1000_ETQF3 0x05CBC | ||
128 | #define E1000_ETQF4 0x05CC0 | ||
129 | #define E1000_ETQF5 0x05CC4 | ||
130 | #define E1000_ETQF6 0x05CC8 | ||
131 | #define E1000_ETQF7 0x05CCC | ||
132 | 94 | ||
133 | /* Filtering Registers */ | 95 | /* Filtering Registers */ |
134 | #define E1000_SAQF(_n) (0x5980 + 4 * (_n)) | 96 | #define E1000_SAQF(_n) (0x5980 + 4 * (_n)) |
@@ -143,7 +105,9 @@ enum { | |||
143 | #define E1000_ETQF(_n) (0x05CB0 + (4 * (_n))) /* EType Queue Fltr */ | 105 | #define E1000_ETQF(_n) (0x05CB0 + (4 * (_n))) /* EType Queue Fltr */ |
144 | 106 | ||
145 | #define E1000_RQDPC(_n) (0x0C030 + ((_n) * 0x40)) | 107 | #define E1000_RQDPC(_n) (0x0C030 + ((_n) * 0x40)) |
108 | |||
146 | /* Split and Replication RX Control - RW */ | 109 | /* Split and Replication RX Control - RW */ |
110 | #define E1000_RXPBS 0x02404 /* Rx Packet Buffer Size - RW */ | ||
147 | /* | 111 | /* |
148 | * Convenience macros | 112 | * Convenience macros |
149 | * | 113 | * |
@@ -288,10 +252,17 @@ enum { | |||
288 | #define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */ | 252 | #define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */ |
289 | #define E1000_RA 0x05400 /* Receive Address - RW Array */ | 253 | #define E1000_RA 0x05400 /* Receive Address - RW Array */ |
290 | #define E1000_RA2 0x054E0 /* 2nd half of receive address array - RW Array */ | 254 | #define E1000_RA2 0x054E0 /* 2nd half of receive address array - RW Array */ |
255 | #define E1000_PSRTYPE(_i) (0x05480 + ((_i) * 4)) | ||
291 | #define E1000_RAL(_i) (((_i) <= 15) ? (0x05400 + ((_i) * 8)) : \ | 256 | #define E1000_RAL(_i) (((_i) <= 15) ? (0x05400 + ((_i) * 8)) : \ |
292 | (0x054E0 + ((_i - 16) * 8))) | 257 | (0x054E0 + ((_i - 16) * 8))) |
293 | #define E1000_RAH(_i) (((_i) <= 15) ? (0x05404 + ((_i) * 8)) : \ | 258 | #define E1000_RAH(_i) (((_i) <= 15) ? (0x05404 + ((_i) * 8)) : \ |
294 | (0x054E4 + ((_i - 16) * 8))) | 259 | (0x054E4 + ((_i - 16) * 8))) |
260 | #define E1000_IP4AT_REG(_i) (0x05840 + ((_i) * 8)) | ||
261 | #define E1000_IP6AT_REG(_i) (0x05880 + ((_i) * 4)) | ||
262 | #define E1000_WUPM_REG(_i) (0x05A00 + ((_i) * 4)) | ||
263 | #define E1000_FFMT_REG(_i) (0x09000 + ((_i) * 8)) | ||
264 | #define E1000_FFVT_REG(_i) (0x09800 + ((_i) * 8)) | ||
265 | #define E1000_FFLT_REG(_i) (0x05F00 + ((_i) * 8)) | ||
295 | #define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */ | 266 | #define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */ |
296 | #define E1000_VT_CTL 0x0581C /* VMDq Control - RW */ | 267 | #define E1000_VT_CTL 0x0581C /* VMDq Control - RW */ |
297 | #define E1000_WUC 0x05800 /* Wakeup Control - RW */ | 268 | #define E1000_WUC 0x05800 /* Wakeup Control - RW */ |
@@ -331,6 +302,7 @@ enum { | |||
331 | #define E1000_QDE 0x02408 /* Queue Drop Enable - RW */ | 302 | #define E1000_QDE 0x02408 /* Queue Drop Enable - RW */ |
332 | #define E1000_DTXSWC 0x03500 /* DMA Tx Switch Control - RW */ | 303 | #define E1000_DTXSWC 0x03500 /* DMA Tx Switch Control - RW */ |
333 | #define E1000_RPLOLR 0x05AF0 /* Replication Offload - RW */ | 304 | #define E1000_RPLOLR 0x05AF0 /* Replication Offload - RW */ |
305 | #define E1000_UTA 0x0A000 /* Unicast Table Array - RW */ | ||
334 | #define E1000_IOVTCL 0x05BBC /* IOV Control Register */ | 306 | #define E1000_IOVTCL 0x05BBC /* IOV Control Register */ |
335 | /* These act per VF so an array friendly macro is used */ | 307 | /* These act per VF so an array friendly macro is used */ |
336 | #define E1000_P2VMAILBOX(_n) (0x00C00 + (4 * (_n))) | 308 | #define E1000_P2VMAILBOX(_n) (0x00C00 + (4 * (_n))) |
@@ -338,6 +310,7 @@ enum { | |||
338 | #define E1000_VMOLR(_n) (0x05AD0 + (4 * (_n))) | 310 | #define E1000_VMOLR(_n) (0x05AD0 + (4 * (_n))) |
339 | #define E1000_VLVF(_n) (0x05D00 + (4 * (_n))) /* VLAN Virtual Machine | 311 | #define E1000_VLVF(_n) (0x05D00 + (4 * (_n))) /* VLAN Virtual Machine |
340 | * Filter - RW */ | 312 | * Filter - RW */ |
313 | #define E1000_VMVIR(_n) (0x03700 + (4 * (_n))) | ||
341 | 314 | ||
342 | #define wr32(reg, value) (writel(value, hw->hw_addr + reg)) | 315 | #define wr32(reg, value) (writel(value, hw->hw_addr + reg)) |
343 | #define rd32(reg) (readl(hw->hw_addr + reg)) | 316 | #define rd32(reg) (readl(hw->hw_addr + reg)) |
@@ -348,4 +321,6 @@ enum { | |||
348 | #define array_rd32(reg, offset) \ | 321 | #define array_rd32(reg, offset) \ |
349 | (readl(hw->hw_addr + reg + ((offset) << 2))) | 322 | (readl(hw->hw_addr + reg + ((offset) << 2))) |
350 | 323 | ||
324 | /* DMA Coalescing registers */ | ||
325 | #define E1000_PCIEMISC 0x05BB8 /* PCIE misc config register */ | ||
351 | #endif | 326 | #endif |