xref: /dpdk/drivers/net/ntnic/include/hw_mod_cat_v21.h (revision 636b2cfe0259549bb8df98c30651c90355b679b7)
1 /*
2  * SPDX-License-Identifier: BSD-3-Clause
3  * Copyright(c) 2023 Napatech A/S
4  */
5 
6 #ifndef _HW_MOD_CAT_V21_H_
7 #define _HW_MOD_CAT_V21_H_
8 
9 #include <stdint.h>
10 
11 #include "hw_mod_cat_v18.h"
12 
13 struct cat_v21_cfn_s {
14 	uint32_t enable;
15 	uint32_t inv;
16 	/* protocol checks */
17 	uint32_t ptc_inv;
18 	uint32_t ptc_isl;
19 	uint32_t ptc_cfp;
20 	uint32_t ptc_mac;
21 	uint32_t ptc_l2;
22 	uint32_t ptc_vntag;
23 	uint32_t ptc_vlan;
24 	uint32_t ptc_mpls;
25 	uint32_t ptc_l3;
26 	uint32_t ptc_frag;
27 	uint32_t ptc_ip_prot;
28 	uint32_t ptc_l4;
29 	uint32_t ptc_tunnel;
30 	uint32_t ptc_tnl_l2;
31 	uint32_t ptc_tnl_vlan;
32 	uint32_t ptc_tnl_mpls;
33 	uint32_t ptc_tnl_l3;
34 	uint32_t ptc_tnl_frag;
35 	uint32_t ptc_tnl_ip_prot;
36 	uint32_t ptc_tnl_l4;
37 	/* error checks */
38 	uint32_t err_inv;
39 	uint32_t err_cv;
40 	uint32_t err_fcs;
41 	uint32_t err_trunc;
42 	uint32_t err_l3_cs;
43 	uint32_t err_l4_cs;
44 	uint32_t err_tnl_l3_cs;
45 	uint32_t err_tnl_l4_cs;
46 	uint32_t err_ttl_exp;
47 	uint32_t err_tnl_ttl_exp;
48 	/* in port */
49 	uint32_t mac_port;
50 	/* pattern matcher */
51 	uint32_t pm_cmp[2];
52 	uint32_t pm_dct;
53 	uint32_t pm_ext_inv;
54 	uint32_t pm_cmb;
55 	uint32_t pm_and_inv;
56 	uint32_t pm_or_inv;
57 	uint32_t pm_inv;
58 	uint32_t lc;
59 	uint32_t lc_inv;
60 	uint32_t km0_or;
61 	uint32_t km1_or;
62 };
63 
64 struct cat_v21_kce_s {
65 	uint32_t enable_bm[2];
66 };
67 
68 struct cat_v21_kcs_s {
69 	uint32_t category[2];
70 };
71 
72 struct cat_v21_fte_s {
73 	uint32_t enable_bm[2];
74 };
75 
76 struct hw_mod_cat_v21_s {
77 	struct cat_v21_cfn_s *cfn;
78 	struct cat_v21_kce_s *kce;
79 	struct cat_v21_kcs_s *kcs;
80 	struct cat_v21_fte_s *fte;
81 	struct cat_v18_cte_s *cte;
82 	struct cat_v18_cts_s *cts;
83 	struct cat_v18_cot_s *cot;
84 	struct cat_v18_cct_s *cct;
85 	struct cat_v18_exo_s *exo;
86 	struct cat_v18_rck_s *rck;
87 	struct cat_v18_len_s *len;
88 	struct cat_v18_kcc_s *kcc_cam;
89 };
90 
91 #endif	/* _HW_MOD_CAT_V21_H_ */
92