6e79facec166c24d38139d5301d52163e75528b6
[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 /* L2 Context REMAP */
24 #define CFA_RESOURCE_TYPE_P59_L2_CTXT_REMAP   0x1UL
25 /* Profile Func */
26 #define CFA_RESOURCE_TYPE_P59_PROF_FUNC       0x2UL
27 /* Profile TCAM */
28 #define CFA_RESOURCE_TYPE_P59_PROF_TCAM       0x3UL
29 /* Exact Match Profile Id */
30 #define CFA_RESOURCE_TYPE_P59_EM_PROF_ID      0x4UL
31 /* Wildcard TCAM Profile Id */
32 #define CFA_RESOURCE_TYPE_P59_WC_TCAM_PROF_ID 0x5UL
33 /* Wildcard TCAM */
34 #define CFA_RESOURCE_TYPE_P59_WC_TCAM         0x6UL
35 /* Meter Profile */
36 #define CFA_RESOURCE_TYPE_P59_METER_PROF      0x7UL
37 /* Meter */
38 #define CFA_RESOURCE_TYPE_P59_METER           0x8UL
39 /* Meter */
40 #define CFA_RESOURCE_TYPE_P59_MIRROR          0x9UL
41 /* Source Properties TCAM */
42 #define CFA_RESOURCE_TYPE_P59_SP_TCAM         0xaUL
43 /* Exact Match Flexible Key Builder */
44 #define CFA_RESOURCE_TYPE_P59_EM_FKB          0xbUL
45 /* Wildcard Flexible Key Builder */
46 #define CFA_RESOURCE_TYPE_P59_WC_FKB          0xcUL
47 /* Table Scope */
48 #define CFA_RESOURCE_TYPE_P59_TBL_SCOPE       0xdUL
49 /* L2 Func */
50 #define CFA_RESOURCE_TYPE_P59_L2_FUNC         0xeUL
51 /* EPOCH */
52 #define CFA_RESOURCE_TYPE_P59_EPOCH           0xfUL
53 /* Metadata */
54 #define CFA_RESOURCE_TYPE_P59_METADATA        0x10UL
55 /* Connection Tracking Rule TCAM */
56 #define CFA_RESOURCE_TYPE_P59_CT_RULE_TCAM    0x11UL
57 /* Range Profile */
58 #define CFA_RESOURCE_TYPE_P59_RANGE_PROF      0x12UL
59 /* Range */
60 #define CFA_RESOURCE_TYPE_P59_RANGE           0x13UL
61 /* Link Aggrigation */
62 #define CFA_RESOURCE_TYPE_P59_LAG             0x14UL
63 /* VEB TCAM */
64 #define CFA_RESOURCE_TYPE_P59_VEB_TCAM        0x15UL
65 #define CFA_RESOURCE_TYPE_P59_LAST           CFA_RESOURCE_TYPE_P59_VEB_TCAM
66
67
68 /* Multicast Group */
69 #define CFA_RESOURCE_TYPE_P58_MCG             0x0UL
70 /* Encap 8 byte record */
71 #define CFA_RESOURCE_TYPE_P58_ENCAP_8B        0x1UL
72 /* Encap 16 byte record */
73 #define CFA_RESOURCE_TYPE_P58_ENCAP_16B       0x2UL
74 /* Encap 64 byte record */
75 #define CFA_RESOURCE_TYPE_P58_ENCAP_64B       0x3UL
76 /* Source Property MAC */
77 #define CFA_RESOURCE_TYPE_P58_SP_MAC          0x4UL
78 /* Source Property MAC and IPv4 */
79 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV4     0x5UL
80 /* Source Property MAC and IPv6 */
81 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV6     0x6UL
82 /* Network Address Translation Source Port */
83 #define CFA_RESOURCE_TYPE_P58_NAT_SPORT       0x7UL
84 /* Network Address Translation Destination Port */
85 #define CFA_RESOURCE_TYPE_P58_NAT_DPORT       0x8UL
86 /* Network Address Translation Source IPv4 address */
87 #define CFA_RESOURCE_TYPE_P58_NAT_S_IPV4      0x9UL
88 /* Network Address Translation Destination IPv4 address */
89 #define CFA_RESOURCE_TYPE_P58_NAT_D_IPV4      0xaUL
90 /* Network Address Translation Source IPv4 address */
91 #define CFA_RESOURCE_TYPE_P58_NAT_S_IPV6      0xbUL
92 /* Network Address Translation Destination IPv4 address */
93 #define CFA_RESOURCE_TYPE_P58_NAT_D_IPV6      0xcUL
94 /* Meter */
95 #define CFA_RESOURCE_TYPE_P58_METER           0xdUL
96 /* Flow State */
97 #define CFA_RESOURCE_TYPE_P58_FLOW_STATE      0xeUL
98 /* Full Action Records */
99 #define CFA_RESOURCE_TYPE_P58_FULL_ACTION     0xfUL
100 /* Action Record Format 0 */
101 #define CFA_RESOURCE_TYPE_P58_FORMAT_0_ACTION 0x10UL
102 /* Action Record Format 2 */
103 #define CFA_RESOURCE_TYPE_P58_FORMAT_2_ACTION 0x11UL
104 /* Action Record Format 3 */
105 #define CFA_RESOURCE_TYPE_P58_FORMAT_3_ACTION 0x12UL
106 /* Action Record Format 4 */
107 #define CFA_RESOURCE_TYPE_P58_FORMAT_4_ACTION 0x13UL
108 /* L2 Context TCAM */
109 #define CFA_RESOURCE_TYPE_P58_L2_CTXT_TCAM    0x14UL
110 /* L2 Context REMAP */
111 #define CFA_RESOURCE_TYPE_P58_L2_CTXT_REMAP   0x15UL
112 /* Profile Func */
113 #define CFA_RESOURCE_TYPE_P58_PROF_FUNC       0x16UL
114 /* Profile TCAM */
115 #define CFA_RESOURCE_TYPE_P58_PROF_TCAM       0x17UL
116 /* Exact Match Profile Id */
117 #define CFA_RESOURCE_TYPE_P58_EM_PROF_ID      0x18UL
118 /* Wildcard Profile Id */
119 #define CFA_RESOURCE_TYPE_P58_WC_TCAM_PROF_ID 0x19UL
120 /* Exact Match Record */
121 #define CFA_RESOURCE_TYPE_P58_EM_REC          0x1aUL
122 /* Wildcard TCAM */
123 #define CFA_RESOURCE_TYPE_P58_WC_TCAM         0x1bUL
124 /* Meter profile */
125 #define CFA_RESOURCE_TYPE_P58_METER_PROF      0x1cUL
126 /* Meter */
127 #define CFA_RESOURCE_TYPE_P58_MIRROR          0x1dUL
128 /* Source Property TCAM */
129 #define CFA_RESOURCE_TYPE_P58_SP_TCAM         0x1eUL
130 /* Exact Match Flexible Key Builder */
131 #define CFA_RESOURCE_TYPE_P58_EM_FKB          0x1fUL
132 /* Wildcard Flexible Key Builder */
133 #define CFA_RESOURCE_TYPE_P58_WC_FKB          0x20UL
134 /* VEB TCAM */
135 #define CFA_RESOURCE_TYPE_P58_VEB_TCAM        0x21UL
136 #define CFA_RESOURCE_TYPE_P58_LAST           CFA_RESOURCE_TYPE_P58_VEB_TCAM
137
138
139 /* Multicast Group */
140 #define CFA_RESOURCE_TYPE_P45_MCG             0x0UL
141 /* Encap 8 byte record */
142 #define CFA_RESOURCE_TYPE_P45_ENCAP_8B        0x1UL
143 /* Encap 16 byte record */
144 #define CFA_RESOURCE_TYPE_P45_ENCAP_16B       0x2UL
145 /* Encap 64 byte record */
146 #define CFA_RESOURCE_TYPE_P45_ENCAP_64B       0x3UL
147 /* Source Property MAC */
148 #define CFA_RESOURCE_TYPE_P45_SP_MAC          0x4UL
149 /* Source Property MAC and IPv4 */
150 #define CFA_RESOURCE_TYPE_P45_SP_MAC_IPV4     0x5UL
151 /* Source Property MAC and IPv6 */
152 #define CFA_RESOURCE_TYPE_P45_SP_MAC_IPV6     0x6UL
153 /* 64B Counters */
154 #define CFA_RESOURCE_TYPE_P45_COUNTER_64B     0x7UL
155 /* Network Address Translation Source Port */
156 #define CFA_RESOURCE_TYPE_P45_NAT_SPORT       0x8UL
157 /* Network Address Translation Destination Port */
158 #define CFA_RESOURCE_TYPE_P45_NAT_DPORT       0x9UL
159 /* Network Address Translation Source IPv4 address */
160 #define CFA_RESOURCE_TYPE_P45_NAT_S_IPV4      0xaUL
161 /* Network Address Translation Destination IPv4 address */
162 #define CFA_RESOURCE_TYPE_P45_NAT_D_IPV4      0xbUL
163 /* Network Address Translation Source IPv6 address */
164 #define CFA_RESOURCE_TYPE_P45_NAT_S_IPV6      0xcUL
165 /* Network Address Translation Destination IPv6 address */
166 #define CFA_RESOURCE_TYPE_P45_NAT_D_IPV6      0xdUL
167 /* Meter */
168 #define CFA_RESOURCE_TYPE_P45_METER           0xeUL
169 /* Flow State */
170 #define CFA_RESOURCE_TYPE_P45_FLOW_STATE      0xfUL
171 /* Full Action Records */
172 #define CFA_RESOURCE_TYPE_P45_FULL_ACTION     0x10UL
173 /* Action Record Format 0 */
174 #define CFA_RESOURCE_TYPE_P45_FORMAT_0_ACTION 0x11UL
175 /* Action Record Format 2 */
176 #define CFA_RESOURCE_TYPE_P45_FORMAT_2_ACTION 0x12UL
177 /* Action Record Format 3 */
178 #define CFA_RESOURCE_TYPE_P45_FORMAT_3_ACTION 0x13UL
179 /* Action Record Format 4 */
180 #define CFA_RESOURCE_TYPE_P45_FORMAT_4_ACTION 0x14UL
181 /* L2 Context TCAM */
182 #define CFA_RESOURCE_TYPE_P45_L2_CTXT_TCAM    0x15UL
183 /* L2 Context REMAP */
184 #define CFA_RESOURCE_TYPE_P45_L2_CTXT_REMAP   0x16UL
185 /* Profile Func */
186 #define CFA_RESOURCE_TYPE_P45_PROF_FUNC       0x17UL
187 /* Profile TCAM */
188 #define CFA_RESOURCE_TYPE_P45_PROF_TCAM       0x18UL
189 /* Exact Match Profile Id */
190 #define CFA_RESOURCE_TYPE_P45_EM_PROF_ID      0x19UL
191 /* Exact Match Record */
192 #define CFA_RESOURCE_TYPE_P45_EM_REC          0x1aUL
193 /* Wildcard Profile Id */
194 #define CFA_RESOURCE_TYPE_P45_WC_TCAM_PROF_ID 0x1bUL
195 /* Wildcard TCAM */
196 #define CFA_RESOURCE_TYPE_P45_WC_TCAM         0x1cUL
197 /* Meter profile */
198 #define CFA_RESOURCE_TYPE_P45_METER_PROF      0x1dUL
199 /* Meter */
200 #define CFA_RESOURCE_TYPE_P45_MIRROR          0x1eUL
201 /* Source Property TCAM */
202 #define CFA_RESOURCE_TYPE_P45_SP_TCAM         0x1fUL
203 /* VEB TCAM */
204 #define CFA_RESOURCE_TYPE_P45_VEB_TCAM        0x20UL
205 /* Table Scope */
206 #define CFA_RESOURCE_TYPE_P45_TBL_SCOPE       0x21UL
207 #define CFA_RESOURCE_TYPE_P45_LAST           CFA_RESOURCE_TYPE_P45_TBL_SCOPE
208
209
210 /* Multicast Group */
211 #define CFA_RESOURCE_TYPE_P4_MCG             0x0UL
212 /* Encap 8 byte record */
213 #define CFA_RESOURCE_TYPE_P4_ENCAP_8B        0x1UL
214 /* Encap 16 byte record */
215 #define CFA_RESOURCE_TYPE_P4_ENCAP_16B       0x2UL
216 /* Encap 64 byte record */
217 #define CFA_RESOURCE_TYPE_P4_ENCAP_64B       0x3UL
218 /* Source Property MAC */
219 #define CFA_RESOURCE_TYPE_P4_SP_MAC          0x4UL
220 /* Source Property MAC and IPv4 */
221 #define CFA_RESOURCE_TYPE_P4_SP_MAC_IPV4     0x5UL
222 /* Source Property MAC and IPv6 */
223 #define CFA_RESOURCE_TYPE_P4_SP_MAC_IPV6     0x6UL
224 /* 64B Counters */
225 #define CFA_RESOURCE_TYPE_P4_COUNTER_64B     0x7UL
226 /* Network Address Translation Source Port */
227 #define CFA_RESOURCE_TYPE_P4_NAT_SPORT       0x8UL
228 /* Network Address Translation Destination Port */
229 #define CFA_RESOURCE_TYPE_P4_NAT_DPORT       0x9UL
230 /* Network Address Translation Source IPv4 address */
231 #define CFA_RESOURCE_TYPE_P4_NAT_S_IPV4      0xaUL
232 /* Network Address Translation Destination IPv4 address */
233 #define CFA_RESOURCE_TYPE_P4_NAT_D_IPV4      0xbUL
234 /* Network Address Translation Source IPv6 address */
235 #define CFA_RESOURCE_TYPE_P4_NAT_S_IPV6      0xcUL
236 /* Network Address Translation Destination IPv6 address */
237 #define CFA_RESOURCE_TYPE_P4_NAT_D_IPV6      0xdUL
238 /* Meter */
239 #define CFA_RESOURCE_TYPE_P4_METER           0xeUL
240 /* Flow State */
241 #define CFA_RESOURCE_TYPE_P4_FLOW_STATE      0xfUL
242 /* Full Action Records */
243 #define CFA_RESOURCE_TYPE_P4_FULL_ACTION     0x10UL
244 /* Action Record Format 0 */
245 #define CFA_RESOURCE_TYPE_P4_FORMAT_0_ACTION 0x11UL
246 /* Action Record Format 2 */
247 #define CFA_RESOURCE_TYPE_P4_FORMAT_2_ACTION 0x12UL
248 /* Action Record Format 3 */
249 #define CFA_RESOURCE_TYPE_P4_FORMAT_3_ACTION 0x13UL
250 /* Action Record Format 4 */
251 #define CFA_RESOURCE_TYPE_P4_FORMAT_4_ACTION 0x14UL
252 /* L2 Context TCAM */
253 #define CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM    0x15UL
254 /* L2 Context REMAP */
255 #define CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP   0x16UL
256 /* Profile Func */
257 #define CFA_RESOURCE_TYPE_P4_PROF_FUNC       0x17UL
258 /* Profile TCAM */
259 #define CFA_RESOURCE_TYPE_P4_PROF_TCAM       0x18UL
260 /* Exact Match Profile Id */
261 #define CFA_RESOURCE_TYPE_P4_EM_PROF_ID      0x19UL
262 /* Exact Match Record */
263 #define CFA_RESOURCE_TYPE_P4_EM_REC          0x1aUL
264 /* Wildcard Profile Id */
265 #define CFA_RESOURCE_TYPE_P4_WC_TCAM_PROF_ID 0x1bUL
266 /* Wildcard TCAM */
267 #define CFA_RESOURCE_TYPE_P4_WC_TCAM         0x1cUL
268 /* Meter profile */
269 #define CFA_RESOURCE_TYPE_P4_METER_PROF      0x1dUL
270 /* Meter */
271 #define CFA_RESOURCE_TYPE_P4_MIRROR          0x1eUL
272 /* Source Property TCAM */
273 #define CFA_RESOURCE_TYPE_P4_SP_TCAM         0x1fUL
274 /* Table Scope */
275 #define CFA_RESOURCE_TYPE_P4_TBL_SCOPE       0x20UL
276 #define CFA_RESOURCE_TYPE_P4_LAST           CFA_RESOURCE_TYPE_P4_TBL_SCOPE
277
278
279 #endif /* _CFA_RESOURCE_TYPES_H_ */