qed: Introduce VFs
[cascardo/linux.git] / drivers / net / ethernet / qlogic / qed / qed_reg_addr.h
1 /* QLogic qed NIC Driver
2  * Copyright (c) 2015 QLogic Corporation
3  *
4  * This software is available under the terms of the GNU General Public License
5  * (GPL) Version 2, available from the file COPYING in the main directory of
6  * this source tree.
7  */
8
9 #ifndef REG_ADDR_H
10 #define REG_ADDR_H
11
12 #define  CDU_REG_CID_ADDR_PARAMS_CONTEXT_SIZE_SHIFT \
13         0
14
15 #define  CDU_REG_CID_ADDR_PARAMS_CONTEXT_SIZE           ( \
16                 0xfff << 0)
17
18 #define  CDU_REG_CID_ADDR_PARAMS_BLOCK_WASTE_SHIFT \
19         12
20
21 #define  CDU_REG_CID_ADDR_PARAMS_BLOCK_WASTE            ( \
22                 0xfff << 12)
23
24 #define  CDU_REG_CID_ADDR_PARAMS_NCIB_SHIFT \
25         24
26
27 #define  CDU_REG_CID_ADDR_PARAMS_NCIB                   ( \
28                 0xff << 24)
29
30 #define  XSDM_REG_OPERATION_GEN \
31         0xf80408UL
32 #define  NIG_REG_RX_BRB_OUT_EN \
33         0x500e18UL
34 #define  NIG_REG_STORM_OUT_EN \
35         0x500e08UL
36 #define  PSWRQ2_REG_L2P_VALIDATE_VFID \
37         0x240c50UL
38 #define  PGLUE_B_REG_USE_CLIENTID_IN_TAG        \
39         0x2aae04UL
40 #define  PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER        \
41         0x2aa16cUL
42 #define PGLUE_B_REG_WAS_ERROR_VF_31_0_CLR \
43         0x2aa118UL
44 #define  BAR0_MAP_REG_MSDM_RAM \
45         0x1d00000UL
46 #define  BAR0_MAP_REG_USDM_RAM \
47         0x1d80000UL
48 #define  BAR0_MAP_REG_PSDM_RAM \
49         0x1f00000UL
50 #define  BAR0_MAP_REG_TSDM_RAM \
51         0x1c80000UL
52 #define  NIG_REG_RX_LLH_BRB_GATE_DNTFWD_PERPF \
53         0x5011f4UL
54 #define  PRS_REG_SEARCH_TCP \
55         0x1f0400UL
56 #define  PRS_REG_SEARCH_UDP \
57         0x1f0404UL
58 #define  PRS_REG_SEARCH_FCOE \
59         0x1f0408UL
60 #define  PRS_REG_SEARCH_ROCE \
61         0x1f040cUL
62 #define  PRS_REG_SEARCH_OPENFLOW        \
63         0x1f0434UL
64 #define  TM_REG_PF_ENABLE_CONN \
65         0x2c043cUL
66 #define  TM_REG_PF_ENABLE_TASK \
67         0x2c0444UL
68 #define  TM_REG_PF_SCAN_ACTIVE_CONN \
69         0x2c04fcUL
70 #define  TM_REG_PF_SCAN_ACTIVE_TASK \
71         0x2c0500UL
72 #define  IGU_REG_LEADING_EDGE_LATCH \
73         0x18082cUL
74 #define  IGU_REG_TRAILING_EDGE_LATCH \
75         0x180830UL
76 #define  QM_REG_USG_CNT_PF_TX \
77         0x2f2eacUL
78 #define  QM_REG_USG_CNT_PF_OTHER        \
79         0x2f2eb0UL
80 #define  DORQ_REG_PF_DB_ENABLE \
81         0x100508UL
82 #define  QM_REG_PF_EN \
83         0x2f2ea4UL
84 #define  TCFC_REG_STRONG_ENABLE_PF \
85         0x2d0708UL
86 #define  CCFC_REG_STRONG_ENABLE_PF \
87         0x2e0708UL
88 #define  PGLUE_B_REG_PGL_ADDR_88_F0 \
89         0x2aa404UL
90 #define  PGLUE_B_REG_PGL_ADDR_8C_F0 \
91         0x2aa408UL
92 #define  PGLUE_B_REG_PGL_ADDR_90_F0 \
93         0x2aa40cUL
94 #define  PGLUE_B_REG_PGL_ADDR_94_F0 \
95         0x2aa410UL
96 #define  PGLUE_B_REG_WAS_ERROR_PF_31_0_CLR \
97         0x2aa138UL
98 #define  PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ \
99         0x2aa174UL
100 #define  MISC_REG_GEN_PURP_CR0 \
101         0x008c80UL
102 #define  MCP_REG_SCRATCH        \
103         0xe20000UL
104 #define  CNIG_REG_NW_PORT_MODE_BB_B0 \
105         0x218200UL
106 #define  MISCS_REG_CHIP_NUM \
107         0x00976cUL
108 #define  MISCS_REG_CHIP_REV \
109         0x009770UL
110 #define  MISCS_REG_CMT_ENABLED_FOR_PAIR \
111         0x00971cUL
112 #define  MISCS_REG_CHIP_TEST_REG        \
113         0x009778UL
114 #define  MISCS_REG_CHIP_METAL \
115         0x009774UL
116 #define MISCS_REG_FUNCTION_HIDE \
117         0x0096f0UL
118 #define  BRB_REG_HEADER_SIZE \
119         0x340804UL
120 #define  BTB_REG_HEADER_SIZE \
121         0xdb0804UL
122 #define  CAU_REG_LONG_TIMEOUT_THRESHOLD \
123         0x1c0708UL
124 #define  CCFC_REG_ACTIVITY_COUNTER \
125         0x2e8800UL
126 #define CCFC_REG_STRONG_ENABLE_VF \
127         0x2e070cUL
128 #define  CDU_REG_CID_ADDR_PARAMS        \
129         0x580900UL
130 #define  DBG_REG_CLIENT_ENABLE \
131         0x010004UL
132 #define  DMAE_REG_INIT \
133         0x00c000UL
134 #define  DORQ_REG_IFEN \
135         0x100040UL
136 #define DORQ_REG_DB_DROP_REASON \
137         0x100a2cUL
138 #define DORQ_REG_DB_DROP_DETAILS \
139         0x100a24UL
140 #define DORQ_REG_DB_DROP_DETAILS_ADDRESS \
141         0x100a1cUL
142 #define  GRC_REG_TIMEOUT_EN \
143         0x050404UL
144 #define GRC_REG_TIMEOUT_ATTN_ACCESS_VALID \
145         0x050054UL
146 #define GRC_REG_TIMEOUT_ATTN_ACCESS_DATA_0 \
147         0x05004cUL
148 #define GRC_REG_TIMEOUT_ATTN_ACCESS_DATA_1 \
149         0x050050UL
150 #define  IGU_REG_BLOCK_CONFIGURATION \
151         0x180040UL
152 #define  MCM_REG_INIT \
153         0x1200000UL
154 #define  MCP2_REG_DBG_DWORD_ENABLE \
155         0x052404UL
156 #define  MISC_REG_PORT_MODE \
157         0x008c00UL
158 #define  MISCS_REG_CLK_100G_MODE        \
159         0x009070UL
160 #define  MSDM_REG_ENABLE_IN1 \
161         0xfc0004UL
162 #define  MSEM_REG_ENABLE_IN \
163         0x1800004UL
164 #define  NIG_REG_CM_HDR \
165         0x500840UL
166 #define  NCSI_REG_CONFIG        \
167         0x040200UL
168 #define  PBF_REG_INIT \
169         0xd80000UL
170 #define  PTU_REG_ATC_INIT_ARRAY \
171         0x560000UL
172 #define  PCM_REG_INIT \
173         0x1100000UL
174 #define  PGLUE_B_REG_ADMIN_PER_PF_REGION        \
175         0x2a9000UL
176 #define PGLUE_B_REG_TX_ERR_WR_DETAILS2 \
177         0x2aa150UL
178 #define PGLUE_B_REG_TX_ERR_WR_ADD_31_0 \
179         0x2aa144UL
180 #define PGLUE_B_REG_TX_ERR_WR_ADD_63_32 \
181         0x2aa148UL
182 #define PGLUE_B_REG_TX_ERR_WR_DETAILS \
183         0x2aa14cUL
184 #define PGLUE_B_REG_TX_ERR_RD_ADD_31_0 \
185         0x2aa154UL
186 #define PGLUE_B_REG_TX_ERR_RD_ADD_63_32 \
187         0x2aa158UL
188 #define PGLUE_B_REG_TX_ERR_RD_DETAILS \
189         0x2aa15cUL
190 #define PGLUE_B_REG_TX_ERR_RD_DETAILS2 \
191         0x2aa160UL
192 #define PGLUE_B_REG_TX_ERR_WR_DETAILS_ICPL \
193         0x2aa164UL
194 #define PGLUE_B_REG_MASTER_ZLR_ERR_DETAILS \
195         0x2aa54cUL
196 #define PGLUE_B_REG_MASTER_ZLR_ERR_ADD_31_0 \
197         0x2aa544UL
198 #define PGLUE_B_REG_MASTER_ZLR_ERR_ADD_63_32 \
199         0x2aa548UL
200 #define PGLUE_B_REG_VF_ILT_ERR_ADD_31_0 \
201         0x2aae74UL
202 #define PGLUE_B_REG_VF_ILT_ERR_ADD_63_32 \
203         0x2aae78UL
204 #define PGLUE_B_REG_VF_ILT_ERR_DETAILS \
205         0x2aae7cUL
206 #define PGLUE_B_REG_VF_ILT_ERR_DETAILS2 \
207         0x2aae80UL
208 #define PGLUE_B_REG_LATCHED_ERRORS_CLR \
209         0x2aa3bcUL
210 #define  PRM_REG_DISABLE_PRM \
211         0x230000UL
212 #define  PRS_REG_SOFT_RST \
213         0x1f0000UL
214 #define  PSDM_REG_ENABLE_IN1 \
215         0xfa0004UL
216 #define  PSEM_REG_ENABLE_IN \
217         0x1600004UL
218 #define  PSWRQ_REG_DBG_SELECT \
219         0x280020UL
220 #define  PSWRQ2_REG_CDUT_P_SIZE \
221         0x24000cUL
222 #define  PSWHST_REG_DISCARD_INTERNAL_WRITES \
223         0x2a0040UL
224 #define  PSWHST2_REG_DBGSYN_ALMOST_FULL_THR \
225         0x29e050UL
226 #define PSWHST_REG_INCORRECT_ACCESS_VALID \
227         0x2a0070UL
228 #define PSWHST_REG_INCORRECT_ACCESS_ADDRESS \
229         0x2a0074UL
230 #define PSWHST_REG_INCORRECT_ACCESS_DATA \
231         0x2a0068UL
232 #define PSWHST_REG_INCORRECT_ACCESS_LENGTH \
233         0x2a006cUL
234 #define  PSWRD_REG_DBG_SELECT \
235         0x29c040UL
236 #define  PSWRD2_REG_CONF11 \
237         0x29d064UL
238 #define  PSWWR_REG_USDM_FULL_TH \
239         0x29a040UL
240 #define  PSWWR2_REG_CDU_FULL_TH2        \
241         0x29b040UL
242 #define  QM_REG_MAXPQSIZE_0 \
243         0x2f0434UL
244 #define  RSS_REG_RSS_INIT_EN \
245         0x238804UL
246 #define  RDIF_REG_STOP_ON_ERROR \
247         0x300040UL
248 #define  SRC_REG_SOFT_RST \
249         0x23874cUL
250 #define  TCFC_REG_ACTIVITY_COUNTER \
251         0x2d8800UL
252 #define  TCM_REG_INIT \
253         0x1180000UL
254 #define  TM_REG_PXP_READ_DATA_FIFO_INIT \
255         0x2c0014UL
256 #define  TSDM_REG_ENABLE_IN1 \
257         0xfb0004UL
258 #define  TSEM_REG_ENABLE_IN \
259         0x1700004UL
260 #define  TDIF_REG_STOP_ON_ERROR \
261         0x310040UL
262 #define  UCM_REG_INIT \
263         0x1280000UL
264 #define  UMAC_REG_IPG_HD_BKP_CNTL_BB_B0 \
265         0x051004UL
266 #define  USDM_REG_ENABLE_IN1 \
267         0xfd0004UL
268 #define  USEM_REG_ENABLE_IN \
269         0x1900004UL
270 #define  XCM_REG_INIT \
271         0x1000000UL
272 #define  XSDM_REG_ENABLE_IN1 \
273         0xf80004UL
274 #define  XSEM_REG_ENABLE_IN \
275         0x1400004UL
276 #define  YCM_REG_INIT \
277         0x1080000UL
278 #define  YSDM_REG_ENABLE_IN1 \
279         0xf90004UL
280 #define  YSEM_REG_ENABLE_IN \
281         0x1500004UL
282 #define  XYLD_REG_SCBD_STRICT_PRIO \
283         0x4c0000UL
284 #define  TMLD_REG_SCBD_STRICT_PRIO \
285         0x4d0000UL
286 #define  MULD_REG_SCBD_STRICT_PRIO \
287         0x4e0000UL
288 #define  YULD_REG_SCBD_STRICT_PRIO \
289         0x4c8000UL
290 #define  MISC_REG_SHARED_MEM_ADDR \
291         0x008c20UL
292 #define  DMAE_REG_GO_C0 \
293         0x00c048UL
294 #define  DMAE_REG_GO_C1 \
295         0x00c04cUL
296 #define  DMAE_REG_GO_C2 \
297         0x00c050UL
298 #define  DMAE_REG_GO_C3 \
299         0x00c054UL
300 #define  DMAE_REG_GO_C4 \
301         0x00c058UL
302 #define  DMAE_REG_GO_C5 \
303         0x00c05cUL
304 #define  DMAE_REG_GO_C6 \
305         0x00c060UL
306 #define  DMAE_REG_GO_C7 \
307         0x00c064UL
308 #define  DMAE_REG_GO_C8 \
309         0x00c068UL
310 #define  DMAE_REG_GO_C9 \
311         0x00c06cUL
312 #define  DMAE_REG_GO_C10        \
313         0x00c070UL
314 #define  DMAE_REG_GO_C11        \
315         0x00c074UL
316 #define  DMAE_REG_GO_C12        \
317         0x00c078UL
318 #define  DMAE_REG_GO_C13        \
319         0x00c07cUL
320 #define  DMAE_REG_GO_C14        \
321         0x00c080UL
322 #define  DMAE_REG_GO_C15        \
323         0x00c084UL
324 #define  DMAE_REG_GO_C16        \
325         0x00c088UL
326 #define  DMAE_REG_GO_C17        \
327         0x00c08cUL
328 #define  DMAE_REG_GO_C18        \
329         0x00c090UL
330 #define  DMAE_REG_GO_C19        \
331         0x00c094UL
332 #define  DMAE_REG_GO_C20        \
333         0x00c098UL
334 #define  DMAE_REG_GO_C21        \
335         0x00c09cUL
336 #define  DMAE_REG_GO_C22        \
337         0x00c0a0UL
338 #define  DMAE_REG_GO_C23        \
339         0x00c0a4UL
340 #define  DMAE_REG_GO_C24        \
341         0x00c0a8UL
342 #define  DMAE_REG_GO_C25        \
343         0x00c0acUL
344 #define  DMAE_REG_GO_C26        \
345         0x00c0b0UL
346 #define  DMAE_REG_GO_C27        \
347         0x00c0b4UL
348 #define  DMAE_REG_GO_C28        \
349         0x00c0b8UL
350 #define  DMAE_REG_GO_C29        \
351         0x00c0bcUL
352 #define  DMAE_REG_GO_C30        \
353         0x00c0c0UL
354 #define  DMAE_REG_GO_C31        \
355         0x00c0c4UL
356 #define  DMAE_REG_CMD_MEM \
357         0x00c800UL
358 #define  QM_REG_MAXPQSIZETXSEL_0        \
359         0x2f0440UL
360 #define  QM_REG_SDMCMDREADY \
361         0x2f1e10UL
362 #define  QM_REG_SDMCMDADDR \
363         0x2f1e04UL
364 #define  QM_REG_SDMCMDDATALSB \
365         0x2f1e08UL
366 #define  QM_REG_SDMCMDDATAMSB \
367         0x2f1e0cUL
368 #define  QM_REG_SDMCMDGO        \
369         0x2f1e14UL
370 #define  QM_REG_RLPFCRD \
371         0x2f4d80UL
372 #define  QM_REG_RLPFINCVAL \
373         0x2f4c80UL
374 #define  QM_REG_RLGLBLCRD \
375         0x2f4400UL
376 #define  QM_REG_RLGLBLINCVAL \
377         0x2f3400UL
378 #define  IGU_REG_ATTENTION_ENABLE \
379         0x18083cUL
380 #define  IGU_REG_ATTN_MSG_ADDR_L        \
381         0x180820UL
382 #define  IGU_REG_ATTN_MSG_ADDR_H        \
383         0x180824UL
384 #define  MISC_REG_AEU_GENERAL_ATTN_0 \
385         0x008400UL
386 #define  CAU_REG_SB_ADDR_MEMORY \
387         0x1c8000UL
388 #define  CAU_REG_SB_VAR_MEMORY \
389         0x1c6000UL
390 #define  CAU_REG_PI_MEMORY \
391         0x1d0000UL
392 #define  IGU_REG_PF_CONFIGURATION \
393         0x180800UL
394 #define  MISC_REG_AEU_ENABLE1_IGU_OUT_0 \
395         0x00849cUL
396 #define MISC_REG_AEU_AFTER_INVERT_1_IGU \
397         0x0087b4UL
398 #define  MISC_REG_AEU_MASK_ATTN_IGU \
399         0x008494UL
400 #define  IGU_REG_CLEANUP_STATUS_0 \
401         0x180980UL
402 #define  IGU_REG_CLEANUP_STATUS_1 \
403         0x180a00UL
404 #define  IGU_REG_CLEANUP_STATUS_2 \
405         0x180a80UL
406 #define  IGU_REG_CLEANUP_STATUS_3 \
407         0x180b00UL
408 #define  IGU_REG_CLEANUP_STATUS_4 \
409         0x180b80UL
410 #define  IGU_REG_COMMAND_REG_32LSB_DATA \
411         0x180840UL
412 #define  IGU_REG_COMMAND_REG_CTRL \
413         0x180848UL
414 #define  IGU_REG_BLOCK_CONFIGURATION_VF_CLEANUP_EN      ( \
415                 0x1 << 1)
416 #define  IGU_REG_BLOCK_CONFIGURATION_PXP_TPH_INTERFACE_EN       ( \
417                 0x1 << 0)
418 #define  IGU_REG_MAPPING_MEMORY \
419         0x184000UL
420 #define  MISCS_REG_GENERIC_POR_0        \
421         0x0096d4UL
422 #define  MCP_REG_NVM_CFG4 \
423         0xe0642cUL
424 #define  MCP_REG_NVM_CFG4_FLASH_SIZE    ( \
425                 0x7 << 0)
426 #define  MCP_REG_NVM_CFG4_FLASH_SIZE_SHIFT \
427         0
428 #define MCP_REG_CPU_STATE \
429         0xe05004UL
430 #define MCP_REG_CPU_EVENT_MASK \
431         0xe05008UL
432 #define PGLUE_B_REG_PF_BAR0_SIZE \
433         0x2aae60UL
434 #define PGLUE_B_REG_PF_BAR1_SIZE \
435         0x2aae64UL
436 #define PRS_REG_ENCAPSULATION_TYPE_EN   0x1f0730UL
437 #define PRS_REG_GRE_PROTOCOL            0x1f0734UL
438 #define PRS_REG_VXLAN_PORT              0x1f0738UL
439 #define PRS_REG_OUTPUT_FORMAT_4_0       0x1f099cUL
440 #define NIG_REG_ENC_TYPE_ENABLE         0x501058UL
441
442 #define NIG_REG_ENC_TYPE_ENABLE_ETH_OVER_GRE_ENABLE             (0x1 << 0)
443 #define NIG_REG_ENC_TYPE_ENABLE_ETH_OVER_GRE_ENABLE_SHIFT       0
444 #define NIG_REG_ENC_TYPE_ENABLE_IP_OVER_GRE_ENABLE              (0x1 << 1)
445 #define NIG_REG_ENC_TYPE_ENABLE_IP_OVER_GRE_ENABLE_SHIFT        1
446 #define NIG_REG_ENC_TYPE_ENABLE_VXLAN_ENABLE                    (0x1 << 2)
447 #define NIG_REG_ENC_TYPE_ENABLE_VXLAN_ENABLE_SHIFT              2
448
449 #define NIG_REG_VXLAN_PORT              0x50105cUL
450 #define PBF_REG_VXLAN_PORT              0xd80518UL
451 #define PBF_REG_NGE_PORT                0xd8051cUL
452 #define PRS_REG_NGE_PORT                0x1f086cUL
453 #define NIG_REG_NGE_PORT                0x508b38UL
454
455 #define DORQ_REG_L2_EDPM_TUNNEL_GRE_ETH_EN      0x10090cUL
456 #define DORQ_REG_L2_EDPM_TUNNEL_GRE_IP_EN       0x100910UL
457 #define DORQ_REG_L2_EDPM_TUNNEL_VXLAN_EN        0x100914UL
458 #define DORQ_REG_L2_EDPM_TUNNEL_NGE_IP_EN       0x10092cUL
459 #define DORQ_REG_L2_EDPM_TUNNEL_NGE_ETH_EN      0x100930UL
460
461 #define NIG_REG_NGE_IP_ENABLE                   0x508b28UL
462 #define NIG_REG_NGE_ETH_ENABLE                  0x508b2cUL
463 #define NIG_REG_NGE_COMP_VER                    0x508b30UL
464 #define PBF_REG_NGE_COMP_VER                    0xd80524UL
465 #define PRS_REG_NGE_COMP_VER                    0x1f0878UL
466
467 #define QM_REG_WFQPFWEIGHT      0x2f4e80UL
468 #define QM_REG_WFQVPWEIGHT      0x2fa000UL
469 #endif