xref: /OK3568_Linux_fs/kernel/include/soc/mscc/ocelot_ana.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Microsemi Ocelot Switch driver
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (c) 2017 Microsemi Corporation
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _MSCC_OCELOT_ANA_H_
9*4882a593Smuzhiyun #define _MSCC_OCELOT_ANA_H_
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define ANA_ANAGEFIL_B_DOM_EN                             BIT(22)
12*4882a593Smuzhiyun #define ANA_ANAGEFIL_B_DOM_VAL                            BIT(21)
13*4882a593Smuzhiyun #define ANA_ANAGEFIL_AGE_LOCKED                           BIT(20)
14*4882a593Smuzhiyun #define ANA_ANAGEFIL_PID_EN                               BIT(19)
15*4882a593Smuzhiyun #define ANA_ANAGEFIL_PID_VAL(x)                           (((x) << 14) & GENMASK(18, 14))
16*4882a593Smuzhiyun #define ANA_ANAGEFIL_PID_VAL_M                            GENMASK(18, 14)
17*4882a593Smuzhiyun #define ANA_ANAGEFIL_PID_VAL_X(x)                         (((x) & GENMASK(18, 14)) >> 14)
18*4882a593Smuzhiyun #define ANA_ANAGEFIL_VID_EN                               BIT(13)
19*4882a593Smuzhiyun #define ANA_ANAGEFIL_VID_VAL(x)                           ((x) & GENMASK(12, 0))
20*4882a593Smuzhiyun #define ANA_ANAGEFIL_VID_VAL_M                            GENMASK(12, 0)
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_RSZ                            0x4
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_RATE(x)                  (((x) << 3) & GENMASK(6, 3))
25*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_RATE_M                   GENMASK(6, 3)
26*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_RATE_X(x)                (((x) & GENMASK(6, 3)) >> 3)
27*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_UNIT                     BIT(2)
28*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_MODE(x)                  ((x) & GENMASK(1, 0))
29*4882a593Smuzhiyun #define ANA_STORMLIMIT_CFG_STORM_MODE_M                   GENMASK(1, 0)
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define ANA_AUTOAGE_AGE_FAST                              BIT(21)
32*4882a593Smuzhiyun #define ANA_AUTOAGE_AGE_PERIOD(x)                         (((x) << 1) & GENMASK(20, 1))
33*4882a593Smuzhiyun #define ANA_AUTOAGE_AGE_PERIOD_M                          GENMASK(20, 1)
34*4882a593Smuzhiyun #define ANA_AUTOAGE_AGE_PERIOD_X(x)                       (((x) & GENMASK(20, 1)) >> 1)
35*4882a593Smuzhiyun #define ANA_AUTOAGE_AUTOAGE_LOCKED                        BIT(0)
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun #define ANA_MACTOPTIONS_REDUCED_TABLE                     BIT(1)
38*4882a593Smuzhiyun #define ANA_MACTOPTIONS_SHADOW                            BIT(0)
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define ANA_AGENCTRL_FID_MASK(x)                          (((x) << 12) & GENMASK(23, 12))
41*4882a593Smuzhiyun #define ANA_AGENCTRL_FID_MASK_M                           GENMASK(23, 12)
42*4882a593Smuzhiyun #define ANA_AGENCTRL_FID_MASK_X(x)                        (((x) & GENMASK(23, 12)) >> 12)
43*4882a593Smuzhiyun #define ANA_AGENCTRL_IGNORE_DMAC_FLAGS                    BIT(11)
44*4882a593Smuzhiyun #define ANA_AGENCTRL_IGNORE_SMAC_FLAGS                    BIT(10)
45*4882a593Smuzhiyun #define ANA_AGENCTRL_FLOOD_SPECIAL                        BIT(9)
46*4882a593Smuzhiyun #define ANA_AGENCTRL_FLOOD_IGNORE_VLAN                    BIT(8)
47*4882a593Smuzhiyun #define ANA_AGENCTRL_MIRROR_CPU                           BIT(7)
48*4882a593Smuzhiyun #define ANA_AGENCTRL_LEARN_CPU_COPY                       BIT(6)
49*4882a593Smuzhiyun #define ANA_AGENCTRL_LEARN_FWD_KILL                       BIT(5)
50*4882a593Smuzhiyun #define ANA_AGENCTRL_LEARN_IGNORE_VLAN                    BIT(4)
51*4882a593Smuzhiyun #define ANA_AGENCTRL_CPU_CPU_KILL_ENA                     BIT(3)
52*4882a593Smuzhiyun #define ANA_AGENCTRL_GREEN_COUNT_MODE                     BIT(2)
53*4882a593Smuzhiyun #define ANA_AGENCTRL_YELLOW_COUNT_MODE                    BIT(1)
54*4882a593Smuzhiyun #define ANA_AGENCTRL_RED_COUNT_MODE                       BIT(0)
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun #define ANA_FLOODING_RSZ                                  0x4
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #define ANA_FLOODING_FLD_UNICAST(x)                       (((x) << 12) & GENMASK(17, 12))
59*4882a593Smuzhiyun #define ANA_FLOODING_FLD_UNICAST_M                        GENMASK(17, 12)
60*4882a593Smuzhiyun #define ANA_FLOODING_FLD_UNICAST_X(x)                     (((x) & GENMASK(17, 12)) >> 12)
61*4882a593Smuzhiyun #define ANA_FLOODING_FLD_BROADCAST(x)                     (((x) << 6) & GENMASK(11, 6))
62*4882a593Smuzhiyun #define ANA_FLOODING_FLD_BROADCAST_M                      GENMASK(11, 6)
63*4882a593Smuzhiyun #define ANA_FLOODING_FLD_BROADCAST_X(x)                   (((x) & GENMASK(11, 6)) >> 6)
64*4882a593Smuzhiyun #define ANA_FLOODING_FLD_MULTICAST(x)                     ((x) & GENMASK(5, 0))
65*4882a593Smuzhiyun #define ANA_FLOODING_FLD_MULTICAST_M                      GENMASK(5, 0)
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_CTRL(x)                 (((x) << 18) & GENMASK(23, 18))
68*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_CTRL_M                  GENMASK(23, 18)
69*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_CTRL_X(x)               (((x) & GENMASK(23, 18)) >> 18)
70*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_DATA(x)                 (((x) << 12) & GENMASK(17, 12))
71*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_DATA_M                  GENMASK(17, 12)
72*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC4_DATA_X(x)               (((x) & GENMASK(17, 12)) >> 12)
73*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC6_CTRL(x)                 (((x) << 6) & GENMASK(11, 6))
74*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC6_CTRL_M                  GENMASK(11, 6)
75*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC6_CTRL_X(x)               (((x) & GENMASK(11, 6)) >> 6)
76*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC6_DATA(x)                 ((x) & GENMASK(5, 0))
77*4882a593Smuzhiyun #define ANA_FLOODING_IPMC_FLD_MC6_DATA_M                  GENMASK(5, 0)
78*4882a593Smuzhiyun 
79*4882a593Smuzhiyun #define ANA_SFLOW_CFG_RSZ                                 0x4
80*4882a593Smuzhiyun 
81*4882a593Smuzhiyun #define ANA_SFLOW_CFG_SF_RATE(x)                          (((x) << 2) & GENMASK(13, 2))
82*4882a593Smuzhiyun #define ANA_SFLOW_CFG_SF_RATE_M                           GENMASK(13, 2)
83*4882a593Smuzhiyun #define ANA_SFLOW_CFG_SF_RATE_X(x)                        (((x) & GENMASK(13, 2)) >> 2)
84*4882a593Smuzhiyun #define ANA_SFLOW_CFG_SF_SAMPLE_RX                        BIT(1)
85*4882a593Smuzhiyun #define ANA_SFLOW_CFG_SF_SAMPLE_TX                        BIT(0)
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun #define ANA_PORT_MODE_RSZ                                 0x4
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun #define ANA_PORT_MODE_REDTAG_PARSE_CFG                    BIT(3)
90*4882a593Smuzhiyun #define ANA_PORT_MODE_VLAN_PARSE_CFG(x)                   (((x) << 1) & GENMASK(2, 1))
91*4882a593Smuzhiyun #define ANA_PORT_MODE_VLAN_PARSE_CFG_M                    GENMASK(2, 1)
92*4882a593Smuzhiyun #define ANA_PORT_MODE_VLAN_PARSE_CFG_X(x)                 (((x) & GENMASK(2, 1)) >> 1)
93*4882a593Smuzhiyun #define ANA_PORT_MODE_L3_PARSE_CFG                        BIT(0)
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun #define ANA_CUT_THRU_CFG_RSZ                              0x4
96*4882a593Smuzhiyun 
97*4882a593Smuzhiyun #define ANA_PGID_PGID_RSZ                                 0x4
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun #define ANA_PGID_PGID_PGID(x)                             ((x) & GENMASK(11, 0))
100*4882a593Smuzhiyun #define ANA_PGID_PGID_PGID_M                              GENMASK(11, 0)
101*4882a593Smuzhiyun #define ANA_PGID_PGID_CPUQ_DST_PGID(x)                    (((x) << 27) & GENMASK(29, 27))
102*4882a593Smuzhiyun #define ANA_PGID_PGID_CPUQ_DST_PGID_M                     GENMASK(29, 27)
103*4882a593Smuzhiyun #define ANA_PGID_PGID_CPUQ_DST_PGID_X(x)                  (((x) & GENMASK(29, 27)) >> 27)
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun #define ANA_TABLES_MACHDATA_VID(x)                        (((x) << 16) & GENMASK(28, 16))
106*4882a593Smuzhiyun #define ANA_TABLES_MACHDATA_VID_M                         GENMASK(28, 16)
107*4882a593Smuzhiyun #define ANA_TABLES_MACHDATA_VID_X(x)                      (((x) & GENMASK(28, 16)) >> 16)
108*4882a593Smuzhiyun #define ANA_TABLES_MACHDATA_MACHDATA(x)                   ((x) & GENMASK(15, 0))
109*4882a593Smuzhiyun #define ANA_TABLES_MACHDATA_MACHDATA_M                    GENMASK(15, 0)
110*4882a593Smuzhiyun 
111*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SSID_VALID                  BIT(16)
112*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SSID(x)                     (((x) << 9) & GENMASK(15, 9))
113*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SSID_M                      GENMASK(15, 9)
114*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SSID_X(x)                   (((x) & GENMASK(15, 9)) >> 9)
115*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SFID_VALID                  BIT(8)
116*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SFID(x)                     ((x) & GENMASK(7, 0))
117*4882a593Smuzhiyun #define ANA_TABLES_STREAMDATA_SFID_M                      GENMASK(7, 0)
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_MAC_CPU_COPY                 BIT(15)
120*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_SRC_KILL                     BIT(14)
121*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_IGNORE_VLAN                  BIT(13)
122*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_AGED_FLAG                    BIT(12)
123*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_VALID                        BIT(11)
124*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_ENTRYTYPE(x)                 (((x) << 9) & GENMASK(10, 9))
125*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_ENTRYTYPE_M                  GENMASK(10, 9)
126*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_ENTRYTYPE_X(x)               (((x) & GENMASK(10, 9)) >> 9)
127*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_DEST_IDX(x)                  (((x) << 3) & GENMASK(8, 3))
128*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_DEST_IDX_M                   GENMASK(8, 3)
129*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_DEST_IDX_X(x)                (((x) & GENMASK(8, 3)) >> 3)
130*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_MAC_TABLE_CMD(x)             ((x) & GENMASK(2, 0))
131*4882a593Smuzhiyun #define ANA_TABLES_MACACCESS_MAC_TABLE_CMD_M              GENMASK(2, 0)
132*4882a593Smuzhiyun #define MACACCESS_CMD_IDLE                     0
133*4882a593Smuzhiyun #define MACACCESS_CMD_LEARN                    1
134*4882a593Smuzhiyun #define MACACCESS_CMD_FORGET                   2
135*4882a593Smuzhiyun #define MACACCESS_CMD_AGE                      3
136*4882a593Smuzhiyun #define MACACCESS_CMD_GET_NEXT                 4
137*4882a593Smuzhiyun #define MACACCESS_CMD_INIT                     5
138*4882a593Smuzhiyun #define MACACCESS_CMD_READ                     6
139*4882a593Smuzhiyun #define MACACCESS_CMD_WRITE                    7
140*4882a593Smuzhiyun 
141*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_VLAN_PORT_MASK(x)           (((x) << 2) & GENMASK(13, 2))
142*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_VLAN_PORT_MASK_M            GENMASK(13, 2)
143*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_VLAN_PORT_MASK_X(x)         (((x) & GENMASK(13, 2)) >> 2)
144*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_VLAN_TBL_CMD(x)             ((x) & GENMASK(1, 0))
145*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_VLAN_TBL_CMD_M              GENMASK(1, 0)
146*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_CMD_IDLE                    0x0
147*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_CMD_WRITE                   0x2
148*4882a593Smuzhiyun #define ANA_TABLES_VLANACCESS_CMD_INIT                    0x3
149*4882a593Smuzhiyun 
150*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_SEC_FWD_ENA              BIT(17)
151*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_FLOOD_DIS                BIT(16)
152*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_PRIV_VLAN                BIT(15)
153*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_LEARN_DISABLED           BIT(14)
154*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_MIRROR                   BIT(13)
155*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_VLAN_SRC_CHK                  BIT(12)
156*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_V_INDEX(x)                    ((x) & GENMASK(11, 0))
157*4882a593Smuzhiyun #define ANA_TABLES_VLANTIDX_V_INDEX_M                     GENMASK(11, 0)
158*4882a593Smuzhiyun 
159*4882a593Smuzhiyun #define ANA_TABLES_ISDXACCESS_ISDX_PORT_MASK(x)           (((x) << 2) & GENMASK(8, 2))
160*4882a593Smuzhiyun #define ANA_TABLES_ISDXACCESS_ISDX_PORT_MASK_M            GENMASK(8, 2)
161*4882a593Smuzhiyun #define ANA_TABLES_ISDXACCESS_ISDX_PORT_MASK_X(x)         (((x) & GENMASK(8, 2)) >> 2)
162*4882a593Smuzhiyun #define ANA_TABLES_ISDXACCESS_ISDX_TBL_CMD(x)             ((x) & GENMASK(1, 0))
163*4882a593Smuzhiyun #define ANA_TABLES_ISDXACCESS_ISDX_TBL_CMD_M              GENMASK(1, 0)
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_SDLBI(x)                 (((x) << 21) & GENMASK(28, 21))
166*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_SDLBI_M                  GENMASK(28, 21)
167*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_SDLBI_X(x)               (((x) & GENMASK(28, 21)) >> 21)
168*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_MSTI(x)                  (((x) << 15) & GENMASK(20, 15))
169*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_MSTI_M                   GENMASK(20, 15)
170*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_MSTI_X(x)                (((x) & GENMASK(20, 15)) >> 15)
171*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_ES0_KEY_ENA              BIT(14)
172*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_FORCE_ENA                BIT(10)
173*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_INDEX(x)                 ((x) & GENMASK(7, 0))
174*4882a593Smuzhiyun #define ANA_TABLES_ISDXTIDX_ISDX_INDEX_M                  GENMASK(7, 0)
175*4882a593Smuzhiyun 
176*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_RSZ                           0x4
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_ENTRYLIM(x)                   (((x) << 14) & GENMASK(17, 14))
179*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_ENTRYLIM_M                    GENMASK(17, 14)
180*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_ENTRYLIM_X(x)                 (((x) & GENMASK(17, 14)) >> 14)
181*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_ENTRYSTAT(x)                  ((x) & GENMASK(13, 0))
182*4882a593Smuzhiyun #define ANA_TABLES_ENTRYLIM_ENTRYSTAT_M                   GENMASK(13, 0)
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_GEN_REC_SEQ_NUM(x)        (((x) << 4) & GENMASK(31, 4))
185*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_GEN_REC_SEQ_NUM_M         GENMASK(31, 4)
186*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_GEN_REC_SEQ_NUM_X(x)      (((x) & GENMASK(31, 4)) >> 4)
187*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_SEQ_GEN_REC_ENA           BIT(3)
188*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_GEN_REC_TYPE              BIT(2)
189*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_STREAM_TBL_CMD(x)         ((x) & GENMASK(1, 0))
190*4882a593Smuzhiyun #define ANA_TABLES_STREAMACCESS_STREAM_TBL_CMD_M          GENMASK(1, 0)
191*4882a593Smuzhiyun 
192*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_GEN_ERR_STATUS(x)       (((x) << 30) & GENMASK(31, 30))
193*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_GEN_ERR_STATUS_M        GENMASK(31, 30)
194*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_GEN_ERR_STATUS_X(x)     (((x) & GENMASK(31, 30)) >> 30)
195*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_S_INDEX(x)                  (((x) << 16) & GENMASK(22, 16))
196*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_S_INDEX_M                   GENMASK(22, 16)
197*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_S_INDEX_X(x)                (((x) & GENMASK(22, 16)) >> 16)
198*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_FORCE_SF_BEHAVIOUR          BIT(14)
199*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_HISTORY_LEN(x)          (((x) << 8) & GENMASK(13, 8))
200*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_HISTORY_LEN_M           GENMASK(13, 8)
201*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_HISTORY_LEN_X(x)        (((x) & GENMASK(13, 8)) >> 8)
202*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_RESET_ON_ROGUE              BIT(7)
203*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_REDTAG_POP                  BIT(6)
204*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_STREAM_SPLIT                BIT(5)
205*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_SPACE_LOG2(x)           ((x) & GENMASK(4, 0))
206*4882a593Smuzhiyun #define ANA_TABLES_STREAMTIDX_SEQ_SPACE_LOG2_M            GENMASK(4, 0)
207*4882a593Smuzhiyun 
208*4882a593Smuzhiyun #define ANA_TABLES_SEQ_MASK_SPLIT_MASK(x)                 (((x) << 16) & GENMASK(22, 16))
209*4882a593Smuzhiyun #define ANA_TABLES_SEQ_MASK_SPLIT_MASK_M                  GENMASK(22, 16)
210*4882a593Smuzhiyun #define ANA_TABLES_SEQ_MASK_SPLIT_MASK_X(x)               (((x) & GENMASK(22, 16)) >> 16)
211*4882a593Smuzhiyun #define ANA_TABLES_SEQ_MASK_INPUT_PORT_MASK(x)            ((x) & GENMASK(6, 0))
212*4882a593Smuzhiyun #define ANA_TABLES_SEQ_MASK_INPUT_PORT_MASK_M             GENMASK(6, 0)
213*4882a593Smuzhiyun 
214*4882a593Smuzhiyun #define ANA_TABLES_SFID_MASK_IGR_PORT_MASK(x)             (((x) << 1) & GENMASK(7, 1))
215*4882a593Smuzhiyun #define ANA_TABLES_SFID_MASK_IGR_PORT_MASK_M              GENMASK(7, 1)
216*4882a593Smuzhiyun #define ANA_TABLES_SFID_MASK_IGR_PORT_MASK_X(x)           (((x) & GENMASK(7, 1)) >> 1)
217*4882a593Smuzhiyun #define ANA_TABLES_SFID_MASK_IGR_SRCPORT_MATCH_ENA        BIT(0)
218*4882a593Smuzhiyun 
219*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_IGR_PRIO_MATCH_ENA          BIT(22)
220*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_IGR_PRIO(x)                 (((x) << 19) & GENMASK(21, 19))
221*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_IGR_PRIO_M                  GENMASK(21, 19)
222*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_IGR_PRIO_X(x)               (((x) & GENMASK(21, 19)) >> 19)
223*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_FORCE_BLOCK                 BIT(18)
224*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_MAX_SDU_LEN(x)              (((x) << 2) & GENMASK(17, 2))
225*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_MAX_SDU_LEN_M               GENMASK(17, 2)
226*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_MAX_SDU_LEN_X(x)            (((x) & GENMASK(17, 2)) >> 2)
227*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_SFID_TBL_CMD(x)             ((x) & GENMASK(1, 0))
228*4882a593Smuzhiyun #define ANA_TABLES_SFIDACCESS_SFID_TBL_CMD_M              GENMASK(1, 0)
229*4882a593Smuzhiyun 
230*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SGID_VALID                    BIT(26)
231*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SGID(x)                       (((x) << 18) & GENMASK(25, 18))
232*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SGID_M                        GENMASK(25, 18)
233*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SGID_X(x)                     (((x) & GENMASK(25, 18)) >> 18)
234*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_POL_ENA                       BIT(17)
235*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_POL_IDX(x)                    (((x) << 8) & GENMASK(16, 8))
236*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_POL_IDX_M                     GENMASK(16, 8)
237*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_POL_IDX_X(x)                  (((x) & GENMASK(16, 8)) >> 8)
238*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SFID_INDEX(x)                 ((x) & GENMASK(7, 0))
239*4882a593Smuzhiyun #define ANA_TABLES_SFIDTIDX_SFID_INDEX_M                  GENMASK(7, 0)
240*4882a593Smuzhiyun 
241*4882a593Smuzhiyun #define ANA_MSTI_STATE_RSZ                                0x4
242*4882a593Smuzhiyun 
243*4882a593Smuzhiyun #define ANA_OAM_UPM_LM_CNT_RSZ                            0x4
244*4882a593Smuzhiyun 
245*4882a593Smuzhiyun #define ANA_SG_ACCESS_CTRL_SGID(x)                        ((x) & GENMASK(7, 0))
246*4882a593Smuzhiyun #define ANA_SG_ACCESS_CTRL_SGID_M                         GENMASK(7, 0)
247*4882a593Smuzhiyun #define ANA_SG_ACCESS_CTRL_CONFIG_CHANGE                  BIT(28)
248*4882a593Smuzhiyun 
249*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB(x)          ((x) & GENMASK(15, 0))
250*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB_M           GENMASK(15, 0)
251*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_LIST_LENGTH(x)                (((x) << 16) & GENMASK(18, 16))
252*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_LIST_LENGTH_M                 GENMASK(18, 16)
253*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_LIST_LENGTH_X(x)              (((x) & GENMASK(18, 16)) >> 16)
254*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_GATE_ENABLE                   BIT(20)
255*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_INIT_IPS(x)                   (((x) << 21) & GENMASK(24, 21))
256*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_INIT_IPS_M                    GENMASK(24, 21)
257*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_INIT_IPS_X(x)                 (((x) & GENMASK(24, 21)) >> 21)
258*4882a593Smuzhiyun #define ANA_SG_CONFIG_REG_3_INIT_GATE_STATE               BIT(25)
259*4882a593Smuzhiyun 
260*4882a593Smuzhiyun #define ANA_SG_GCL_GS_CONFIG_RSZ                          0x4
261*4882a593Smuzhiyun 
262*4882a593Smuzhiyun #define ANA_SG_GCL_GS_CONFIG_IPS(x)                       ((x) & GENMASK(3, 0))
263*4882a593Smuzhiyun #define ANA_SG_GCL_GS_CONFIG_IPS_M                        GENMASK(3, 0)
264*4882a593Smuzhiyun #define ANA_SG_GCL_GS_CONFIG_GATE_STATE                   BIT(4)
265*4882a593Smuzhiyun 
266*4882a593Smuzhiyun #define ANA_SG_GCL_TI_CONFIG_RSZ                          0x4
267*4882a593Smuzhiyun 
268*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB(x)       ((x) & GENMASK(15, 0))
269*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB_M        GENMASK(15, 0)
270*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_GATE_STATE                    BIT(16)
271*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_IPS(x)                        (((x) << 20) & GENMASK(23, 20))
272*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_IPS_M                         GENMASK(23, 20)
273*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_IPS_X(x)                      (((x) & GENMASK(23, 20)) >> 20)
274*4882a593Smuzhiyun #define ANA_SG_STATUS_REG_3_CONFIG_PENDING                BIT(24)
275*4882a593Smuzhiyun 
276*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_GSZ                             0x100
277*4882a593Smuzhiyun 
278*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_VID_AS_ISDX                BIT(21)
279*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_AWARE_ENA                  BIT(20)
280*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_POP_CNT(x)                 (((x) << 18) & GENMASK(19, 18))
281*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_POP_CNT_M                  GENMASK(19, 18)
282*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_POP_CNT_X(x)               (((x) & GENMASK(19, 18)) >> 18)
283*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_INNER_TAG_ENA              BIT(17)
284*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_TAG_TYPE                   BIT(16)
285*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_DEI                        BIT(15)
286*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_PCP(x)                     (((x) << 12) & GENMASK(14, 12))
287*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_PCP_M                      GENMASK(14, 12)
288*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_PCP_X(x)                   (((x) & GENMASK(14, 12)) >> 12)
289*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_VID(x)                     ((x) & GENMASK(11, 0))
290*4882a593Smuzhiyun #define ANA_PORT_VLAN_CFG_VLAN_VID_M                      GENMASK(11, 0)
291*4882a593Smuzhiyun 
292*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_GSZ                             0x100
293*4882a593Smuzhiyun 
294*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_UNTAGGED_ENA               BIT(6)
295*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_S_TAGGED_ENA               BIT(5)
296*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_C_TAGGED_ENA               BIT(4)
297*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_PRIO_S_TAGGED_ENA          BIT(3)
298*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_PRIO_C_TAGGED_ENA          BIT(2)
299*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_NULL_MAC_ENA               BIT(1)
300*4882a593Smuzhiyun #define ANA_PORT_DROP_CFG_DROP_MC_SMAC_ENA                BIT(0)
301*4882a593Smuzhiyun 
302*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_GSZ                              0x100
303*4882a593Smuzhiyun 
304*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_DP_DEFAULT_VAL                   BIT(8)
305*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_QOS_DEFAULT_VAL(x)               (((x) << 5) & GENMASK(7, 5))
306*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_QOS_DEFAULT_VAL_M                GENMASK(7, 5)
307*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_QOS_DEFAULT_VAL_X(x)             (((x) & GENMASK(7, 5)) >> 5)
308*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_QOS_DSCP_ENA                     BIT(4)
309*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_QOS_PCP_ENA                      BIT(3)
310*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_DSCP_TRANSLATE_ENA               BIT(2)
311*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_DSCP_REWR_CFG(x)                 ((x) & GENMASK(1, 0))
312*4882a593Smuzhiyun #define ANA_PORT_QOS_CFG_DSCP_REWR_CFG_M                  GENMASK(1, 0)
313*4882a593Smuzhiyun 
314*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_GSZ                             0x100
315*4882a593Smuzhiyun 
316*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_ENA                          BIT(14)
317*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_DMAC_DIP_ENA(x)              (((x) << 11) & GENMASK(13, 11))
318*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_DMAC_DIP_ENA_M               GENMASK(13, 11)
319*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_DMAC_DIP_ENA_X(x)            (((x) & GENMASK(13, 11)) >> 11)
320*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_VLAN_INNER_TAG_ENA(x)        (((x) << 8) & GENMASK(10, 8))
321*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_VLAN_INNER_TAG_ENA_M         GENMASK(10, 8)
322*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_S1_VLAN_INNER_TAG_ENA_X(x)      (((x) & GENMASK(10, 8)) >> 8)
323*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_PAG_VAL(x)                      ((x) & GENMASK(7, 0))
324*4882a593Smuzhiyun #define ANA_PORT_VCAP_CFG_PAG_VAL_M                       GENMASK(7, 0)
325*4882a593Smuzhiyun 
326*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_GSZ                      0x100
327*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_RSZ                      0x4
328*4882a593Smuzhiyun 
329*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP6_CFG(x)        (((x) << 4) & GENMASK(6, 4))
330*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP6_CFG_M         GENMASK(6, 4)
331*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP6_CFG_X(x)      (((x) & GENMASK(6, 4)) >> 4)
332*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP4_CFG(x)        (((x) << 2) & GENMASK(3, 2))
333*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP4_CFG_M         GENMASK(3, 2)
334*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_IP4_CFG_X(x)      (((x) & GENMASK(3, 2)) >> 2)
335*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_OTHER_CFG(x)      ((x) & GENMASK(1, 0))
336*4882a593Smuzhiyun #define ANA_PORT_VCAP_S1_KEY_CFG_S1_KEY_OTHER_CFG_M       GENMASK(1, 0)
337*4882a593Smuzhiyun 
338*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_GSZ                          0x100
339*4882a593Smuzhiyun 
340*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_UDP_PAYLOAD_ENA(x)        (((x) << 17) & GENMASK(18, 17))
341*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_UDP_PAYLOAD_ENA_M         GENMASK(18, 17)
342*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_UDP_PAYLOAD_ENA_X(x)      (((x) & GENMASK(18, 17)) >> 17)
343*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ETYPE_PAYLOAD_ENA(x)      (((x) << 15) & GENMASK(16, 15))
344*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ETYPE_PAYLOAD_ENA_M       GENMASK(16, 15)
345*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ETYPE_PAYLOAD_ENA_X(x)    (((x) & GENMASK(16, 15)) >> 15)
346*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ENA                       BIT(14)
347*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_SNAP_DIS(x)               (((x) << 12) & GENMASK(13, 12))
348*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_SNAP_DIS_M                GENMASK(13, 12)
349*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_SNAP_DIS_X(x)             (((x) & GENMASK(13, 12)) >> 12)
350*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ARP_DIS(x)                (((x) << 10) & GENMASK(11, 10))
351*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ARP_DIS_M                 GENMASK(11, 10)
352*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_ARP_DIS_X(x)              (((x) & GENMASK(11, 10)) >> 10)
353*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_TCPUDP_DIS(x)          (((x) << 8) & GENMASK(9, 8))
354*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_TCPUDP_DIS_M           GENMASK(9, 8)
355*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_TCPUDP_DIS_X(x)        (((x) & GENMASK(9, 8)) >> 8)
356*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_OTHER_DIS(x)           (((x) << 6) & GENMASK(7, 6))
357*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_OTHER_DIS_M            GENMASK(7, 6)
358*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP_OTHER_DIS_X(x)         (((x) & GENMASK(7, 6)) >> 6)
359*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP6_CFG(x)                (((x) << 2) & GENMASK(5, 2))
360*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP6_CFG_M                 GENMASK(5, 2)
361*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_IP6_CFG_X(x)              (((x) & GENMASK(5, 2)) >> 2)
362*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_OAM_DIS(x)                ((x) & GENMASK(1, 0))
363*4882a593Smuzhiyun #define ANA_PORT_VCAP_S2_CFG_S2_OAM_DIS_M                 GENMASK(1, 0)
364*4882a593Smuzhiyun 
365*4882a593Smuzhiyun #define ANA_PORT_PCP_DEI_MAP_GSZ                          0x100
366*4882a593Smuzhiyun #define ANA_PORT_PCP_DEI_MAP_RSZ                          0x4
367*4882a593Smuzhiyun 
368*4882a593Smuzhiyun #define ANA_PORT_PCP_DEI_MAP_DP_PCP_DEI_VAL               BIT(3)
369*4882a593Smuzhiyun #define ANA_PORT_PCP_DEI_MAP_QOS_PCP_DEI_VAL(x)           ((x) & GENMASK(2, 0))
370*4882a593Smuzhiyun #define ANA_PORT_PCP_DEI_MAP_QOS_PCP_DEI_VAL_M            GENMASK(2, 0)
371*4882a593Smuzhiyun 
372*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_GSZ                          0x100
373*4882a593Smuzhiyun 
374*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_VRAP_REDIR_ENA           BIT(7)
375*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_MLD_REDIR_ENA            BIT(6)
376*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_IGMP_REDIR_ENA           BIT(5)
377*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_IPMC_CTRL_COPY_ENA       BIT(4)
378*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_SRC_COPY_ENA             BIT(3)
379*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_ALLBRIDGE_DROP_ENA       BIT(2)
380*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_ALLBRIDGE_REDIR_ENA      BIT(1)
381*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CFG_CPU_OAM_ENA                  BIT(0)
382*4882a593Smuzhiyun 
383*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_GSZ                     0x100
384*4882a593Smuzhiyun 
385*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_BPDU_DROP_ENA(x)        (((x) << 16) & GENMASK(31, 16))
386*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_BPDU_DROP_ENA_M         GENMASK(31, 16)
387*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_BPDU_DROP_ENA_X(x)      (((x) & GENMASK(31, 16)) >> 16)
388*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_BPDU_REDIR_ENA(x)       ((x) & GENMASK(15, 0))
389*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_BPDU_CFG_BPDU_REDIR_ENA_M        GENMASK(15, 0)
390*4882a593Smuzhiyun 
391*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GSZ                     0x100
392*4882a593Smuzhiyun 
393*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GARP_DROP_ENA(x)        (((x) << 16) & GENMASK(31, 16))
394*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GARP_DROP_ENA_M         GENMASK(31, 16)
395*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GARP_DROP_ENA_X(x)      (((x) & GENMASK(31, 16)) >> 16)
396*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GARP_REDIR_ENA(x)       ((x) & GENMASK(15, 0))
397*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_GARP_CFG_GARP_REDIR_ENA_M        GENMASK(15, 0)
398*4882a593Smuzhiyun 
399*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_GSZ                      0x100
400*4882a593Smuzhiyun 
401*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_CCM_DROP_ENA(x)          (((x) << 16) & GENMASK(31, 16))
402*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_CCM_DROP_ENA_M           GENMASK(31, 16)
403*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_CCM_DROP_ENA_X(x)        (((x) & GENMASK(31, 16)) >> 16)
404*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_CCM_REDIR_ENA(x)         ((x) & GENMASK(15, 0))
405*4882a593Smuzhiyun #define ANA_PORT_CPU_FWD_CCM_CFG_CCM_REDIR_ENA_M          GENMASK(15, 0)
406*4882a593Smuzhiyun 
407*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_GSZ                             0x100
408*4882a593Smuzhiyun 
409*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_SRC_MIRROR_ENA                  BIT(15)
410*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LIMIT_DROP                      BIT(14)
411*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LIMIT_CPU                       BIT(13)
412*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LOCKED_PORTMOVE_DROP            BIT(12)
413*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LOCKED_PORTMOVE_CPU             BIT(11)
414*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LEARNDROP                       BIT(10)
415*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LEARNCPU                        BIT(9)
416*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LEARNAUTO                       BIT(8)
417*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LEARN_ENA                       BIT(7)
418*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_RECV_ENA                        BIT(6)
419*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_PORTID_VAL(x)                   (((x) << 2) & GENMASK(5, 2))
420*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_PORTID_VAL_M                    GENMASK(5, 2)
421*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_PORTID_VAL_X(x)                 (((x) & GENMASK(5, 2)) >> 2)
422*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_USE_B_DOM_TBL                   BIT(1)
423*4882a593Smuzhiyun #define ANA_PORT_PORT_CFG_LSR_MODE                        BIT(0)
424*4882a593Smuzhiyun 
425*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_GSZ                              0x100
426*4882a593Smuzhiyun 
427*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_POL_CPU_REDIR_8021               BIT(19)
428*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_POL_CPU_REDIR_IP                 BIT(18)
429*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_PORT_POL_ENA                     BIT(17)
430*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_QUEUE_POL_ENA(x)                 (((x) << 9) & GENMASK(16, 9))
431*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_QUEUE_POL_ENA_M                  GENMASK(16, 9)
432*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_QUEUE_POL_ENA_X(x)               (((x) & GENMASK(16, 9)) >> 9)
433*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_POL_ORDER(x)                     ((x) & GENMASK(8, 0))
434*4882a593Smuzhiyun #define ANA_PORT_POL_CFG_POL_ORDER_M                      GENMASK(8, 0)
435*4882a593Smuzhiyun 
436*4882a593Smuzhiyun #define ANA_PORT_PTP_CFG_GSZ                              0x100
437*4882a593Smuzhiyun 
438*4882a593Smuzhiyun #define ANA_PORT_PTP_CFG_PTP_BACKPLANE_MODE               BIT(0)
439*4882a593Smuzhiyun 
440*4882a593Smuzhiyun #define ANA_PORT_PTP_DLY1_CFG_GSZ                         0x100
441*4882a593Smuzhiyun 
442*4882a593Smuzhiyun #define ANA_PORT_PTP_DLY2_CFG_GSZ                         0x100
443*4882a593Smuzhiyun 
444*4882a593Smuzhiyun #define ANA_PORT_SFID_CFG_GSZ                             0x100
445*4882a593Smuzhiyun #define ANA_PORT_SFID_CFG_RSZ                             0x4
446*4882a593Smuzhiyun 
447*4882a593Smuzhiyun #define ANA_PORT_SFID_CFG_SFID_VALID                      BIT(8)
448*4882a593Smuzhiyun #define ANA_PORT_SFID_CFG_SFID(x)                         ((x) & GENMASK(7, 0))
449*4882a593Smuzhiyun #define ANA_PORT_SFID_CFG_SFID_M                          GENMASK(7, 0)
450*4882a593Smuzhiyun 
451*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_GSZ                               0x40
452*4882a593Smuzhiyun 
453*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_RX_PFC_ENA(x)                     (((x) << 2) & GENMASK(9, 2))
454*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_RX_PFC_ENA_M                      GENMASK(9, 2)
455*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_RX_PFC_ENA_X(x)                   (((x) & GENMASK(9, 2)) >> 2)
456*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_FC_LINK_SPEED(x)                  ((x) & GENMASK(1, 0))
457*4882a593Smuzhiyun #define ANA_PFC_PFC_CFG_FC_LINK_SPEED_M                   GENMASK(1, 0)
458*4882a593Smuzhiyun 
459*4882a593Smuzhiyun #define ANA_PFC_PFC_TIMER_GSZ                             0x40
460*4882a593Smuzhiyun #define ANA_PFC_PFC_TIMER_RSZ                             0x4
461*4882a593Smuzhiyun 
462*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_GSZ                           0x8
463*4882a593Smuzhiyun 
464*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_P(x)                  (((x) << 6) & GENMASK(10, 6))
465*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_P_M                   GENMASK(10, 6)
466*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_P_X(x)                (((x) & GENMASK(10, 6)) >> 6)
467*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX(x)                    (((x) << 1) & GENMASK(5, 1))
468*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_M                     GENMASK(5, 1)
469*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_X(x)                  (((x) & GENMASK(5, 1)) >> 1)
470*4882a593Smuzhiyun #define ANA_IPT_OAM_MEP_CFG_MEP_IDX_ENA                   BIT(0)
471*4882a593Smuzhiyun 
472*4882a593Smuzhiyun #define ANA_IPT_IPT_GSZ                                   0x8
473*4882a593Smuzhiyun 
474*4882a593Smuzhiyun #define ANA_IPT_IPT_IPT_CFG(x)                            (((x) << 15) & GENMASK(16, 15))
475*4882a593Smuzhiyun #define ANA_IPT_IPT_IPT_CFG_M                             GENMASK(16, 15)
476*4882a593Smuzhiyun #define ANA_IPT_IPT_IPT_CFG_X(x)                          (((x) & GENMASK(16, 15)) >> 15)
477*4882a593Smuzhiyun #define ANA_IPT_IPT_ISDX_P(x)                             (((x) << 7) & GENMASK(14, 7))
478*4882a593Smuzhiyun #define ANA_IPT_IPT_ISDX_P_M                              GENMASK(14, 7)
479*4882a593Smuzhiyun #define ANA_IPT_IPT_ISDX_P_X(x)                           (((x) & GENMASK(14, 7)) >> 7)
480*4882a593Smuzhiyun #define ANA_IPT_IPT_PPT_IDX(x)                            ((x) & GENMASK(6, 0))
481*4882a593Smuzhiyun #define ANA_IPT_IPT_PPT_IDX_M                             GENMASK(6, 0)
482*4882a593Smuzhiyun 
483*4882a593Smuzhiyun #define ANA_PPT_PPT_RSZ                                   0x4
484*4882a593Smuzhiyun 
485*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_RSZ                           0x4
486*4882a593Smuzhiyun 
487*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_FID_C_VAL(x)                  (((x) << 6) & GENMASK(11, 6))
488*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_FID_C_VAL_M                   GENMASK(11, 6)
489*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_FID_C_VAL_X(x)                (((x) & GENMASK(11, 6)) >> 6)
490*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_FID_B_VAL(x)                  ((x) & GENMASK(5, 0))
491*4882a593Smuzhiyun #define ANA_FID_MAP_FID_MAP_FID_B_VAL_M                   GENMASK(5, 0)
492*4882a593Smuzhiyun 
493*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_RND_ENA                           BIT(7)
494*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_DMAC_ENA                          BIT(6)
495*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_SMAC_ENA                          BIT(5)
496*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_IP6_FLOW_LBL_ENA                  BIT(4)
497*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_IP6_TCPUDP_ENA                    BIT(3)
498*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_IP4_SIPDIP_ENA                    BIT(2)
499*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_IP4_TCPUDP_ENA                    BIT(1)
500*4882a593Smuzhiyun #define ANA_AGGR_CFG_AC_ISDX_ENA                          BIT(0)
501*4882a593Smuzhiyun 
502*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MLD(x)                          (((x) << 27) & GENMASK(29, 27))
503*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MLD_M                           GENMASK(29, 27)
504*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MLD_X(x)                        (((x) & GENMASK(29, 27)) >> 27)
505*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IGMP(x)                         (((x) << 24) & GENMASK(26, 24))
506*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IGMP_M                          GENMASK(26, 24)
507*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IGMP_X(x)                       (((x) & GENMASK(26, 24)) >> 24)
508*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IPMC_CTRL(x)                    (((x) << 21) & GENMASK(23, 21))
509*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IPMC_CTRL_M                     GENMASK(23, 21)
510*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_IPMC_CTRL_X(x)                  (((x) & GENMASK(23, 21)) >> 21)
511*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_ALLBRIDGE(x)                    (((x) << 18) & GENMASK(20, 18))
512*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_ALLBRIDGE_M                     GENMASK(20, 18)
513*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_ALLBRIDGE_X(x)                  (((x) & GENMASK(20, 18)) >> 18)
514*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LOCKED_PORTMOVE(x)              (((x) << 15) & GENMASK(17, 15))
515*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LOCKED_PORTMOVE_M               GENMASK(17, 15)
516*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LOCKED_PORTMOVE_X(x)            (((x) & GENMASK(17, 15)) >> 15)
517*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_SRC_COPY(x)                     (((x) << 12) & GENMASK(14, 12))
518*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_SRC_COPY_M                      GENMASK(14, 12)
519*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_SRC_COPY_X(x)                   (((x) & GENMASK(14, 12)) >> 12)
520*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MAC_COPY(x)                     (((x) << 9) & GENMASK(11, 9))
521*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MAC_COPY_M                      GENMASK(11, 9)
522*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MAC_COPY_X(x)                   (((x) & GENMASK(11, 9)) >> 9)
523*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LRN(x)                          (((x) << 6) & GENMASK(8, 6))
524*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LRN_M                           GENMASK(8, 6)
525*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_LRN_X(x)                        (((x) & GENMASK(8, 6)) >> 6)
526*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MIRROR(x)                       (((x) << 3) & GENMASK(5, 3))
527*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MIRROR_M                        GENMASK(5, 3)
528*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_MIRROR_X(x)                     (((x) & GENMASK(5, 3)) >> 3)
529*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_SFLOW(x)                        ((x) & GENMASK(2, 0))
530*4882a593Smuzhiyun #define ANA_CPUQ_CFG_CPUQ_SFLOW_M                         GENMASK(2, 0)
531*4882a593Smuzhiyun 
532*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_RSZ                             0x4
533*4882a593Smuzhiyun 
534*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_BPDU_VAL(x)                (((x) << 6) & GENMASK(8, 6))
535*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_BPDU_VAL_M                 GENMASK(8, 6)
536*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_BPDU_VAL_X(x)              (((x) & GENMASK(8, 6)) >> 6)
537*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_GARP_VAL(x)                (((x) << 3) & GENMASK(5, 3))
538*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_GARP_VAL_M                 GENMASK(5, 3)
539*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_GARP_VAL_X(x)              (((x) & GENMASK(5, 3)) >> 3)
540*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_CCM_VAL(x)                 ((x) & GENMASK(2, 0))
541*4882a593Smuzhiyun #define ANA_CPUQ_8021_CFG_CPUQ_CCM_VAL_M                  GENMASK(2, 0)
542*4882a593Smuzhiyun 
543*4882a593Smuzhiyun #define ANA_DSCP_CFG_RSZ                                  0x4
544*4882a593Smuzhiyun 
545*4882a593Smuzhiyun #define ANA_DSCP_CFG_DP_DSCP_VAL                          BIT(11)
546*4882a593Smuzhiyun #define ANA_DSCP_CFG_QOS_DSCP_VAL(x)                      (((x) << 8) & GENMASK(10, 8))
547*4882a593Smuzhiyun #define ANA_DSCP_CFG_QOS_DSCP_VAL_M                       GENMASK(10, 8)
548*4882a593Smuzhiyun #define ANA_DSCP_CFG_QOS_DSCP_VAL_X(x)                    (((x) & GENMASK(10, 8)) >> 8)
549*4882a593Smuzhiyun #define ANA_DSCP_CFG_DSCP_TRANSLATE_VAL(x)                (((x) << 2) & GENMASK(7, 2))
550*4882a593Smuzhiyun #define ANA_DSCP_CFG_DSCP_TRANSLATE_VAL_M                 GENMASK(7, 2)
551*4882a593Smuzhiyun #define ANA_DSCP_CFG_DSCP_TRANSLATE_VAL_X(x)              (((x) & GENMASK(7, 2)) >> 2)
552*4882a593Smuzhiyun #define ANA_DSCP_CFG_DSCP_TRUST_ENA                       BIT(1)
553*4882a593Smuzhiyun #define ANA_DSCP_CFG_DSCP_REWR_ENA                        BIT(0)
554*4882a593Smuzhiyun 
555*4882a593Smuzhiyun #define ANA_DSCP_REWR_CFG_RSZ                             0x4
556*4882a593Smuzhiyun 
557*4882a593Smuzhiyun #define ANA_VCAP_RNG_TYPE_CFG_RSZ                         0x4
558*4882a593Smuzhiyun 
559*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_RSZ                          0x4
560*4882a593Smuzhiyun 
561*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_VCAP_RNG_MIN_VAL(x)          (((x) << 16) & GENMASK(31, 16))
562*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_VCAP_RNG_MIN_VAL_M           GENMASK(31, 16)
563*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_VCAP_RNG_MIN_VAL_X(x)        (((x) & GENMASK(31, 16)) >> 16)
564*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_VCAP_RNG_MAX_VAL(x)          ((x) & GENMASK(15, 0))
565*4882a593Smuzhiyun #define ANA_VCAP_RNG_VAL_CFG_VCAP_RNG_MAX_VAL_M           GENMASK(15, 0)
566*4882a593Smuzhiyun 
567*4882a593Smuzhiyun #define ANA_VRAP_CFG_VRAP_VLAN_AWARE_ENA                  BIT(12)
568*4882a593Smuzhiyun #define ANA_VRAP_CFG_VRAP_VID(x)                          ((x) & GENMASK(11, 0))
569*4882a593Smuzhiyun #define ANA_VRAP_CFG_VRAP_VID_M                           GENMASK(11, 0)
570*4882a593Smuzhiyun 
571*4882a593Smuzhiyun #define ANA_DISCARD_CFG_DROP_TAGGING_ISDX0                BIT(3)
572*4882a593Smuzhiyun #define ANA_DISCARD_CFG_DROP_CTRLPROT_ISDX0               BIT(2)
573*4882a593Smuzhiyun #define ANA_DISCARD_CFG_DROP_TAGGING_S2_ENA               BIT(1)
574*4882a593Smuzhiyun #define ANA_DISCARD_CFG_DROP_CTRLPROT_S2_ENA              BIT(0)
575*4882a593Smuzhiyun 
576*4882a593Smuzhiyun #define ANA_FID_CFG_VID_MC_ENA                            BIT(0)
577*4882a593Smuzhiyun 
578*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_GSZ                               0x20
579*4882a593Smuzhiyun 
580*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_PIR_RATE(x)                       (((x) << 6) & GENMASK(20, 6))
581*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_PIR_RATE_M                        GENMASK(20, 6)
582*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_PIR_RATE_X(x)                     (((x) & GENMASK(20, 6)) >> 6)
583*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_PIR_BURST(x)                      ((x) & GENMASK(5, 0))
584*4882a593Smuzhiyun #define ANA_POL_PIR_CFG_PIR_BURST_M                       GENMASK(5, 0)
585*4882a593Smuzhiyun 
586*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_GSZ                               0x20
587*4882a593Smuzhiyun 
588*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_CIR_RATE(x)                       (((x) << 6) & GENMASK(20, 6))
589*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_CIR_RATE_M                        GENMASK(20, 6)
590*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_CIR_RATE_X(x)                     (((x) & GENMASK(20, 6)) >> 6)
591*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_CIR_BURST(x)                      ((x) & GENMASK(5, 0))
592*4882a593Smuzhiyun #define ANA_POL_CIR_CFG_CIR_BURST_M                       GENMASK(5, 0)
593*4882a593Smuzhiyun 
594*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_GSZ                              0x20
595*4882a593Smuzhiyun 
596*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_IPG_SIZE(x)                      (((x) << 5) & GENMASK(9, 5))
597*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_IPG_SIZE_M                       GENMASK(9, 5)
598*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_IPG_SIZE_X(x)                    (((x) & GENMASK(9, 5)) >> 5)
599*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_FRM_MODE(x)                      (((x) << 3) & GENMASK(4, 3))
600*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_FRM_MODE_M                       GENMASK(4, 3)
601*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_FRM_MODE_X(x)                    (((x) & GENMASK(4, 3)) >> 3)
602*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_DLB_COUPLED                      BIT(2)
603*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_CIR_ENA                          BIT(1)
604*4882a593Smuzhiyun #define ANA_POL_MODE_CFG_OVERSHOOT_ENA                    BIT(0)
605*4882a593Smuzhiyun 
606*4882a593Smuzhiyun #define ANA_POL_PIR_STATE_GSZ                             0x20
607*4882a593Smuzhiyun 
608*4882a593Smuzhiyun #define ANA_POL_CIR_STATE_GSZ                             0x20
609*4882a593Smuzhiyun 
610*4882a593Smuzhiyun #define ANA_POL_STATE_GSZ                                 0x20
611*4882a593Smuzhiyun 
612*4882a593Smuzhiyun #define ANA_POL_FLOWC_RSZ                                 0x4
613*4882a593Smuzhiyun 
614*4882a593Smuzhiyun #define ANA_POL_FLOWC_POL_FLOWC                           BIT(0)
615*4882a593Smuzhiyun 
616*4882a593Smuzhiyun #define ANA_POL_HYST_POL_FC_HYST(x)                       (((x) << 4) & GENMASK(9, 4))
617*4882a593Smuzhiyun #define ANA_POL_HYST_POL_FC_HYST_M                        GENMASK(9, 4)
618*4882a593Smuzhiyun #define ANA_POL_HYST_POL_FC_HYST_X(x)                     (((x) & GENMASK(9, 4)) >> 4)
619*4882a593Smuzhiyun #define ANA_POL_HYST_POL_STOP_HYST(x)                     ((x) & GENMASK(3, 0))
620*4882a593Smuzhiyun #define ANA_POL_HYST_POL_STOP_HYST_M                      GENMASK(3, 0)
621*4882a593Smuzhiyun 
622*4882a593Smuzhiyun #define ANA_POL_MISC_CFG_POL_CLOSE_ALL                    BIT(1)
623*4882a593Smuzhiyun #define ANA_POL_MISC_CFG_POL_LEAK_DIS                     BIT(0)
624*4882a593Smuzhiyun 
625*4882a593Smuzhiyun #endif
626