f3146cc1a32ceb478dd1b3586063ceaf58eb99c3
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_tbl.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5
6 /* date: Wed Mar 17 11:31:19 2021 */
7
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_template_db_tbl.h"
12
13 /* Specifies parameters for the cache and shared tables */
14 struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
15         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM << 1 |
16                 BNXT_ULP_DIRECTION_INGRESS] = {
17         .name                    = "INGRESS GENERIC_TABLE_L2_CNTXT_TCAM",
18         .result_num_entries      = 256,
19         .result_num_bytes        = 8,
20         .key_num_bytes           = 0,
21         .num_buckets             = 0,
22         .hash_tbl_entries        = 0,
23         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
24         },
25         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM << 1 |
26                 BNXT_ULP_DIRECTION_EGRESS] = {
27         .name                    = "EGRESS GENERIC_TABLE_L2_CNTXT_TCAM",
28         .result_num_entries      = 256,
29         .result_num_bytes        = 8,
30         .key_num_bytes           = 0,
31         .num_buckets             = 0,
32         .hash_tbl_entries        = 0,
33         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
34         },
35         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM << 1 |
36                 BNXT_ULP_DIRECTION_INGRESS] = {
37         .name                    = "INGRESS GENERIC_TABLE_PROFILE_TCAM",
38         .result_num_entries      = 16384,
39         .result_num_bytes        = 16,
40         .key_num_bytes           = 0,
41         .num_buckets             = 0,
42         .hash_tbl_entries        = 0,
43         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
44         },
45         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM << 1 |
46                 BNXT_ULP_DIRECTION_EGRESS] = {
47         .name                    = "EGRESS GENERIC_TABLE_PROFILE_TCAM",
48         .result_num_entries      = 16384,
49         .result_num_bytes        = 16,
50         .key_num_bytes           = 0,
51         .num_buckets             = 0,
52         .hash_tbl_entries        = 0,
53         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
54         },
55         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
56                 BNXT_ULP_DIRECTION_INGRESS] = {
57         .name                    = "INGRESS GENERIC_TABLE_SHARED_MIRROR",
58         .result_num_entries      = 16,
59         .result_num_bytes        = 8,
60         .key_num_bytes           = 0,
61         .num_buckets             = 0,
62         .hash_tbl_entries        = 0,
63         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
64         },
65         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
66                 BNXT_ULP_DIRECTION_EGRESS] = {
67         .name                    = "EGRESS GENERIC_TABLE_SHARED_MIRROR",
68         .result_num_entries      = 16,
69         .result_num_bytes        = 8,
70         .key_num_bytes           = 0,
71         .num_buckets             = 0,
72         .hash_tbl_entries        = 0,
73         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
74         },
75         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE << 1 |
76                 BNXT_ULP_DIRECTION_INGRESS] = {
77         .name                    = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
78         .result_num_entries      = 256,
79         .result_num_bytes        = 8,
80         .key_num_bytes           = 9,
81         .num_buckets             = 8,
82         .hash_tbl_entries        = 1024,
83         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
84         },
85         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE << 1 |
86                 BNXT_ULP_DIRECTION_EGRESS] = {
87         .name                    = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
88         .result_num_entries      = 256,
89         .result_num_bytes        = 8,
90         .key_num_bytes           = 9,
91         .num_buckets             = 8,
92         .hash_tbl_entries        = 1024,
93         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
94         },
95         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE << 1 |
96                 BNXT_ULP_DIRECTION_INGRESS] = {
97         .name                    = "INGRESS GENERIC_TABLE_PORT_TABLE",
98         .result_num_entries      = 1024,
99         .result_num_bytes        = 19,
100         .key_num_bytes           = 0,
101         .num_buckets             = 0,
102         .hash_tbl_entries        = 0,
103         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
104         },
105         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE << 1 |
106                 BNXT_ULP_DIRECTION_EGRESS] = {
107         .name                    = "EGRESS GENERIC_TABLE_PORT_TABLE",
108         .result_num_entries      = 1024,
109         .result_num_bytes        = 19,
110         .key_num_bytes           = 0,
111         .num_buckets             = 0,
112         .hash_tbl_entries        = 0,
113         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
114         }
115 };
116
117 /* device tables */
118 const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
119         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
120         .tmpl_list               = ulp_wh_plus_class_tmpl_list,
121         .tmpl_list_size          = ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE,
122         .tbl_list                = ulp_wh_plus_class_tbl_list,
123         .tbl_list_size           = ULP_WH_PLUS_CLASS_TBL_LIST_SIZE,
124         .key_info_list           = ulp_wh_plus_class_key_info_list,
125         .key_info_list_size      = ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE,
126         .ident_list              = ulp_wh_plus_class_ident_list,
127         .ident_list_size         = ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE,
128         .cond_list               = ulp_wh_plus_class_cond_list,
129         .cond_list_size          = ULP_WH_PLUS_CLASS_COND_LIST_SIZE,
130         .result_field_list       = ulp_wh_plus_class_result_field_list,
131         .result_field_list_size  = ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE
132         },
133         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
134         .tmpl_list               = ulp_wh_plus_act_tmpl_list,
135         .tmpl_list_size          = ULP_WH_PLUS_ACT_TMPL_LIST_SIZE,
136         .tbl_list                = ulp_wh_plus_act_tbl_list,
137         .tbl_list_size           = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
138         .key_info_list           = ulp_wh_plus_act_key_info_list,
139         .key_info_list_size      = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
140         .ident_list              = ulp_wh_plus_act_ident_list,
141         .ident_list_size         = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
142         .cond_list               = ulp_wh_plus_act_cond_list,
143         .cond_list_size          = ULP_WH_PLUS_ACT_COND_LIST_SIZE,
144         .result_field_list       = ulp_wh_plus_act_result_field_list,
145         .result_field_list_size  = ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE
146         }
147 };
148
149 /* device tables */
150 const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
151         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
152         .tmpl_list               = ulp_thor_class_tmpl_list,
153         .tmpl_list_size          = ULP_THOR_CLASS_TMPL_LIST_SIZE,
154         .tbl_list                = ulp_thor_class_tbl_list,
155         .tbl_list_size           = ULP_THOR_CLASS_TBL_LIST_SIZE,
156         .key_info_list           = ulp_thor_class_key_info_list,
157         .key_info_list_size      = ULP_THOR_CLASS_KEY_INFO_LIST_SIZE,
158         .ident_list              = ulp_thor_class_ident_list,
159         .ident_list_size         = ULP_THOR_CLASS_IDENT_LIST_SIZE,
160         .cond_list               = ulp_thor_class_cond_list,
161         .cond_list_size          = ULP_THOR_CLASS_COND_LIST_SIZE,
162         .result_field_list       = ulp_thor_class_result_field_list,
163         .result_field_list_size  = ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE
164         },
165         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
166         .tmpl_list               = ulp_thor_act_tmpl_list,
167         .tmpl_list_size          = ULP_THOR_ACT_TMPL_LIST_SIZE,
168         .tbl_list                = ulp_thor_act_tbl_list,
169         .tbl_list_size           = ULP_THOR_ACT_TBL_LIST_SIZE,
170         .result_field_list       = ulp_thor_act_result_field_list,
171         .result_field_list_size  = ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE
172         }
173 };
174
175 /* List of device specific parameters */
176 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
177         [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
178         .description             = "Whitney_Plus",
179         .byte_order              = BNXT_ULP_BYTE_ORDER_LE,
180         .encap_byte_swap         = 1,
181         .int_flow_db_num_entries = 16384,
182         .ext_flow_db_num_entries = 32768,
183         .mark_db_lfid_entries    = 65536,
184         .mark_db_gfid_entries    = 65536,
185         .flow_count_db_entries   = 16384,
186         .fdb_parent_flow_entries = 2,
187         .num_resources_per_flow  = 8,
188         .num_phy_ports           = 2,
189         .ext_cntr_table_type     = 0,
190         .byte_count_mask         = 0x0000000fffffffff,
191         .packet_count_mask       = 0xffffffff00000000,
192         .byte_count_shift        = 0,
193         .packet_count_shift      = 36,
194         .dynamic_pad_en          = 0,
195         .dev_tbls                = ulp_template_wh_plus_tbls
196         },
197         [BNXT_ULP_DEVICE_ID_THOR] = {
198         .description             = "Thor",
199         .byte_order              = BNXT_ULP_BYTE_ORDER_LE,
200         .encap_byte_swap         = 1,
201         .int_flow_db_num_entries = 16384,
202         .ext_flow_db_num_entries = 32768,
203         .mark_db_lfid_entries    = 0,
204         .mark_db_gfid_entries    = 0,
205         .flow_count_db_entries   = 0,
206         .fdb_parent_flow_entries = 2,
207         .num_resources_per_flow  = 8,
208         .num_phy_ports           = 2,
209         .ext_cntr_table_type     = 0,
210         .byte_count_mask         = 0x0000000fffffffff,
211         .packet_count_mask       = 0xffffffff00000000,
212         .byte_count_shift        = 0,
213         .packet_count_shift      = 36,
214         .dynamic_pad_en          = 1,
215         .em_blk_size_bits        = 100,
216         .em_blk_align_bits       = 128,
217         .em_key_align_bytes      = 80,
218         .wc_slice_width          = 160,
219         .wc_max_slices           = 4,
220         .wc_mode_list        = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
221         .wc_mod_list_max_size    = 4,
222         .wc_ctl_size_bits        = 32,
223         .dev_tbls                = ulp_template_thor_tbls
224         }
225 };
226
227 /* Provides act_bitmask */
228 struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
229         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
230                 BNXT_ULP_DIRECTION_INGRESS] = {
231         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
232         },
233         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
234                 BNXT_ULP_DIRECTION_EGRESS] = {
235         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
236         }
237 };
238
239 /* List of device specific parameters */
240 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
241         {
242         .app_id                  = 0,
243         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
244         .flags                   = 0
245         },
246         {
247         .app_id                  = 0,
248         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
249         .flags                   = 0
250         },
251         {
252         .app_id                  = 1,
253         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
254         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN
255         },
256         {
257         .app_id                  = 1,
258         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
259         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN
260         },
261         {
262         .app_id                  = 2,
263         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
264         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN
265         },
266         {
267         .app_id                  = 2,
268         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
269         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN
270         }
271 };
272
273 /* List of device specific parameters */
274 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
275         {
276         .app_id                  = 1,
277         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
278         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
279         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
280         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
281         .direction               = TF_DIR_RX
282         },
283         {
284         .app_id                  = 1,
285         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
286         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
287         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
288         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
289         .direction               = TF_DIR_RX
290         },
291         {
292         .app_id                  = 1,
293         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
294         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
295         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
296         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
297         .direction               = TF_DIR_RX
298         },
299         {
300         .app_id                  = 1,
301         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
302         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
303         .resource_type           = TF_IDENT_TYPE_EM_PROF,
304         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
305         .direction               = TF_DIR_RX
306         },
307         {
308         .app_id                  = 1,
309         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
310         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
311         .resource_type           = TF_IDENT_TYPE_WC_PROF,
312         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
313         .direction               = TF_DIR_RX
314         },
315         {
316         .app_id                  = 1,
317         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
318         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
319         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
320         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
321         .direction               = TF_DIR_RX
322         },
323         {
324         .app_id                  = 1,
325         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
326         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
327         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
328         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
329         .direction               = TF_DIR_RX
330         },
331         {
332         .app_id                  = 1,
333         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
334         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
335         .resource_type           = TF_IDENT_TYPE_EM_PROF,
336         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
337         .direction               = TF_DIR_RX
338         },
339         {
340         .app_id                  = 1,
341         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
342         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
343         .resource_type           = TF_IDENT_TYPE_WC_PROF,
344         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
345         .direction               = TF_DIR_RX
346         },
347         {
348         .app_id                  = 1,
349         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
350         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
351         .resource_type           = TF_TBL_TYPE_EM_FKB,
352         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
353         .direction               = TF_DIR_RX
354         },
355         {
356         .app_id                  = 1,
357         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
358         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
359         .resource_type           = TF_TBL_TYPE_WC_FKB,
360         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
361         .direction               = TF_DIR_RX
362         },
363         {
364         .app_id                  = 1,
365         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
366         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
367         .resource_type           = TF_TBL_TYPE_WC_FKB,
368         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
369         .direction               = TF_DIR_TX
370         },
371         {
372         .app_id                  = 1,
373         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
374         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
375         .resource_type           = TF_IDENT_TYPE_EM_PROF,
376         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
377         .direction               = TF_DIR_TX
378         },
379         {
380         .app_id                  = 1,
381         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
382         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
383         .resource_type           = TF_IDENT_TYPE_WC_PROF,
384         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
385         .direction               = TF_DIR_TX
386         },
387         {
388         .app_id                  = 2,
389         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
390         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
391         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
392         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
393         .direction               = TF_DIR_RX
394         },
395         {
396         .app_id                  = 2,
397         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
398         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
399         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
400         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
401         .direction               = TF_DIR_RX
402         },
403         {
404         .app_id                  = 2,
405         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
406         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
407         .resource_type           = TF_IDENT_TYPE_EM_PROF,
408         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
409         .direction               = TF_DIR_RX
410         },
411         {
412         .app_id                  = 2,
413         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
414         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
415         .resource_type           = TF_IDENT_TYPE_WC_PROF,
416         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
417         .direction               = TF_DIR_RX
418         },
419         {
420         .app_id                  = 2,
421         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
422         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
423         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
424         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
425         .direction               = TF_DIR_RX
426         },
427         {
428         .app_id                  = 2,
429         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
430         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
431         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
432         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
433         .direction               = TF_DIR_RX
434         },
435         {
436         .app_id                  = 2,
437         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
438         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
439         .resource_type           = TF_IDENT_TYPE_EM_PROF,
440         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
441         .direction               = TF_DIR_RX
442         },
443         {
444         .app_id                  = 2,
445         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
446         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
447         .resource_type           = TF_IDENT_TYPE_WC_PROF,
448         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
449         .direction               = TF_DIR_RX
450         },
451         {
452         .app_id                  = 2,
453         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
454         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
455         .resource_type           = TF_TBL_TYPE_EM_FKB,
456         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
457         .direction               = TF_DIR_RX
458         },
459         {
460         .app_id                  = 2,
461         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
462         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
463         .resource_type           = TF_TBL_TYPE_WC_FKB,
464         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
465         .direction               = TF_DIR_RX
466         },
467         {
468         .app_id                  = 2,
469         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
470         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
471         .resource_type           = TF_TBL_TYPE_WC_FKB,
472         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
473         .direction               = TF_DIR_TX
474         },
475         {
476         .app_id                  = 2,
477         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
478         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
479         .resource_type           = TF_IDENT_TYPE_EM_PROF,
480         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
481         .direction               = TF_DIR_TX
482         },
483         {
484         .app_id                  = 2,
485         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
486         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
487         .resource_type           = TF_IDENT_TYPE_WC_PROF,
488         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
489         .direction               = TF_DIR_TX
490         }
491 };
492
493 /* List of device specific parameters */
494 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
495         {
496         .app_id                  = 0,
497         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
498         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
499         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
500         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
501         .direction               = TF_DIR_RX
502         },
503         {
504         .app_id                  = 0,
505         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
506         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
507         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
508         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
509         .direction               = TF_DIR_TX
510         },
511         {
512         .app_id                  = 0,
513         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
514         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
515         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
516         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
517         .direction               = TF_DIR_TX
518         },
519         {
520         .app_id                  = 0,
521         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
522         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
523         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
524         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
525         .direction               = TF_DIR_RX
526         },
527         {
528         .app_id                  = 0,
529         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
530         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
531         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
532         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
533         .direction               = TF_DIR_TX
534         },
535         {
536         .app_id                  = 0,
537         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
538         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
539         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
540         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
541         .direction               = TF_DIR_RX
542         },
543         {
544         .app_id                  = 0,
545         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
546         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
547         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
548         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
549         .direction               = TF_DIR_RX
550         },
551         {
552         .app_id                  = 0,
553         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
554         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
555         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
556         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
557         .direction               = TF_DIR_TX
558         },
559         {
560         .app_id                  = 0,
561         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
562         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
563         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
564         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
565         .direction               = TF_DIR_RX
566         },
567         {
568         .app_id                  = 0,
569         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
570         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
571         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
572         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
573         .direction               = TF_DIR_TX
574         },
575         {
576         .app_id                  = 0,
577         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
578         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
579         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
580         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
581         .direction               = TF_DIR_TX
582         },
583         {
584         .app_id                  = 1,
585         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
586         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
587         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
588         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
589         .direction               = TF_DIR_RX
590         },
591         {
592         .app_id                  = 1,
593         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
594         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
595         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
596         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
597         .direction               = TF_DIR_TX
598         },
599         {
600         .app_id                  = 1,
601         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
602         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
603         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
604         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
605         .direction               = TF_DIR_TX
606         },
607         {
608         .app_id                  = 1,
609         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
610         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
611         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
612         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
613         .direction               = TF_DIR_RX
614         },
615         {
616         .app_id                  = 1,
617         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
618         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
619         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
620         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
621         .direction               = TF_DIR_TX
622         },
623         {
624         .app_id                  = 1,
625         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
626         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
627         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
628         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
629         .direction               = TF_DIR_RX
630         },
631         {
632         .app_id                  = 1,
633         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
634         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
635         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
636         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
637         .direction               = TF_DIR_RX
638         },
639         {
640         .app_id                  = 1,
641         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
642         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
643         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
644         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
645         .direction               = TF_DIR_TX
646         },
647         {
648         .app_id                  = 1,
649         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
650         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
651         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
652         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
653         .direction               = TF_DIR_RX
654         },
655         {
656         .app_id                  = 1,
657         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
658         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
659         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
660         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
661         .direction               = TF_DIR_TX
662         },
663         {
664         .app_id                  = 1,
665         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
666         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
667         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
668         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
669         .direction               = TF_DIR_TX
670         },
671         {
672         .app_id                  = 2,
673         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
674         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
675         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
676         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
677         .direction               = TF_DIR_RX
678         },
679         {
680         .app_id                  = 2,
681         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
682         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
683         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
684         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
685         .direction               = TF_DIR_TX
686         },
687         {
688         .app_id                  = 2,
689         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
690         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
691         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
692         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
693         .direction               = TF_DIR_TX
694         },
695         {
696         .app_id                  = 2,
697         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
698         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
699         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
700         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
701         .direction               = TF_DIR_RX
702         },
703         {
704         .app_id                  = 2,
705         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
706         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
707         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
708         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
709         .direction               = TF_DIR_TX
710         },
711         {
712         .app_id                  = 2,
713         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
714         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
715         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
716         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
717         .direction               = TF_DIR_RX
718         },
719         {
720         .app_id                  = 2,
721         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
722         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
723         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
724         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
725         .direction               = TF_DIR_RX
726         },
727         {
728         .app_id                  = 2,
729         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
730         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
731         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
732         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
733         .direction               = TF_DIR_TX
734         },
735         {
736         .app_id                  = 2,
737         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
738         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
739         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
740         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
741         .direction               = TF_DIR_RX
742         },
743         {
744         .app_id                  = 2,
745         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
746         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
747         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
748         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
749         .direction               = TF_DIR_TX
750         },
751         {
752         .app_id                  = 2,
753         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
754         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
755         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
756         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
757         .direction               = TF_DIR_TX
758         }
759 };
760
761 /* List of tf resources required to be reserved per app/device */
762 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
763         {
764         .app_id                  = 0,
765         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
766         .direction               = TF_DIR_RX,
767         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
768         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
769         .count                   = 422
770         },
771         {
772         .app_id                  = 0,
773         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
774         .direction               = TF_DIR_RX,
775         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
776         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
777         .count                   = 6
778         },
779         {
780         .app_id                  = 0,
781         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
782         .direction               = TF_DIR_RX,
783         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
784         .resource_type           = TF_IDENT_TYPE_WC_PROF,
785         .count                   = 192
786         },
787         {
788         .app_id                  = 0,
789         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
790         .direction               = TF_DIR_RX,
791         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
792         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
793         .count                   = 64
794         },
795         {
796         .app_id                  = 0,
797         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
798         .direction               = TF_DIR_RX,
799         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
800         .resource_type           = TF_IDENT_TYPE_EM_PROF,
801         .count                   = 192
802         },
803         {
804         .app_id                  = 0,
805         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
806         .direction               = TF_DIR_RX,
807         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
808         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
809         .count                   = 8192
810         },
811         {
812         .app_id                  = 0,
813         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
814         .direction               = TF_DIR_RX,
815         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
816         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
817         .count                   = 8192
818         },
819         {
820         .app_id                  = 0,
821         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
822         .direction               = TF_DIR_RX,
823         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
824         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
825         .count                   = 1023
826         },
827         {
828         .app_id                  = 0,
829         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
830         .direction               = TF_DIR_RX,
831         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
832         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
833         .count                   = 511
834         },
835         {
836         .app_id                  = 0,
837         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
838         .direction               = TF_DIR_RX,
839         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
840         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
841         .count                   = 63
842         },
843         {
844         .app_id                  = 0,
845         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
846         .direction               = TF_DIR_RX,
847         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
848         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
849         .count                   = 255
850         },
851         {
852         .app_id                  = 0,
853         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
854         .direction               = TF_DIR_RX,
855         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
856         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
857         .count                   = 1
858         },
859         {
860         .app_id                  = 0,
861         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
862         .direction               = TF_DIR_RX,
863         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
864         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
865         .count                   = 422
866         },
867         {
868         .app_id                  = 0,
869         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
870         .direction               = TF_DIR_RX,
871         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
872         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
873         .count                   = 6
874         },
875         {
876         .app_id                  = 0,
877         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
878         .direction               = TF_DIR_RX,
879         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
880         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
881         .count                   = 960
882         },
883         {
884         .app_id                  = 0,
885         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
886         .direction               = TF_DIR_RX,
887         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
888         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
889         .count                   = 88
890         },
891         {
892         .app_id                  = 0,
893         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
894         .direction               = TF_DIR_RX,
895         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
896         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
897         .count                   = 13168
898         },
899         {
900         .app_id                  = 0,
901         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
902         .direction               = TF_DIR_RX,
903         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
904         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
905         .count                   = 1
906         },
907         {
908         .app_id                  = 0,
909         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
910         .direction               = TF_DIR_TX,
911         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
912         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
913         .count                   = 292
914         },
915         {
916         .app_id                  = 0,
917         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
918         .direction               = TF_DIR_TX,
919         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
920         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
921         .count                   = 148
922         },
923         {
924         .app_id                  = 0,
925         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
926         .direction               = TF_DIR_TX,
927         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
928         .resource_type           = TF_IDENT_TYPE_WC_PROF,
929         .count                   = 192
930         },
931         {
932         .app_id                  = 0,
933         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
934         .direction               = TF_DIR_TX,
935         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
936         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
937         .count                   = 64
938         },
939         {
940         .app_id                  = 0,
941         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
942         .direction               = TF_DIR_TX,
943         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
944         .resource_type           = TF_IDENT_TYPE_EM_PROF,
945         .count                   = 192
946         },
947         {
948         .app_id                  = 0,
949         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
950         .direction               = TF_DIR_TX,
951         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
952         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
953         .count                   = 8192
954         },
955         {
956         .app_id                  = 0,
957         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
958         .direction               = TF_DIR_TX,
959         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
960         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
961         .count                   = 8192
962         },
963         {
964         .app_id                  = 0,
965         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
966         .direction               = TF_DIR_TX,
967         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
968         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
969         .count                   = 1023
970         },
971         {
972         .app_id                  = 0,
973         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
974         .direction               = TF_DIR_TX,
975         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
976         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
977         .count                   = 511
978         },
979         {
980         .app_id                  = 0,
981         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
982         .direction               = TF_DIR_TX,
983         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
984         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
985         .count                   = 223
986         },
987         {
988         .app_id                  = 0,
989         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
990         .direction               = TF_DIR_TX,
991         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
992         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
993         .count                   = 255
994         },
995         {
996         .app_id                  = 0,
997         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
998         .direction               = TF_DIR_TX,
999         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1000         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1001         .count                   = 488
1002         },
1003         {
1004         .app_id                  = 0,
1005         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1006         .direction               = TF_DIR_TX,
1007         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1008         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1009         .count                   = 511
1010         },
1011         {
1012         .app_id                  = 0,
1013         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1014         .direction               = TF_DIR_TX,
1015         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1016         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1017         .count                   = 1
1018         },
1019         {
1020         .app_id                  = 0,
1021         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1022         .direction               = TF_DIR_TX,
1023         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1024         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1025         .count                   = 292
1026         },
1027         {
1028         .app_id                  = 0,
1029         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1030         .direction               = TF_DIR_TX,
1031         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1032         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1033         .count                   = 144
1034         },
1035         {
1036         .app_id                  = 0,
1037         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1038         .direction               = TF_DIR_TX,
1039         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1040         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1041         .count                   = 960
1042         },
1043         {
1044         .app_id                  = 0,
1045         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1046         .direction               = TF_DIR_TX,
1047         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1048         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1049         .count                   = 928
1050         },
1051         {
1052         .app_id                  = 0,
1053         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1054         .direction               = TF_DIR_TX,
1055         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1056         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1057         .count                   = 15232
1058         },
1059         {
1060         .app_id                  = 0,
1061         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1062         .direction               = TF_DIR_TX,
1063         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1064         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1065         .count                   = 1
1066         },
1067         {
1068         .app_id                  = 0,
1069         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1070         .direction               = TF_DIR_RX,
1071         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1072         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1073         .count                   = 26
1074         },
1075         {
1076         .app_id                  = 0,
1077         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1078         .direction               = TF_DIR_RX,
1079         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1080         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1081         .count                   = 6
1082         },
1083         {
1084         .app_id                  = 0,
1085         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1086         .direction               = TF_DIR_RX,
1087         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1088         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1089         .count                   = 32
1090         },
1091         {
1092         .app_id                  = 0,
1093         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1094         .direction               = TF_DIR_RX,
1095         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1096         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1097         .count                   = 32
1098         },
1099         {
1100         .app_id                  = 0,
1101         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1102         .direction               = TF_DIR_RX,
1103         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1104         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1105         .count                   = 32
1106         },
1107         {
1108         .app_id                  = 0,
1109         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1110         .direction               = TF_DIR_RX,
1111         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1112         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1113         .count                   = 1024
1114         },
1115         {
1116         .app_id                  = 0,
1117         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1118         .direction               = TF_DIR_RX,
1119         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1120         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1121         .count                   = 512
1122         },
1123         {
1124         .app_id                  = 0,
1125         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1126         .direction               = TF_DIR_RX,
1127         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1128         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1129         .count                   = 14
1130         },
1131         {
1132         .app_id                  = 0,
1133         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1134         .direction               = TF_DIR_RX,
1135         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1136         .resource_type           = TF_TBL_TYPE_EM_FKB,
1137         .count                   = 32
1138         },
1139         {
1140         .app_id                  = 0,
1141         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1142         .direction               = TF_DIR_RX,
1143         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1144         .resource_type           = TF_TBL_TYPE_WC_FKB,
1145         .count                   = 32
1146         },
1147         {
1148         .app_id                  = 0,
1149         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1150         .direction               = TF_DIR_RX,
1151         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1152         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1153         .count                   = 64
1154         },
1155         {
1156         .app_id                  = 0,
1157         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1158         .direction               = TF_DIR_RX,
1159         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1160         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1161         .count                   = 64
1162         },
1163         {
1164         .app_id                  = 0,
1165         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1166         .direction               = TF_DIR_RX,
1167         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1168         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1169         .count                   = 300
1170         },
1171         {
1172         .app_id                  = 0,
1173         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1174         .direction               = TF_DIR_RX,
1175         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1176         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1177         .count                   = 6
1178         },
1179         {
1180         .app_id                  = 0,
1181         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1182         .direction               = TF_DIR_RX,
1183         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1184         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1185         .count                   = 128
1186         },
1187         {
1188         .app_id                  = 0,
1189         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1190         .direction               = TF_DIR_RX,
1191         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1192         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1193         .count                   = 112
1194         },
1195         {
1196         .app_id                  = 0,
1197         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1198         .direction               = TF_DIR_RX,
1199         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1200         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1201         .count                   = 13200
1202         },
1203         {
1204         .app_id                  = 0,
1205         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1206         .direction               = TF_DIR_TX,
1207         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1208         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1209         .count                   = 26
1210         },
1211         {
1212         .app_id                  = 0,
1213         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1214         .direction               = TF_DIR_TX,
1215         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1216         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1217         .count                   = 26
1218         },
1219         {
1220         .app_id                  = 0,
1221         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1222         .direction               = TF_DIR_TX,
1223         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1224         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1225         .count                   = 32
1226         },
1227         {
1228         .app_id                  = 0,
1229         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1230         .direction               = TF_DIR_TX,
1231         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1232         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1233         .count                   = 63
1234         },
1235         {
1236         .app_id                  = 0,
1237         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1238         .direction               = TF_DIR_TX,
1239         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1240         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1241         .count                   = 32
1242         },
1243         {
1244         .app_id                  = 0,
1245         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1246         .direction               = TF_DIR_TX,
1247         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1248         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1249         .count                   = 1024
1250         },
1251         {
1252         .app_id                  = 0,
1253         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1254         .direction               = TF_DIR_TX,
1255         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1256         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1257         .count                   = 512
1258         },
1259         {
1260         .app_id                  = 0,
1261         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1262         .direction               = TF_DIR_TX,
1263         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1264         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1265         .count                   = 14
1266         },
1267         {
1268         .app_id                  = 0,
1269         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1270         .direction               = TF_DIR_TX,
1271         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1272         .resource_type           = TF_TBL_TYPE_EM_FKB,
1273         .count                   = 32
1274         },
1275         {
1276         .app_id                  = 0,
1277         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1278         .direction               = TF_DIR_TX,
1279         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1280         .resource_type           = TF_TBL_TYPE_WC_FKB,
1281         .count                   = 32
1282         },
1283         {
1284         .app_id                  = 0,
1285         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1286         .direction               = TF_DIR_TX,
1287         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1288         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1289         .count                   = 64
1290         },
1291         {
1292         .app_id                  = 0,
1293         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1294         .direction               = TF_DIR_TX,
1295         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1296         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1297         .count                   = 100
1298         },
1299         {
1300         .app_id                  = 0,
1301         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1302         .direction               = TF_DIR_TX,
1303         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1304         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1305         .count                   = 1
1306         },
1307         {
1308         .app_id                  = 0,
1309         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1310         .direction               = TF_DIR_TX,
1311         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1312         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1313         .count                   = 200
1314         },
1315         {
1316         .app_id                  = 0,
1317         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1318         .direction               = TF_DIR_TX,
1319         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1320         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1321         .count                   = 110
1322         },
1323         {
1324         .app_id                  = 0,
1325         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1326         .direction               = TF_DIR_TX,
1327         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1328         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1329         .count                   = 128
1330         },
1331         {
1332         .app_id                  = 0,
1333         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1334         .direction               = TF_DIR_TX,
1335         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1336         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1337         .count                   = 128
1338         },
1339         {
1340         .app_id                  = 0,
1341         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1342         .direction               = TF_DIR_TX,
1343         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1344         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1345         .count                   = 15232
1346         },
1347         {
1348         .app_id                  = 1,
1349         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1350         .direction               = TF_DIR_RX,
1351         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1352         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1353         .count                   = 422
1354         },
1355         {
1356         .app_id                  = 1,
1357         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1358         .direction               = TF_DIR_RX,
1359         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1360         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1361         .count                   = 6
1362         },
1363         {
1364         .app_id                  = 1,
1365         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1366         .direction               = TF_DIR_RX,
1367         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1368         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1369         .count                   = 192
1370         },
1371         {
1372         .app_id                  = 1,
1373         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1374         .direction               = TF_DIR_RX,
1375         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1376         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1377         .count                   = 64
1378         },
1379         {
1380         .app_id                  = 1,
1381         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1382         .direction               = TF_DIR_RX,
1383         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1384         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1385         .count                   = 192
1386         },
1387         {
1388         .app_id                  = 1,
1389         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1390         .direction               = TF_DIR_RX,
1391         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1392         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1393         .count                   = 8192
1394         },
1395         {
1396         .app_id                  = 1,
1397         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1398         .direction               = TF_DIR_RX,
1399         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1400         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1401         .count                   = 8192
1402         },
1403         {
1404         .app_id                  = 1,
1405         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1406         .direction               = TF_DIR_RX,
1407         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1408         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1409         .count                   = 1023
1410         },
1411         {
1412         .app_id                  = 1,
1413         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1414         .direction               = TF_DIR_RX,
1415         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1416         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1417         .count                   = 511
1418         },
1419         {
1420         .app_id                  = 1,
1421         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1422         .direction               = TF_DIR_RX,
1423         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1424         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1425         .count                   = 63
1426         },
1427         {
1428         .app_id                  = 1,
1429         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1430         .direction               = TF_DIR_RX,
1431         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1432         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1433         .count                   = 255
1434         },
1435         {
1436         .app_id                  = 1,
1437         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1438         .direction               = TF_DIR_RX,
1439         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1440         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1441         .count                   = 1
1442         },
1443         {
1444         .app_id                  = 1,
1445         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1446         .direction               = TF_DIR_RX,
1447         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1448         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1449         .count                   = 422
1450         },
1451         {
1452         .app_id                  = 1,
1453         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1454         .direction               = TF_DIR_RX,
1455         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1456         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1457         .count                   = 6
1458         },
1459         {
1460         .app_id                  = 1,
1461         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1462         .direction               = TF_DIR_RX,
1463         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1464         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1465         .count                   = 960
1466         },
1467         {
1468         .app_id                  = 1,
1469         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1470         .direction               = TF_DIR_RX,
1471         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1472         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1473         .count                   = 88
1474         },
1475         {
1476         .app_id                  = 1,
1477         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1478         .direction               = TF_DIR_RX,
1479         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1480         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1481         .count                   = 13168
1482         },
1483         {
1484         .app_id                  = 1,
1485         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1486         .direction               = TF_DIR_RX,
1487         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1488         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1489         .count                   = 1
1490         },
1491         {
1492         .app_id                  = 1,
1493         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1494         .direction               = TF_DIR_TX,
1495         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1496         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1497         .count                   = 292
1498         },
1499         {
1500         .app_id                  = 1,
1501         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1502         .direction               = TF_DIR_TX,
1503         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1504         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1505         .count                   = 148
1506         },
1507         {
1508         .app_id                  = 1,
1509         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1510         .direction               = TF_DIR_TX,
1511         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1512         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1513         .count                   = 192
1514         },
1515         {
1516         .app_id                  = 1,
1517         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1518         .direction               = TF_DIR_TX,
1519         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1520         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1521         .count                   = 64
1522         },
1523         {
1524         .app_id                  = 1,
1525         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1526         .direction               = TF_DIR_TX,
1527         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1528         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1529         .count                   = 192
1530         },
1531         {
1532         .app_id                  = 1,
1533         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1534         .direction               = TF_DIR_TX,
1535         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1536         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1537         .count                   = 8192
1538         },
1539         {
1540         .app_id                  = 1,
1541         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1542         .direction               = TF_DIR_TX,
1543         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1544         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1545         .count                   = 8192
1546         },
1547         {
1548         .app_id                  = 1,
1549         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1550         .direction               = TF_DIR_TX,
1551         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1552         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1553         .count                   = 1023
1554         },
1555         {
1556         .app_id                  = 1,
1557         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1558         .direction               = TF_DIR_TX,
1559         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1560         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1561         .count                   = 511
1562         },
1563         {
1564         .app_id                  = 1,
1565         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1566         .direction               = TF_DIR_TX,
1567         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1568         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1569         .count                   = 223
1570         },
1571         {
1572         .app_id                  = 1,
1573         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1574         .direction               = TF_DIR_TX,
1575         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1576         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1577         .count                   = 255
1578         },
1579         {
1580         .app_id                  = 1,
1581         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1582         .direction               = TF_DIR_TX,
1583         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1584         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1585         .count                   = 488
1586         },
1587         {
1588         .app_id                  = 1,
1589         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1590         .direction               = TF_DIR_TX,
1591         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1592         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1593         .count                   = 511
1594         },
1595         {
1596         .app_id                  = 1,
1597         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1598         .direction               = TF_DIR_TX,
1599         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1600         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1601         .count                   = 1
1602         },
1603         {
1604         .app_id                  = 1,
1605         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1606         .direction               = TF_DIR_TX,
1607         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1608         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1609         .count                   = 292
1610         },
1611         {
1612         .app_id                  = 1,
1613         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1614         .direction               = TF_DIR_TX,
1615         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1616         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1617         .count                   = 144
1618         },
1619         {
1620         .app_id                  = 1,
1621         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1622         .direction               = TF_DIR_TX,
1623         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1624         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1625         .count                   = 960
1626         },
1627         {
1628         .app_id                  = 1,
1629         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1630         .direction               = TF_DIR_TX,
1631         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1632         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1633         .count                   = 928
1634         },
1635         {
1636         .app_id                  = 1,
1637         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1638         .direction               = TF_DIR_TX,
1639         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1640         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1641         .count                   = 15232
1642         },
1643         {
1644         .app_id                  = 1,
1645         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1646         .direction               = TF_DIR_TX,
1647         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1648         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1649         .count                   = 1
1650         },
1651         {
1652         .app_id                  = 1,
1653         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1654         .direction               = TF_DIR_RX,
1655         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1656         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1657         .count                   = 26
1658         },
1659         {
1660         .app_id                  = 1,
1661         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1662         .direction               = TF_DIR_RX,
1663         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1664         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1665         .count                   = 6
1666         },
1667         {
1668         .app_id                  = 1,
1669         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1670         .direction               = TF_DIR_RX,
1671         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1672         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1673         .count                   = 32
1674         },
1675         {
1676         .app_id                  = 1,
1677         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1678         .direction               = TF_DIR_RX,
1679         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1680         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1681         .count                   = 32
1682         },
1683         {
1684         .app_id                  = 1,
1685         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1686         .direction               = TF_DIR_RX,
1687         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1688         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1689         .count                   = 32
1690         },
1691         {
1692         .app_id                  = 1,
1693         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1694         .direction               = TF_DIR_RX,
1695         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1696         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1697         .count                   = 1024
1698         },
1699         {
1700         .app_id                  = 1,
1701         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1702         .direction               = TF_DIR_RX,
1703         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1704         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1705         .count                   = 512
1706         },
1707         {
1708         .app_id                  = 1,
1709         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1710         .direction               = TF_DIR_RX,
1711         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1712         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1713         .count                   = 14
1714         },
1715         {
1716         .app_id                  = 1,
1717         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1718         .direction               = TF_DIR_RX,
1719         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1720         .resource_type           = TF_TBL_TYPE_EM_FKB,
1721         .count                   = 32
1722         },
1723         {
1724         .app_id                  = 1,
1725         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1726         .direction               = TF_DIR_RX,
1727         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1728         .resource_type           = TF_TBL_TYPE_WC_FKB,
1729         .count                   = 32
1730         },
1731         {
1732         .app_id                  = 1,
1733         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1734         .direction               = TF_DIR_RX,
1735         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1736         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1737         .count                   = 64
1738         },
1739         {
1740         .app_id                  = 1,
1741         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1742         .direction               = TF_DIR_RX,
1743         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1744         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1745         .count                   = 64
1746         },
1747         {
1748         .app_id                  = 1,
1749         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1750         .direction               = TF_DIR_RX,
1751         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1752         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1753         .count                   = 300
1754         },
1755         {
1756         .app_id                  = 1,
1757         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1758         .direction               = TF_DIR_RX,
1759         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1760         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1761         .count                   = 6
1762         },
1763         {
1764         .app_id                  = 1,
1765         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1766         .direction               = TF_DIR_RX,
1767         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1768         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1769         .count                   = 128
1770         },
1771         {
1772         .app_id                  = 1,
1773         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1774         .direction               = TF_DIR_RX,
1775         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1776         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1777         .count                   = 112
1778         },
1779         {
1780         .app_id                  = 1,
1781         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1782         .direction               = TF_DIR_RX,
1783         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1784         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1785         .count                   = 13200
1786         },
1787         {
1788         .app_id                  = 1,
1789         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1790         .direction               = TF_DIR_TX,
1791         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1792         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1793         .count                   = 26
1794         },
1795         {
1796         .app_id                  = 1,
1797         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1798         .direction               = TF_DIR_TX,
1799         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1800         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1801         .count                   = 26
1802         },
1803         {
1804         .app_id                  = 1,
1805         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1806         .direction               = TF_DIR_TX,
1807         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1808         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1809         .count                   = 32
1810         },
1811         {
1812         .app_id                  = 1,
1813         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1814         .direction               = TF_DIR_TX,
1815         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1816         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1817         .count                   = 63
1818         },
1819         {
1820         .app_id                  = 1,
1821         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1822         .direction               = TF_DIR_TX,
1823         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1824         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1825         .count                   = 32
1826         },
1827         {
1828         .app_id                  = 1,
1829         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1830         .direction               = TF_DIR_TX,
1831         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1832         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1833         .count                   = 1024
1834         },
1835         {
1836         .app_id                  = 1,
1837         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1838         .direction               = TF_DIR_TX,
1839         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1840         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1841         .count                   = 512
1842         },
1843         {
1844         .app_id                  = 1,
1845         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1846         .direction               = TF_DIR_TX,
1847         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1848         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1849         .count                   = 14
1850         },
1851         {
1852         .app_id                  = 1,
1853         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1854         .direction               = TF_DIR_TX,
1855         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1856         .resource_type           = TF_TBL_TYPE_EM_FKB,
1857         .count                   = 32
1858         },
1859         {
1860         .app_id                  = 1,
1861         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1862         .direction               = TF_DIR_TX,
1863         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1864         .resource_type           = TF_TBL_TYPE_WC_FKB,
1865         .count                   = 32
1866         },
1867         {
1868         .app_id                  = 1,
1869         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1870         .direction               = TF_DIR_TX,
1871         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1872         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1873         .count                   = 64
1874         },
1875         {
1876         .app_id                  = 1,
1877         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1878         .direction               = TF_DIR_TX,
1879         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1880         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1881         .count                   = 100
1882         },
1883         {
1884         .app_id                  = 1,
1885         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1886         .direction               = TF_DIR_TX,
1887         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1888         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1889         .count                   = 1
1890         },
1891         {
1892         .app_id                  = 1,
1893         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1894         .direction               = TF_DIR_TX,
1895         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1896         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1897         .count                   = 200
1898         },
1899         {
1900         .app_id                  = 1,
1901         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1902         .direction               = TF_DIR_TX,
1903         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1904         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1905         .count                   = 110
1906         },
1907         {
1908         .app_id                  = 1,
1909         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1910         .direction               = TF_DIR_TX,
1911         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1912         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1913         .count                   = 128
1914         },
1915         {
1916         .app_id                  = 1,
1917         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1918         .direction               = TF_DIR_TX,
1919         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1920         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1921         .count                   = 128
1922         },
1923         {
1924         .app_id                  = 1,
1925         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1926         .direction               = TF_DIR_TX,
1927         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1928         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1929         .count                   = 15232
1930         },
1931         {
1932         .app_id                  = 2,
1933         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1934         .direction               = TF_DIR_RX,
1935         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1936         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1937         .count                   = 422
1938         },
1939         {
1940         .app_id                  = 2,
1941         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1942         .direction               = TF_DIR_RX,
1943         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1944         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1945         .count                   = 6
1946         },
1947         {
1948         .app_id                  = 2,
1949         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1950         .direction               = TF_DIR_RX,
1951         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1952         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1953         .count                   = 192
1954         },
1955         {
1956         .app_id                  = 2,
1957         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1958         .direction               = TF_DIR_RX,
1959         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1960         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1961         .count                   = 64
1962         },
1963         {
1964         .app_id                  = 2,
1965         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1966         .direction               = TF_DIR_RX,
1967         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1968         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1969         .count                   = 192
1970         },
1971         {
1972         .app_id                  = 2,
1973         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1974         .direction               = TF_DIR_RX,
1975         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1976         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1977         .count                   = 8192
1978         },
1979         {
1980         .app_id                  = 2,
1981         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1982         .direction               = TF_DIR_RX,
1983         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1984         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1985         .count                   = 8192
1986         },
1987         {
1988         .app_id                  = 2,
1989         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1990         .direction               = TF_DIR_RX,
1991         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1992         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1993         .count                   = 1023
1994         },
1995         {
1996         .app_id                  = 2,
1997         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1998         .direction               = TF_DIR_RX,
1999         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2000         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2001         .count                   = 511
2002         },
2003         {
2004         .app_id                  = 2,
2005         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2006         .direction               = TF_DIR_RX,
2007         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2008         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2009         .count                   = 63
2010         },
2011         {
2012         .app_id                  = 2,
2013         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2014         .direction               = TF_DIR_RX,
2015         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2016         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
2017         .count                   = 255
2018         },
2019         {
2020         .app_id                  = 2,
2021         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2022         .direction               = TF_DIR_RX,
2023         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2024         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2025         .count                   = 1
2026         },
2027         {
2028         .app_id                  = 2,
2029         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2030         .direction               = TF_DIR_RX,
2031         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2032         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2033         .count                   = 422
2034         },
2035         {
2036         .app_id                  = 2,
2037         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2038         .direction               = TF_DIR_RX,
2039         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2040         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2041         .count                   = 6
2042         },
2043         {
2044         .app_id                  = 2,
2045         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2046         .direction               = TF_DIR_RX,
2047         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2048         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2049         .count                   = 960
2050         },
2051         {
2052         .app_id                  = 2,
2053         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2054         .direction               = TF_DIR_RX,
2055         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2056         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2057         .count                   = 88
2058         },
2059         {
2060         .app_id                  = 2,
2061         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2062         .direction               = TF_DIR_RX,
2063         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2064         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2065         .count                   = 13168
2066         },
2067         {
2068         .app_id                  = 2,
2069         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2070         .direction               = TF_DIR_RX,
2071         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2072         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
2073         .count                   = 1
2074         },
2075         {
2076         .app_id                  = 2,
2077         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2078         .direction               = TF_DIR_TX,
2079         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2080         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2081         .count                   = 292
2082         },
2083         {
2084         .app_id                  = 2,
2085         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2086         .direction               = TF_DIR_TX,
2087         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2088         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2089         .count                   = 148
2090         },
2091         {
2092         .app_id                  = 2,
2093         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2094         .direction               = TF_DIR_TX,
2095         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2096         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2097         .count                   = 192
2098         },
2099         {
2100         .app_id                  = 2,
2101         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2102         .direction               = TF_DIR_TX,
2103         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2104         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2105         .count                   = 64
2106         },
2107         {
2108         .app_id                  = 2,
2109         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2110         .direction               = TF_DIR_TX,
2111         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2112         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2113         .count                   = 192
2114         },
2115         {
2116         .app_id                  = 2,
2117         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2118         .direction               = TF_DIR_TX,
2119         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2120         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2121         .count                   = 8192
2122         },
2123         {
2124         .app_id                  = 2,
2125         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2126         .direction               = TF_DIR_TX,
2127         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2128         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2129         .count                   = 8192
2130         },
2131         {
2132         .app_id                  = 2,
2133         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2134         .direction               = TF_DIR_TX,
2135         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2136         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2137         .count                   = 1023
2138         },
2139         {
2140         .app_id                  = 2,
2141         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2142         .direction               = TF_DIR_TX,
2143         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2144         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2145         .count                   = 511
2146         },
2147         {
2148         .app_id                  = 2,
2149         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2150         .direction               = TF_DIR_TX,
2151         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2152         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2153         .count                   = 223
2154         },
2155         {
2156         .app_id                  = 2,
2157         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2158         .direction               = TF_DIR_TX,
2159         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2160         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2161         .count                   = 255
2162         },
2163         {
2164         .app_id                  = 2,
2165         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2166         .direction               = TF_DIR_TX,
2167         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2168         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2169         .count                   = 488
2170         },
2171         {
2172         .app_id                  = 2,
2173         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2174         .direction               = TF_DIR_TX,
2175         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2176         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2177         .count                   = 511
2178         },
2179         {
2180         .app_id                  = 2,
2181         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2182         .direction               = TF_DIR_TX,
2183         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2184         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2185         .count                   = 1
2186         },
2187         {
2188         .app_id                  = 2,
2189         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2190         .direction               = TF_DIR_TX,
2191         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2192         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2193         .count                   = 292
2194         },
2195         {
2196         .app_id                  = 2,
2197         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2198         .direction               = TF_DIR_TX,
2199         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2200         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2201         .count                   = 144
2202         },
2203         {
2204         .app_id                  = 2,
2205         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2206         .direction               = TF_DIR_TX,
2207         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2208         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2209         .count                   = 960
2210         },
2211         {
2212         .app_id                  = 2,
2213         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2214         .direction               = TF_DIR_TX,
2215         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2216         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2217         .count                   = 928
2218         },
2219         {
2220         .app_id                  = 2,
2221         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2222         .direction               = TF_DIR_TX,
2223         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2224         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2225         .count                   = 15232
2226         },
2227         {
2228         .app_id                  = 2,
2229         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2230         .direction               = TF_DIR_TX,
2231         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2232         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
2233         .count                   = 1
2234         },
2235         {
2236         .app_id                  = 2,
2237         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2238         .direction               = TF_DIR_RX,
2239         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2240         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2241         .count                   = 26
2242         },
2243         {
2244         .app_id                  = 2,
2245         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2246         .direction               = TF_DIR_RX,
2247         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2248         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2249         .count                   = 6
2250         },
2251         {
2252         .app_id                  = 2,
2253         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2254         .direction               = TF_DIR_RX,
2255         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2256         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2257         .count                   = 32
2258         },
2259         {
2260         .app_id                  = 2,
2261         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2262         .direction               = TF_DIR_RX,
2263         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2264         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2265         .count                   = 32
2266         },
2267         {
2268         .app_id                  = 2,
2269         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2270         .direction               = TF_DIR_RX,
2271         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2272         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2273         .count                   = 32
2274         },
2275         {
2276         .app_id                  = 2,
2277         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2278         .direction               = TF_DIR_RX,
2279         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2280         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2281         .count                   = 1024
2282         },
2283         {
2284         .app_id                  = 2,
2285         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2286         .direction               = TF_DIR_RX,
2287         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2288         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2289         .count                   = 512
2290         },
2291         {
2292         .app_id                  = 2,
2293         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2294         .direction               = TF_DIR_RX,
2295         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2296         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2297         .count                   = 14
2298         },
2299         {
2300         .app_id                  = 2,
2301         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2302         .direction               = TF_DIR_RX,
2303         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2304         .resource_type           = TF_TBL_TYPE_EM_FKB,
2305         .count                   = 32
2306         },
2307         {
2308         .app_id                  = 2,
2309         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2310         .direction               = TF_DIR_RX,
2311         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2312         .resource_type           = TF_TBL_TYPE_WC_FKB,
2313         .count                   = 32
2314         },
2315         {
2316         .app_id                  = 2,
2317         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2318         .direction               = TF_DIR_RX,
2319         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2320         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2321         .count                   = 64
2322         },
2323         {
2324         .app_id                  = 2,
2325         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2326         .direction               = TF_DIR_RX,
2327         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2328         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2329         .count                   = 64
2330         },
2331         {
2332         .app_id                  = 2,
2333         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2334         .direction               = TF_DIR_RX,
2335         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2336         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2337         .count                   = 300
2338         },
2339         {
2340         .app_id                  = 2,
2341         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2342         .direction               = TF_DIR_RX,
2343         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2344         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2345         .count                   = 6
2346         },
2347         {
2348         .app_id                  = 2,
2349         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2350         .direction               = TF_DIR_RX,
2351         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2352         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2353         .count                   = 128
2354         },
2355         {
2356         .app_id                  = 2,
2357         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2358         .direction               = TF_DIR_RX,
2359         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2360         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2361         .count                   = 112
2362         },
2363         {
2364         .app_id                  = 2,
2365         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2366         .direction               = TF_DIR_RX,
2367         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2368         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2369         .count                   = 13200
2370         },
2371         {
2372         .app_id                  = 2,
2373         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2374         .direction               = TF_DIR_TX,
2375         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2376         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2377         .count                   = 26
2378         },
2379         {
2380         .app_id                  = 2,
2381         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2382         .direction               = TF_DIR_TX,
2383         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2384         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2385         .count                   = 26
2386         },
2387         {
2388         .app_id                  = 2,
2389         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2390         .direction               = TF_DIR_TX,
2391         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2392         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2393         .count                   = 32
2394         },
2395         {
2396         .app_id                  = 2,
2397         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2398         .direction               = TF_DIR_TX,
2399         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2400         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2401         .count                   = 63
2402         },
2403         {
2404         .app_id                  = 2,
2405         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2406         .direction               = TF_DIR_TX,
2407         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2408         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2409         .count                   = 32
2410         },
2411         {
2412         .app_id                  = 2,
2413         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2414         .direction               = TF_DIR_TX,
2415         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2416         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2417         .count                   = 1024
2418         },
2419         {
2420         .app_id                  = 2,
2421         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2422         .direction               = TF_DIR_TX,
2423         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2424         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2425         .count                   = 512
2426         },
2427         {
2428         .app_id                  = 2,
2429         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2430         .direction               = TF_DIR_TX,
2431         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2432         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2433         .count                   = 14
2434         },
2435         {
2436         .app_id                  = 2,
2437         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2438         .direction               = TF_DIR_TX,
2439         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2440         .resource_type           = TF_TBL_TYPE_EM_FKB,
2441         .count                   = 32
2442         },
2443         {
2444         .app_id                  = 2,
2445         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2446         .direction               = TF_DIR_TX,
2447         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2448         .resource_type           = TF_TBL_TYPE_WC_FKB,
2449         .count                   = 32
2450         },
2451         {
2452         .app_id                  = 2,
2453         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2454         .direction               = TF_DIR_TX,
2455         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2456         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2457         .count                   = 64
2458         },
2459         {
2460         .app_id                  = 2,
2461         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2462         .direction               = TF_DIR_TX,
2463         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2464         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2465         .count                   = 100
2466         },
2467         {
2468         .app_id                  = 2,
2469         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2470         .direction               = TF_DIR_TX,
2471         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2472         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2473         .count                   = 1
2474         },
2475         {
2476         .app_id                  = 2,
2477         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2478         .direction               = TF_DIR_TX,
2479         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2480         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2481         .count                   = 200
2482         },
2483         {
2484         .app_id                  = 2,
2485         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2486         .direction               = TF_DIR_TX,
2487         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2488         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2489         .count                   = 110
2490         },
2491         {
2492         .app_id                  = 2,
2493         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2494         .direction               = TF_DIR_TX,
2495         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2496         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2497         .count                   = 128
2498         },
2499         {
2500         .app_id                  = 2,
2501         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2502         .direction               = TF_DIR_TX,
2503         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2504         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2505         .count                   = 128
2506         },
2507         {
2508         .app_id                  = 2,
2509         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2510         .direction               = TF_DIR_TX,
2511         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2512         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2513         .count                   = 15232
2514         }
2515 };
2516
2517 uint32_t ulp_act_prop_map_table[] = {
2518         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2519                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2520         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2521                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2522         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2523                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2524         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2525                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2526         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2527                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2528         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2529                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2530         [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2531                 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2532         [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2533                 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2534         [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2535                 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2536         [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2537                 BNXT_ULP_ACT_PROP_SZ_VNIC,
2538         [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2539                 BNXT_ULP_ACT_PROP_SZ_VPORT,
2540         [BNXT_ULP_ACT_PROP_IDX_MARK] =
2541                 BNXT_ULP_ACT_PROP_SZ_MARK,
2542         [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2543                 BNXT_ULP_ACT_PROP_SZ_COUNT,
2544         [BNXT_ULP_ACT_PROP_IDX_METER] =
2545                 BNXT_ULP_ACT_PROP_SZ_METER,
2546         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2547                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2548         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2549                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2550         [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2551                 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2552         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2553                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2554         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2555                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2556         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2557                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2558         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2559                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2560         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2561                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2562         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2563                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2564         [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2565                 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2566         [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2567                 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2568         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2569                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2570         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2571                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2572         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2573                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2574         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2575                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2576         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2577                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2578         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2579                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
2580         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
2581                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
2582         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
2583                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
2584         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
2585                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
2586         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
2587                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
2588         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
2589                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
2590         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
2591                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
2592         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
2593                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
2594         [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
2595                 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
2596         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
2597                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
2598         [BNXT_ULP_ACT_PROP_IDX_JUMP] =
2599                 BNXT_ULP_ACT_PROP_SZ_JUMP,
2600         [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
2601                 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
2602         [BNXT_ULP_ACT_PROP_IDX_LAST] =
2603                 BNXT_ULP_ACT_PROP_SZ_LAST
2604 };
2605
2606 uint8_t ulp_glb_field_tbl[] = {
2607         [2048] = 0,
2608         [2049] = 1,
2609         [2050] = 2,
2610         [2052] = 3,
2611         [2054] = 4,
2612         [2088] = 5,
2613         [2090] = 6,
2614         [2092] = 7,
2615         [2094] = 8,
2616         [2096] = 9,
2617         [2098] = 10,
2618         [2100] = 11,
2619         [2102] = 12,
2620         [2176] = 0,
2621         [2177] = 1,
2622         [2178] = 2,
2623         [2180] = 3,
2624         [2182] = 4,
2625         [2196] = 5,
2626         [2198] = 6,
2627         [2200] = 7,
2628         [2202] = 8,
2629         [2204] = 9,
2630         [2206] = 10,
2631         [2208] = 11,
2632         [2210] = 12,
2633         [2212] = 13,
2634         [2214] = 14,
2635         [2304] = 0,
2636         [2305] = 1,
2637         [2306] = 2,
2638         [2308] = 3,
2639         [2310] = 4,
2640         [2344] = 8,
2641         [2346] = 9,
2642         [2348] = 10,
2643         [2350] = 11,
2644         [2352] = 12,
2645         [2354] = 13,
2646         [2356] = 14,
2647         [2358] = 15,
2648         [2386] = 5,
2649         [2390] = 6,
2650         [2394] = 7,
2651         [2432] = 0,
2652         [2433] = 1,
2653         [2434] = 2,
2654         [2436] = 3,
2655         [2438] = 4,
2656         [2452] = 8,
2657         [2454] = 9,
2658         [2456] = 10,
2659         [2458] = 11,
2660         [2460] = 12,
2661         [2462] = 13,
2662         [2464] = 14,
2663         [2466] = 15,
2664         [2468] = 16,
2665         [2470] = 17,
2666         [2514] = 5,
2667         [2518] = 6,
2668         [2522] = 7,
2669         [2560] = 0,
2670         [2561] = 1,
2671         [2562] = 2,
2672         [2564] = 3,
2673         [2566] = 4,
2674         [2600] = 5,
2675         [2602] = 6,
2676         [2604] = 7,
2677         [2606] = 8,
2678         [2608] = 9,
2679         [2610] = 10,
2680         [2612] = 11,
2681         [2614] = 12,
2682         [2616] = 13,
2683         [2618] = 14,
2684         [2620] = 15,
2685         [2622] = 16,
2686         [2624] = 17,
2687         [2626] = 18,
2688         [2628] = 19,
2689         [2630] = 20,
2690         [2632] = 21,
2691         [2688] = 0,
2692         [2689] = 1,
2693         [2690] = 2,
2694         [2692] = 3,
2695         [2694] = 4,
2696         [2708] = 5,
2697         [2710] = 6,
2698         [2712] = 7,
2699         [2714] = 8,
2700         [2716] = 9,
2701         [2718] = 10,
2702         [2720] = 11,
2703         [2722] = 12,
2704         [2724] = 13,
2705         [2726] = 14,
2706         [2744] = 15,
2707         [2746] = 16,
2708         [2748] = 17,
2709         [2750] = 18,
2710         [2752] = 19,
2711         [2754] = 20,
2712         [2756] = 21,
2713         [2758] = 22,
2714         [2760] = 23,
2715         [2816] = 0,
2716         [2817] = 1,
2717         [2818] = 2,
2718         [2820] = 3,
2719         [2822] = 4,
2720         [2856] = 5,
2721         [2858] = 6,
2722         [2860] = 7,
2723         [2862] = 8,
2724         [2864] = 9,
2725         [2866] = 10,
2726         [2868] = 11,
2727         [2870] = 12,
2728         [2890] = 13,
2729         [2892] = 14,
2730         [2894] = 15,
2731         [2896] = 16,
2732         [2944] = 0,
2733         [2945] = 1,
2734         [2946] = 2,
2735         [2948] = 3,
2736         [2950] = 4,
2737         [2964] = 5,
2738         [2966] = 6,
2739         [2968] = 7,
2740         [2970] = 8,
2741         [2972] = 9,
2742         [2974] = 10,
2743         [2976] = 11,
2744         [2978] = 12,
2745         [2980] = 13,
2746         [2982] = 14,
2747         [3018] = 15,
2748         [3020] = 16,
2749         [3022] = 17,
2750         [3024] = 18,
2751         [3072] = 0,
2752         [3073] = 1,
2753         [3074] = 2,
2754         [3076] = 3,
2755         [3078] = 4,
2756         [3112] = 8,
2757         [3114] = 9,
2758         [3116] = 10,
2759         [3118] = 11,
2760         [3120] = 12,
2761         [3122] = 13,
2762         [3124] = 14,
2763         [3126] = 15,
2764         [3128] = 16,
2765         [3130] = 17,
2766         [3132] = 18,
2767         [3134] = 19,
2768         [3136] = 20,
2769         [3138] = 21,
2770         [3140] = 22,
2771         [3142] = 23,
2772         [3144] = 24,
2773         [3154] = 5,
2774         [3158] = 6,
2775         [3162] = 7,
2776         [3200] = 0,
2777         [3201] = 1,
2778         [3202] = 2,
2779         [3204] = 3,
2780         [3206] = 4,
2781         [3220] = 8,
2782         [3222] = 9,
2783         [3224] = 10,
2784         [3226] = 11,
2785         [3228] = 12,
2786         [3230] = 13,
2787         [3232] = 14,
2788         [3234] = 15,
2789         [3236] = 16,
2790         [3238] = 17,
2791         [3256] = 18,
2792         [3258] = 19,
2793         [3260] = 20,
2794         [3262] = 21,
2795         [3264] = 22,
2796         [3266] = 23,
2797         [3268] = 24,
2798         [3270] = 25,
2799         [3272] = 26,
2800         [3282] = 5,
2801         [3286] = 6,
2802         [3290] = 7,
2803         [3328] = 0,
2804         [3329] = 1,
2805         [3330] = 2,
2806         [3332] = 3,
2807         [3334] = 4,
2808         [3368] = 8,
2809         [3370] = 9,
2810         [3372] = 10,
2811         [3374] = 11,
2812         [3376] = 12,
2813         [3378] = 13,
2814         [3380] = 14,
2815         [3382] = 15,
2816         [3402] = 16,
2817         [3404] = 17,
2818         [3406] = 18,
2819         [3408] = 19,
2820         [3410] = 5,
2821         [3414] = 6,
2822         [3418] = 7,
2823         [3456] = 0,
2824         [3457] = 1,
2825         [3458] = 2,
2826         [3460] = 3,
2827         [3462] = 4,
2828         [3476] = 8,
2829         [3478] = 9,
2830         [3480] = 10,
2831         [3482] = 11,
2832         [3484] = 12,
2833         [3486] = 13,
2834         [3488] = 14,
2835         [3490] = 15,
2836         [3492] = 16,
2837         [3494] = 17,
2838         [3530] = 18,
2839         [3532] = 19,
2840         [3534] = 20,
2841         [3536] = 21,
2842         [3538] = 5,
2843         [3542] = 6,
2844         [3546] = 7,
2845         [3584] = 0,
2846         [3585] = 1,
2847         [3586] = 2,
2848         [3588] = 3,
2849         [3590] = 4,
2850         [3604] = 5,
2851         [3606] = 6,
2852         [3608] = 7,
2853         [3610] = 8,
2854         [3612] = 9,
2855         [3614] = 10,
2856         [3616] = 11,
2857         [3618] = 12,
2858         [3620] = 13,
2859         [3622] = 14,
2860         [3658] = 15,
2861         [3660] = 16,
2862         [3662] = 17,
2863         [3664] = 18,
2864         [3678] = 19,
2865         [3679] = 20,
2866         [3680] = 21,
2867         [3681] = 22,
2868         [4096] = 0,
2869         [4097] = 1,
2870         [4098] = 2,
2871         [4100] = 3,
2872         [4102] = 4,
2873         [4136] = 5,
2874         [4138] = 6,
2875         [4140] = 7,
2876         [4142] = 8,
2877         [4144] = 9,
2878         [4146] = 10,
2879         [4148] = 11,
2880         [4150] = 12,
2881         [4224] = 0,
2882         [4225] = 1,
2883         [4226] = 2,
2884         [4228] = 3,
2885         [4230] = 4,
2886         [4244] = 5,
2887         [4246] = 6,
2888         [4248] = 7,
2889         [4250] = 8,
2890         [4252] = 9,
2891         [4254] = 10,
2892         [4256] = 11,
2893         [4258] = 12,
2894         [4260] = 13,
2895         [4262] = 14,
2896         [4352] = 0,
2897         [4353] = 1,
2898         [4354] = 2,
2899         [4356] = 3,
2900         [4358] = 4,
2901         [4392] = 8,
2902         [4394] = 9,
2903         [4396] = 10,
2904         [4398] = 11,
2905         [4400] = 12,
2906         [4402] = 13,
2907         [4404] = 14,
2908         [4406] = 15,
2909         [4434] = 5,
2910         [4438] = 6,
2911         [4442] = 7,
2912         [4480] = 0,
2913         [4481] = 1,
2914         [4482] = 2,
2915         [4484] = 3,
2916         [4486] = 4,
2917         [4500] = 8,
2918         [4502] = 9,
2919         [4504] = 10,
2920         [4506] = 11,
2921         [4508] = 12,
2922         [4510] = 13,
2923         [4512] = 14,
2924         [4514] = 15,
2925         [4516] = 16,
2926         [4518] = 17,
2927         [4562] = 5,
2928         [4566] = 6,
2929         [4570] = 7,
2930         [4608] = 0,
2931         [4609] = 1,
2932         [4610] = 2,
2933         [4612] = 3,
2934         [4614] = 4,
2935         [4648] = 5,
2936         [4650] = 6,
2937         [4652] = 7,
2938         [4654] = 8,
2939         [4656] = 9,
2940         [4658] = 10,
2941         [4660] = 11,
2942         [4662] = 12,
2943         [4664] = 13,
2944         [4666] = 14,
2945         [4668] = 15,
2946         [4670] = 16,
2947         [4672] = 17,
2948         [4674] = 18,
2949         [4676] = 19,
2950         [4678] = 20,
2951         [4680] = 21,
2952         [4736] = 0,
2953         [4737] = 1,
2954         [4738] = 2,
2955         [4740] = 3,
2956         [4742] = 4,
2957         [4756] = 5,
2958         [4758] = 6,
2959         [4760] = 7,
2960         [4762] = 8,
2961         [4764] = 9,
2962         [4766] = 10,
2963         [4768] = 11,
2964         [4770] = 12,
2965         [4772] = 13,
2966         [4774] = 14,
2967         [4792] = 15,
2968         [4794] = 16,
2969         [4796] = 17,
2970         [4798] = 18,
2971         [4800] = 19,
2972         [4802] = 20,
2973         [4804] = 21,
2974         [4806] = 22,
2975         [4808] = 23,
2976         [4864] = 0,
2977         [4865] = 1,
2978         [4866] = 2,
2979         [4868] = 3,
2980         [4870] = 4,
2981         [4904] = 5,
2982         [4906] = 6,
2983         [4908] = 7,
2984         [4910] = 8,
2985         [4912] = 9,
2986         [4914] = 10,
2987         [4916] = 11,
2988         [4918] = 12,
2989         [4938] = 13,
2990         [4940] = 14,
2991         [4942] = 15,
2992         [4944] = 16,
2993         [4992] = 0,
2994         [4993] = 1,
2995         [4994] = 2,
2996         [4996] = 3,
2997         [4998] = 4,
2998         [5012] = 5,
2999         [5014] = 6,
3000         [5016] = 7,
3001         [5018] = 8,
3002         [5020] = 9,
3003         [5022] = 10,
3004         [5024] = 11,
3005         [5026] = 12,
3006         [5028] = 13,
3007         [5030] = 14,
3008         [5066] = 15,
3009         [5068] = 16,
3010         [5070] = 17,
3011         [5072] = 18,
3012         [5120] = 0,
3013         [5121] = 1,
3014         [5122] = 2,
3015         [5124] = 3,
3016         [5126] = 4,
3017         [5160] = 8,
3018         [5162] = 9,
3019         [5164] = 10,
3020         [5166] = 11,
3021         [5168] = 12,
3022         [5170] = 13,
3023         [5172] = 14,
3024         [5174] = 15,
3025         [5176] = 16,
3026         [5178] = 17,
3027         [5180] = 18,
3028         [5182] = 19,
3029         [5184] = 20,
3030         [5186] = 21,
3031         [5188] = 22,
3032         [5190] = 23,
3033         [5192] = 24,
3034         [5202] = 5,
3035         [5206] = 6,
3036         [5210] = 7,
3037         [5248] = 0,
3038         [5249] = 1,
3039         [5250] = 2,
3040         [5252] = 3,
3041         [5254] = 4,
3042         [5268] = 8,
3043         [5270] = 9,
3044         [5272] = 10,
3045         [5274] = 11,
3046         [5276] = 12,
3047         [5278] = 13,
3048         [5280] = 14,
3049         [5282] = 15,
3050         [5284] = 16,
3051         [5286] = 17,
3052         [5304] = 18,
3053         [5306] = 19,
3054         [5308] = 20,
3055         [5310] = 21,
3056         [5312] = 22,
3057         [5314] = 23,
3058         [5316] = 24,
3059         [5318] = 25,
3060         [5320] = 26,
3061         [5330] = 5,
3062         [5334] = 6,
3063         [5338] = 7,
3064         [5376] = 0,
3065         [5377] = 1,
3066         [5378] = 2,
3067         [5380] = 3,
3068         [5382] = 4,
3069         [5416] = 8,
3070         [5418] = 9,
3071         [5420] = 10,
3072         [5422] = 11,
3073         [5424] = 12,
3074         [5426] = 13,
3075         [5428] = 14,
3076         [5430] = 15,
3077         [5450] = 16,
3078         [5452] = 17,
3079         [5454] = 18,
3080         [5456] = 19,
3081         [5458] = 5,
3082         [5462] = 6,
3083         [5466] = 7,
3084         [5504] = 0,
3085         [5505] = 1,
3086         [5506] = 2,
3087         [5508] = 3,
3088         [5510] = 4,
3089         [5524] = 8,
3090         [5526] = 9,
3091         [5528] = 10,
3092         [5530] = 11,
3093         [5532] = 12,
3094         [5534] = 13,
3095         [5536] = 14,
3096         [5538] = 15,
3097         [5540] = 16,
3098         [5542] = 17,
3099         [5578] = 18,
3100         [5580] = 19,
3101         [5582] = 20,
3102         [5584] = 21,
3103         [5586] = 5,
3104         [5590] = 6,
3105         [5594] = 7
3106 };
3107