net/bnxt: update multi device design
[dpdk.git] / drivers / net / bnxt / tf_core / cfa_resource_types.h
1 /*
2  * Copyright(c) 2001-2020, Broadcom. All rights reserved. The
3  * term Broadcom refers to Broadcom Inc. and/or its subsidiaries.
4  * Proprietary and Confidential Information.
5  *
6  * This source file is the property of Broadcom Corporation, and
7  * may not be copied or distributed in any isomorphic form without
8  * the prior written consent of Broadcom Corporation.
9  *
10  * DO NOT MODIFY!!! This file is automatically generated.
11  */
12
13 #ifndef _CFA_RESOURCE_TYPES_H_
14 #define _CFA_RESOURCE_TYPES_H_
15 /*
16  * This is the constant used to define invalid CFA
17  * resource types across all devices.
18  */
19 #define CFA_RESOURCE_TYPE_INVALID 65535
20
21 /* L2 Context TCAM */
22 #define CFA_RESOURCE_TYPE_P59_L2_CTXT_TCAM    0x0UL
23 /* Profile Func */
24 #define CFA_RESOURCE_TYPE_P59_PROF_FUNC       0x1UL
25 /* Profile TCAM */
26 #define CFA_RESOURCE_TYPE_P59_PROF_TCAM       0x2UL
27 /* Exact Match Profile Id */
28 #define CFA_RESOURCE_TYPE_P59_EM_PROF_ID      0x3UL
29 /* Wildcard TCAM Profile Id */
30 #define CFA_RESOURCE_TYPE_P59_WC_TCAM_PROF_ID 0x4UL
31 /* Wildcard TCAM */
32 #define CFA_RESOURCE_TYPE_P59_WC_TCAM         0x5UL
33 /* Meter Profile */
34 #define CFA_RESOURCE_TYPE_P59_METER_PROF      0x6UL
35 /* Meter */
36 #define CFA_RESOURCE_TYPE_P59_METER           0x7UL
37 /* Meter */
38 #define CFA_RESOURCE_TYPE_P59_MIRROR          0x8UL
39 /* Source Properties TCAM */
40 #define CFA_RESOURCE_TYPE_P59_SP_TCAM         0x9UL
41 /* Exact Match Flexible Key Builder */
42 #define CFA_RESOURCE_TYPE_P59_EM_FKB          0xaUL
43 /* Wildcard Flexible Key Builder */
44 #define CFA_RESOURCE_TYPE_P59_WC_FKB          0xbUL
45 /* Table Scope */
46 #define CFA_RESOURCE_TYPE_P59_TBL_SCOPE       0xcUL
47 /* L2 Func */
48 #define CFA_RESOURCE_TYPE_P59_L2_FUNC         0xdUL
49 /* EPOCH */
50 #define CFA_RESOURCE_TYPE_P59_EPOCH           0xeUL
51 /* Metadata */
52 #define CFA_RESOURCE_TYPE_P59_METADATA        0xfUL
53 /* Connection Tracking Rule TCAM */
54 #define CFA_RESOURCE_TYPE_P59_CT_RULE_TCAM    0x10UL
55 /* Range Profile */
56 #define CFA_RESOURCE_TYPE_P59_RANGE_PROF      0x11UL
57 /* Range */
58 #define CFA_RESOURCE_TYPE_P59_RANGE           0x12UL
59 /* Link Aggrigation */
60 #define CFA_RESOURCE_TYPE_P59_LAG             0x13UL
61 /* VEB TCAM */
62 #define CFA_RESOURCE_TYPE_P59_VEB_TCAM        0x14UL
63 #define CFA_RESOURCE_TYPE_P59_LAST           CFA_RESOURCE_TYPE_P59_VEB_TCAM
64
65
66 /* Multicast Group */
67 #define CFA_RESOURCE_TYPE_P58_MCG             0x0UL
68 /* Encap 8 byte record */
69 #define CFA_RESOURCE_TYPE_P58_ENCAP_8B        0x1UL
70 /* Encap 16 byte record */
71 #define CFA_RESOURCE_TYPE_P58_ENCAP_16B       0x2UL
72 /* Encap 64 byte record */
73 #define CFA_RESOURCE_TYPE_P58_ENCAP_64B       0x3UL
74 /* Source Property MAC */
75 #define CFA_RESOURCE_TYPE_P58_SP_MAC          0x4UL
76 /* Source Property MAC and IPv4 */
77 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV4     0x5UL
78 /* Source Property MAC and IPv6 */
79 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV6     0x6UL
80 /* Network Address Translation Source Port */
81 #define CFA_RESOURCE_TYPE_P58_NAT_SPORT       0x7UL
82 /* Network Address Translation Destination Port */
83 #define CFA_RESOURCE_TYPE_P58_NAT_DPORT       0x8UL
84 /* Network Address Translation Source IPv4 address */
85 #define CFA_RESOURCE_TYPE_P58_NAT_S_IPV4      0x9UL
86 /* Network Address Translation Destination IPv4 address */
87 #define CFA_RESOURCE_TYPE_P58_NAT_D_IPV4      0xaUL
88 /* Network Address Translation Source IPv4 address */
89 #define CFA_RESOURCE_TYPE_P58_NAT_S_IPV6      0xbUL
90 /* Network Address Translation Destination IPv4 address */
91 #define CFA_RESOURCE_TYPE_P58_NAT_D_IPV6      0xcUL
92 /* Meter */
93 #define CFA_RESOURCE_TYPE_P58_METER           0xdUL
94 /* Flow State */
95 #define CFA_RESOURCE_TYPE_P58_FLOW_STATE      0xeUL
96 /* Full Action Records */
97 #define CFA_RESOURCE_TYPE_P58_FULL_ACTION     0xfUL
98 /* Action Record Format 0 */
99 #define CFA_RESOURCE_TYPE_P58_FORMAT_0_ACTION 0x10UL
100 /* Action Record Format 2 */
101 #define CFA_RESOURCE_TYPE_P58_FORMAT_2_ACTION 0x11UL
102 /* Action Record Format 3 */
103 #define CFA_RESOURCE_TYPE_P58_FORMAT_3_ACTION 0x12UL
104 /* Action Record Format 4 */
105 #define CFA_RESOURCE_TYPE_P58_FORMAT_4_ACTION 0x13UL
106 /* L2 Context TCAM */
107 #define CFA_RESOURCE_TYPE_P58_L2_CTXT_TCAM    0x14UL
108 /* Profile Func */
109 #define CFA_RESOURCE_TYPE_P58_PROF_FUNC       0x15UL
110 /* Profile TCAM */
111 #define CFA_RESOURCE_TYPE_P58_PROF_TCAM       0x16UL
112 /* Exact Match Profile Id */
113 #define CFA_RESOURCE_TYPE_P58_EM_PROF_ID      0x17UL
114 /* Wildcard Profile Id */
115 #define CFA_RESOURCE_TYPE_P58_WC_TCAM_PROF_ID 0x18UL
116 /* Exact Match Record */
117 #define CFA_RESOURCE_TYPE_P58_EM_REC          0x19UL
118 /* Wildcard TCAM */
119 #define CFA_RESOURCE_TYPE_P58_WC_TCAM         0x1aUL
120 /* Meter profile */
121 #define CFA_RESOURCE_TYPE_P58_METER_PROF      0x1bUL
122 /* Meter */
123 #define CFA_RESOURCE_TYPE_P58_MIRROR          0x1cUL
124 /* Source Property TCAM */
125 #define CFA_RESOURCE_TYPE_P58_SP_TCAM         0x1dUL
126 /* Exact Match Flexible Key Builder */
127 #define CFA_RESOURCE_TYPE_P58_EM_FKB          0x1eUL
128 /* Wildcard Flexible Key Builder */
129 #define CFA_RESOURCE_TYPE_P58_WC_FKB          0x1fUL
130 /* VEB TCAM */
131 #define CFA_RESOURCE_TYPE_P58_VEB_TCAM        0x20UL
132 #define CFA_RESOURCE_TYPE_P58_LAST           CFA_RESOURCE_TYPE_P58_VEB_TCAM
133
134
135 /* Multicast Group */
136 #define CFA_RESOURCE_TYPE_P45_MCG             0x0UL
137 /* Encap 8 byte record */
138 #define CFA_RESOURCE_TYPE_P45_ENCAP_8B        0x1UL
139 /* Encap 16 byte record */
140 #define CFA_RESOURCE_TYPE_P45_ENCAP_16B       0x2UL
141 /* Encap 64 byte record */
142 #define CFA_RESOURCE_TYPE_P45_ENCAP_64B       0x3UL
143 /* Source Property MAC */
144 #define CFA_RESOURCE_TYPE_P45_SP_MAC          0x4UL
145 /* Source Property MAC and IPv4 */
146 #define CFA_RESOURCE_TYPE_P45_SP_MAC_IPV4     0x5UL
147 /* Source Property MAC and IPv6 */
148 #define CFA_RESOURCE_TYPE_P45_SP_MAC_IPV6     0x6UL
149 /* 64B Counters */
150 #define CFA_RESOURCE_TYPE_P45_COUNTER_64B     0x7UL
151 /* Network Address Translation Source Port */
152 #define CFA_RESOURCE_TYPE_P45_NAT_SPORT       0x8UL
153 /* Network Address Translation Destination Port */
154 #define CFA_RESOURCE_TYPE_P45_NAT_DPORT       0x9UL
155 /* Network Address Translation Source IPv4 address */
156 #define CFA_RESOURCE_TYPE_P45_NAT_S_IPV4      0xaUL
157 /* Network Address Translation Destination IPv4 address */
158 #define CFA_RESOURCE_TYPE_P45_NAT_D_IPV4      0xbUL
159 /* Network Address Translation Source IPv6 address */
160 #define CFA_RESOURCE_TYPE_P45_NAT_S_IPV6      0xcUL
161 /* Network Address Translation Destination IPv6 address */
162 #define CFA_RESOURCE_TYPE_P45_NAT_D_IPV6      0xdUL
163 /* Meter */
164 #define CFA_RESOURCE_TYPE_P45_METER           0xeUL
165 /* Flow State */
166 #define CFA_RESOURCE_TYPE_P45_FLOW_STATE      0xfUL
167 /* Full Action Records */
168 #define CFA_RESOURCE_TYPE_P45_FULL_ACTION     0x10UL
169 /* Action Record Format 0 */
170 #define CFA_RESOURCE_TYPE_P45_FORMAT_0_ACTION 0x11UL
171 /* Action Record Format 2 */
172 #define CFA_RESOURCE_TYPE_P45_FORMAT_2_ACTION 0x12UL
173 /* Action Record Format 3 */
174 #define CFA_RESOURCE_TYPE_P45_FORMAT_3_ACTION 0x13UL
175 /* Action Record Format 4 */
176 #define CFA_RESOURCE_TYPE_P45_FORMAT_4_ACTION 0x14UL
177 /* L2 Context TCAM */
178 #define CFA_RESOURCE_TYPE_P45_L2_CTXT_TCAM    0x15UL
179 /* Profile Func */
180 #define CFA_RESOURCE_TYPE_P45_PROF_FUNC       0x16UL
181 /* Profile TCAM */
182 #define CFA_RESOURCE_TYPE_P45_PROF_TCAM       0x17UL
183 /* Exact Match Profile Id */
184 #define CFA_RESOURCE_TYPE_P45_EM_PROF_ID      0x18UL
185 /* Exact Match Record */
186 #define CFA_RESOURCE_TYPE_P45_EM_REC          0x19UL
187 /* Wildcard Profile Id */
188 #define CFA_RESOURCE_TYPE_P45_WC_TCAM_PROF_ID 0x1aUL
189 /* Wildcard TCAM */
190 #define CFA_RESOURCE_TYPE_P45_WC_TCAM         0x1bUL
191 /* Meter profile */
192 #define CFA_RESOURCE_TYPE_P45_METER_PROF      0x1cUL
193 /* Meter */
194 #define CFA_RESOURCE_TYPE_P45_MIRROR          0x1dUL
195 /* Source Property TCAM */
196 #define CFA_RESOURCE_TYPE_P45_SP_TCAM         0x1eUL
197 /* VEB TCAM */
198 #define CFA_RESOURCE_TYPE_P45_VEB_TCAM        0x1fUL
199 #define CFA_RESOURCE_TYPE_P45_LAST           CFA_RESOURCE_TYPE_P45_VEB_TCAM
200
201
202 /* Multicast Group */
203 #define CFA_RESOURCE_TYPE_P4_MCG             0x0UL
204 /* Encap 8 byte record */
205 #define CFA_RESOURCE_TYPE_P4_ENCAP_8B        0x1UL
206 /* Encap 16 byte record */
207 #define CFA_RESOURCE_TYPE_P4_ENCAP_16B       0x2UL
208 /* Encap 64 byte record */
209 #define CFA_RESOURCE_TYPE_P4_ENCAP_64B       0x3UL
210 /* Source Property MAC */
211 #define CFA_RESOURCE_TYPE_P4_SP_MAC          0x4UL
212 /* Source Property MAC and IPv4 */
213 #define CFA_RESOURCE_TYPE_P4_SP_MAC_IPV4     0x5UL
214 /* Source Property MAC and IPv6 */
215 #define CFA_RESOURCE_TYPE_P4_SP_MAC_IPV6     0x6UL
216 /* 64B Counters */
217 #define CFA_RESOURCE_TYPE_P4_COUNTER_64B     0x7UL
218 /* Network Address Translation Source Port */
219 #define CFA_RESOURCE_TYPE_P4_NAT_SPORT       0x8UL
220 /* Network Address Translation Destination Port */
221 #define CFA_RESOURCE_TYPE_P4_NAT_DPORT       0x9UL
222 /* Network Address Translation Source IPv4 address */
223 #define CFA_RESOURCE_TYPE_P4_NAT_S_IPV4      0xaUL
224 /* Network Address Translation Destination IPv4 address */
225 #define CFA_RESOURCE_TYPE_P4_NAT_D_IPV4      0xbUL
226 /* Network Address Translation Source IPv6 address */
227 #define CFA_RESOURCE_TYPE_P4_NAT_S_IPV6      0xcUL
228 /* Network Address Translation Destination IPv6 address */
229 #define CFA_RESOURCE_TYPE_P4_NAT_D_IPV6      0xdUL
230 /* Meter */
231 #define CFA_RESOURCE_TYPE_P4_METER           0xeUL
232 /* Flow State */
233 #define CFA_RESOURCE_TYPE_P4_FLOW_STATE      0xfUL
234 /* Full Action Records */
235 #define CFA_RESOURCE_TYPE_P4_FULL_ACTION     0x10UL
236 /* Action Record Format 0 */
237 #define CFA_RESOURCE_TYPE_P4_FORMAT_0_ACTION 0x11UL
238 /* Action Record Format 2 */
239 #define CFA_RESOURCE_TYPE_P4_FORMAT_2_ACTION 0x12UL
240 /* Action Record Format 3 */
241 #define CFA_RESOURCE_TYPE_P4_FORMAT_3_ACTION 0x13UL
242 /* Action Record Format 4 */
243 #define CFA_RESOURCE_TYPE_P4_FORMAT_4_ACTION 0x14UL
244 /* L2 Context TCAM */
245 #define CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM    0x15UL
246 /* Profile Func */
247 #define CFA_RESOURCE_TYPE_P4_PROF_FUNC       0x16UL
248 /* Profile TCAM */
249 #define CFA_RESOURCE_TYPE_P4_PROF_TCAM       0x17UL
250 /* Exact Match Profile Id */
251 #define CFA_RESOURCE_TYPE_P4_EM_PROF_ID      0x18UL
252 /* Exact Match Record */
253 #define CFA_RESOURCE_TYPE_P4_EM_REC          0x19UL
254 /* Wildcard Profile Id */
255 #define CFA_RESOURCE_TYPE_P4_WC_TCAM_PROF_ID 0x1aUL
256 /* Wildcard TCAM */
257 #define CFA_RESOURCE_TYPE_P4_WC_TCAM         0x1bUL
258 /* Meter profile */
259 #define CFA_RESOURCE_TYPE_P4_METER_PROF      0x1cUL
260 /* Meter */
261 #define CFA_RESOURCE_TYPE_P4_MIRROR          0x1dUL
262 /* Source Property TCAM */
263 #define CFA_RESOURCE_TYPE_P4_SP_TCAM         0x1eUL
264 #define CFA_RESOURCE_TYPE_P4_LAST           CFA_RESOURCE_TYPE_P4_SP_TCAM
265
266
267 #endif /* _CFA_RESOURCE_TYPES_H_ */