/* SPDX-License-Identifier: BSD-3-Clause
 * Copyright(c) 2014-2025 Broadcom
 * All rights reserved.
 */

#ifndef ULP_TEMPLATE_DB_DEFS_H_
#define ULP_TEMPLATE_DB_DEFS_H_

#define BNXT_ULP_REGFILE_MAX_SZ 113
#define BNXT_ULP_MAX_NUM_DEVICES 5
#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736
#define BNXT_ULP_GEN_TBL_MAX_SZ 66
#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2
#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 196
#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21
#define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 0
#define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 51
#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 0
#define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 73
#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 3
#define BNXT_ULP_COND_GOTO_REJECT 1023
#define BNXT_ULP_COND_GOTO_RF 0x10000
#define BNXT_ULP_APP_ID_CONFIG 0
#define BNXT_ULP_GLB_FIELD_TBL_SIZE 132
#define BNXT_ULP_GLB_SIG_TBL_SIZE 1
#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 9
#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 99
#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683
#define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0
#define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29
#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657
#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50
#define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0
#define ULP_THOR_CLASS_TMPL_LIST_SIZE 9
#define ULP_THOR_CLASS_TBL_LIST_SIZE 219
#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 944
#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 794
#define ULP_THOR_CLASS_IDENT_LIST_SIZE 68
#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1322
#define ULP_THOR_CLASS_COND_LIST_SIZE 4978
#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 17
#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 9
#define ULP_THOR2_CLASS_TBL_LIST_SIZE 232
#define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 854
#define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 699
#define ULP_THOR2_CLASS_IDENT_LIST_SIZE 80
#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 2035
#define ULP_THOR2_CLASS_COND_LIST_SIZE 4355
#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 31
#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 13
#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 155
#define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 49
#define ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE 0
#define ULP_WH_PLUS_ACT_IDENT_LIST_SIZE 20
#define ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE 995
#define ULP_WH_PLUS_ACT_COND_LIST_SIZE 134
#define ULP_WH_PLUS_ACT_COND_OPER_LIST_SIZE 6
#define ULP_THOR_ACT_TMPL_LIST_SIZE 13
#define ULP_THOR_ACT_TBL_LIST_SIZE 104
#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 83
#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 5
#define ULP_THOR_ACT_IDENT_LIST_SIZE 19
#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 416
#define ULP_THOR_ACT_COND_LIST_SIZE 90
#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 0
#define ULP_THOR2_ACT_TMPL_LIST_SIZE 13
#define ULP_THOR2_ACT_TBL_LIST_SIZE 145
#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 120
#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 5
#define ULP_THOR2_ACT_IDENT_LIST_SIZE 46
#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 541
#define ULP_THOR2_ACT_COND_LIST_SIZE 103
#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0

enum bnxt_ulp_df_tpl {
	BNXT_ULP_DF_TPL_DEFAULT_UPLINK_PORT = 3,
	BNXT_ULP_DF_TPL_DEFAULT_VFR = 4
};

enum bnxt_ulp_template_id {
	BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5,
	BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6,
	BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7,
	BNXT_ULP_TEMPLATE_HOT_UPGRADE = 8
};

#endif
