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