1 /* SPDX-License-Identifier: GPL-2.0+
2  * Microchip Sparx5 Switch driver
3  *
4  * Copyright (c) 2024 Microchip Technology Inc.
5  */
6 
7 /* This file is autogenerated by cml-utils 2024-10-04 10:40:40 +0200.
8  * Commit ID: 9d07b8d19363f3cd3590ddb3f7a2e2768e16524b
9  */
10 
11 #ifndef _SPARX5_MAIN_REGS_H_
12 #define _SPARX5_MAIN_REGS_H_
13 
14 #include <linux/bitfield.h>
15 #include <linux/types.h>
16 #include <linux/bug.h>
17 
18 #include "sparx5_regs.h"
19 
20 enum sparx5_target {
21 	TARGET_ANA_AC = 1,
22 	TARGET_ANA_ACL = 2,
23 	TARGET_ANA_AC_POL = 4,
24 	TARGET_ANA_AC_SDLB = 5,
25 	TARGET_ANA_CL = 6,
26 	TARGET_ANA_L2 = 7,
27 	TARGET_ANA_L3 = 8,
28 	TARGET_ASM = 9,
29 	TARGET_CLKGEN = 11,
30 	TARGET_CPU = 12,
31 	TARGET_DEV10G = 17,
32 	TARGET_DEV25G = 29,
33 	TARGET_DEV2G5 = 37,
34 	TARGET_DEV5G = 102,
35 	TARGET_DSM = 115,
36 	TARGET_EACL = 116,
37 	TARGET_FDMA = 117,
38 	TARGET_GCB = 118,
39 	TARGET_HSCH = 119,
40 	TARGET_HSIO_WRAP = 120,
41 	TARGET_LRN = 122,
42 	TARGET_PCEP = 129,
43 	TARGET_PCS10G_BR = 132,
44 	TARGET_PCS25G_BR = 144,
45 	TARGET_PCS5G_BR = 160,
46 	TARGET_PORT_CONF = 173,
47 	TARGET_PTP = 174,
48 	TARGET_QFWD = 175,
49 	TARGET_QRES = 176,
50 	TARGET_QS = 177,
51 	TARGET_QSYS = 178,
52 	TARGET_REW = 179,
53 	TARGET_VCAP_ES0 = 323,
54 	TARGET_VCAP_ES2 = 324,
55 	TARGET_VCAP_SUPER = 326,
56 	TARGET_VOP = 327,
57 	TARGET_XQS = 331,
58 	TARGET_DEVRGMII = 392,
59 	NUM_TARGETS = 517
60 };
61 
62 /* sparx5_main.c
63  *
64  * This is used by the register macros to access chip differences (if any) in:
65  * target size, register address, register count, group address, group count,
66  * group size, field position and field size.
67  */
68 extern const struct sparx5_regs *regs;
69 
70 /* Non-constant mask variant of FIELD_GET() and FIELD_PREP() */
71 #define spx5_field_get(_mask, _reg) (((_reg) & (_mask)) >> (ffs(_mask) - 1))
72 #define spx5_field_prep(_mask, _val) (((_val) << (ffs(_mask) - 1)) & (_mask))
73 
74 #define __REG(...)    __VA_ARGS__
75 
76 /* ANA_AC:RAM_CTRL:RAM_INIT */
77 #define ANA_AC_RAM_INIT                                                        \
78 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_RAM_CTRL], 0, 1, 4, 0,\
79 	      0, 1, 4)
80 
81 #define ANA_AC_RAM_INIT_RAM_INIT                 BIT(1)
82 #define ANA_AC_RAM_INIT_RAM_INIT_SET(x)\
83 	FIELD_PREP(ANA_AC_RAM_INIT_RAM_INIT, x)
84 #define ANA_AC_RAM_INIT_RAM_INIT_GET(x)\
85 	FIELD_GET(ANA_AC_RAM_INIT_RAM_INIT, x)
86 
87 #define ANA_AC_RAM_INIT_RAM_CFG_HOOK             BIT(0)
88 #define ANA_AC_RAM_INIT_RAM_CFG_HOOK_SET(x)\
89 	FIELD_PREP(ANA_AC_RAM_INIT_RAM_CFG_HOOK, x)
90 #define ANA_AC_RAM_INIT_RAM_CFG_HOOK_GET(x)\
91 	FIELD_GET(ANA_AC_RAM_INIT_RAM_CFG_HOOK, x)
92 
93 /* ANA_AC:PS_COMMON:OWN_UPSID */
94 #define ANA_AC_OWN_UPSID(r)                                                    \
95 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_PS_COMMON], 0, 1, 352,\
96 	      52, r, regs->rcnt[RC_ANA_AC_OWN_UPSID], 4)
97 
98 #define ANA_AC_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
99 #define ANA_AC_OWN_UPSID_OWN_UPSID_SET(x)\
100 	FIELD_PREP(ANA_AC_OWN_UPSID_OWN_UPSID, x)
101 #define ANA_AC_OWN_UPSID_OWN_UPSID_GET(x)\
102 	FIELD_GET(ANA_AC_OWN_UPSID_OWN_UPSID, x)
103 
104 /* ANA_AC:MIRROR_PROBE:PROBE_CFG */
105 #define ANA_AC_PROBE_CFG(g)                                                    \
106 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_MIRROR_PROBE], g, 3,  \
107 	      32, 0, 0, 1, 4)
108 
109 #define ANA_AC_PROBE_CFG_PROBE_RX_CPU_AND_VD     GENMASK(31, 27)
110 #define ANA_AC_PROBE_CFG_PROBE_RX_CPU_AND_VD_SET(x)\
111 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_RX_CPU_AND_VD, x)
112 #define ANA_AC_PROBE_CFG_PROBE_RX_CPU_AND_VD_GET(x)\
113 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_RX_CPU_AND_VD, x)
114 
115 #define ANA_AC_PROBE_CFG_PROBE_CPU_SET           GENMASK(26, 19)
116 #define ANA_AC_PROBE_CFG_PROBE_CPU_SET_SET(x)\
117 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_CPU_SET, x)
118 #define ANA_AC_PROBE_CFG_PROBE_CPU_SET_GET(x)\
119 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_CPU_SET, x)
120 
121 #define ANA_AC_PROBE_CFG_PROBE_VID               GENMASK(18, 6)
122 #define ANA_AC_PROBE_CFG_PROBE_VID_SET(x)\
123 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_VID, x)
124 #define ANA_AC_PROBE_CFG_PROBE_VID_GET(x)\
125 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_VID, x)
126 
127 #define ANA_AC_PROBE_CFG_PROBE_VLAN_MODE         GENMASK(5, 4)
128 #define ANA_AC_PROBE_CFG_PROBE_VLAN_MODE_SET(x)\
129 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_VLAN_MODE, x)
130 #define ANA_AC_PROBE_CFG_PROBE_VLAN_MODE_GET(x)\
131 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_VLAN_MODE, x)
132 
133 #define ANA_AC_PROBE_CFG_PROBE_MAC_MODE          GENMASK(3, 2)
134 #define ANA_AC_PROBE_CFG_PROBE_MAC_MODE_SET(x)\
135 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_MAC_MODE, x)
136 #define ANA_AC_PROBE_CFG_PROBE_MAC_MODE_GET(x)\
137 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_MAC_MODE, x)
138 
139 #define ANA_AC_PROBE_CFG_PROBE_DIRECTION         GENMASK(1, 0)
140 #define ANA_AC_PROBE_CFG_PROBE_DIRECTION_SET(x)\
141 	FIELD_PREP(ANA_AC_PROBE_CFG_PROBE_DIRECTION, x)
142 #define ANA_AC_PROBE_CFG_PROBE_DIRECTION_GET(x)\
143 	FIELD_GET(ANA_AC_PROBE_CFG_PROBE_DIRECTION, x)
144 
145 /* ANA_AC:MIRROR_PROBE:PROBE_PORT_CFG */
146 #define ANA_AC_PROBE_PORT_CFG(g)                                               \
147 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_MIRROR_PROBE], g, 3,  \
148 	      32, 8, 0, 1, 4)
149 
150 /* SPARX5 ONLY */
151 /* ANA_AC:MIRROR_PROBE:PROBE_PORT_CFG1 */
152 #define ANA_AC_PROBE_PORT_CFG1(g)                                              \
153 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_MIRROR_PROBE], g, 3,  \
154 	      32, 12, 0, 1, 4)
155 
156 /* SPARX5 ONLY */
157 /* ANA_AC:MIRROR_PROBE:PROBE_PORT_CFG2 */
158 #define ANA_AC_PROBE_PORT_CFG2(g)                                              \
159 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_MIRROR_PROBE], g, 3,  \
160 	      32, 16, 0, 1, 4)
161 
162 #define ANA_AC_PROBE_PORT_CFG2_PROBE_PORT_MASK2  BIT(0)
163 #define ANA_AC_PROBE_PORT_CFG2_PROBE_PORT_MASK2_SET(x)\
164 	FIELD_PREP(ANA_AC_PROBE_PORT_CFG2_PROBE_PORT_MASK2, x)
165 #define ANA_AC_PROBE_PORT_CFG2_PROBE_PORT_MASK2_GET(x)\
166 	FIELD_GET(ANA_AC_PROBE_PORT_CFG2_PROBE_PORT_MASK2, x)
167 
168 /* ANA_AC:SRC:SRC_CFG */
169 #define ANA_AC_SRC_CFG(g)                                                      \
170 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SRC], g,              \
171 	      regs->gcnt[GC_ANA_AC_SRC], regs->gsize[GW_ANA_AC_SRC], 0, 0, 1, 4)
172 
173 /* SPARX5 ONLY */
174 /* ANA_AC:SRC:SRC_CFG1 */
175 #define ANA_AC_SRC_CFG1(g)                                                     \
176 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SRC], g,              \
177 	      regs->gcnt[GC_ANA_AC_SRC], regs->gsize[GW_ANA_AC_SRC], 4, 0, 1, 4)
178 
179 /* SPARX5 ONLY */
180 /* ANA_AC:SRC:SRC_CFG2 */
181 #define ANA_AC_SRC_CFG2(g)                                                     \
182 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SRC], g,              \
183 	      regs->gcnt[GC_ANA_AC_SRC], regs->gsize[GW_ANA_AC_SRC], 8, 0, 1, 4)
184 
185 #define ANA_AC_SRC_CFG2_PORT_MASK2               BIT(0)
186 #define ANA_AC_SRC_CFG2_PORT_MASK2_SET(x)\
187 	FIELD_PREP(ANA_AC_SRC_CFG2_PORT_MASK2, x)
188 #define ANA_AC_SRC_CFG2_PORT_MASK2_GET(x)\
189 	FIELD_GET(ANA_AC_SRC_CFG2_PORT_MASK2, x)
190 
191 /* ANA_AC:PGID:PGID_CFG */
192 #define ANA_AC_PGID_CFG(g)                                                     \
193 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_PGID], g,             \
194 	      regs->gcnt[GC_ANA_AC_PGID], 16, 0, 0, 1, 4)
195 
196 /* SPARX5 ONLY */
197 /* ANA_AC:PGID:PGID_CFG1 */
198 #define ANA_AC_PGID_CFG1(g)                                                    \
199 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_PGID], g,             \
200 	      regs->gcnt[GC_ANA_AC_PGID], 16, 4, 0, 1, 4)
201 
202 /* SPARX5 ONLY */
203 /* ANA_AC:PGID:PGID_CFG2 */
204 #define ANA_AC_PGID_CFG2(g)                                                    \
205 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_PGID], g,             \
206 	      regs->gcnt[GC_ANA_AC_PGID], 16, 8, 0, 1, 4)
207 
208 #define ANA_AC_PGID_CFG2_PORT_MASK2              BIT(0)
209 #define ANA_AC_PGID_CFG2_PORT_MASK2_SET(x)\
210 	FIELD_PREP(ANA_AC_PGID_CFG2_PORT_MASK2, x)
211 #define ANA_AC_PGID_CFG2_PORT_MASK2_GET(x)\
212 	FIELD_GET(ANA_AC_PGID_CFG2_PORT_MASK2, x)
213 
214 /* ANA_AC:PGID:PGID_MISC_CFG */
215 #define ANA_AC_PGID_MISC_CFG(g)                                                \
216 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_PGID], g,             \
217 	      regs->gcnt[GC_ANA_AC_PGID], 16, 12, 0, 1, 4)
218 
219 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU         GENMASK(6, 4)
220 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU_SET(x)\
221 	FIELD_PREP(ANA_AC_PGID_MISC_CFG_PGID_CPU_QU, x)
222 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU_GET(x)\
223 	FIELD_GET(ANA_AC_PGID_MISC_CFG_PGID_CPU_QU, x)
224 
225 #define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA      BIT(1)
226 #define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA_SET(x)\
227 	FIELD_PREP(ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA, x)
228 #define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA_GET(x)\
229 	FIELD_GET(ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA, x)
230 
231 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA   BIT(0)
232 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA_SET(x)\
233 	FIELD_PREP(ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA, x)
234 #define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA_GET(x)\
235 	FIELD_GET(ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA, x)
236 
237 /* ANA_AC:TSN_SF:TSN_SF */
238 #define ANA_AC_TSN_SF                                                          \
239 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_TSN_SF], 0, 1, 4, 0,  \
240 	      0, 1, 4)
241 
242 #define ANA_AC_TSN_SF_TSN_STREAM_BLOCK_OVERSIZE_STICKY BIT(9)
243 #define ANA_AC_TSN_SF_TSN_STREAM_BLOCK_OVERSIZE_STICKY_SET(x)\
244 	FIELD_PREP(ANA_AC_TSN_SF_TSN_STREAM_BLOCK_OVERSIZE_STICKY, x)
245 #define ANA_AC_TSN_SF_TSN_STREAM_BLOCK_OVERSIZE_STICKY_GET(x)\
246 	FIELD_GET(ANA_AC_TSN_SF_TSN_STREAM_BLOCK_OVERSIZE_STICKY, x)
247 
248 #define ANA_AC_TSN_SF_PORT_NUM\
249 	GENMASK(regs->fsize[FW_ANA_AC_TSN_SF_PORT_NUM] + 0 - 1, 0)
250 #define ANA_AC_TSN_SF_PORT_NUM_SET(x)\
251 	spx5_field_prep(ANA_AC_TSN_SF_PORT_NUM, x)
252 #define ANA_AC_TSN_SF_PORT_NUM_GET(x)\
253 	spx5_field_get(ANA_AC_TSN_SF_PORT_NUM, x)
254 
255 /* ANA_AC:TSN_SF_CFG:TSN_SF_CFG */
256 #define ANA_AC_TSN_SF_CFG(g)                                                   \
257 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_TSN_SF_CFG], g,       \
258 	      regs->gcnt[GC_ANA_AC_TSN_SF_CFG], 4, 0, 0, 1, 4)
259 
260 #define ANA_AC_TSN_SF_CFG_TSN_SGID\
261 	GENMASK(regs->fsize[FW_ANA_AC_TSN_SF_CFG_TSN_SGID] + 16 - 1, 16)
262 #define ANA_AC_TSN_SF_CFG_TSN_SGID_SET(x)\
263 	spx5_field_prep(ANA_AC_TSN_SF_CFG_TSN_SGID, x)
264 #define ANA_AC_TSN_SF_CFG_TSN_SGID_GET(x)\
265 	spx5_field_get(ANA_AC_TSN_SF_CFG_TSN_SGID, x)
266 
267 #define ANA_AC_TSN_SF_CFG_TSN_MAX_SDU            GENMASK(15, 2)
268 #define ANA_AC_TSN_SF_CFG_TSN_MAX_SDU_SET(x)\
269 	FIELD_PREP(ANA_AC_TSN_SF_CFG_TSN_MAX_SDU, x)
270 #define ANA_AC_TSN_SF_CFG_TSN_MAX_SDU_GET(x)\
271 	FIELD_GET(ANA_AC_TSN_SF_CFG_TSN_MAX_SDU, x)
272 
273 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_ENA     BIT(1)
274 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_ENA_SET(x)\
275 	FIELD_PREP(ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_ENA, x)
276 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_ENA_GET(x)\
277 	FIELD_GET(ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_ENA, x)
278 
279 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_STATE   BIT(0)
280 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_STATE_SET(x)\
281 	FIELD_PREP(ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_STATE, x)
282 #define ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_STATE_GET(x)\
283 	FIELD_GET(ANA_AC_TSN_SF_CFG_BLOCK_OVERSIZE_STATE, x)
284 
285 /* ANA_AC:TSN_SF_STATUS:TSN_SF_STATUS */
286 #define ANA_AC_TSN_SF_STATUS                                                   \
287 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_TSN_SF_STATUS], 0, 1, \
288 	      16, 0, 0, 1, 4)
289 
290 #define ANA_AC_TSN_SF_STATUS_FRM_LEN             GENMASK(25, 12)
291 #define ANA_AC_TSN_SF_STATUS_FRM_LEN_SET(x)\
292 	FIELD_PREP(ANA_AC_TSN_SF_STATUS_FRM_LEN, x)
293 #define ANA_AC_TSN_SF_STATUS_FRM_LEN_GET(x)\
294 	FIELD_GET(ANA_AC_TSN_SF_STATUS_FRM_LEN, x)
295 
296 #define ANA_AC_TSN_SF_STATUS_DLB_DROP            BIT(11)
297 #define ANA_AC_TSN_SF_STATUS_DLB_DROP_SET(x)\
298 	FIELD_PREP(ANA_AC_TSN_SF_STATUS_DLB_DROP, x)
299 #define ANA_AC_TSN_SF_STATUS_DLB_DROP_GET(x)\
300 	FIELD_GET(ANA_AC_TSN_SF_STATUS_DLB_DROP, x)
301 
302 #define ANA_AC_TSN_SF_STATUS_TSN_SFID\
303 	GENMASK(regs->fsize[FW_ANA_AC_TSN_SF_STATUS_TSN_SFID] + 1 - 1, 1)
304 #define ANA_AC_TSN_SF_STATUS_TSN_SFID_SET(x)\
305 	spx5_field_prep(ANA_AC_TSN_SF_STATUS_TSN_SFID, x)
306 #define ANA_AC_TSN_SF_STATUS_TSN_SFID_GET(x)\
307 	spx5_field_get(ANA_AC_TSN_SF_STATUS_TSN_SFID, x)
308 
309 #define ANA_AC_TSN_SF_STATUS_TSTAMP_VLD          BIT(0)
310 #define ANA_AC_TSN_SF_STATUS_TSTAMP_VLD_SET(x)\
311 	FIELD_PREP(ANA_AC_TSN_SF_STATUS_TSTAMP_VLD, x)
312 #define ANA_AC_TSN_SF_STATUS_TSTAMP_VLD_GET(x)\
313 	FIELD_GET(ANA_AC_TSN_SF_STATUS_TSTAMP_VLD, x)
314 
315 /* ANA_AC:SG_ACCESS:SG_ACCESS_CTRL */
316 #define ANA_AC_SG_ACCESS_CTRL                                                  \
317 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_ACCESS], 0, 1, 12, \
318 	      0, 0, 1, 4)
319 
320 #define ANA_AC_SG_ACCESS_CTRL_SGID\
321 	GENMASK(regs->fsize[FW_ANA_AC_SG_ACCESS_CTRL_SGID] + 0 - 1, 0)
322 #define ANA_AC_SG_ACCESS_CTRL_SGID_SET(x)\
323 	spx5_field_prep(ANA_AC_SG_ACCESS_CTRL_SGID, x)
324 #define ANA_AC_SG_ACCESS_CTRL_SGID_GET(x)\
325 	spx5_field_get(ANA_AC_SG_ACCESS_CTRL_SGID, x)
326 
327 #define ANA_AC_SG_ACCESS_CTRL_CONFIG_CHANGE      BIT(28)
328 #define ANA_AC_SG_ACCESS_CTRL_CONFIG_CHANGE_SET(x)\
329 	FIELD_PREP(ANA_AC_SG_ACCESS_CTRL_CONFIG_CHANGE, x)
330 #define ANA_AC_SG_ACCESS_CTRL_CONFIG_CHANGE_GET(x)\
331 	FIELD_GET(ANA_AC_SG_ACCESS_CTRL_CONFIG_CHANGE, x)
332 
333 /* ANA_AC:SG_ACCESS:SG_CYCLETIME_UPDATE_PERIOD */
334 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD                                      \
335 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_ACCESS], 0, 1, 12, \
336 	      8, 0, 1, 4)
337 
338 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_CLKS GENMASK(15, 0)
339 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_CLKS_SET(x)\
340 	FIELD_PREP(ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_CLKS, x)
341 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_CLKS_GET(x)\
342 	FIELD_GET(ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_CLKS, x)
343 
344 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_UPDATE_ENA BIT(31)
345 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_UPDATE_ENA_SET(x)\
346 	FIELD_PREP(ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_UPDATE_ENA, x)
347 #define ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_UPDATE_ENA_GET(x)\
348 	FIELD_GET(ANA_AC_SG_CYCLETIME_UPDATE_PERIOD_SG_CT_UPDATE_ENA, x)
349 
350 /* ANA_AC:SG_CONFIG:SG_CONFIG_REG_1 */
351 #define ANA_AC_SG_CONFIG_REG_1                                                 \
352 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
353 	      48, 0, 1, 4)
354 
355 /* ANA_AC:SG_CONFIG:SG_CONFIG_REG_2 */
356 #define ANA_AC_SG_CONFIG_REG_2                                                 \
357 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
358 	      52, 0, 1, 4)
359 
360 /* ANA_AC:SG_CONFIG:SG_CONFIG_REG_3 */
361 #define ANA_AC_SG_CONFIG_REG_3                                                 \
362 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
363 	      56, 0, 1, 4)
364 
365 #define ANA_AC_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB GENMASK(15, 0)
366 #define ANA_AC_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB_SET(x)\
367 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB, x)
368 #define ANA_AC_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB_GET(x)\
369 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_BASE_TIME_SEC_MSB, x)
370 
371 #define ANA_AC_SG_CONFIG_REG_3_LIST_LENGTH       GENMASK(18, 16)
372 #define ANA_AC_SG_CONFIG_REG_3_LIST_LENGTH_SET(x)\
373 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_LIST_LENGTH, x)
374 #define ANA_AC_SG_CONFIG_REG_3_LIST_LENGTH_GET(x)\
375 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_LIST_LENGTH, x)
376 
377 #define ANA_AC_SG_CONFIG_REG_3_GATE_ENABLE       BIT(20)
378 #define ANA_AC_SG_CONFIG_REG_3_GATE_ENABLE_SET(x)\
379 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_GATE_ENABLE, x)
380 #define ANA_AC_SG_CONFIG_REG_3_GATE_ENABLE_GET(x)\
381 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_GATE_ENABLE, x)
382 
383 #define ANA_AC_SG_CONFIG_REG_3_INIT_IPS          GENMASK(24, 21)
384 #define ANA_AC_SG_CONFIG_REG_3_INIT_IPS_SET(x)\
385 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_INIT_IPS, x)
386 #define ANA_AC_SG_CONFIG_REG_3_INIT_IPS_GET(x)\
387 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_INIT_IPS, x)
388 
389 #define ANA_AC_SG_CONFIG_REG_3_INIT_GATE_STATE   BIT(25)
390 #define ANA_AC_SG_CONFIG_REG_3_INIT_GATE_STATE_SET(x)\
391 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_INIT_GATE_STATE, x)
392 #define ANA_AC_SG_CONFIG_REG_3_INIT_GATE_STATE_GET(x)\
393 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_INIT_GATE_STATE, x)
394 
395 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX_ENA    BIT(26)
396 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX_ENA_SET(x)\
397 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_INVALID_RX_ENA, x)
398 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX_ENA_GET(x)\
399 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_INVALID_RX_ENA, x)
400 
401 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX        BIT(27)
402 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX_SET(x)\
403 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_INVALID_RX, x)
404 #define ANA_AC_SG_CONFIG_REG_3_INVALID_RX_GET(x)\
405 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_INVALID_RX, x)
406 
407 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_ENA BIT(28)
408 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_ENA_SET(x)\
409 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_ENA, x)
410 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_ENA_GET(x)\
411 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_ENA, x)
412 
413 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED   BIT(29)
414 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_SET(x)\
415 	FIELD_PREP(ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED, x)
416 #define ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED_GET(x)\
417 	FIELD_GET(ANA_AC_SG_CONFIG_REG_3_OCTETS_EXCEEDED, x)
418 
419 /* ANA_AC:SG_CONFIG:SG_CONFIG_REG_4 */
420 #define ANA_AC_SG_CONFIG_REG_4                                                 \
421 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
422 	      60, 0, 1, 4)
423 
424 /* ANA_AC:SG_CONFIG:SG_CONFIG_REG_5 */
425 #define ANA_AC_SG_CONFIG_REG_5                                                 \
426 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
427 	      64, 0, 1, 4)
428 
429 /* ANA_AC:SG_CONFIG:SG_GCL_GS_CONFIG */
430 #define ANA_AC_SG_GCL_GS_CONFIG(r)                                             \
431 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
432 	      0, r, 4, 4)
433 
434 #define ANA_AC_SG_GCL_GS_CONFIG_IPS              GENMASK(3, 0)
435 #define ANA_AC_SG_GCL_GS_CONFIG_IPS_SET(x)\
436 	FIELD_PREP(ANA_AC_SG_GCL_GS_CONFIG_IPS, x)
437 #define ANA_AC_SG_GCL_GS_CONFIG_IPS_GET(x)\
438 	FIELD_GET(ANA_AC_SG_GCL_GS_CONFIG_IPS, x)
439 
440 #define ANA_AC_SG_GCL_GS_CONFIG_GATE_STATE       BIT(4)
441 #define ANA_AC_SG_GCL_GS_CONFIG_GATE_STATE_SET(x)\
442 	FIELD_PREP(ANA_AC_SG_GCL_GS_CONFIG_GATE_STATE, x)
443 #define ANA_AC_SG_GCL_GS_CONFIG_GATE_STATE_GET(x)\
444 	FIELD_GET(ANA_AC_SG_GCL_GS_CONFIG_GATE_STATE, x)
445 
446 /* ANA_AC:SG_CONFIG:SG_GCL_TI_CONFIG */
447 #define ANA_AC_SG_GCL_TI_CONFIG(r)                                             \
448 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
449 	      16, r, 4, 4)
450 
451 /* ANA_AC:SG_CONFIG:SG_GCL_OCT_CONFIG */
452 #define ANA_AC_SG_GCL_OCT_CONFIG(r)                                            \
453 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_CONFIG], 0, 1, 128,\
454 	      32, r, 4, 4)
455 
456 /* ANA_AC:SG_STATUS:SG_STATUS_REG_1 */
457 #define ANA_AC_SG_STATUS_REG_1                                                 \
458 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_STATUS], 0, 1, 16, \
459 	      0, 0, 1, 4)
460 
461 /* ANA_AC:SG_STATUS:SG_STATUS_REG_2 */
462 #define ANA_AC_SG_STATUS_REG_2                                                 \
463 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_STATUS], 0, 1, 16, \
464 	      4, 0, 1, 4)
465 
466 /* ANA_AC:SG_STATUS:SG_STATUS_REG_3 */
467 #define ANA_AC_SG_STATUS_REG_3                                                 \
468 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_STATUS], 0, 1, 16, \
469 	      8, 0, 1, 4)
470 
471 #define ANA_AC_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB GENMASK(15, 0)
472 #define ANA_AC_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB_SET(x)\
473 	FIELD_PREP(ANA_AC_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB, x)
474 #define ANA_AC_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB_GET(x)\
475 	FIELD_GET(ANA_AC_SG_STATUS_REG_3_CFG_CHG_TIME_SEC_MSB, x)
476 
477 #define ANA_AC_SG_STATUS_REG_3_GATE_STATE        BIT(16)
478 #define ANA_AC_SG_STATUS_REG_3_GATE_STATE_SET(x)\
479 	FIELD_PREP(ANA_AC_SG_STATUS_REG_3_GATE_STATE, x)
480 #define ANA_AC_SG_STATUS_REG_3_GATE_STATE_GET(x)\
481 	FIELD_GET(ANA_AC_SG_STATUS_REG_3_GATE_STATE, x)
482 
483 #define ANA_AC_SG_STATUS_REG_3_IPS               GENMASK(23, 20)
484 #define ANA_AC_SG_STATUS_REG_3_IPS_SET(x)\
485 	FIELD_PREP(ANA_AC_SG_STATUS_REG_3_IPS, x)
486 #define ANA_AC_SG_STATUS_REG_3_IPS_GET(x)\
487 	FIELD_GET(ANA_AC_SG_STATUS_REG_3_IPS, x)
488 
489 #define ANA_AC_SG_STATUS_REG_3_CONFIG_PENDING    BIT(24)
490 #define ANA_AC_SG_STATUS_REG_3_CONFIG_PENDING_SET(x)\
491 	FIELD_PREP(ANA_AC_SG_STATUS_REG_3_CONFIG_PENDING, x)
492 #define ANA_AC_SG_STATUS_REG_3_CONFIG_PENDING_GET(x)\
493 	FIELD_GET(ANA_AC_SG_STATUS_REG_3_CONFIG_PENDING, x)
494 
495 #define ANA_AC_SG_STATUS_REG_3_GCL_OCTET_INDEX   GENMASK(27, 25)
496 #define ANA_AC_SG_STATUS_REG_3_GCL_OCTET_INDEX_SET(x)\
497 	FIELD_PREP(ANA_AC_SG_STATUS_REG_3_GCL_OCTET_INDEX, x)
498 #define ANA_AC_SG_STATUS_REG_3_GCL_OCTET_INDEX_GET(x)\
499 	FIELD_GET(ANA_AC_SG_STATUS_REG_3_GCL_OCTET_INDEX, x)
500 
501 /* ANA_AC:SG_STATUS:SG_STATUS_REG_4 */
502 #define ANA_AC_SG_STATUS_REG_4                                                 \
503 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_SG_STATUS], 0, 1, 16, \
504 	      12, 0, 1, 4)
505 
506 /* ANA_AC:STAT_GLOBAL_CFG_PORT:STAT_GLOBAL_EVENT_MASK */
507 #define ANA_AC_PORT_SGE_CFG(r)                                                 \
508 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_GLOBAL_CFG_PORT],\
509 	      0, 1, 20, 0, r, 4, 4)
510 
511 #define ANA_AC_PORT_SGE_CFG_MASK\
512 	GENMASK(regs->fsize[FW_ANA_AC_PORT_SGE_CFG_MASK] + 0 - 1, 0)
513 #define ANA_AC_PORT_SGE_CFG_MASK_SET(x)\
514 	spx5_field_prep(ANA_AC_PORT_SGE_CFG_MASK, x)
515 #define ANA_AC_PORT_SGE_CFG_MASK_GET(x)\
516 	spx5_field_get(ANA_AC_PORT_SGE_CFG_MASK, x)
517 
518 /* ANA_AC:STAT_GLOBAL_CFG_PORT:STAT_RESET */
519 #define ANA_AC_STAT_RESET                                                      \
520 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_GLOBAL_CFG_PORT],\
521 	      0, 1, 20, 16, 0, 1, 4)
522 
523 #define ANA_AC_STAT_RESET_RESET                  BIT(0)
524 #define ANA_AC_STAT_RESET_RESET_SET(x)\
525 	FIELD_PREP(ANA_AC_STAT_RESET_RESET, x)
526 #define ANA_AC_STAT_RESET_RESET_GET(x)\
527 	FIELD_GET(ANA_AC_STAT_RESET_RESET, x)
528 
529 /* ANA_AC:STAT_CNT_CFG_PORT:STAT_CFG */
530 #define ANA_AC_PORT_STAT_CFG(g, r)                                             \
531 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_CNT_CFG_PORT], g,\
532 	      regs->gcnt[GC_ANA_AC_STAT_CNT_CFG_PORT], 64, 4, r, 4, 4)
533 
534 #define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK       GENMASK(11, 4)
535 #define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK_SET(x)\
536 	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK, x)
537 #define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK_GET(x)\
538 	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK, x)
539 
540 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE    GENMASK(3, 1)
541 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE_SET(x)\
542 	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE, x)
543 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE_GET(x)\
544 	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE, x)
545 
546 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE        BIT(0)
547 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE_SET(x)\
548 	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE, x)
549 #define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE_GET(x)\
550 	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE, x)
551 
552 /* ANA_AC:STAT_CNT_CFG_PORT:STAT_LSB_CNT */
553 #define ANA_AC_PORT_STAT_LSB_CNT(g, r)                                         \
554 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_CNT_CFG_PORT], g,\
555 	      regs->gcnt[GC_ANA_AC_STAT_CNT_CFG_PORT], 64, 20, r, 4, 4)
556 
557 /* ANA_AC:STAT_GLOBAL_CFG_ACL:GLOBAL_CNT_FRM_TYPE_CFG */
558 #define ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG(r)                                  \
559 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_GLOBAL_CFG_ACL], \
560 	      0, 1, 24, 0, r, 2, 4)
561 
562 #define ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG_GLOBAL_CFG_CNT_FRM_TYPE GENMASK(2, 0)
563 #define ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG_GLOBAL_CFG_CNT_FRM_TYPE_SET(x)\
564 	FIELD_PREP(ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG_GLOBAL_CFG_CNT_FRM_TYPE, x)
565 #define ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG_GLOBAL_CFG_CNT_FRM_TYPE_GET(x)\
566 	FIELD_GET(ANA_AC_ACL_GLOBAL_CNT_FRM_TYPE_CFG_GLOBAL_CFG_CNT_FRM_TYPE, x)
567 
568 /* ANA_AC:STAT_GLOBAL_CFG_ACL:STAT_GLOBAL_CFG */
569 #define ANA_AC_ACL_STAT_GLOBAL_CFG(r)                                          \
570 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_GLOBAL_CFG_ACL], \
571 	      0, 1, 24, 8, r, 2, 4)
572 
573 #define ANA_AC_ACL_STAT_GLOBAL_CFG_GLOBAL_CFG_CNT_BYTE BIT(0)
574 #define ANA_AC_ACL_STAT_GLOBAL_CFG_GLOBAL_CFG_CNT_BYTE_SET(x)\
575 	FIELD_PREP(ANA_AC_ACL_STAT_GLOBAL_CFG_GLOBAL_CFG_CNT_BYTE, x)
576 #define ANA_AC_ACL_STAT_GLOBAL_CFG_GLOBAL_CFG_CNT_BYTE_GET(x)\
577 	FIELD_GET(ANA_AC_ACL_STAT_GLOBAL_CFG_GLOBAL_CFG_CNT_BYTE, x)
578 
579 /* ANA_AC:STAT_GLOBAL_CFG_ACL:STAT_GLOBAL_EVENT_MASK */
580 #define ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK(r)                                   \
581 	__REG(TARGET_ANA_AC, 0, 1, regs->gaddr[GA_ANA_AC_STAT_GLOBAL_CFG_ACL], \
582 	      0, 1, 24, 16, r, 2, 4)
583 
584 #define ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK_GLOBAL_EVENT_MASK GENMASK(3, 0)
585 #define ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK_GLOBAL_EVENT_MASK_SET(x)\
586 	FIELD_PREP(ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK_GLOBAL_EVENT_MASK, x)
587 #define ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK_GLOBAL_EVENT_MASK_GET(x)\
588 	FIELD_GET(ANA_AC_ACL_STAT_GLOBAL_EVENT_MASK_GLOBAL_EVENT_MASK, x)
589 
590 /* ANA_ACL:COMMON:VCAP_S2_CFG */
591 #define ANA_ACL_VCAP_S2_CFG(r)                                                 \
592 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_COMMON], 0, 1, 592, \
593 	      0, r, regs->rcnt[RC_ANA_ACL_VCAP_S2_CFG], 4)
594 
595 #define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA BIT(28)
596 #define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA_SET(x)\
597 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA, x)
598 #define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA_GET(x)\
599 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA, x)
600 
601 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA     GENMASK(27, 26)
602 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA_SET(x)\
603 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA, x)
604 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA_GET(x)\
605 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA, x)
606 
607 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA GENMASK(25, 24)
608 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA_SET(x)\
609 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA, x)
610 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA_GET(x)\
611 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA, x)
612 
613 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA GENMASK(23, 22)
614 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA_SET(x)\
615 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA, x)
616 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA_GET(x)\
617 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA, x)
618 
619 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA GENMASK(21, 20)
620 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA_SET(x)\
621 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA, x)
622 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA_GET(x)\
623 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA, x)
624 
625 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA GENMASK(19, 18)
626 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA_SET(x)\
627 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA, x)
628 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA_GET(x)\
629 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA, x)
630 
631 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA GENMASK(17, 16)
632 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA_SET(x)\
633 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA, x)
634 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA_GET(x)\
635 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA, x)
636 
637 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA GENMASK(15, 14)
638 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA_SET(x)\
639 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA, x)
640 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA_GET(x)\
641 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA, x)
642 
643 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA GENMASK(13, 12)
644 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA_SET(x)\
645 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA, x)
646 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA_GET(x)\
647 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA, x)
648 
649 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA GENMASK(11, 10)
650 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA_SET(x)\
651 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA, x)
652 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA_GET(x)\
653 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA, x)
654 
655 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA     GENMASK(9, 8)
656 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA_SET(x)\
657 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA, x)
658 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA_GET(x)\
659 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA, x)
660 
661 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA GENMASK(7, 6)
662 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA_SET(x)\
663 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA, x)
664 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA_GET(x)\
665 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA, x)
666 
667 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA GENMASK(5, 4)
668 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA_SET(x)\
669 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA, x)
670 #define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA_GET(x)\
671 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA, x)
672 
673 #define ANA_ACL_VCAP_S2_CFG_SEC_ENA              GENMASK(3, 0)
674 #define ANA_ACL_VCAP_S2_CFG_SEC_ENA_SET(x)\
675 	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_ENA, x)
676 #define ANA_ACL_VCAP_S2_CFG_SEC_ENA_GET(x)\
677 	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_ENA, x)
678 
679 /* ANA_ACL:COMMON:SWAP_IP_CTRL */
680 #define ANA_ACL_SWAP_IP_CTRL                                                   \
681 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_COMMON], 0, 1, 592, \
682 	      412, 0, 1, 4)
683 
684 #define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL GENMASK(23, 18)
685 #define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL_SET(x)\
686 	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL, x)
687 #define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL_GET(x)\
688 	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL, x)
689 
690 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL GENMASK(17, 10)
691 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL_SET(x)\
692 	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL, x)
693 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL_GET(x)\
694 	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL, x)
695 
696 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL GENMASK(9, 2)
697 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL_SET(x)\
698 	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL, x)
699 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL_GET(x)\
700 	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL, x)
701 
702 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA BIT(1)
703 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA_SET(x)\
704 	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA, x)
705 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA_GET(x)\
706 	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA, x)
707 
708 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA BIT(0)
709 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA_SET(x)\
710 	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA, x)
711 #define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA_GET(x)\
712 	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA, x)
713 
714 /* ANA_ACL:COMMON:VCAP_S2_RLEG_STAT */
715 #define ANA_ACL_VCAP_S2_RLEG_STAT(r)                                           \
716 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_COMMON], 0, 1, 592, \
717 	      424, r, 4, 4)
718 
719 #define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK GENMASK(12, 6)
720 #define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK_SET(x)\
721 	FIELD_PREP(ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK, x)
722 #define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK_GET(x)\
723 	FIELD_GET(ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK, x)
724 
725 #define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK GENMASK(5, 0)
726 #define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK_SET(x)\
727 	FIELD_PREP(ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK, x)
728 #define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK_GET(x)\
729 	FIELD_GET(ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK, x)
730 
731 /* ANA_ACL:COMMON:VCAP_S2_FRAGMENT_CFG */
732 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG                                           \
733 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_COMMON], 0, 1, 592, \
734 	      440, 0, 1, 4)
735 
736 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN  GENMASK(9, 5)
737 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN_SET(x)\
738 	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN, x)
739 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN_GET(x)\
740 	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN, x)
741 
742 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS BIT(4)
743 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS_SET(x)\
744 	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS, x)
745 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS_GET(x)\
746 	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS, x)
747 
748 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES GENMASK(3, 0)
749 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_SET(x)\
750 	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES, x)
751 #define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_GET(x)\
752 	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES, x)
753 
754 /* ANA_ACL:COMMON:OWN_UPSID */
755 #define ANA_ACL_OWN_UPSID(r)                                                   \
756 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_COMMON], 0, 1, 592, \
757 	      580, r, regs->rcnt[RC_ANA_ACL_OWN_UPSID], 4)
758 
759 #define ANA_ACL_OWN_UPSID_OWN_UPSID              GENMASK(4, 0)
760 #define ANA_ACL_OWN_UPSID_OWN_UPSID_SET(x)\
761 	FIELD_PREP(ANA_ACL_OWN_UPSID_OWN_UPSID, x)
762 #define ANA_ACL_OWN_UPSID_OWN_UPSID_GET(x)\
763 	FIELD_GET(ANA_ACL_OWN_UPSID_OWN_UPSID, x)
764 
765 /* ANA_ACL:KEY_SEL:VCAP_S2_KEY_SEL */
766 #define ANA_ACL_VCAP_S2_KEY_SEL(g, r)                                          \
767 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_KEY_SEL], g,        \
768 	      regs->gcnt[GC_ANA_ACL_KEY_SEL], 16, 0, r, 4, 4)
769 
770 #define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA      BIT(13)
771 #define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA_SET(x)\
772 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA, x)
773 #define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA_GET(x)\
774 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA, x)
775 
776 #define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL BIT(12)
777 #define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL_SET(x)\
778 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL, x)
779 #define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL_GET(x)\
780 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL, x)
781 
782 #define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL  GENMASK(11, 10)
783 #define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL_SET(x)\
784 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL, x)
785 #define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL_GET(x)\
786 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL, x)
787 
788 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL   GENMASK(9, 8)
789 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL_SET(x)\
790 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL, x)
791 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL_GET(x)\
792 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL, x)
793 
794 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL   GENMASK(7, 6)
795 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL_SET(x)\
796 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL, x)
797 #define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL_GET(x)\
798 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL, x)
799 
800 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL   GENMASK(5, 3)
801 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL_SET(x)\
802 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL, x)
803 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL_GET(x)\
804 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL, x)
805 
806 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL   GENMASK(2, 1)
807 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL_SET(x)\
808 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL, x)
809 #define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL_GET(x)\
810 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL, x)
811 
812 #define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL      BIT(0)
813 #define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL_SET(x)\
814 	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL, x)
815 #define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL_GET(x)\
816 	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL, x)
817 
818 /* ANA_ACL:CNT_A:CNT_A */
819 #define ANA_ACL_CNT_A(g)                                                       \
820 	__REG(TARGET_ANA_ACL, 0, 1, 0, g, regs->gcnt[GC_ANA_ACL_CNT_A], 4, 0,  \
821 	      0, 1, 4)
822 
823 /* ANA_ACL:CNT_B:CNT_B */
824 #define ANA_ACL_CNT_B(g)                                                       \
825 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_CNT_B], g,          \
826 	      regs->gcnt[GC_ANA_ACL_CNT_B], 4, 0, 0, 1, 4)
827 
828 /* ANA_ACL:STICKY:SEC_LOOKUP_STICKY */
829 #define ANA_ACL_SEC_LOOKUP_STICKY(r)                                           \
830 	__REG(TARGET_ANA_ACL, 0, 1, regs->gaddr[GA_ANA_ACL_STICKY], 0, 1, 16,  \
831 	      0, r, 4, 4)
832 
833 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY BIT(17)
834 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY_SET(x)\
835 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY, x)
836 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY_GET(x)\
837 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY, x)
838 
839 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY BIT(16)
840 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY_SET(x)\
841 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY, x)
842 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY_GET(x)\
843 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY, x)
844 
845 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY BIT(15)
846 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY_SET(x)\
847 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY, x)
848 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY_GET(x)\
849 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY, x)
850 
851 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY BIT(14)
852 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY_SET(x)\
853 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY, x)
854 #define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY_GET(x)\
855 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY, x)
856 
857 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY BIT(13)
858 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY_SET(x)\
859 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY, x)
860 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY_GET(x)\
861 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY, x)
862 
863 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY BIT(12)
864 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY_SET(x)\
865 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY, x)
866 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY_GET(x)\
867 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY, x)
868 
869 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY BIT(11)
870 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY_SET(x)\
871 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY, x)
872 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY_GET(x)\
873 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY, x)
874 
875 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY BIT(10)
876 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_SET(x)\
877 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)
878 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_GET(x)\
879 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)
880 
881 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY BIT(9)
882 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_SET(x)\
883 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)
884 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_GET(x)\
885 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)
886 
887 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY BIT(8)
888 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY_SET(x)\
889 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY, x)
890 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY_GET(x)\
891 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY, x)
892 
893 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY BIT(7)
894 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_SET(x)\
895 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)
896 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_GET(x)\
897 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)
898 
899 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY BIT(6)
900 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_SET(x)\
901 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)
902 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_GET(x)\
903 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)
904 
905 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY BIT(5)
906 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_SET(x)\
907 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)
908 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_GET(x)\
909 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)
910 
911 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY BIT(4)
912 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_SET(x)\
913 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)
914 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_GET(x)\
915 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)
916 
917 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY BIT(3)
918 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_SET(x)\
919 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)
920 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_GET(x)\
921 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)
922 
923 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY BIT(2)
924 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY_SET(x)\
925 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY, x)
926 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY_GET(x)\
927 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY, x)
928 
929 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY BIT(1)
930 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY_SET(x)\
931 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY, x)
932 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY_GET(x)\
933 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY, x)
934 
935 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY BIT(0)
936 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_SET(x)\
937 	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)
938 #define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_GET(x)\
939 	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)
940 
941 /* ANA_AC_POL:POL_ALL_CFG:POL_UPD_INT_CFG */
942 #define ANA_AC_POL_POL_UPD_INT_CFG                                             \
943 	__REG(TARGET_ANA_AC_POL, 0, 1, regs->gaddr[GA_ANA_AC_POL_POL_ALL_CFG], \
944 	      0, 1, 1160, 1148, 0, 1, 4)
945 
946 #define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT   GENMASK(9, 0)
947 #define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT_SET(x)\
948 	FIELD_PREP(ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT, x)
949 #define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT_GET(x)\
950 	FIELD_GET(ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT, x)
951 
952 /* ANA_AC_POL:COMMON_BDLB:DLB_CTRL */
953 #define ANA_AC_POL_BDLB_DLB_CTRL                                               \
954 	__REG(TARGET_ANA_AC_POL, 0, 1, regs->gaddr[GA_ANA_AC_POL_COMMON_BDLB], \
955 	      0, 1, 8, 0, 0, 1, 4)
956 
957 #define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS GENMASK(26, 19)
958 #define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS_SET(x)\
959 	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS, x)
960 #define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS_GET(x)\
961 	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS, x)
962 
963 #define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT   GENMASK(18, 4)
964 #define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT_SET(x)\
965 	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT, x)
966 #define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT_GET(x)\
967 	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT, x)
968 
969 #define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA        BIT(1)
970 #define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA_SET(x)\
971 	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA, x)
972 #define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA_GET(x)\
973 	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA, x)
974 
975 #define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA     BIT(0)
976 #define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA_SET(x)\
977 	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA, x)
978 #define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA_GET(x)\
979 	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA, x)
980 
981 /* ANA_AC_POL:COMMON_BUM_SLB:DLB_CTRL */
982 #define ANA_AC_POL_SLB_DLB_CTRL                                                \
983 	__REG(TARGET_ANA_AC_POL, 0, 1,                                         \
984 	      regs->gaddr[GA_ANA_AC_POL_COMMON_BUM_SLB], 0, 1, 20, 0, 0, 1, 4)
985 
986 #define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS  GENMASK(26, 19)
987 #define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS_SET(x)\
988 	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS, x)
989 #define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS_GET(x)\
990 	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS, x)
991 
992 #define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT    GENMASK(18, 4)
993 #define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT_SET(x)\
994 	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT, x)
995 #define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT_GET(x)\
996 	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT, x)
997 
998 #define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA         BIT(1)
999 #define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA_SET(x)\
1000 	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA, x)
1001 #define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA_GET(x)\
1002 	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA, x)
1003 
1004 #define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA      BIT(0)
1005 #define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA_SET(x)\
1006 	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA, x)
1007 #define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA_GET(x)\
1008 	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA, x)
1009 
1010 /* ANA_AC_SDLB:LBGRP_TBL:XLB_START */
1011 #define ANA_AC_SDLB_XLB_START(g)                                               \
1012 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1013 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 0, 0, 1, 4)
1014 
1015 #define ANA_AC_SDLB_XLB_START_LBSET_START\
1016 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_XLB_START_LBSET_START] + 0 - 1, 0)
1017 #define ANA_AC_SDLB_XLB_START_LBSET_START_SET(x)\
1018 	spx5_field_prep(ANA_AC_SDLB_XLB_START_LBSET_START, x)
1019 #define ANA_AC_SDLB_XLB_START_LBSET_START_GET(x)\
1020 	spx5_field_get(ANA_AC_SDLB_XLB_START_LBSET_START, x)
1021 
1022 /* ANA_AC_SDLB:LBGRP_TBL:PUP_INTERVAL */
1023 #define ANA_AC_SDLB_PUP_INTERVAL(g)                                            \
1024 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1025 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 4, 0, 1, 4)
1026 
1027 #define ANA_AC_SDLB_PUP_INTERVAL_PUP_INTERVAL    GENMASK(19, 0)
1028 #define ANA_AC_SDLB_PUP_INTERVAL_PUP_INTERVAL_SET(x)\
1029 	FIELD_PREP(ANA_AC_SDLB_PUP_INTERVAL_PUP_INTERVAL, x)
1030 #define ANA_AC_SDLB_PUP_INTERVAL_PUP_INTERVAL_GET(x)\
1031 	FIELD_GET(ANA_AC_SDLB_PUP_INTERVAL_PUP_INTERVAL, x)
1032 
1033 /* ANA_AC_SDLB:LBGRP_TBL:PUP_CTRL */
1034 #define ANA_AC_SDLB_PUP_CTRL(g)                                                \
1035 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1036 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 8, 0, 1, 4)
1037 
1038 #define ANA_AC_SDLB_PUP_CTRL_PUP_LB_DT           GENMASK(18, 0)
1039 #define ANA_AC_SDLB_PUP_CTRL_PUP_LB_DT_SET(x)\
1040 	FIELD_PREP(ANA_AC_SDLB_PUP_CTRL_PUP_LB_DT, x)
1041 #define ANA_AC_SDLB_PUP_CTRL_PUP_LB_DT_GET(x)\
1042 	FIELD_GET(ANA_AC_SDLB_PUP_CTRL_PUP_LB_DT, x)
1043 
1044 #define ANA_AC_SDLB_PUP_CTRL_PUP_ENA             BIT(24)
1045 #define ANA_AC_SDLB_PUP_CTRL_PUP_ENA_SET(x)\
1046 	FIELD_PREP(ANA_AC_SDLB_PUP_CTRL_PUP_ENA, x)
1047 #define ANA_AC_SDLB_PUP_CTRL_PUP_ENA_GET(x)\
1048 	FIELD_GET(ANA_AC_SDLB_PUP_CTRL_PUP_ENA, x)
1049 
1050 /* ANA_AC_SDLB:LBGRP_TBL:LBGRP_MISC */
1051 #define ANA_AC_SDLB_LBGRP_MISC(g)                                              \
1052 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1053 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 12, 0, 1, 4)
1054 
1055 #define ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT\
1056 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT] + 8 - 1, 8)
1057 #define ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT_SET(x)\
1058 	spx5_field_prep(ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT, x)
1059 #define ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT_GET(x)\
1060 	spx5_field_get(ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT, x)
1061 
1062 /* ANA_AC_SDLB:LBGRP_TBL:FRM_RATE_TOKENS */
1063 #define ANA_AC_SDLB_FRM_RATE_TOKENS(g)                                         \
1064 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1065 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 16, 0, 1, 4)
1066 
1067 #define ANA_AC_SDLB_FRM_RATE_TOKENS_FRM_RATE_TOKENS GENMASK(12, 0)
1068 #define ANA_AC_SDLB_FRM_RATE_TOKENS_FRM_RATE_TOKENS_SET(x)\
1069 	FIELD_PREP(ANA_AC_SDLB_FRM_RATE_TOKENS_FRM_RATE_TOKENS, x)
1070 #define ANA_AC_SDLB_FRM_RATE_TOKENS_FRM_RATE_TOKENS_GET(x)\
1071 	FIELD_GET(ANA_AC_SDLB_FRM_RATE_TOKENS_FRM_RATE_TOKENS, x)
1072 
1073 /* ANA_AC_SDLB:LBGRP_TBL:LBGRP_STATE_TBL */
1074 #define ANA_AC_SDLB_LBGRP_STATE_TBL(g)                                         \
1075 	__REG(TARGET_ANA_AC_SDLB, 0, 1, regs->gaddr[GA_ANA_AC_SDLB_LBGRP_TBL], \
1076 	      g, regs->gcnt[GC_ANA_AC_SDLB_LBGRP_TBL], 24, 20, 0, 1, 4)
1077 
1078 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_ONGOING  BIT(0)
1079 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_ONGOING_SET(x)\
1080 	FIELD_PREP(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_ONGOING, x)
1081 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_ONGOING_GET(x)\
1082 	FIELD_GET(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_ONGOING, x)
1083 
1084 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_WAIT_ACK BIT(1)
1085 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_WAIT_ACK_SET(x)\
1086 	FIELD_PREP(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_WAIT_ACK, x)
1087 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_WAIT_ACK_GET(x)\
1088 	FIELD_GET(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_WAIT_ACK, x)
1089 
1090 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT\
1091 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT] + 16 - 1, 16)
1092 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT_SET(x)\
1093 	spx5_field_prep(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT, x)
1094 #define ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT_GET(x)\
1095 	spx5_field_get(ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT, x)
1096 
1097 /* ANA_AC_SDLB:LBSET_TBL:PUP_TOKENS */
1098 #define ANA_AC_SDLB_PUP_TOKENS(g, r)                                           \
1099 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1100 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 0, r, 2, 4)
1101 
1102 #define ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS        GENMASK(12, 0)
1103 #define ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS_SET(x)\
1104 	FIELD_PREP(ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS, x)
1105 #define ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS_GET(x)\
1106 	FIELD_GET(ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS, x)
1107 
1108 /* ANA_AC_SDLB:LBSET_TBL:THRES */
1109 #define ANA_AC_SDLB_THRES(g, r)                                                \
1110 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1111 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 8, r, 2, 4)
1112 
1113 #define ANA_AC_SDLB_THRES_THRES                  GENMASK(9, 0)
1114 #define ANA_AC_SDLB_THRES_THRES_SET(x)\
1115 	FIELD_PREP(ANA_AC_SDLB_THRES_THRES, x)
1116 #define ANA_AC_SDLB_THRES_THRES_GET(x)\
1117 	FIELD_GET(ANA_AC_SDLB_THRES_THRES, x)
1118 
1119 #define ANA_AC_SDLB_THRES_THRES_HYS              GENMASK(25, 16)
1120 #define ANA_AC_SDLB_THRES_THRES_HYS_SET(x)\
1121 	FIELD_PREP(ANA_AC_SDLB_THRES_THRES_HYS, x)
1122 #define ANA_AC_SDLB_THRES_THRES_HYS_GET(x)\
1123 	FIELD_GET(ANA_AC_SDLB_THRES_THRES_HYS, x)
1124 
1125 /* ANA_AC_SDLB:LBSET_TBL:XLB_NEXT */
1126 #define ANA_AC_SDLB_XLB_NEXT(g)                                                \
1127 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1128 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 16, 0, 1, 4)
1129 
1130 #define ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT\
1131 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT] + 0 - 1, 0)
1132 #define ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT_SET(x)\
1133 	spx5_field_prep(ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT, x)
1134 #define ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT_GET(x)\
1135 	spx5_field_get(ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT, x)
1136 
1137 #define ANA_AC_SDLB_XLB_NEXT_LBGRP\
1138 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_XLB_NEXT_LBGRP] + 24 - 1, 24)
1139 #define ANA_AC_SDLB_XLB_NEXT_LBGRP_SET(x)\
1140 	spx5_field_prep(ANA_AC_SDLB_XLB_NEXT_LBGRP, x)
1141 #define ANA_AC_SDLB_XLB_NEXT_LBGRP_GET(x)\
1142 	spx5_field_get(ANA_AC_SDLB_XLB_NEXT_LBGRP, x)
1143 
1144 /* ANA_AC_SDLB:LBSET_TBL:INH_CTRL */
1145 #define ANA_AC_SDLB_INH_CTRL(g, r)                                             \
1146 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1147 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 20, r, 2, 4)
1148 
1149 #define ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX      GENMASK(12, 0)
1150 #define ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX_SET(x)\
1151 	FIELD_PREP(ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX, x)
1152 #define ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX_GET(x)\
1153 	FIELD_GET(ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX, x)
1154 
1155 #define ANA_AC_SDLB_INH_CTRL_INH_MODE            GENMASK(21, 20)
1156 #define ANA_AC_SDLB_INH_CTRL_INH_MODE_SET(x)\
1157 	FIELD_PREP(ANA_AC_SDLB_INH_CTRL_INH_MODE, x)
1158 #define ANA_AC_SDLB_INH_CTRL_INH_MODE_GET(x)\
1159 	FIELD_GET(ANA_AC_SDLB_INH_CTRL_INH_MODE, x)
1160 
1161 #define ANA_AC_SDLB_INH_CTRL_INH_LB              BIT(24)
1162 #define ANA_AC_SDLB_INH_CTRL_INH_LB_SET(x)\
1163 	FIELD_PREP(ANA_AC_SDLB_INH_CTRL_INH_LB, x)
1164 #define ANA_AC_SDLB_INH_CTRL_INH_LB_GET(x)\
1165 	FIELD_GET(ANA_AC_SDLB_INH_CTRL_INH_LB, x)
1166 
1167 /* ANA_AC_SDLB:LBSET_TBL:INH_LBSET_ADDR */
1168 #define ANA_AC_SDLB_INH_LBSET_ADDR(g)                                          \
1169 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1170 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 28, 0, 1, 4)
1171 
1172 #define ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR\
1173 	GENMASK(regs->fsize[FW_ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR] + 0 - 1, 0)
1174 #define ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR_SET(x)\
1175 	spx5_field_prep(ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR, x)
1176 #define ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR_GET(x)\
1177 	spx5_field_get(ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR, x)
1178 
1179 /* ANA_AC_SDLB:LBSET_TBL:DLB_MISC */
1180 #define ANA_AC_SDLB_DLB_MISC(g)                                                \
1181 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1182 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 32, 0, 1, 4)
1183 
1184 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_RATE_ENA    BIT(0)
1185 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_RATE_ENA_SET(x)\
1186 	FIELD_PREP(ANA_AC_SDLB_DLB_MISC_DLB_FRM_RATE_ENA, x)
1187 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_RATE_ENA_GET(x)\
1188 	FIELD_GET(ANA_AC_SDLB_DLB_MISC_DLB_FRM_RATE_ENA, x)
1189 
1190 #define ANA_AC_SDLB_DLB_MISC_MARK_ALL_FRMS_RED_ENA BIT(6)
1191 #define ANA_AC_SDLB_DLB_MISC_MARK_ALL_FRMS_RED_ENA_SET(x)\
1192 	FIELD_PREP(ANA_AC_SDLB_DLB_MISC_MARK_ALL_FRMS_RED_ENA, x)
1193 #define ANA_AC_SDLB_DLB_MISC_MARK_ALL_FRMS_RED_ENA_GET(x)\
1194 	FIELD_GET(ANA_AC_SDLB_DLB_MISC_MARK_ALL_FRMS_RED_ENA, x)
1195 
1196 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_ADJ         GENMASK(14, 8)
1197 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_ADJ_SET(x)\
1198 	FIELD_PREP(ANA_AC_SDLB_DLB_MISC_DLB_FRM_ADJ, x)
1199 #define ANA_AC_SDLB_DLB_MISC_DLB_FRM_ADJ_GET(x)\
1200 	FIELD_GET(ANA_AC_SDLB_DLB_MISC_DLB_FRM_ADJ, x)
1201 
1202 /* ANA_AC_SDLB:LBSET_TBL:DLB_CFG */
1203 #define ANA_AC_SDLB_DLB_CFG(g)                                                 \
1204 	__REG(TARGET_ANA_AC_SDLB, 0, 1, 0, g,                                  \
1205 	      regs->gcnt[GC_ANA_AC_SDLB_LBSET_TBL], 64, 36, 0, 1, 4)
1206 
1207 #define ANA_AC_SDLB_DLB_CFG_DROP_ON_YELLOW_ENA   BIT(11)
1208 #define ANA_AC_SDLB_DLB_CFG_DROP_ON_YELLOW_ENA_SET(x)\
1209 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_DROP_ON_YELLOW_ENA, x)
1210 #define ANA_AC_SDLB_DLB_CFG_DROP_ON_YELLOW_ENA_GET(x)\
1211 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_DROP_ON_YELLOW_ENA, x)
1212 
1213 #define ANA_AC_SDLB_DLB_CFG_DP_BYPASS_LVL        GENMASK(10, 9)
1214 #define ANA_AC_SDLB_DLB_CFG_DP_BYPASS_LVL_SET(x)\
1215 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_DP_BYPASS_LVL, x)
1216 #define ANA_AC_SDLB_DLB_CFG_DP_BYPASS_LVL_GET(x)\
1217 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_DP_BYPASS_LVL, x)
1218 
1219 #define ANA_AC_SDLB_DLB_CFG_HIER_DLB_DIS         BIT(8)
1220 #define ANA_AC_SDLB_DLB_CFG_HIER_DLB_DIS_SET(x)\
1221 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_HIER_DLB_DIS, x)
1222 #define ANA_AC_SDLB_DLB_CFG_HIER_DLB_DIS_GET(x)\
1223 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_HIER_DLB_DIS, x)
1224 
1225 #define ANA_AC_SDLB_DLB_CFG_ENCAP_DATA_DIS       BIT(7)
1226 #define ANA_AC_SDLB_DLB_CFG_ENCAP_DATA_DIS_SET(x)\
1227 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_ENCAP_DATA_DIS, x)
1228 #define ANA_AC_SDLB_DLB_CFG_ENCAP_DATA_DIS_GET(x)\
1229 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_ENCAP_DATA_DIS, x)
1230 
1231 #define ANA_AC_SDLB_DLB_CFG_COLOR_AWARE_LVL      GENMASK(6, 5)
1232 #define ANA_AC_SDLB_DLB_CFG_COLOR_AWARE_LVL_SET(x)\
1233 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_COLOR_AWARE_LVL, x)
1234 #define ANA_AC_SDLB_DLB_CFG_COLOR_AWARE_LVL_GET(x)\
1235 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_COLOR_AWARE_LVL, x)
1236 
1237 #define ANA_AC_SDLB_DLB_CFG_CIR_INC_DP_VAL       GENMASK(4, 3)
1238 #define ANA_AC_SDLB_DLB_CFG_CIR_INC_DP_VAL_SET(x)\
1239 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_CIR_INC_DP_VAL, x)
1240 #define ANA_AC_SDLB_DLB_CFG_CIR_INC_DP_VAL_GET(x)\
1241 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_CIR_INC_DP_VAL, x)
1242 
1243 #define ANA_AC_SDLB_DLB_CFG_DLB_MODE             BIT(2)
1244 #define ANA_AC_SDLB_DLB_CFG_DLB_MODE_SET(x)\
1245 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_DLB_MODE, x)
1246 #define ANA_AC_SDLB_DLB_CFG_DLB_MODE_GET(x)\
1247 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_DLB_MODE, x)
1248 
1249 #define ANA_AC_SDLB_DLB_CFG_TRAFFIC_TYPE_MASK    GENMASK(1, 0)
1250 #define ANA_AC_SDLB_DLB_CFG_TRAFFIC_TYPE_MASK_SET(x)\
1251 	FIELD_PREP(ANA_AC_SDLB_DLB_CFG_TRAFFIC_TYPE_MASK, x)
1252 #define ANA_AC_SDLB_DLB_CFG_TRAFFIC_TYPE_MASK_GET(x)\
1253 	FIELD_GET(ANA_AC_SDLB_DLB_CFG_TRAFFIC_TYPE_MASK, x)
1254 
1255 /* ANA_CL:PORT:FILTER_CTRL */
1256 #define ANA_CL_FILTER_CTRL(g)                                                  \
1257 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1258 	      regs->gcnt[GC_ANA_CL_PORT], 512, 4, 0, 1, 4)
1259 
1260 #define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS    BIT(2)
1261 #define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS_SET(x)\
1262 	FIELD_PREP(ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS, x)
1263 #define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS_GET(x)\
1264 	FIELD_GET(ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS, x)
1265 
1266 #define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS   BIT(1)
1267 #define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS_SET(x)\
1268 	FIELD_PREP(ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS, x)
1269 #define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS_GET(x)\
1270 	FIELD_GET(ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS, x)
1271 
1272 #define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA  BIT(0)
1273 #define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA_SET(x)\
1274 	FIELD_PREP(ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA, x)
1275 #define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA_GET(x)\
1276 	FIELD_GET(ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA, x)
1277 
1278 /* ANA_CL:PORT:VLAN_FILTER_CTRL */
1279 #define ANA_CL_VLAN_FILTER_CTRL(g, r)                                          \
1280 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1281 	      regs->gcnt[GC_ANA_CL_PORT], 512, 8, r, 3, 4)
1282 
1283 #define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA BIT(10)
1284 #define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA_SET(x)\
1285 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA, x)
1286 #define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA_GET(x)\
1287 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA, x)
1288 
1289 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS    BIT(9)
1290 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS_SET(x)\
1291 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS, x)
1292 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS_GET(x)\
1293 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS, x)
1294 
1295 #define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS         BIT(8)
1296 #define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS_SET(x)\
1297 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS, x)
1298 #define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS_GET(x)\
1299 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS, x)
1300 
1301 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS    BIT(7)
1302 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS_SET(x)\
1303 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS, x)
1304 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS_GET(x)\
1305 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS, x)
1306 
1307 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS BIT(6)
1308 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS_SET(x)\
1309 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS, x)
1310 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS_GET(x)\
1311 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS, x)
1312 
1313 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS BIT(5)
1314 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS_SET(x)\
1315 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS, x)
1316 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS_GET(x)\
1317 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS, x)
1318 
1319 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS BIT(4)
1320 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS_SET(x)\
1321 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS, x)
1322 #define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS_GET(x)\
1323 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS, x)
1324 
1325 #define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS         BIT(3)
1326 #define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS_SET(x)\
1327 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_STAG_DIS, x)
1328 #define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS_GET(x)\
1329 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_STAG_DIS, x)
1330 
1331 #define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS   BIT(2)
1332 #define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS_SET(x)\
1333 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS, x)
1334 #define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS_GET(x)\
1335 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS, x)
1336 
1337 #define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS   BIT(1)
1338 #define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS_SET(x)\
1339 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS, x)
1340 #define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS_GET(x)\
1341 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS, x)
1342 
1343 #define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS   BIT(0)
1344 #define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS_SET(x)\
1345 	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS, x)
1346 #define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS_GET(x)\
1347 	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS, x)
1348 
1349 /* ANA_CL:PORT:ETAG_FILTER_CTRL */
1350 #define ANA_CL_ETAG_FILTER_CTRL(g)                                             \
1351 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1352 	      regs->gcnt[GC_ANA_CL_PORT], 512, 20, 0, 1, 4)
1353 
1354 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA BIT(1)
1355 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA_SET(x)\
1356 	FIELD_PREP(ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA, x)
1357 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA_GET(x)\
1358 	FIELD_GET(ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA, x)
1359 
1360 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS         BIT(0)
1361 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS_SET(x)\
1362 	FIELD_PREP(ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS, x)
1363 #define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS_GET(x)\
1364 	FIELD_GET(ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS, x)
1365 
1366 /* ANA_CL:PORT:VLAN_CTRL */
1367 #define ANA_CL_VLAN_CTRL(g)                                                    \
1368 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1369 	      regs->gcnt[GC_ANA_CL_PORT], 512, 32, 0, 1, 4)
1370 
1371 #define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS GENMASK(30, 26)
1372 #define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS_SET(x)\
1373 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS, x)
1374 #define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS_GET(x)\
1375 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS, x)
1376 
1377 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP    GENMASK(25, 23)
1378 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP_SET(x)\
1379 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP, x)
1380 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP_GET(x)\
1381 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP, x)
1382 
1383 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI    BIT(22)
1384 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI_SET(x)\
1385 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI, x)
1386 #define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI_GET(x)\
1387 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI, x)
1388 
1389 #define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA  BIT(21)
1390 #define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA_SET(x)\
1391 	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA, x)
1392 #define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA_GET(x)\
1393 	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA, x)
1394 
1395 #define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL            BIT(20)
1396 #define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL_SET(x)\
1397 	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_TAG_SEL, x)
1398 #define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL_GET(x)\
1399 	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_TAG_SEL, x)
1400 
1401 #define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA          BIT(19)
1402 #define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA_SET(x)\
1403 	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA, x)
1404 #define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA_GET(x)\
1405 	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA, x)
1406 
1407 #define ANA_CL_VLAN_CTRL_VLAN_POP_CNT            GENMASK(18, 17)
1408 #define ANA_CL_VLAN_CTRL_VLAN_POP_CNT_SET(x)\
1409 	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_POP_CNT, x)
1410 #define ANA_CL_VLAN_CTRL_VLAN_POP_CNT_GET(x)\
1411 	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_POP_CNT, x)
1412 
1413 #define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE           BIT(16)
1414 #define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE_SET(x)\
1415 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_TAG_TYPE, x)
1416 #define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE_GET(x)\
1417 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_TAG_TYPE, x)
1418 
1419 #define ANA_CL_VLAN_CTRL_PORT_PCP                GENMASK(15, 13)
1420 #define ANA_CL_VLAN_CTRL_PORT_PCP_SET(x)\
1421 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_PCP, x)
1422 #define ANA_CL_VLAN_CTRL_PORT_PCP_GET(x)\
1423 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_PCP, x)
1424 
1425 #define ANA_CL_VLAN_CTRL_PORT_DEI                BIT(12)
1426 #define ANA_CL_VLAN_CTRL_PORT_DEI_SET(x)\
1427 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_DEI, x)
1428 #define ANA_CL_VLAN_CTRL_PORT_DEI_GET(x)\
1429 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_DEI, x)
1430 
1431 #define ANA_CL_VLAN_CTRL_PORT_VID                GENMASK(11, 0)
1432 #define ANA_CL_VLAN_CTRL_PORT_VID_SET(x)\
1433 	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VID, x)
1434 #define ANA_CL_VLAN_CTRL_PORT_VID_GET(x)\
1435 	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VID, x)
1436 
1437 /* ANA_CL:PORT:VLAN_CTRL_2 */
1438 #define ANA_CL_VLAN_CTRL_2(g)                                                  \
1439 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1440 	      regs->gcnt[GC_ANA_CL_PORT], 512, 36, 0, 1, 4)
1441 
1442 #define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT         GENMASK(1, 0)
1443 #define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT_SET(x)\
1444 	FIELD_PREP(ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT, x)
1445 #define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT_GET(x)\
1446 	FIELD_GET(ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT, x)
1447 
1448 /* ANA_CL:PORT:PCP_DEI_MAP_CFG */
1449 #define ANA_CL_PCP_DEI_MAP_CFG(g, r)                                           \
1450 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1451 	      regs->gcnt[GC_ANA_CL_PORT], 512, 108, r, 16, 4)
1452 
1453 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL    GENMASK(4, 3)
1454 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL_SET(x)\
1455 	FIELD_PREP(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL, x)
1456 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL_GET(x)\
1457 	FIELD_GET(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL, x)
1458 
1459 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL   GENMASK(2, 0)
1460 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL_SET(x)\
1461 	FIELD_PREP(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL, x)
1462 #define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL_GET(x)\
1463 	FIELD_GET(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL, x)
1464 
1465 /* ANA_CL:PORT:QOS_CFG */
1466 #define ANA_CL_QOS_CFG(g)                                                      \
1467 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1468 	      regs->gcnt[GC_ANA_CL_PORT], 512, 172, 0, 1, 4)
1469 
1470 #define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA         BIT(17)
1471 #define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA_SET(x)\
1472 	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_COSID_ENA, x)
1473 #define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA_GET(x)\
1474 	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_COSID_ENA, x)
1475 
1476 #define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL         GENMASK(16, 14)
1477 #define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL_SET(x)\
1478 	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_COSID_VAL, x)
1479 #define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL_GET(x)\
1480 	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_COSID_VAL, x)
1481 
1482 #define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL        GENMASK(13, 12)
1483 #define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL_SET(x)\
1484 	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL, x)
1485 #define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL_GET(x)\
1486 	FIELD_GET(ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL, x)
1487 
1488 #define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA        BIT(11)
1489 #define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA_SET(x)\
1490 	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA, x)
1491 #define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA_GET(x)\
1492 	FIELD_GET(ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA, x)
1493 
1494 #define ANA_CL_QOS_CFG_DSCP_KEEP_ENA             BIT(10)
1495 #define ANA_CL_QOS_CFG_DSCP_KEEP_ENA_SET(x)\
1496 	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_KEEP_ENA, x)
1497 #define ANA_CL_QOS_CFG_DSCP_KEEP_ENA_GET(x)\
1498 	FIELD_GET(ANA_CL_QOS_CFG_DSCP_KEEP_ENA, x)
1499 
1500 #define ANA_CL_QOS_CFG_KEEP_ENA                  BIT(9)
1501 #define ANA_CL_QOS_CFG_KEEP_ENA_SET(x)\
1502 	FIELD_PREP(ANA_CL_QOS_CFG_KEEP_ENA, x)
1503 #define ANA_CL_QOS_CFG_KEEP_ENA_GET(x)\
1504 	FIELD_GET(ANA_CL_QOS_CFG_KEEP_ENA, x)
1505 
1506 #define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA            BIT(8)
1507 #define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA_SET(x)\
1508 	FIELD_PREP(ANA_CL_QOS_CFG_PCP_DEI_DP_ENA, x)
1509 #define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA_GET(x)\
1510 	FIELD_GET(ANA_CL_QOS_CFG_PCP_DEI_DP_ENA, x)
1511 
1512 #define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA           BIT(7)
1513 #define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA_SET(x)\
1514 	FIELD_PREP(ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA, x)
1515 #define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA_GET(x)\
1516 	FIELD_GET(ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA, x)
1517 
1518 #define ANA_CL_QOS_CFG_DSCP_DP_ENA               BIT(6)
1519 #define ANA_CL_QOS_CFG_DSCP_DP_ENA_SET(x)\
1520 	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_DP_ENA, x)
1521 #define ANA_CL_QOS_CFG_DSCP_DP_ENA_GET(x)\
1522 	FIELD_GET(ANA_CL_QOS_CFG_DSCP_DP_ENA, x)
1523 
1524 #define ANA_CL_QOS_CFG_DSCP_QOS_ENA              BIT(5)
1525 #define ANA_CL_QOS_CFG_DSCP_QOS_ENA_SET(x)\
1526 	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_QOS_ENA, x)
1527 #define ANA_CL_QOS_CFG_DSCP_QOS_ENA_GET(x)\
1528 	FIELD_GET(ANA_CL_QOS_CFG_DSCP_QOS_ENA, x)
1529 
1530 #define ANA_CL_QOS_CFG_DEFAULT_DP_VAL            GENMASK(4, 3)
1531 #define ANA_CL_QOS_CFG_DEFAULT_DP_VAL_SET(x)\
1532 	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_DP_VAL, x)
1533 #define ANA_CL_QOS_CFG_DEFAULT_DP_VAL_GET(x)\
1534 	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_DP_VAL, x)
1535 
1536 #define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL           GENMASK(2, 0)
1537 #define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL_SET(x)\
1538 	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_QOS_VAL, x)
1539 #define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL_GET(x)\
1540 	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_QOS_VAL, x)
1541 
1542 /* ANA_CL:PORT:CAPTURE_BPDU_CFG */
1543 #define ANA_CL_CAPTURE_BPDU_CFG(g)                                             \
1544 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1545 	      regs->gcnt[GC_ANA_CL_PORT], 512, 196, 0, 1, 4)
1546 
1547 /* ANA_CL:PORT:ADV_CL_CFG_2 */
1548 #define ANA_CL_ADV_CL_CFG_2(g, r)                                              \
1549 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1550 	      regs->gcnt[GC_ANA_CL_PORT], 512, 200, r, 6, 4)
1551 
1552 #define ANA_CL_ADV_CL_CFG_2_USE_CL_TCI0_ENA      BIT(1)
1553 #define ANA_CL_ADV_CL_CFG_2_USE_CL_TCI0_ENA_SET(x)\
1554 	FIELD_PREP(ANA_CL_ADV_CL_CFG_2_USE_CL_TCI0_ENA, x)
1555 #define ANA_CL_ADV_CL_CFG_2_USE_CL_TCI0_ENA_GET(x)\
1556 	FIELD_GET(ANA_CL_ADV_CL_CFG_2_USE_CL_TCI0_ENA, x)
1557 
1558 #define ANA_CL_ADV_CL_CFG_2_USE_CL_DSCP_ENA      BIT(0)
1559 #define ANA_CL_ADV_CL_CFG_2_USE_CL_DSCP_ENA_SET(x)\
1560 	FIELD_PREP(ANA_CL_ADV_CL_CFG_2_USE_CL_DSCP_ENA, x)
1561 #define ANA_CL_ADV_CL_CFG_2_USE_CL_DSCP_ENA_GET(x)\
1562 	FIELD_GET(ANA_CL_ADV_CL_CFG_2_USE_CL_DSCP_ENA, x)
1563 
1564 /* ANA_CL:PORT:ADV_CL_CFG */
1565 #define ANA_CL_ADV_CL_CFG(g, r)                                                \
1566 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_PORT], g,             \
1567 	      regs->gcnt[GC_ANA_CL_PORT], 512, 224, r, 6, 4)
1568 
1569 #define ANA_CL_ADV_CL_CFG_IP4_CLM_KEY_SEL        GENMASK(30, 26)
1570 #define ANA_CL_ADV_CL_CFG_IP4_CLM_KEY_SEL_SET(x)\
1571 	FIELD_PREP(ANA_CL_ADV_CL_CFG_IP4_CLM_KEY_SEL, x)
1572 #define ANA_CL_ADV_CL_CFG_IP4_CLM_KEY_SEL_GET(x)\
1573 	FIELD_GET(ANA_CL_ADV_CL_CFG_IP4_CLM_KEY_SEL, x)
1574 
1575 #define ANA_CL_ADV_CL_CFG_IP6_CLM_KEY_SEL        GENMASK(25, 21)
1576 #define ANA_CL_ADV_CL_CFG_IP6_CLM_KEY_SEL_SET(x)\
1577 	FIELD_PREP(ANA_CL_ADV_CL_CFG_IP6_CLM_KEY_SEL, x)
1578 #define ANA_CL_ADV_CL_CFG_IP6_CLM_KEY_SEL_GET(x)\
1579 	FIELD_GET(ANA_CL_ADV_CL_CFG_IP6_CLM_KEY_SEL, x)
1580 
1581 #define ANA_CL_ADV_CL_CFG_MPLS_UC_CLM_KEY_SEL    GENMASK(20, 16)
1582 #define ANA_CL_ADV_CL_CFG_MPLS_UC_CLM_KEY_SEL_SET(x)\
1583 	FIELD_PREP(ANA_CL_ADV_CL_CFG_MPLS_UC_CLM_KEY_SEL, x)
1584 #define ANA_CL_ADV_CL_CFG_MPLS_UC_CLM_KEY_SEL_GET(x)\
1585 	FIELD_GET(ANA_CL_ADV_CL_CFG_MPLS_UC_CLM_KEY_SEL, x)
1586 
1587 #define ANA_CL_ADV_CL_CFG_MPLS_MC_CLM_KEY_SEL    GENMASK(15, 11)
1588 #define ANA_CL_ADV_CL_CFG_MPLS_MC_CLM_KEY_SEL_SET(x)\
1589 	FIELD_PREP(ANA_CL_ADV_CL_CFG_MPLS_MC_CLM_KEY_SEL, x)
1590 #define ANA_CL_ADV_CL_CFG_MPLS_MC_CLM_KEY_SEL_GET(x)\
1591 	FIELD_GET(ANA_CL_ADV_CL_CFG_MPLS_MC_CLM_KEY_SEL, x)
1592 
1593 #define ANA_CL_ADV_CL_CFG_MLBS_CLM_KEY_SEL       GENMASK(10, 6)
1594 #define ANA_CL_ADV_CL_CFG_MLBS_CLM_KEY_SEL_SET(x)\
1595 	FIELD_PREP(ANA_CL_ADV_CL_CFG_MLBS_CLM_KEY_SEL, x)
1596 #define ANA_CL_ADV_CL_CFG_MLBS_CLM_KEY_SEL_GET(x)\
1597 	FIELD_GET(ANA_CL_ADV_CL_CFG_MLBS_CLM_KEY_SEL, x)
1598 
1599 #define ANA_CL_ADV_CL_CFG_ETYPE_CLM_KEY_SEL      GENMASK(5, 1)
1600 #define ANA_CL_ADV_CL_CFG_ETYPE_CLM_KEY_SEL_SET(x)\
1601 	FIELD_PREP(ANA_CL_ADV_CL_CFG_ETYPE_CLM_KEY_SEL, x)
1602 #define ANA_CL_ADV_CL_CFG_ETYPE_CLM_KEY_SEL_GET(x)\
1603 	FIELD_GET(ANA_CL_ADV_CL_CFG_ETYPE_CLM_KEY_SEL, x)
1604 
1605 #define ANA_CL_ADV_CL_CFG_LOOKUP_ENA             BIT(0)
1606 #define ANA_CL_ADV_CL_CFG_LOOKUP_ENA_SET(x)\
1607 	FIELD_PREP(ANA_CL_ADV_CL_CFG_LOOKUP_ENA, x)
1608 #define ANA_CL_ADV_CL_CFG_LOOKUP_ENA_GET(x)\
1609 	FIELD_GET(ANA_CL_ADV_CL_CFG_LOOKUP_ENA, x)
1610 
1611 /* ANA_CL:COMMON:OWN_UPSID */
1612 #define ANA_CL_OWN_UPSID(r)                                                    \
1613 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_COMMON], 0, 1, 756, 0,\
1614 	      r, regs->rcnt[RC_ANA_CL_OWN_UPSID], 4)
1615 
1616 #define ANA_CL_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
1617 #define ANA_CL_OWN_UPSID_OWN_UPSID_SET(x)\
1618 	FIELD_PREP(ANA_CL_OWN_UPSID_OWN_UPSID, x)
1619 #define ANA_CL_OWN_UPSID_OWN_UPSID_GET(x)\
1620 	FIELD_GET(ANA_CL_OWN_UPSID_OWN_UPSID, x)
1621 
1622 /* ANA_CL:COMMON:DSCP_CFG */
1623 #define ANA_CL_DSCP_CFG(r)                                                     \
1624 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_COMMON], 0, 1, 756,   \
1625 	      256, r, 64, 4)
1626 
1627 #define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL       GENMASK(12, 7)
1628 #define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL_SET(x)\
1629 	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL, x)
1630 #define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL_GET(x)\
1631 	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL, x)
1632 
1633 #define ANA_CL_DSCP_CFG_DSCP_QOS_VAL             GENMASK(6, 4)
1634 #define ANA_CL_DSCP_CFG_DSCP_QOS_VAL_SET(x)\
1635 	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_QOS_VAL, x)
1636 #define ANA_CL_DSCP_CFG_DSCP_QOS_VAL_GET(x)\
1637 	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_QOS_VAL, x)
1638 
1639 #define ANA_CL_DSCP_CFG_DSCP_DP_VAL              GENMASK(3, 2)
1640 #define ANA_CL_DSCP_CFG_DSCP_DP_VAL_SET(x)\
1641 	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_DP_VAL, x)
1642 #define ANA_CL_DSCP_CFG_DSCP_DP_VAL_GET(x)\
1643 	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_DP_VAL, x)
1644 
1645 #define ANA_CL_DSCP_CFG_DSCP_REWR_ENA            BIT(1)
1646 #define ANA_CL_DSCP_CFG_DSCP_REWR_ENA_SET(x)\
1647 	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_REWR_ENA, x)
1648 #define ANA_CL_DSCP_CFG_DSCP_REWR_ENA_GET(x)\
1649 	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_REWR_ENA, x)
1650 
1651 #define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA           BIT(0)
1652 #define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA_SET(x)\
1653 	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_TRUST_ENA, x)
1654 #define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA_GET(x)\
1655 	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_TRUST_ENA, x)
1656 
1657 /* ANA_CL:COMMON:QOS_MAP_CFG */
1658 #define ANA_CL_QOS_MAP_CFG(r)                                                  \
1659 	__REG(TARGET_ANA_CL, 0, 1, regs->gaddr[GA_ANA_CL_COMMON], 0, 1, 756,   \
1660 	      512, r, 32, 4)
1661 
1662 #define ANA_CL_QOS_MAP_CFG_DSCP_REWR_VAL         GENMASK(9, 4)
1663 #define ANA_CL_QOS_MAP_CFG_DSCP_REWR_VAL_SET(x)\
1664 	FIELD_PREP(ANA_CL_QOS_MAP_CFG_DSCP_REWR_VAL, x)
1665 #define ANA_CL_QOS_MAP_CFG_DSCP_REWR_VAL_GET(x)\
1666 	FIELD_GET(ANA_CL_QOS_MAP_CFG_DSCP_REWR_VAL, x)
1667 
1668 /* ANA_L2:COMMON:FWD_CFG */
1669 #define ANA_L2_FWD_CFG                                                         \
1670 	__REG(TARGET_ANA_L2, 0, 1, regs->gaddr[GA_ANA_L2_COMMON], 0, 1,        \
1671 	      regs->gsize[GW_ANA_L2_COMMON], 0, 0, 1, 4)
1672 
1673 #define ANA_L2_FWD_CFG_MAC_TBL_SPLIT_SEL         GENMASK(21, 20)
1674 #define ANA_L2_FWD_CFG_MAC_TBL_SPLIT_SEL_SET(x)\
1675 	FIELD_PREP(ANA_L2_FWD_CFG_MAC_TBL_SPLIT_SEL, x)
1676 #define ANA_L2_FWD_CFG_MAC_TBL_SPLIT_SEL_GET(x)\
1677 	FIELD_GET(ANA_L2_FWD_CFG_MAC_TBL_SPLIT_SEL, x)
1678 
1679 #define ANA_L2_FWD_CFG_PORT_DEFAULT_BDLB_ENA     BIT(18)
1680 #define ANA_L2_FWD_CFG_PORT_DEFAULT_BDLB_ENA_SET(x)\
1681 	FIELD_PREP(ANA_L2_FWD_CFG_PORT_DEFAULT_BDLB_ENA, x)
1682 #define ANA_L2_FWD_CFG_PORT_DEFAULT_BDLB_ENA_GET(x)\
1683 	FIELD_GET(ANA_L2_FWD_CFG_PORT_DEFAULT_BDLB_ENA, x)
1684 
1685 #define ANA_L2_FWD_CFG_QUEUE_DEFAULT_SDLB_ENA    BIT(17)
1686 #define ANA_L2_FWD_CFG_QUEUE_DEFAULT_SDLB_ENA_SET(x)\
1687 	FIELD_PREP(ANA_L2_FWD_CFG_QUEUE_DEFAULT_SDLB_ENA, x)
1688 #define ANA_L2_FWD_CFG_QUEUE_DEFAULT_SDLB_ENA_GET(x)\
1689 	FIELD_GET(ANA_L2_FWD_CFG_QUEUE_DEFAULT_SDLB_ENA, x)
1690 
1691 #define ANA_L2_FWD_CFG_ISDX_LOOKUP_ENA           BIT(16)
1692 #define ANA_L2_FWD_CFG_ISDX_LOOKUP_ENA_SET(x)\
1693 	FIELD_PREP(ANA_L2_FWD_CFG_ISDX_LOOKUP_ENA, x)
1694 #define ANA_L2_FWD_CFG_ISDX_LOOKUP_ENA_GET(x)\
1695 	FIELD_GET(ANA_L2_FWD_CFG_ISDX_LOOKUP_ENA, x)
1696 
1697 #define ANA_L2_FWD_CFG_CPU_DMAC_QU               GENMASK(10, 8)
1698 #define ANA_L2_FWD_CFG_CPU_DMAC_QU_SET(x)\
1699 	FIELD_PREP(ANA_L2_FWD_CFG_CPU_DMAC_QU, x)
1700 #define ANA_L2_FWD_CFG_CPU_DMAC_QU_GET(x)\
1701 	FIELD_GET(ANA_L2_FWD_CFG_CPU_DMAC_QU, x)
1702 
1703 #define ANA_L2_FWD_CFG_LOOPBACK_ENA              BIT(7)
1704 #define ANA_L2_FWD_CFG_LOOPBACK_ENA_SET(x)\
1705 	FIELD_PREP(ANA_L2_FWD_CFG_LOOPBACK_ENA, x)
1706 #define ANA_L2_FWD_CFG_LOOPBACK_ENA_GET(x)\
1707 	FIELD_GET(ANA_L2_FWD_CFG_LOOPBACK_ENA, x)
1708 
1709 #define ANA_L2_FWD_CFG_CPU_DMAC_COPY_ENA         BIT(6)
1710 #define ANA_L2_FWD_CFG_CPU_DMAC_COPY_ENA_SET(x)\
1711 	FIELD_PREP(ANA_L2_FWD_CFG_CPU_DMAC_COPY_ENA, x)
1712 #define ANA_L2_FWD_CFG_CPU_DMAC_COPY_ENA_GET(x)\
1713 	FIELD_GET(ANA_L2_FWD_CFG_CPU_DMAC_COPY_ENA, x)
1714 
1715 #define ANA_L2_FWD_CFG_FILTER_MODE_SEL           BIT(4)
1716 #define ANA_L2_FWD_CFG_FILTER_MODE_SEL_SET(x)\
1717 	FIELD_PREP(ANA_L2_FWD_CFG_FILTER_MODE_SEL, x)
1718 #define ANA_L2_FWD_CFG_FILTER_MODE_SEL_GET(x)\
1719 	FIELD_GET(ANA_L2_FWD_CFG_FILTER_MODE_SEL, x)
1720 
1721 #define ANA_L2_FWD_CFG_FLOOD_MIRROR_ENA          BIT(3)
1722 #define ANA_L2_FWD_CFG_FLOOD_MIRROR_ENA_SET(x)\
1723 	FIELD_PREP(ANA_L2_FWD_CFG_FLOOD_MIRROR_ENA, x)
1724 #define ANA_L2_FWD_CFG_FLOOD_MIRROR_ENA_GET(x)\
1725 	FIELD_GET(ANA_L2_FWD_CFG_FLOOD_MIRROR_ENA, x)
1726 
1727 #define ANA_L2_FWD_CFG_FLOOD_IGNORE_VLAN_ENA     BIT(2)
1728 #define ANA_L2_FWD_CFG_FLOOD_IGNORE_VLAN_ENA_SET(x)\
1729 	FIELD_PREP(ANA_L2_FWD_CFG_FLOOD_IGNORE_VLAN_ENA, x)
1730 #define ANA_L2_FWD_CFG_FLOOD_IGNORE_VLAN_ENA_GET(x)\
1731 	FIELD_GET(ANA_L2_FWD_CFG_FLOOD_IGNORE_VLAN_ENA, x)
1732 
1733 #define ANA_L2_FWD_CFG_FLOOD_CPU_COPY_ENA        BIT(1)
1734 #define ANA_L2_FWD_CFG_FLOOD_CPU_COPY_ENA_SET(x)\
1735 	FIELD_PREP(ANA_L2_FWD_CFG_FLOOD_CPU_COPY_ENA, x)
1736 #define ANA_L2_FWD_CFG_FLOOD_CPU_COPY_ENA_GET(x)\
1737 	FIELD_GET(ANA_L2_FWD_CFG_FLOOD_CPU_COPY_ENA, x)
1738 
1739 #define ANA_L2_FWD_CFG_FWD_ENA                   BIT(0)
1740 #define ANA_L2_FWD_CFG_FWD_ENA_SET(x)\
1741 	FIELD_PREP(ANA_L2_FWD_CFG_FWD_ENA, x)
1742 #define ANA_L2_FWD_CFG_FWD_ENA_GET(x)\
1743 	FIELD_GET(ANA_L2_FWD_CFG_FWD_ENA, x)
1744 
1745 /* ANA_L2:COMMON:AUTO_LRN_CFG */
1746 #define ANA_L2_AUTO_LRN_CFG                                                    \
1747 	__REG(TARGET_ANA_L2, 0, 1, regs->gaddr[GA_ANA_L2_COMMON], 0, 1,        \
1748 	      regs->gsize[GW_ANA_L2_COMMON], 24, 0, 1, 4)
1749 
1750 /* SPARX5 ONLY */
1751 /* ANA_L2:COMMON:AUTO_LRN_CFG1 */
1752 #define ANA_L2_AUTO_LRN_CFG1                                                   \
1753 	__REG(TARGET_ANA_L2, 0, 1, regs->gaddr[GA_ANA_L2_COMMON], 0, 1,        \
1754 	      regs->gsize[GW_ANA_L2_COMMON], 28, 0, 1, 4)
1755 
1756 /* SPARX5 ONLY */
1757 /* ANA_L2:COMMON:AUTO_LRN_CFG2 */
1758 #define ANA_L2_AUTO_LRN_CFG2                                                   \
1759 	__REG(TARGET_ANA_L2, 0, 1, regs->gaddr[GA_ANA_L2_COMMON], 0, 1,        \
1760 	      regs->gsize[GW_ANA_L2_COMMON], 32, 0, 1, 4)
1761 
1762 #define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2       BIT(0)
1763 #define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2_SET(x)\
1764 	FIELD_PREP(ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2, x)
1765 #define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2_GET(x)\
1766 	FIELD_GET(ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2, x)
1767 
1768 /* ANA_L2:COMMON:OWN_UPSID */
1769 #define ANA_L2_OWN_UPSID(r)                                                    \
1770 	__REG(TARGET_ANA_L2, 0, 1, regs->gaddr[GA_ANA_L2_COMMON], 0, 1,        \
1771 	      regs->gsize[GW_ANA_L2_COMMON], 672, r,                           \
1772 	      regs->rcnt[RC_ANA_L2_OWN_UPSID], 4)
1773 
1774 #define ANA_L2_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
1775 #define ANA_L2_OWN_UPSID_OWN_UPSID_SET(x)\
1776 	FIELD_PREP(ANA_L2_OWN_UPSID_OWN_UPSID, x)
1777 #define ANA_L2_OWN_UPSID_OWN_UPSID_GET(x)\
1778 	FIELD_GET(ANA_L2_OWN_UPSID_OWN_UPSID, x)
1779 
1780 /* ANA_L2:ISDX:DLB_CFG */
1781 #define ANA_L2_DLB_CFG(g)                                                      \
1782 	__REG(TARGET_ANA_L2, 0, 1, 0, g, regs->gcnt[GC_ANA_L2_ISDX], 128, 56,  \
1783 	      0, 1, 4)
1784 
1785 #define ANA_L2_DLB_CFG_DLB_IDX\
1786 	GENMASK(regs->fsize[FW_ANA_L2_DLB_CFG_DLB_IDX] + 0 - 1, 0)
1787 #define ANA_L2_DLB_CFG_DLB_IDX_SET(x)\
1788 	spx5_field_prep(ANA_L2_DLB_CFG_DLB_IDX, x)
1789 #define ANA_L2_DLB_CFG_DLB_IDX_GET(x)\
1790 	spx5_field_get(ANA_L2_DLB_CFG_DLB_IDX, x)
1791 
1792 /* ANA_L2:ISDX:TSN_CFG */
1793 #define ANA_L2_TSN_CFG(g)                                                      \
1794 	__REG(TARGET_ANA_L2, 0, 1, 0, g, regs->gcnt[GC_ANA_L2_ISDX], 128, 100, \
1795 	      0, 1, 4)
1796 
1797 #define ANA_L2_TSN_CFG_TSN_SFID\
1798 	GENMASK(regs->fsize[FW_ANA_L2_TSN_CFG_TSN_SFID] + 0 - 1, 0)
1799 #define ANA_L2_TSN_CFG_TSN_SFID_SET(x)\
1800 	spx5_field_prep(ANA_L2_TSN_CFG_TSN_SFID, x)
1801 #define ANA_L2_TSN_CFG_TSN_SFID_GET(x)\
1802 	spx5_field_get(ANA_L2_TSN_CFG_TSN_SFID, x)
1803 
1804 /* ANA_L3:COMMON:VLAN_CTRL */
1805 #define ANA_L3_VLAN_CTRL                                                       \
1806 	__REG(TARGET_ANA_L3, 0, 1, regs->gaddr[GA_ANA_L3_COMMON], 0, 1, 184, 4,\
1807 	      0, 1, 4)
1808 
1809 #define ANA_L3_VLAN_CTRL_VLAN_ENA                BIT(0)
1810 #define ANA_L3_VLAN_CTRL_VLAN_ENA_SET(x)\
1811 	FIELD_PREP(ANA_L3_VLAN_CTRL_VLAN_ENA, x)
1812 #define ANA_L3_VLAN_CTRL_VLAN_ENA_GET(x)\
1813 	FIELD_GET(ANA_L3_VLAN_CTRL_VLAN_ENA, x)
1814 
1815 /* ANA_L3:VLAN:VLAN_CFG */
1816 #define ANA_L3_VLAN_CFG(g)                                                     \
1817 	__REG(TARGET_ANA_L3, 0, 1, 0, g, regs->gcnt[GC_ANA_L3_VLAN], 64, 8, 0, \
1818 	      1, 4)
1819 
1820 #define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR            GENMASK(30, 24)
1821 #define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR_SET(x)\
1822 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_MSTP_PTR, x)
1823 #define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR_GET(x)\
1824 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_MSTP_PTR, x)
1825 
1826 #define ANA_L3_VLAN_CFG_VLAN_FID                 GENMASK(20, 8)
1827 #define ANA_L3_VLAN_CFG_VLAN_FID_SET(x)\
1828 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_FID, x)
1829 #define ANA_L3_VLAN_CFG_VLAN_FID_GET(x)\
1830 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_FID, x)
1831 
1832 #define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA      BIT(6)
1833 #define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA_SET(x)\
1834 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA, x)
1835 #define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA_GET(x)\
1836 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA, x)
1837 
1838 #define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA         BIT(5)
1839 #define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA_SET(x)\
1840 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA, x)
1841 #define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA_GET(x)\
1842 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA, x)
1843 
1844 #define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS           BIT(4)
1845 #define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS_SET(x)\
1846 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS, x)
1847 #define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS_GET(x)\
1848 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS, x)
1849 
1850 #define ANA_L3_VLAN_CFG_VLAN_LRN_DIS             BIT(3)
1851 #define ANA_L3_VLAN_CFG_VLAN_LRN_DIS_SET(x)\
1852 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_LRN_DIS, x)
1853 #define ANA_L3_VLAN_CFG_VLAN_LRN_DIS_GET(x)\
1854 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_LRN_DIS, x)
1855 
1856 #define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA            BIT(2)
1857 #define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA_SET(x)\
1858 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_RLEG_ENA, x)
1859 #define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA_GET(x)\
1860 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_RLEG_ENA, x)
1861 
1862 #define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA         BIT(1)
1863 #define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA_SET(x)\
1864 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA, x)
1865 #define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA_GET(x)\
1866 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA, x)
1867 
1868 #define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA          BIT(0)
1869 #define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA_SET(x)\
1870 	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA, x)
1871 #define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA_GET(x)\
1872 	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA, x)
1873 
1874 /* ANA_L3:VLAN:VLAN_MASK_CFG */
1875 #define ANA_L3_VLAN_MASK_CFG(g)                                                \
1876 	__REG(TARGET_ANA_L3, 0, 1, 0, g, regs->gcnt[GC_ANA_L3_VLAN], 64, 16, 0,\
1877 	      1, 4)
1878 
1879 /* SPARX5 ONLY */
1880 /* ANA_L3:VLAN:VLAN_MASK_CFG1 */
1881 #define ANA_L3_VLAN_MASK_CFG1(g)                                               \
1882 	__REG(TARGET_ANA_L3, 0, 1, 0, g, regs->gcnt[GC_ANA_L3_VLAN], 64, 20, 0,\
1883 	      1, 4)
1884 
1885 /* SPARX5 ONLY */
1886 /* ANA_L3:VLAN:VLAN_MASK_CFG2 */
1887 #define ANA_L3_VLAN_MASK_CFG2(g)                                               \
1888 	__REG(TARGET_ANA_L3, 0, 1, 0, g, regs->gcnt[GC_ANA_L3_VLAN], 64, 24, 0,\
1889 	      1, 4)
1890 
1891 #define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2    BIT(0)
1892 #define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2_SET(x)\
1893 	FIELD_PREP(ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2, x)
1894 #define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2_GET(x)\
1895 	FIELD_GET(ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2, x)
1896 
1897 /* ASM:DEV_STATISTICS:RX_IN_BYTES_CNT */
1898 #define ASM_RX_IN_BYTES_CNT(g)                                                 \
1899 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1900 	      0, 0, 1, 4)
1901 
1902 /* ASM:DEV_STATISTICS:RX_SYMBOL_ERR_CNT */
1903 #define ASM_RX_SYMBOL_ERR_CNT(g)                                               \
1904 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1905 	      4, 0, 1, 4)
1906 
1907 /* ASM:DEV_STATISTICS:RX_PAUSE_CNT */
1908 #define ASM_RX_PAUSE_CNT(g)                                                    \
1909 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1910 	      8, 0, 1, 4)
1911 
1912 /* ASM:DEV_STATISTICS:RX_UNSUP_OPCODE_CNT */
1913 #define ASM_RX_UNSUP_OPCODE_CNT(g)                                             \
1914 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1915 	      12, 0, 1, 4)
1916 
1917 /* ASM:DEV_STATISTICS:RX_OK_BYTES_CNT */
1918 #define ASM_RX_OK_BYTES_CNT(g)                                                 \
1919 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1920 	      16, 0, 1, 4)
1921 
1922 /* ASM:DEV_STATISTICS:RX_BAD_BYTES_CNT */
1923 #define ASM_RX_BAD_BYTES_CNT(g)                                                \
1924 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1925 	      20, 0, 1, 4)
1926 
1927 /* ASM:DEV_STATISTICS:RX_UC_CNT */
1928 #define ASM_RX_UC_CNT(g)                                                       \
1929 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1930 	      24, 0, 1, 4)
1931 
1932 /* ASM:DEV_STATISTICS:RX_MC_CNT */
1933 #define ASM_RX_MC_CNT(g)                                                       \
1934 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1935 	      28, 0, 1, 4)
1936 
1937 /* ASM:DEV_STATISTICS:RX_BC_CNT */
1938 #define ASM_RX_BC_CNT(g)                                                       \
1939 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1940 	      32, 0, 1, 4)
1941 
1942 /* ASM:DEV_STATISTICS:RX_CRC_ERR_CNT */
1943 #define ASM_RX_CRC_ERR_CNT(g)                                                  \
1944 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1945 	      36, 0, 1, 4)
1946 
1947 /* ASM:DEV_STATISTICS:RX_UNDERSIZE_CNT */
1948 #define ASM_RX_UNDERSIZE_CNT(g)                                                \
1949 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1950 	      40, 0, 1, 4)
1951 
1952 /* ASM:DEV_STATISTICS:RX_FRAGMENTS_CNT */
1953 #define ASM_RX_FRAGMENTS_CNT(g)                                                \
1954 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1955 	      44, 0, 1, 4)
1956 
1957 /* ASM:DEV_STATISTICS:RX_IN_RANGE_LEN_ERR_CNT */
1958 #define ASM_RX_IN_RANGE_LEN_ERR_CNT(g)                                         \
1959 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1960 	      48, 0, 1, 4)
1961 
1962 /* ASM:DEV_STATISTICS:RX_OUT_OF_RANGE_LEN_ERR_CNT */
1963 #define ASM_RX_OUT_OF_RANGE_LEN_ERR_CNT(g)                                     \
1964 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1965 	      52, 0, 1, 4)
1966 
1967 /* ASM:DEV_STATISTICS:RX_OVERSIZE_CNT */
1968 #define ASM_RX_OVERSIZE_CNT(g)                                                 \
1969 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1970 	      56, 0, 1, 4)
1971 
1972 /* ASM:DEV_STATISTICS:RX_JABBERS_CNT */
1973 #define ASM_RX_JABBERS_CNT(g)                                                  \
1974 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1975 	      60, 0, 1, 4)
1976 
1977 /* ASM:DEV_STATISTICS:RX_SIZE64_CNT */
1978 #define ASM_RX_SIZE64_CNT(g)                                                   \
1979 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1980 	      64, 0, 1, 4)
1981 
1982 /* ASM:DEV_STATISTICS:RX_SIZE65TO127_CNT */
1983 #define ASM_RX_SIZE65TO127_CNT(g)                                              \
1984 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1985 	      68, 0, 1, 4)
1986 
1987 /* ASM:DEV_STATISTICS:RX_SIZE128TO255_CNT */
1988 #define ASM_RX_SIZE128TO255_CNT(g)                                             \
1989 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1990 	      72, 0, 1, 4)
1991 
1992 /* ASM:DEV_STATISTICS:RX_SIZE256TO511_CNT */
1993 #define ASM_RX_SIZE256TO511_CNT(g)                                             \
1994 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
1995 	      76, 0, 1, 4)
1996 
1997 /* ASM:DEV_STATISTICS:RX_SIZE512TO1023_CNT */
1998 #define ASM_RX_SIZE512TO1023_CNT(g)                                            \
1999 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2000 	      80, 0, 1, 4)
2001 
2002 /* ASM:DEV_STATISTICS:RX_SIZE1024TO1518_CNT */
2003 #define ASM_RX_SIZE1024TO1518_CNT(g)                                           \
2004 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2005 	      84, 0, 1, 4)
2006 
2007 /* ASM:DEV_STATISTICS:RX_SIZE1519TOMAX_CNT */
2008 #define ASM_RX_SIZE1519TOMAX_CNT(g)                                            \
2009 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2010 	      88, 0, 1, 4)
2011 
2012 /* ASM:DEV_STATISTICS:RX_IPG_SHRINK_CNT */
2013 #define ASM_RX_IPG_SHRINK_CNT(g)                                               \
2014 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2015 	      92, 0, 1, 4)
2016 
2017 /* ASM:DEV_STATISTICS:TX_OUT_BYTES_CNT */
2018 #define ASM_TX_OUT_BYTES_CNT(g)                                                \
2019 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2020 	      96, 0, 1, 4)
2021 
2022 /* ASM:DEV_STATISTICS:TX_PAUSE_CNT */
2023 #define ASM_TX_PAUSE_CNT(g)                                                    \
2024 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2025 	      100, 0, 1, 4)
2026 
2027 /* ASM:DEV_STATISTICS:TX_OK_BYTES_CNT */
2028 #define ASM_TX_OK_BYTES_CNT(g)                                                 \
2029 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2030 	      104, 0, 1, 4)
2031 
2032 /* ASM:DEV_STATISTICS:TX_UC_CNT */
2033 #define ASM_TX_UC_CNT(g)                                                       \
2034 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2035 	      108, 0, 1, 4)
2036 
2037 /* ASM:DEV_STATISTICS:TX_MC_CNT */
2038 #define ASM_TX_MC_CNT(g)                                                       \
2039 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2040 	      112, 0, 1, 4)
2041 
2042 /* ASM:DEV_STATISTICS:TX_BC_CNT */
2043 #define ASM_TX_BC_CNT(g)                                                       \
2044 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2045 	      116, 0, 1, 4)
2046 
2047 /* ASM:DEV_STATISTICS:TX_SIZE64_CNT */
2048 #define ASM_TX_SIZE64_CNT(g)                                                   \
2049 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2050 	      120, 0, 1, 4)
2051 
2052 /* ASM:DEV_STATISTICS:TX_SIZE65TO127_CNT */
2053 #define ASM_TX_SIZE65TO127_CNT(g)                                              \
2054 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2055 	      124, 0, 1, 4)
2056 
2057 /* ASM:DEV_STATISTICS:TX_SIZE128TO255_CNT */
2058 #define ASM_TX_SIZE128TO255_CNT(g)                                             \
2059 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2060 	      128, 0, 1, 4)
2061 
2062 /* ASM:DEV_STATISTICS:TX_SIZE256TO511_CNT */
2063 #define ASM_TX_SIZE256TO511_CNT(g)                                             \
2064 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2065 	      132, 0, 1, 4)
2066 
2067 /* ASM:DEV_STATISTICS:TX_SIZE512TO1023_CNT */
2068 #define ASM_TX_SIZE512TO1023_CNT(g)                                            \
2069 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2070 	      136, 0, 1, 4)
2071 
2072 /* ASM:DEV_STATISTICS:TX_SIZE1024TO1518_CNT */
2073 #define ASM_TX_SIZE1024TO1518_CNT(g)                                           \
2074 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2075 	      140, 0, 1, 4)
2076 
2077 /* ASM:DEV_STATISTICS:TX_SIZE1519TOMAX_CNT */
2078 #define ASM_TX_SIZE1519TOMAX_CNT(g)                                            \
2079 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2080 	      144, 0, 1, 4)
2081 
2082 /* ASM:DEV_STATISTICS:RX_ALIGNMENT_LOST_CNT */
2083 #define ASM_RX_ALIGNMENT_LOST_CNT(g)                                           \
2084 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2085 	      148, 0, 1, 4)
2086 
2087 /* ASM:DEV_STATISTICS:RX_TAGGED_FRMS_CNT */
2088 #define ASM_RX_TAGGED_FRMS_CNT(g)                                              \
2089 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2090 	      152, 0, 1, 4)
2091 
2092 /* ASM:DEV_STATISTICS:RX_UNTAGGED_FRMS_CNT */
2093 #define ASM_RX_UNTAGGED_FRMS_CNT(g)                                            \
2094 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2095 	      156, 0, 1, 4)
2096 
2097 /* ASM:DEV_STATISTICS:TX_TAGGED_FRMS_CNT */
2098 #define ASM_TX_TAGGED_FRMS_CNT(g)                                              \
2099 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2100 	      160, 0, 1, 4)
2101 
2102 /* ASM:DEV_STATISTICS:TX_UNTAGGED_FRMS_CNT */
2103 #define ASM_TX_UNTAGGED_FRMS_CNT(g)                                            \
2104 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2105 	      164, 0, 1, 4)
2106 
2107 /* ASM:DEV_STATISTICS:PMAC_RX_SYMBOL_ERR_CNT */
2108 #define ASM_PMAC_RX_SYMBOL_ERR_CNT(g)                                          \
2109 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2110 	      168, 0, 1, 4)
2111 
2112 /* ASM:DEV_STATISTICS:PMAC_RX_PAUSE_CNT */
2113 #define ASM_PMAC_RX_PAUSE_CNT(g)                                               \
2114 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2115 	      172, 0, 1, 4)
2116 
2117 /* ASM:DEV_STATISTICS:PMAC_RX_UNSUP_OPCODE_CNT */
2118 #define ASM_PMAC_RX_UNSUP_OPCODE_CNT(g)                                        \
2119 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2120 	      176, 0, 1, 4)
2121 
2122 /* ASM:DEV_STATISTICS:PMAC_RX_OK_BYTES_CNT */
2123 #define ASM_PMAC_RX_OK_BYTES_CNT(g)                                            \
2124 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2125 	      180, 0, 1, 4)
2126 
2127 /* ASM:DEV_STATISTICS:PMAC_RX_BAD_BYTES_CNT */
2128 #define ASM_PMAC_RX_BAD_BYTES_CNT(g)                                           \
2129 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2130 	      184, 0, 1, 4)
2131 
2132 /* ASM:DEV_STATISTICS:PMAC_RX_UC_CNT */
2133 #define ASM_PMAC_RX_UC_CNT(g)                                                  \
2134 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2135 	      188, 0, 1, 4)
2136 
2137 /* ASM:DEV_STATISTICS:PMAC_RX_MC_CNT */
2138 #define ASM_PMAC_RX_MC_CNT(g)                                                  \
2139 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2140 	      192, 0, 1, 4)
2141 
2142 /* ASM:DEV_STATISTICS:PMAC_RX_BC_CNT */
2143 #define ASM_PMAC_RX_BC_CNT(g)                                                  \
2144 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2145 	      196, 0, 1, 4)
2146 
2147 /* ASM:DEV_STATISTICS:PMAC_RX_CRC_ERR_CNT */
2148 #define ASM_PMAC_RX_CRC_ERR_CNT(g)                                             \
2149 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2150 	      200, 0, 1, 4)
2151 
2152 /* ASM:DEV_STATISTICS:PMAC_RX_UNDERSIZE_CNT */
2153 #define ASM_PMAC_RX_UNDERSIZE_CNT(g)                                           \
2154 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2155 	      204, 0, 1, 4)
2156 
2157 /* ASM:DEV_STATISTICS:PMAC_RX_FRAGMENTS_CNT */
2158 #define ASM_PMAC_RX_FRAGMENTS_CNT(g)                                           \
2159 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2160 	      208, 0, 1, 4)
2161 
2162 /* ASM:DEV_STATISTICS:PMAC_RX_IN_RANGE_LEN_ERR_CNT */
2163 #define ASM_PMAC_RX_IN_RANGE_LEN_ERR_CNT(g)                                    \
2164 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2165 	      212, 0, 1, 4)
2166 
2167 /* ASM:DEV_STATISTICS:PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT */
2168 #define ASM_PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT(g)                                \
2169 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2170 	      216, 0, 1, 4)
2171 
2172 /* ASM:DEV_STATISTICS:PMAC_RX_OVERSIZE_CNT */
2173 #define ASM_PMAC_RX_OVERSIZE_CNT(g)                                            \
2174 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2175 	      220, 0, 1, 4)
2176 
2177 /* ASM:DEV_STATISTICS:PMAC_RX_JABBERS_CNT */
2178 #define ASM_PMAC_RX_JABBERS_CNT(g)                                             \
2179 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2180 	      224, 0, 1, 4)
2181 
2182 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE64_CNT */
2183 #define ASM_PMAC_RX_SIZE64_CNT(g)                                              \
2184 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2185 	      228, 0, 1, 4)
2186 
2187 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE65TO127_CNT */
2188 #define ASM_PMAC_RX_SIZE65TO127_CNT(g)                                         \
2189 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2190 	      232, 0, 1, 4)
2191 
2192 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE128TO255_CNT */
2193 #define ASM_PMAC_RX_SIZE128TO255_CNT(g)                                        \
2194 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2195 	      236, 0, 1, 4)
2196 
2197 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE256TO511_CNT */
2198 #define ASM_PMAC_RX_SIZE256TO511_CNT(g)                                        \
2199 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2200 	      240, 0, 1, 4)
2201 
2202 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE512TO1023_CNT */
2203 #define ASM_PMAC_RX_SIZE512TO1023_CNT(g)                                       \
2204 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2205 	      244, 0, 1, 4)
2206 
2207 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE1024TO1518_CNT */
2208 #define ASM_PMAC_RX_SIZE1024TO1518_CNT(g)                                      \
2209 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2210 	      248, 0, 1, 4)
2211 
2212 /* ASM:DEV_STATISTICS:PMAC_RX_SIZE1519TOMAX_CNT */
2213 #define ASM_PMAC_RX_SIZE1519TOMAX_CNT(g)                                       \
2214 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2215 	      252, 0, 1, 4)
2216 
2217 /* ASM:DEV_STATISTICS:PMAC_TX_PAUSE_CNT */
2218 #define ASM_PMAC_TX_PAUSE_CNT(g)                                               \
2219 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2220 	      256, 0, 1, 4)
2221 
2222 /* ASM:DEV_STATISTICS:PMAC_TX_OK_BYTES_CNT */
2223 #define ASM_PMAC_TX_OK_BYTES_CNT(g)                                            \
2224 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2225 	      260, 0, 1, 4)
2226 
2227 /* ASM:DEV_STATISTICS:PMAC_TX_UC_CNT */
2228 #define ASM_PMAC_TX_UC_CNT(g)                                                  \
2229 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2230 	      264, 0, 1, 4)
2231 
2232 /* ASM:DEV_STATISTICS:PMAC_TX_MC_CNT */
2233 #define ASM_PMAC_TX_MC_CNT(g)                                                  \
2234 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2235 	      268, 0, 1, 4)
2236 
2237 /* ASM:DEV_STATISTICS:PMAC_TX_BC_CNT */
2238 #define ASM_PMAC_TX_BC_CNT(g)                                                  \
2239 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2240 	      272, 0, 1, 4)
2241 
2242 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE64_CNT */
2243 #define ASM_PMAC_TX_SIZE64_CNT(g)                                              \
2244 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2245 	      276, 0, 1, 4)
2246 
2247 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE65TO127_CNT */
2248 #define ASM_PMAC_TX_SIZE65TO127_CNT(g)                                         \
2249 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2250 	      280, 0, 1, 4)
2251 
2252 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE128TO255_CNT */
2253 #define ASM_PMAC_TX_SIZE128TO255_CNT(g)                                        \
2254 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2255 	      284, 0, 1, 4)
2256 
2257 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE256TO511_CNT */
2258 #define ASM_PMAC_TX_SIZE256TO511_CNT(g)                                        \
2259 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2260 	      288, 0, 1, 4)
2261 
2262 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE512TO1023_CNT */
2263 #define ASM_PMAC_TX_SIZE512TO1023_CNT(g)                                       \
2264 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2265 	      292, 0, 1, 4)
2266 
2267 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE1024TO1518_CNT */
2268 #define ASM_PMAC_TX_SIZE1024TO1518_CNT(g)                                      \
2269 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2270 	      296, 0, 1, 4)
2271 
2272 /* ASM:DEV_STATISTICS:PMAC_TX_SIZE1519TOMAX_CNT */
2273 #define ASM_PMAC_TX_SIZE1519TOMAX_CNT(g)                                       \
2274 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2275 	      300, 0, 1, 4)
2276 
2277 /* ASM:DEV_STATISTICS:PMAC_RX_ALIGNMENT_LOST_CNT */
2278 #define ASM_PMAC_RX_ALIGNMENT_LOST_CNT(g)                                      \
2279 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2280 	      304, 0, 1, 4)
2281 
2282 /* ASM:DEV_STATISTICS:MM_RX_ASSEMBLY_ERR_CNT */
2283 #define ASM_MM_RX_ASSEMBLY_ERR_CNT(g)                                          \
2284 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2285 	      308, 0, 1, 4)
2286 
2287 /* ASM:DEV_STATISTICS:MM_RX_SMD_ERR_CNT */
2288 #define ASM_MM_RX_SMD_ERR_CNT(g)                                               \
2289 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2290 	      312, 0, 1, 4)
2291 
2292 /* ASM:DEV_STATISTICS:MM_RX_ASSEMBLY_OK_CNT */
2293 #define ASM_MM_RX_ASSEMBLY_OK_CNT(g)                                           \
2294 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2295 	      316, 0, 1, 4)
2296 
2297 /* ASM:DEV_STATISTICS:MM_RX_MERGE_FRAG_CNT */
2298 #define ASM_MM_RX_MERGE_FRAG_CNT(g)                                            \
2299 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2300 	      320, 0, 1, 4)
2301 
2302 /* ASM:DEV_STATISTICS:MM_TX_PFRAGMENT_CNT */
2303 #define ASM_MM_TX_PFRAGMENT_CNT(g)                                             \
2304 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2305 	      324, 0, 1, 4)
2306 
2307 /* ASM:DEV_STATISTICS:TX_MULTI_COLL_CNT */
2308 #define ASM_TX_MULTI_COLL_CNT(g)                                               \
2309 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2310 	      328, 0, 1, 4)
2311 
2312 /* ASM:DEV_STATISTICS:TX_LATE_COLL_CNT */
2313 #define ASM_TX_LATE_COLL_CNT(g)                                                \
2314 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2315 	      332, 0, 1, 4)
2316 
2317 /* ASM:DEV_STATISTICS:TX_XCOLL_CNT */
2318 #define ASM_TX_XCOLL_CNT(g)                                                    \
2319 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2320 	      336, 0, 1, 4)
2321 
2322 /* ASM:DEV_STATISTICS:TX_DEFER_CNT */
2323 #define ASM_TX_DEFER_CNT(g)                                                    \
2324 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2325 	      340, 0, 1, 4)
2326 
2327 /* ASM:DEV_STATISTICS:TX_XDEFER_CNT */
2328 #define ASM_TX_XDEFER_CNT(g)                                                   \
2329 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2330 	      344, 0, 1, 4)
2331 
2332 /* ASM:DEV_STATISTICS:TX_BACKOFF1_CNT */
2333 #define ASM_TX_BACKOFF1_CNT(g)                                                 \
2334 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2335 	      348, 0, 1, 4)
2336 
2337 /* ASM:DEV_STATISTICS:TX_CSENSE_CNT */
2338 #define ASM_TX_CSENSE_CNT(g)                                                   \
2339 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2340 	      352, 0, 1, 4)
2341 
2342 /* ASM:DEV_STATISTICS:RX_IN_BYTES_MSB_CNT */
2343 #define ASM_RX_IN_BYTES_MSB_CNT(g)                                             \
2344 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2345 	      356, 0, 1, 4)
2346 
2347 #define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT GENMASK(3, 0)
2348 #define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_SET(x)\
2349 	FIELD_PREP(ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
2350 #define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_GET(x)\
2351 	FIELD_GET(ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
2352 
2353 /* ASM:DEV_STATISTICS:RX_OK_BYTES_MSB_CNT */
2354 #define ASM_RX_OK_BYTES_MSB_CNT(g)                                             \
2355 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2356 	      360, 0, 1, 4)
2357 
2358 #define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT GENMASK(3, 0)
2359 #define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_SET(x)\
2360 	FIELD_PREP(ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
2361 #define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_GET(x)\
2362 	FIELD_GET(ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
2363 
2364 /* ASM:DEV_STATISTICS:PMAC_RX_OK_BYTES_MSB_CNT */
2365 #define ASM_PMAC_RX_OK_BYTES_MSB_CNT(g)                                        \
2366 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2367 	      364, 0, 1, 4)
2368 
2369 #define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT GENMASK(3, 0)
2370 #define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_SET(x)\
2371 	FIELD_PREP(ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
2372 #define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_GET(x)\
2373 	FIELD_GET(ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
2374 
2375 /* ASM:DEV_STATISTICS:RX_BAD_BYTES_MSB_CNT */
2376 #define ASM_RX_BAD_BYTES_MSB_CNT(g)                                            \
2377 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2378 	      368, 0, 1, 4)
2379 
2380 #define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT GENMASK(3, 0)
2381 #define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_SET(x)\
2382 	FIELD_PREP(ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
2383 #define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_GET(x)\
2384 	FIELD_GET(ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
2385 
2386 /* ASM:DEV_STATISTICS:PMAC_RX_BAD_BYTES_MSB_CNT */
2387 #define ASM_PMAC_RX_BAD_BYTES_MSB_CNT(g)                                       \
2388 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2389 	      372, 0, 1, 4)
2390 
2391 #define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT GENMASK(3, 0)
2392 #define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_SET(x)\
2393 	FIELD_PREP(ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
2394 #define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_GET(x)\
2395 	FIELD_GET(ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
2396 
2397 /* ASM:DEV_STATISTICS:TX_OUT_BYTES_MSB_CNT */
2398 #define ASM_TX_OUT_BYTES_MSB_CNT(g)                                            \
2399 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2400 	      376, 0, 1, 4)
2401 
2402 #define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT GENMASK(3, 0)
2403 #define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_SET(x)\
2404 	FIELD_PREP(ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
2405 #define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_GET(x)\
2406 	FIELD_GET(ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
2407 
2408 /* ASM:DEV_STATISTICS:TX_OK_BYTES_MSB_CNT */
2409 #define ASM_TX_OK_BYTES_MSB_CNT(g)                                             \
2410 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2411 	      380, 0, 1, 4)
2412 
2413 #define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT GENMASK(3, 0)
2414 #define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_SET(x)\
2415 	FIELD_PREP(ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
2416 #define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_GET(x)\
2417 	FIELD_GET(ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
2418 
2419 /* ASM:DEV_STATISTICS:PMAC_TX_OK_BYTES_MSB_CNT */
2420 #define ASM_PMAC_TX_OK_BYTES_MSB_CNT(g)                                        \
2421 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2422 	      384, 0, 1, 4)
2423 
2424 #define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT GENMASK(3, 0)
2425 #define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_SET(x)\
2426 	FIELD_PREP(ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
2427 #define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_GET(x)\
2428 	FIELD_GET(ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
2429 
2430 /* ASM:DEV_STATISTICS:RX_SYNC_LOST_ERR_CNT */
2431 #define ASM_RX_SYNC_LOST_ERR_CNT(g)                                            \
2432 	__REG(TARGET_ASM, 0, 1, 0, g, regs->gcnt[GC_ASM_DEV_STATISTICS], 512,  \
2433 	      388, 0, 1, 4)
2434 
2435 /* ASM:CFG:STAT_CFG */
2436 #define ASM_STAT_CFG                                                           \
2437 	__REG(TARGET_ASM, 0, 1, regs->gaddr[GA_ASM_CFG], 0, 1,                 \
2438 	      regs->gsize[GW_ASM_CFG], 0, 0, 1, 4)
2439 
2440 #define ASM_STAT_CFG_STAT_CNT_CLR_SHOT           BIT(0)
2441 #define ASM_STAT_CFG_STAT_CNT_CLR_SHOT_SET(x)\
2442 	FIELD_PREP(ASM_STAT_CFG_STAT_CNT_CLR_SHOT, x)
2443 #define ASM_STAT_CFG_STAT_CNT_CLR_SHOT_GET(x)\
2444 	FIELD_GET(ASM_STAT_CFG_STAT_CNT_CLR_SHOT, x)
2445 
2446 /* ASM:CFG:PORT_CFG */
2447 #define ASM_PORT_CFG(r)                                                        \
2448 	__REG(TARGET_ASM, 0, 1, regs->gaddr[GA_ASM_CFG], 0, 1,                 \
2449 	      regs->gsize[GW_ASM_CFG], 540, r, regs->rcnt[RC_ASM_PORT_CFG], 4)
2450 
2451 #define ASM_PORT_CFG_CSC_STAT_DIS                BIT(12)
2452 #define ASM_PORT_CFG_CSC_STAT_DIS_SET(x)\
2453 	FIELD_PREP(ASM_PORT_CFG_CSC_STAT_DIS, x)
2454 #define ASM_PORT_CFG_CSC_STAT_DIS_GET(x)\
2455 	FIELD_GET(ASM_PORT_CFG_CSC_STAT_DIS, x)
2456 
2457 #define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA      BIT(11)
2458 #define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA_SET(x)\
2459 	FIELD_PREP(ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA, x)
2460 #define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA_GET(x)\
2461 	FIELD_GET(ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA, x)
2462 
2463 #define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA          BIT(10)
2464 #define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA_SET(x)\
2465 	FIELD_PREP(ASM_PORT_CFG_IGN_TAXI_ABORT_ENA, x)
2466 #define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA_GET(x)\
2467 	FIELD_GET(ASM_PORT_CFG_IGN_TAXI_ABORT_ENA, x)
2468 
2469 #define ASM_PORT_CFG_NO_PREAMBLE_ENA             BIT(9)
2470 #define ASM_PORT_CFG_NO_PREAMBLE_ENA_SET(x)\
2471 	FIELD_PREP(ASM_PORT_CFG_NO_PREAMBLE_ENA, x)
2472 #define ASM_PORT_CFG_NO_PREAMBLE_ENA_GET(x)\
2473 	FIELD_GET(ASM_PORT_CFG_NO_PREAMBLE_ENA, x)
2474 
2475 #define ASM_PORT_CFG_SKIP_PREAMBLE_ENA           BIT(8)
2476 #define ASM_PORT_CFG_SKIP_PREAMBLE_ENA_SET(x)\
2477 	FIELD_PREP(ASM_PORT_CFG_SKIP_PREAMBLE_ENA, x)
2478 #define ASM_PORT_CFG_SKIP_PREAMBLE_ENA_GET(x)\
2479 	FIELD_GET(ASM_PORT_CFG_SKIP_PREAMBLE_ENA, x)
2480 
2481 #define ASM_PORT_CFG_FRM_AGING_DIS               BIT(7)
2482 #define ASM_PORT_CFG_FRM_AGING_DIS_SET(x)\
2483 	FIELD_PREP(ASM_PORT_CFG_FRM_AGING_DIS, x)
2484 #define ASM_PORT_CFG_FRM_AGING_DIS_GET(x)\
2485 	FIELD_GET(ASM_PORT_CFG_FRM_AGING_DIS, x)
2486 
2487 #define ASM_PORT_CFG_PAD_ENA                     BIT(6)
2488 #define ASM_PORT_CFG_PAD_ENA_SET(x)\
2489 	FIELD_PREP(ASM_PORT_CFG_PAD_ENA, x)
2490 #define ASM_PORT_CFG_PAD_ENA_GET(x)\
2491 	FIELD_GET(ASM_PORT_CFG_PAD_ENA, x)
2492 
2493 #define ASM_PORT_CFG_INJ_DISCARD_CFG             GENMASK(5, 4)
2494 #define ASM_PORT_CFG_INJ_DISCARD_CFG_SET(x)\
2495 	FIELD_PREP(ASM_PORT_CFG_INJ_DISCARD_CFG, x)
2496 #define ASM_PORT_CFG_INJ_DISCARD_CFG_GET(x)\
2497 	FIELD_GET(ASM_PORT_CFG_INJ_DISCARD_CFG, x)
2498 
2499 #define ASM_PORT_CFG_INJ_FORMAT_CFG              GENMASK(3, 2)
2500 #define ASM_PORT_CFG_INJ_FORMAT_CFG_SET(x)\
2501 	FIELD_PREP(ASM_PORT_CFG_INJ_FORMAT_CFG, x)
2502 #define ASM_PORT_CFG_INJ_FORMAT_CFG_GET(x)\
2503 	FIELD_GET(ASM_PORT_CFG_INJ_FORMAT_CFG, x)
2504 
2505 #define ASM_PORT_CFG_VSTAX2_AWR_ENA              BIT(1)
2506 #define ASM_PORT_CFG_VSTAX2_AWR_ENA_SET(x)\
2507 	FIELD_PREP(ASM_PORT_CFG_VSTAX2_AWR_ENA, x)
2508 #define ASM_PORT_CFG_VSTAX2_AWR_ENA_GET(x)\
2509 	FIELD_GET(ASM_PORT_CFG_VSTAX2_AWR_ENA, x)
2510 
2511 #define ASM_PORT_CFG_PFRM_FLUSH                  BIT(0)
2512 #define ASM_PORT_CFG_PFRM_FLUSH_SET(x)\
2513 	FIELD_PREP(ASM_PORT_CFG_PFRM_FLUSH, x)
2514 #define ASM_PORT_CFG_PFRM_FLUSH_GET(x)\
2515 	FIELD_GET(ASM_PORT_CFG_PFRM_FLUSH, x)
2516 
2517 /* ASM:RAM_CTRL:RAM_INIT */
2518 #define ASM_RAM_INIT                                                           \
2519 	__REG(TARGET_ASM, 0, 1, regs->gaddr[GA_ASM_RAM_CTRL], 0, 1, 4, 0, 0, 1,\
2520 	      4)
2521 
2522 #define ASM_RAM_INIT_RAM_INIT                    BIT(1)
2523 #define ASM_RAM_INIT_RAM_INIT_SET(x)\
2524 	FIELD_PREP(ASM_RAM_INIT_RAM_INIT, x)
2525 #define ASM_RAM_INIT_RAM_INIT_GET(x)\
2526 	FIELD_GET(ASM_RAM_INIT_RAM_INIT, x)
2527 
2528 #define ASM_RAM_INIT_RAM_CFG_HOOK                BIT(0)
2529 #define ASM_RAM_INIT_RAM_CFG_HOOK_SET(x)\
2530 	FIELD_PREP(ASM_RAM_INIT_RAM_CFG_HOOK, x)
2531 #define ASM_RAM_INIT_RAM_CFG_HOOK_GET(x)\
2532 	FIELD_GET(ASM_RAM_INIT_RAM_CFG_HOOK, x)
2533 
2534 /* SPARX5 ONLY */
2535 /* CLKGEN:LCPLL1:LCPLL1_CORE_CLK_CFG */
2536 #define CLKGEN_LCPLL1_CORE_CLK_CFG                                             \
2537 	__REG(TARGET_CLKGEN, 0, 1, 12, 0, 1, 36, 0, 0, 1, 4)
2538 
2539 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV  GENMASK(7, 0)
2540 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV_SET(x)\
2541 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV, x)
2542 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV_GET(x)\
2543 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV, x)
2544 
2545 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV  GENMASK(10, 8)
2546 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV_SET(x)\
2547 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV, x)
2548 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV_GET(x)\
2549 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV, x)
2550 
2551 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR  BIT(11)
2552 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR_SET(x)\
2553 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR, x)
2554 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR_GET(x)\
2555 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR, x)
2556 
2557 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL  GENMASK(13, 12)
2558 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL_SET(x)\
2559 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL, x)
2560 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL_GET(x)\
2561 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL, x)
2562 
2563 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA  BIT(14)
2564 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA_SET(x)\
2565 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA, x)
2566 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA_GET(x)\
2567 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA, x)
2568 
2569 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA  BIT(15)
2570 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA_SET(x)\
2571 	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA, x)
2572 #define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA_GET(x)\
2573 	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA, x)
2574 
2575 /* CPU:CPU_REGS:PROC_CTRL */
2576 #define CPU_PROC_CTRL                                                          \
2577 	__REG(TARGET_CPU, 0, 1, 0, 0, 1, regs->gsize[GW_CPU_CPU_REGS],         \
2578 	      regs->raddr[RA_CPU_PROC_CTRL], 0, 1, 4)
2579 
2580 #define CPU_PROC_CTRL_AARCH64_MODE_ENA\
2581 	BIT(regs->fpos[FP_CPU_PROC_CTRL_AARCH64_MODE_ENA])
2582 #define CPU_PROC_CTRL_AARCH64_MODE_ENA_SET(x)\
2583 	spx5_field_prep(CPU_PROC_CTRL_AARCH64_MODE_ENA, x)
2584 #define CPU_PROC_CTRL_AARCH64_MODE_ENA_GET(x)\
2585 	spx5_field_get(CPU_PROC_CTRL_AARCH64_MODE_ENA, x)
2586 
2587 #define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS\
2588 	BIT(regs->fpos[FP_CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS])
2589 #define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS_SET(x)\
2590 	spx5_field_prep(CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS, x)
2591 #define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS_GET(x)\
2592 	spx5_field_get(CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS, x)
2593 
2594 #define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS\
2595 	BIT(regs->fpos[FP_CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS])
2596 #define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS_SET(x)\
2597 	spx5_field_prep(CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS, x)
2598 #define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS_GET(x)\
2599 	spx5_field_get(CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS, x)
2600 
2601 #define CPU_PROC_CTRL_BE_EXCEP_MODE\
2602 	BIT(regs->fpos[FP_CPU_PROC_CTRL_BE_EXCEP_MODE])
2603 #define CPU_PROC_CTRL_BE_EXCEP_MODE_SET(x)\
2604 	spx5_field_prep(CPU_PROC_CTRL_BE_EXCEP_MODE, x)
2605 #define CPU_PROC_CTRL_BE_EXCEP_MODE_GET(x)\
2606 	spx5_field_get(CPU_PROC_CTRL_BE_EXCEP_MODE, x)
2607 
2608 #define CPU_PROC_CTRL_VINITHI\
2609 	BIT(regs->fpos[FP_CPU_PROC_CTRL_VINITHI])
2610 #define CPU_PROC_CTRL_VINITHI_SET(x)\
2611 	spx5_field_prep(CPU_PROC_CTRL_VINITHI, x)
2612 #define CPU_PROC_CTRL_VINITHI_GET(x)\
2613 	spx5_field_get(CPU_PROC_CTRL_VINITHI, x)
2614 
2615 #define CPU_PROC_CTRL_CFGTE\
2616 	BIT(regs->fpos[FP_CPU_PROC_CTRL_CFGTE])
2617 #define CPU_PROC_CTRL_CFGTE_SET(x)\
2618 	spx5_field_prep(CPU_PROC_CTRL_CFGTE, x)
2619 #define CPU_PROC_CTRL_CFGTE_GET(x)\
2620 	spx5_field_get(CPU_PROC_CTRL_CFGTE, x)
2621 
2622 #define CPU_PROC_CTRL_CP15S_DISABLE\
2623 	BIT(regs->fpos[FP_CPU_PROC_CTRL_CP15S_DISABLE])
2624 #define CPU_PROC_CTRL_CP15S_DISABLE_SET(x)\
2625 	spx5_field_prep(CPU_PROC_CTRL_CP15S_DISABLE, x)
2626 #define CPU_PROC_CTRL_CP15S_DISABLE_GET(x)\
2627 	spx5_field_get(CPU_PROC_CTRL_CP15S_DISABLE, x)
2628 
2629 #define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE\
2630 	BIT(regs->fpos[FP_CPU_PROC_CTRL_PROC_CRYPTO_DISABLE])
2631 #define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE_SET(x)\
2632 	spx5_field_prep(CPU_PROC_CTRL_PROC_CRYPTO_DISABLE, x)
2633 #define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE_GET(x)\
2634 	spx5_field_get(CPU_PROC_CTRL_PROC_CRYPTO_DISABLE, x)
2635 
2636 /* SPARX5 ONLY */
2637 #define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA        BIT(4)
2638 #define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA_SET(x)\
2639 	FIELD_PREP(CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA, x)
2640 #define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA_GET(x)\
2641 	FIELD_GET(CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA, x)
2642 
2643 /* SPARX5 ONLY */
2644 #define CPU_PROC_CTRL_ACP_AWCACHE                BIT(3)
2645 #define CPU_PROC_CTRL_ACP_AWCACHE_SET(x)\
2646 	FIELD_PREP(CPU_PROC_CTRL_ACP_AWCACHE, x)
2647 #define CPU_PROC_CTRL_ACP_AWCACHE_GET(x)\
2648 	FIELD_GET(CPU_PROC_CTRL_ACP_AWCACHE, x)
2649 
2650 /* SPARX5 ONLY */
2651 #define CPU_PROC_CTRL_ACP_ARCACHE                BIT(2)
2652 #define CPU_PROC_CTRL_ACP_ARCACHE_SET(x)\
2653 	FIELD_PREP(CPU_PROC_CTRL_ACP_ARCACHE, x)
2654 #define CPU_PROC_CTRL_ACP_ARCACHE_GET(x)\
2655 	FIELD_GET(CPU_PROC_CTRL_ACP_ARCACHE, x)
2656 
2657 #define CPU_PROC_CTRL_L2_FLUSH_REQ\
2658 	BIT(regs->fpos[FP_CPU_PROC_CTRL_L2_FLUSH_REQ])
2659 #define CPU_PROC_CTRL_L2_FLUSH_REQ_SET(x)\
2660 	spx5_field_prep(CPU_PROC_CTRL_L2_FLUSH_REQ, x)
2661 #define CPU_PROC_CTRL_L2_FLUSH_REQ_GET(x)\
2662 	spx5_field_get(CPU_PROC_CTRL_L2_FLUSH_REQ, x)
2663 
2664 /* SPARX5 ONLY */
2665 #define CPU_PROC_CTRL_ACP_DISABLE                BIT(0)
2666 #define CPU_PROC_CTRL_ACP_DISABLE_SET(x)\
2667 	FIELD_PREP(CPU_PROC_CTRL_ACP_DISABLE, x)
2668 #define CPU_PROC_CTRL_ACP_DISABLE_GET(x)\
2669 	FIELD_GET(CPU_PROC_CTRL_ACP_DISABLE, x)
2670 
2671 /* DEV1G:PHASE_DETECTOR_CTRL:PHAD_CTRL */
2672 #define DEV2G5_PHAD_CTRL(t, g)                                                 \
2673 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 200, g, 2,             \
2674 	      regs->gsize[GW_DEV2G5_PHASE_DETECTOR_CTRL], 0, 0, 1, 4)
2675 
2676 #define DEV2G5_PHAD_CTRL_PHAD_ENA\
2677 	BIT(regs->fpos[FP_DEV2G5_PHAD_CTRL_PHAD_ENA])
2678 #define DEV2G5_PHAD_CTRL_PHAD_ENA_SET(x)\
2679 	spx5_field_prep(DEV2G5_PHAD_CTRL_PHAD_ENA, x)
2680 #define DEV2G5_PHAD_CTRL_PHAD_ENA_GET(x)\
2681 	spx5_field_get(DEV2G5_PHAD_CTRL_PHAD_ENA, x)
2682 
2683 /* LAN969X ONLY */
2684 #define DEV2G5_PHAD_CTRL_DIV_CFG                 GENMASK(11, 9)
2685 #define DEV2G5_PHAD_CTRL_DIV_CFG_SET(x)\
2686 	FIELD_PREP(DEV2G5_PHAD_CTRL_DIV_CFG, x)
2687 #define DEV2G5_PHAD_CTRL_DIV_CFG_GET(x)\
2688 	FIELD_GET(DEV2G5_PHAD_CTRL_DIV_CFG, x)
2689 
2690 /* DEV1G:PHASE_DETECTOR_CTRL:PHAD_CTRL */
2691 #define DEV2G5_PHAD_CTRL(t, g)                                                 \
2692 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 200, g, 2,             \
2693 	      regs->gsize[GW_DEV2G5_PHASE_DETECTOR_CTRL], 0, 0, 1, 4)
2694 
2695 #define DEV2G5_PHAD_CTRL_PHAD_ENA\
2696 	BIT(regs->fpos[FP_DEV2G5_PHAD_CTRL_PHAD_ENA])
2697 #define DEV2G5_PHAD_CTRL_PHAD_ENA_SET(x)\
2698 	spx5_field_prep(DEV2G5_PHAD_CTRL_PHAD_ENA, x)
2699 #define DEV2G5_PHAD_CTRL_PHAD_ENA_GET(x)\
2700 	spx5_field_get(DEV2G5_PHAD_CTRL_PHAD_ENA, x)
2701 
2702 /* LAN969X ONLY */
2703 #define DEV2G5_PHAD_CTRL_DIV_CFG                 GENMASK(11, 9)
2704 #define DEV2G5_PHAD_CTRL_DIV_CFG_SET(x)\
2705 	FIELD_PREP(DEV2G5_PHAD_CTRL_DIV_CFG, x)
2706 #define DEV2G5_PHAD_CTRL_DIV_CFG_GET(x)\
2707 	FIELD_GET(DEV2G5_PHAD_CTRL_DIV_CFG, x)
2708 
2709 /* DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
2710 #define DEV10G_MAC_ENA_CFG(t)                                                  \
2711 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 0, 0, 1,  \
2712 	      4)
2713 
2714 #define DEV10G_MAC_ENA_CFG_RX_ENA                BIT(4)
2715 #define DEV10G_MAC_ENA_CFG_RX_ENA_SET(x)\
2716 	FIELD_PREP(DEV10G_MAC_ENA_CFG_RX_ENA, x)
2717 #define DEV10G_MAC_ENA_CFG_RX_ENA_GET(x)\
2718 	FIELD_GET(DEV10G_MAC_ENA_CFG_RX_ENA, x)
2719 
2720 #define DEV10G_MAC_ENA_CFG_TX_ENA                BIT(0)
2721 #define DEV10G_MAC_ENA_CFG_TX_ENA_SET(x)\
2722 	FIELD_PREP(DEV10G_MAC_ENA_CFG_TX_ENA, x)
2723 #define DEV10G_MAC_ENA_CFG_TX_ENA_GET(x)\
2724 	FIELD_GET(DEV10G_MAC_ENA_CFG_TX_ENA, x)
2725 
2726 /* DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
2727 #define DEV10G_MAC_MAXLEN_CFG(t)                                               \
2728 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 8, 0, 1,  \
2729 	      4)
2730 
2731 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK    BIT(16)
2732 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
2733 	FIELD_PREP(DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
2734 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
2735 	FIELD_GET(DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
2736 
2737 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
2738 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
2739 	FIELD_PREP(DEV10G_MAC_MAXLEN_CFG_MAX_LEN, x)
2740 #define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
2741 	FIELD_GET(DEV10G_MAC_MAXLEN_CFG_MAX_LEN, x)
2742 
2743 /* DEV10G:MAC_CFG_STATUS:MAC_NUM_TAGS_CFG */
2744 #define DEV10G_MAC_NUM_TAGS_CFG(t)                                             \
2745 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 12, 0, 1, \
2746 	      4)
2747 
2748 #define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS         GENMASK(1, 0)
2749 #define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS_SET(x)\
2750 	FIELD_PREP(DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS, x)
2751 #define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS_GET(x)\
2752 	FIELD_GET(DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS, x)
2753 
2754 /* DEV10G:MAC_CFG_STATUS:MAC_TAGS_CFG */
2755 #define DEV10G_MAC_TAGS_CFG(t, r)                                              \
2756 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 16, r, 3, \
2757 	      4)
2758 
2759 #define DEV10G_MAC_TAGS_CFG_TAG_ID               GENMASK(31, 16)
2760 #define DEV10G_MAC_TAGS_CFG_TAG_ID_SET(x)\
2761 	FIELD_PREP(DEV10G_MAC_TAGS_CFG_TAG_ID, x)
2762 #define DEV10G_MAC_TAGS_CFG_TAG_ID_GET(x)\
2763 	FIELD_GET(DEV10G_MAC_TAGS_CFG_TAG_ID, x)
2764 
2765 #define DEV10G_MAC_TAGS_CFG_TAG_ENA              BIT(4)
2766 #define DEV10G_MAC_TAGS_CFG_TAG_ENA_SET(x)\
2767 	FIELD_PREP(DEV10G_MAC_TAGS_CFG_TAG_ENA, x)
2768 #define DEV10G_MAC_TAGS_CFG_TAG_ENA_GET(x)\
2769 	FIELD_GET(DEV10G_MAC_TAGS_CFG_TAG_ENA, x)
2770 
2771 /* DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
2772 #define DEV10G_MAC_ADV_CHK_CFG(t)                                              \
2773 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 28, 0, 1, \
2774 	      4)
2775 
2776 #define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA   BIT(24)
2777 #define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
2778 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
2779 #define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
2780 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
2781 
2782 #define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA   BIT(20)
2783 #define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
2784 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
2785 #define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
2786 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
2787 
2788 #define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA       BIT(16)
2789 #define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
2790 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
2791 #define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
2792 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
2793 
2794 #define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS   BIT(12)
2795 #define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
2796 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
2797 #define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
2798 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
2799 
2800 #define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA       BIT(8)
2801 #define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
2802 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
2803 #define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
2804 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
2805 
2806 #define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA       BIT(4)
2807 #define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
2808 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
2809 #define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
2810 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
2811 
2812 #define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA       BIT(0)
2813 #define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
2814 	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
2815 #define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
2816 	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
2817 
2818 /* DEV10G:MAC_CFG_STATUS:MAC_TX_MONITOR_STICKY */
2819 #define DEV10G_MAC_TX_MONITOR_STICKY(t)                                        \
2820 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 0, 0, 1, 60, 48, 0, 1, \
2821 	      4)
2822 
2823 #define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY BIT(4)
2824 #define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY_SET(x)\
2825 	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY, x)
2826 #define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY_GET(x)\
2827 	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY, x)
2828 
2829 #define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY BIT(3)
2830 #define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY_SET(x)\
2831 	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY, x)
2832 #define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY_GET(x)\
2833 	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY, x)
2834 
2835 #define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY BIT(2)
2836 #define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY_SET(x)\
2837 	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY, x)
2838 #define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY_GET(x)\
2839 	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY, x)
2840 
2841 #define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY BIT(1)
2842 #define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY_SET(x)\
2843 	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY, x)
2844 #define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY_GET(x)\
2845 	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY, x)
2846 
2847 #define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY BIT(0)
2848 #define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY_SET(x)\
2849 	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY, x)
2850 #define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY_GET(x)\
2851 	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY, x)
2852 
2853 /* DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
2854 #define DEV10G_DEV_RST_CTRL(t)                                                 \
2855 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 436, 0, 1, 52, 0, 0, 1,\
2856 	      4)
2857 
2858 #define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA      BIT(28)
2859 #define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
2860 	FIELD_PREP(DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
2861 #define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
2862 	FIELD_GET(DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
2863 
2864 #define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
2865 #define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
2866 	FIELD_PREP(DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
2867 #define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
2868 	FIELD_GET(DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
2869 
2870 #define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
2871 #define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
2872 	FIELD_PREP(DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
2873 #define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
2874 	FIELD_GET(DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
2875 
2876 #define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL     GENMASK(24, 23)
2877 #define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
2878 	FIELD_PREP(DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
2879 #define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
2880 	FIELD_GET(DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
2881 
2882 #define DEV10G_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
2883 #define DEV10G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
2884 	FIELD_PREP(DEV10G_DEV_RST_CTRL_SPEED_SEL, x)
2885 #define DEV10G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
2886 	FIELD_GET(DEV10G_DEV_RST_CTRL_SPEED_SEL, x)
2887 
2888 #define DEV10G_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
2889 #define DEV10G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
2890 	FIELD_PREP(DEV10G_DEV_RST_CTRL_PCS_TX_RST, x)
2891 #define DEV10G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
2892 	FIELD_GET(DEV10G_DEV_RST_CTRL_PCS_TX_RST, x)
2893 
2894 #define DEV10G_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
2895 #define DEV10G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
2896 	FIELD_PREP(DEV10G_DEV_RST_CTRL_PCS_RX_RST, x)
2897 #define DEV10G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
2898 	FIELD_GET(DEV10G_DEV_RST_CTRL_PCS_RX_RST, x)
2899 
2900 #define DEV10G_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
2901 #define DEV10G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
2902 	FIELD_PREP(DEV10G_DEV_RST_CTRL_MAC_TX_RST, x)
2903 #define DEV10G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
2904 	FIELD_GET(DEV10G_DEV_RST_CTRL_MAC_TX_RST, x)
2905 
2906 #define DEV10G_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
2907 #define DEV10G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
2908 	FIELD_PREP(DEV10G_DEV_RST_CTRL_MAC_RX_RST, x)
2909 #define DEV10G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
2910 	FIELD_GET(DEV10G_DEV_RST_CTRL_MAC_RX_RST, x)
2911 
2912 /* DEV10G:DEV_CFG_STATUS:PTP_STAMPER_CFG */
2913 #define DEV10G_PTP_STAMPER_CFG(t)                                              \
2914 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 436, 0, 1, 52, 20, 0,  \
2915 	      1, 4)
2916 
2917 /* DEV10G:PCS25G_CFG_STATUS:PCS25G_CFG */
2918 #define DEV10G_PCS25G_CFG(t)                                                   \
2919 	__REG(TARGET_DEV10G, t, regs->tsize[TC_DEV10G], 488, 0, 1, 32, 0, 0, 1,\
2920 	      4)
2921 
2922 #define DEV10G_PCS25G_CFG_PCS25G_ENA             BIT(0)
2923 #define DEV10G_PCS25G_CFG_PCS25G_ENA_SET(x)\
2924 	FIELD_PREP(DEV10G_PCS25G_CFG_PCS25G_ENA, x)
2925 #define DEV10G_PCS25G_CFG_PCS25G_ENA_GET(x)\
2926 	FIELD_GET(DEV10G_PCS25G_CFG_PCS25G_ENA, x)
2927 
2928 /* SPARX5 ONLY */
2929 /* DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
2930 #define DEV25G_MAC_ENA_CFG(t)                                                  \
2931 	__REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 0, 0, 1, 4)
2932 
2933 #define DEV25G_MAC_ENA_CFG_RX_ENA                BIT(4)
2934 #define DEV25G_MAC_ENA_CFG_RX_ENA_SET(x)\
2935 	FIELD_PREP(DEV25G_MAC_ENA_CFG_RX_ENA, x)
2936 #define DEV25G_MAC_ENA_CFG_RX_ENA_GET(x)\
2937 	FIELD_GET(DEV25G_MAC_ENA_CFG_RX_ENA, x)
2938 
2939 #define DEV25G_MAC_ENA_CFG_TX_ENA                BIT(0)
2940 #define DEV25G_MAC_ENA_CFG_TX_ENA_SET(x)\
2941 	FIELD_PREP(DEV25G_MAC_ENA_CFG_TX_ENA, x)
2942 #define DEV25G_MAC_ENA_CFG_TX_ENA_GET(x)\
2943 	FIELD_GET(DEV25G_MAC_ENA_CFG_TX_ENA, x)
2944 
2945 /* SPARX5 ONLY */
2946 /* DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
2947 #define DEV25G_MAC_MAXLEN_CFG(t)                                               \
2948 	__REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 8, 0, 1, 4)
2949 
2950 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK    BIT(16)
2951 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
2952 	FIELD_PREP(DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
2953 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
2954 	FIELD_GET(DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
2955 
2956 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
2957 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
2958 	FIELD_PREP(DEV25G_MAC_MAXLEN_CFG_MAX_LEN, x)
2959 #define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
2960 	FIELD_GET(DEV25G_MAC_MAXLEN_CFG_MAX_LEN, x)
2961 
2962 /* SPARX5 ONLY */
2963 /* DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
2964 #define DEV25G_MAC_ADV_CHK_CFG(t)                                              \
2965 	__REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 28, 0, 1, 4)
2966 
2967 #define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA   BIT(24)
2968 #define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
2969 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
2970 #define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
2971 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
2972 
2973 #define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA   BIT(20)
2974 #define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
2975 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
2976 #define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
2977 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
2978 
2979 #define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA       BIT(16)
2980 #define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
2981 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
2982 #define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
2983 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
2984 
2985 #define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS   BIT(12)
2986 #define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
2987 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
2988 #define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
2989 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
2990 
2991 #define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA       BIT(8)
2992 #define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
2993 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
2994 #define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
2995 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
2996 
2997 #define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA       BIT(4)
2998 #define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
2999 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
3000 #define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
3001 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
3002 
3003 #define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA       BIT(0)
3004 #define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
3005 	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
3006 #define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
3007 	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
3008 
3009 /* SPARX5 ONLY */
3010 /* DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
3011 #define DEV25G_DEV_RST_CTRL(t)                                                 \
3012 	__REG(TARGET_DEV25G, t, 8, 436, 0, 1, 52, 0, 0, 1, 4)
3013 
3014 #define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA      BIT(28)
3015 #define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
3016 	FIELD_PREP(DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
3017 #define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
3018 	FIELD_GET(DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
3019 
3020 #define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
3021 #define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
3022 	FIELD_PREP(DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
3023 #define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
3024 	FIELD_GET(DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
3025 
3026 #define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
3027 #define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
3028 	FIELD_PREP(DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
3029 #define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
3030 	FIELD_GET(DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
3031 
3032 #define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL     GENMASK(24, 23)
3033 #define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
3034 	FIELD_PREP(DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
3035 #define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
3036 	FIELD_GET(DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
3037 
3038 #define DEV25G_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
3039 #define DEV25G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
3040 	FIELD_PREP(DEV25G_DEV_RST_CTRL_SPEED_SEL, x)
3041 #define DEV25G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
3042 	FIELD_GET(DEV25G_DEV_RST_CTRL_SPEED_SEL, x)
3043 
3044 #define DEV25G_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
3045 #define DEV25G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
3046 	FIELD_PREP(DEV25G_DEV_RST_CTRL_PCS_TX_RST, x)
3047 #define DEV25G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
3048 	FIELD_GET(DEV25G_DEV_RST_CTRL_PCS_TX_RST, x)
3049 
3050 #define DEV25G_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
3051 #define DEV25G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
3052 	FIELD_PREP(DEV25G_DEV_RST_CTRL_PCS_RX_RST, x)
3053 #define DEV25G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
3054 	FIELD_GET(DEV25G_DEV_RST_CTRL_PCS_RX_RST, x)
3055 
3056 #define DEV25G_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
3057 #define DEV25G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
3058 	FIELD_PREP(DEV25G_DEV_RST_CTRL_MAC_TX_RST, x)
3059 #define DEV25G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
3060 	FIELD_GET(DEV25G_DEV_RST_CTRL_MAC_TX_RST, x)
3061 
3062 #define DEV25G_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
3063 #define DEV25G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
3064 	FIELD_PREP(DEV25G_DEV_RST_CTRL_MAC_RX_RST, x)
3065 #define DEV25G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
3066 	FIELD_GET(DEV25G_DEV_RST_CTRL_MAC_RX_RST, x)
3067 
3068 /* SPARX5 ONLY */
3069 /* DEV10G:PCS25G_CFG_STATUS:PCS25G_CFG */
3070 #define DEV25G_PCS25G_CFG(t)                                                   \
3071 	__REG(TARGET_DEV25G, t, 8, 488, 0, 1, 32, 0, 0, 1, 4)
3072 
3073 #define DEV25G_PCS25G_CFG_PCS25G_ENA             BIT(0)
3074 #define DEV25G_PCS25G_CFG_PCS25G_ENA_SET(x)\
3075 	FIELD_PREP(DEV25G_PCS25G_CFG_PCS25G_ENA, x)
3076 #define DEV25G_PCS25G_CFG_PCS25G_ENA_GET(x)\
3077 	FIELD_GET(DEV25G_PCS25G_CFG_PCS25G_ENA, x)
3078 
3079 /* SPARX5 ONLY */
3080 /* DEV10G:PCS25G_CFG_STATUS:PCS25G_SD_CFG */
3081 #define DEV25G_PCS25G_SD_CFG(t)                                                \
3082 	__REG(TARGET_DEV25G, t, 8, 488, 0, 1, 32, 4, 0, 1, 4)
3083 
3084 #define DEV25G_PCS25G_SD_CFG_SD_SEL              BIT(8)
3085 #define DEV25G_PCS25G_SD_CFG_SD_SEL_SET(x)\
3086 	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_SEL, x)
3087 #define DEV25G_PCS25G_SD_CFG_SD_SEL_GET(x)\
3088 	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_SEL, x)
3089 
3090 #define DEV25G_PCS25G_SD_CFG_SD_POL              BIT(4)
3091 #define DEV25G_PCS25G_SD_CFG_SD_POL_SET(x)\
3092 	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_POL, x)
3093 #define DEV25G_PCS25G_SD_CFG_SD_POL_GET(x)\
3094 	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_POL, x)
3095 
3096 #define DEV25G_PCS25G_SD_CFG_SD_ENA              BIT(0)
3097 #define DEV25G_PCS25G_SD_CFG_SD_ENA_SET(x)\
3098 	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_ENA, x)
3099 #define DEV25G_PCS25G_SD_CFG_SD_ENA_GET(x)\
3100 	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_ENA, x)
3101 
3102 /* DEV1G:DEV_CFG_STATUS:DEV_RST_CTRL */
3103 #define DEV2G5_DEV_RST_CTRL(t)                                                 \
3104 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 0, 0, 1, 36, 0, 0, 1,  \
3105 	      4)
3106 
3107 #define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(23)
3108 #define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
3109 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
3110 #define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
3111 	FIELD_GET(DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
3112 
3113 #define DEV2G5_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
3114 #define DEV2G5_DEV_RST_CTRL_SPEED_SEL_SET(x)\
3115 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_SPEED_SEL, x)
3116 #define DEV2G5_DEV_RST_CTRL_SPEED_SEL_GET(x)\
3117 	FIELD_GET(DEV2G5_DEV_RST_CTRL_SPEED_SEL, x)
3118 
3119 #define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST       BIT(17)
3120 #define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST_SET(x)\
3121 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST, x)
3122 #define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST_GET(x)\
3123 	FIELD_GET(DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST, x)
3124 
3125 #define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST       BIT(16)
3126 #define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST_SET(x)\
3127 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST, x)
3128 #define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST_GET(x)\
3129 	FIELD_GET(DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST, x)
3130 
3131 #define DEV2G5_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
3132 #define DEV2G5_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
3133 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_PCS_TX_RST, x)
3134 #define DEV2G5_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
3135 	FIELD_GET(DEV2G5_DEV_RST_CTRL_PCS_TX_RST, x)
3136 
3137 #define DEV2G5_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
3138 #define DEV2G5_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
3139 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_PCS_RX_RST, x)
3140 #define DEV2G5_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
3141 	FIELD_GET(DEV2G5_DEV_RST_CTRL_PCS_RX_RST, x)
3142 
3143 #define DEV2G5_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
3144 #define DEV2G5_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
3145 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_MAC_TX_RST, x)
3146 #define DEV2G5_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
3147 	FIELD_GET(DEV2G5_DEV_RST_CTRL_MAC_TX_RST, x)
3148 
3149 #define DEV2G5_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
3150 #define DEV2G5_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
3151 	FIELD_PREP(DEV2G5_DEV_RST_CTRL_MAC_RX_RST, x)
3152 #define DEV2G5_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
3153 	FIELD_GET(DEV2G5_DEV_RST_CTRL_MAC_RX_RST, x)
3154 
3155 /* DEV1G:MAC_CFG_STATUS:MAC_ENA_CFG */
3156 #define DEV2G5_MAC_ENA_CFG(t)                                                  \
3157 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 0, 0, 1, \
3158 	      4)
3159 
3160 #define DEV2G5_MAC_ENA_CFG_RX_ENA                BIT(4)
3161 #define DEV2G5_MAC_ENA_CFG_RX_ENA_SET(x)\
3162 	FIELD_PREP(DEV2G5_MAC_ENA_CFG_RX_ENA, x)
3163 #define DEV2G5_MAC_ENA_CFG_RX_ENA_GET(x)\
3164 	FIELD_GET(DEV2G5_MAC_ENA_CFG_RX_ENA, x)
3165 
3166 #define DEV2G5_MAC_ENA_CFG_TX_ENA                BIT(0)
3167 #define DEV2G5_MAC_ENA_CFG_TX_ENA_SET(x)\
3168 	FIELD_PREP(DEV2G5_MAC_ENA_CFG_TX_ENA, x)
3169 #define DEV2G5_MAC_ENA_CFG_TX_ENA_GET(x)\
3170 	FIELD_GET(DEV2G5_MAC_ENA_CFG_TX_ENA, x)
3171 
3172 /* DEV1G:MAC_CFG_STATUS:MAC_MODE_CFG */
3173 #define DEV2G5_MAC_MODE_CFG(t)                                                 \
3174 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 4, 0, 1, \
3175 	      4)
3176 
3177 #define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA     BIT(8)
3178 #define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA_SET(x)\
3179 	FIELD_PREP(DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA, x)
3180 #define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA_GET(x)\
3181 	FIELD_GET(DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA, x)
3182 
3183 #define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA        BIT(4)
3184 #define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA_SET(x)\
3185 	FIELD_PREP(DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA, x)
3186 #define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA_GET(x)\
3187 	FIELD_GET(DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA, x)
3188 
3189 #define DEV2G5_MAC_MODE_CFG_FDX_ENA              BIT(0)
3190 #define DEV2G5_MAC_MODE_CFG_FDX_ENA_SET(x)\
3191 	FIELD_PREP(DEV2G5_MAC_MODE_CFG_FDX_ENA, x)
3192 #define DEV2G5_MAC_MODE_CFG_FDX_ENA_GET(x)\
3193 	FIELD_GET(DEV2G5_MAC_MODE_CFG_FDX_ENA, x)
3194 
3195 /* DEV1G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
3196 #define DEV2G5_MAC_MAXLEN_CFG(t)                                               \
3197 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 8, 0, 1, \
3198 	      4)
3199 
3200 #define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
3201 #define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
3202 	FIELD_PREP(DEV2G5_MAC_MAXLEN_CFG_MAX_LEN, x)
3203 #define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
3204 	FIELD_GET(DEV2G5_MAC_MAXLEN_CFG_MAX_LEN, x)
3205 
3206 /* DEV1G:MAC_CFG_STATUS:MAC_TAGS_CFG */
3207 #define DEV2G5_MAC_TAGS_CFG(t)                                                 \
3208 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 12, 0, 1,\
3209 	      4)
3210 
3211 #define DEV2G5_MAC_TAGS_CFG_TAG_ID               GENMASK(31, 16)
3212 #define DEV2G5_MAC_TAGS_CFG_TAG_ID_SET(x)\
3213 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_TAG_ID, x)
3214 #define DEV2G5_MAC_TAGS_CFG_TAG_ID_GET(x)\
3215 	FIELD_GET(DEV2G5_MAC_TAGS_CFG_TAG_ID, x)
3216 
3217 #define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA     BIT(3)
3218 #define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_SET(x)\
3219 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)
3220 #define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_GET(x)\
3221 	FIELD_GET(DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)
3222 
3223 #define DEV2G5_MAC_TAGS_CFG_PB_ENA               GENMASK(2, 1)
3224 #define DEV2G5_MAC_TAGS_CFG_PB_ENA_SET(x)\
3225 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_PB_ENA, x)
3226 #define DEV2G5_MAC_TAGS_CFG_PB_ENA_GET(x)\
3227 	FIELD_GET(DEV2G5_MAC_TAGS_CFG_PB_ENA, x)
3228 
3229 #define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA         BIT(0)
3230 #define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA_SET(x)\
3231 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA, x)
3232 #define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA_GET(x)\
3233 	FIELD_GET(DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA, x)
3234 
3235 /* DEV1G:MAC_CFG_STATUS:MAC_TAGS_CFG2 */
3236 #define DEV2G5_MAC_TAGS_CFG2(t)                                                \
3237 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 16, 0, 1,\
3238 	      4)
3239 
3240 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID3             GENMASK(31, 16)
3241 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID3_SET(x)\
3242 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG2_TAG_ID3, x)
3243 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID3_GET(x)\
3244 	FIELD_GET(DEV2G5_MAC_TAGS_CFG2_TAG_ID3, x)
3245 
3246 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID2             GENMASK(15, 0)
3247 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID2_SET(x)\
3248 	FIELD_PREP(DEV2G5_MAC_TAGS_CFG2_TAG_ID2, x)
3249 #define DEV2G5_MAC_TAGS_CFG2_TAG_ID2_GET(x)\
3250 	FIELD_GET(DEV2G5_MAC_TAGS_CFG2_TAG_ID2, x)
3251 
3252 /* DEV1G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
3253 #define DEV2G5_MAC_ADV_CHK_CFG(t)                                              \
3254 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 20, 0, 1,\
3255 	      4)
3256 
3257 #define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA      BIT(0)
3258 #define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA_SET(x)\
3259 	FIELD_PREP(DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA, x)
3260 #define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA_GET(x)\
3261 	FIELD_GET(DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA, x)
3262 
3263 /* DEV1G:MAC_CFG_STATUS:MAC_IFG_CFG */
3264 #define DEV2G5_MAC_IFG_CFG(t)                                                  \
3265 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 24, 0, 1,\
3266 	      4)
3267 
3268 #define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK BIT(17)
3269 #define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK_SET(x)\
3270 	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK, x)
3271 #define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK_GET(x)\
3272 	FIELD_GET(DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK, x)
3273 
3274 #define DEV2G5_MAC_IFG_CFG_TX_IFG                GENMASK(12, 8)
3275 #define DEV2G5_MAC_IFG_CFG_TX_IFG_SET(x)\
3276 	FIELD_PREP(DEV2G5_MAC_IFG_CFG_TX_IFG, x)
3277 #define DEV2G5_MAC_IFG_CFG_TX_IFG_GET(x)\
3278 	FIELD_GET(DEV2G5_MAC_IFG_CFG_TX_IFG, x)
3279 
3280 #define DEV2G5_MAC_IFG_CFG_RX_IFG2               GENMASK(7, 4)
3281 #define DEV2G5_MAC_IFG_CFG_RX_IFG2_SET(x)\
3282 	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RX_IFG2, x)
3283 #define DEV2G5_MAC_IFG_CFG_RX_IFG2_GET(x)\
3284 	FIELD_GET(DEV2G5_MAC_IFG_CFG_RX_IFG2, x)
3285 
3286 #define DEV2G5_MAC_IFG_CFG_RX_IFG1               GENMASK(3, 0)
3287 #define DEV2G5_MAC_IFG_CFG_RX_IFG1_SET(x)\
3288 	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RX_IFG1, x)
3289 #define DEV2G5_MAC_IFG_CFG_RX_IFG1_GET(x)\
3290 	FIELD_GET(DEV2G5_MAC_IFG_CFG_RX_IFG1, x)
3291 
3292 /* DEV1G:MAC_CFG_STATUS:MAC_HDX_CFG */
3293 #define DEV2G5_MAC_HDX_CFG(t)                                                  \
3294 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 52, 0, 1, 36, 28, 0, 1,\
3295 	      4)
3296 
3297 #define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC       BIT(26)
3298 #define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC_SET(x)\
3299 	FIELD_PREP(DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC, x)
3300 #define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC_GET(x)\
3301 	FIELD_GET(DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC, x)
3302 
3303 #define DEV2G5_MAC_HDX_CFG_SEED                  GENMASK(23, 16)
3304 #define DEV2G5_MAC_HDX_CFG_SEED_SET(x)\
3305 	FIELD_PREP(DEV2G5_MAC_HDX_CFG_SEED, x)
3306 #define DEV2G5_MAC_HDX_CFG_SEED_GET(x)\
3307 	FIELD_GET(DEV2G5_MAC_HDX_CFG_SEED, x)
3308 
3309 #define DEV2G5_MAC_HDX_CFG_SEED_LOAD             BIT(12)
3310 #define DEV2G5_MAC_HDX_CFG_SEED_LOAD_SET(x)\
3311 	FIELD_PREP(DEV2G5_MAC_HDX_CFG_SEED_LOAD, x)
3312 #define DEV2G5_MAC_HDX_CFG_SEED_LOAD_GET(x)\
3313 	FIELD_GET(DEV2G5_MAC_HDX_CFG_SEED_LOAD, x)
3314 
3315 #define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA BIT(8)
3316 #define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA_SET(x)\
3317 	FIELD_PREP(DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA, x)
3318 #define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA_GET(x)\
3319 	FIELD_GET(DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA, x)
3320 
3321 #define DEV2G5_MAC_HDX_CFG_LATE_COL_POS          GENMASK(6, 0)
3322 #define DEV2G5_MAC_HDX_CFG_LATE_COL_POS_SET(x)\
3323 	FIELD_PREP(DEV2G5_MAC_HDX_CFG_LATE_COL_POS, x)
3324 #define DEV2G5_MAC_HDX_CFG_LATE_COL_POS_GET(x)\
3325 	FIELD_GET(DEV2G5_MAC_HDX_CFG_LATE_COL_POS, x)
3326 
3327 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_CFG */
3328 #define DEV2G5_PCS1G_CFG(t)                                                    \
3329 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 0, 0, 1, \
3330 	      4)
3331 
3332 #define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE        BIT(4)
3333 #define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE_SET(x)\
3334 	FIELD_PREP(DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE, x)
3335 #define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE_GET(x)\
3336 	FIELD_GET(DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE, x)
3337 
3338 #define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA        BIT(1)
3339 #define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA_SET(x)\
3340 	FIELD_PREP(DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA, x)
3341 #define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA_GET(x)\
3342 	FIELD_GET(DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA, x)
3343 
3344 #define DEV2G5_PCS1G_CFG_PCS_ENA                 BIT(0)
3345 #define DEV2G5_PCS1G_CFG_PCS_ENA_SET(x)\
3346 	FIELD_PREP(DEV2G5_PCS1G_CFG_PCS_ENA, x)
3347 #define DEV2G5_PCS1G_CFG_PCS_ENA_GET(x)\
3348 	FIELD_GET(DEV2G5_PCS1G_CFG_PCS_ENA, x)
3349 
3350 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_MODE_CFG */
3351 #define DEV2G5_PCS1G_MODE_CFG(t)                                               \
3352 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 4, 0, 1, \
3353 	      4)
3354 
3355 #define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA    BIT(4)
3356 #define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA_SET(x)\
3357 	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA, x)
3358 #define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA_GET(x)\
3359 	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA, x)
3360 
3361 #define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA  BIT(1)
3362 #define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA_SET(x)\
3363 	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA, x)
3364 #define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA_GET(x)\
3365 	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA, x)
3366 
3367 #define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA     BIT(0)
3368 #define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA_SET(x)\
3369 	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA, x)
3370 #define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA_GET(x)\
3371 	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA, x)
3372 
3373 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_SD_CFG */
3374 #define DEV2G5_PCS1G_SD_CFG(t)                                                 \
3375 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 8, 0, 1, \
3376 	      4)
3377 
3378 #define DEV2G5_PCS1G_SD_CFG_SD_SEL               BIT(8)
3379 #define DEV2G5_PCS1G_SD_CFG_SD_SEL_SET(x)\
3380 	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_SEL, x)
3381 #define DEV2G5_PCS1G_SD_CFG_SD_SEL_GET(x)\
3382 	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_SEL, x)
3383 
3384 #define DEV2G5_PCS1G_SD_CFG_SD_POL               BIT(4)
3385 #define DEV2G5_PCS1G_SD_CFG_SD_POL_SET(x)\
3386 	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_POL, x)
3387 #define DEV2G5_PCS1G_SD_CFG_SD_POL_GET(x)\
3388 	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_POL, x)
3389 
3390 #define DEV2G5_PCS1G_SD_CFG_SD_ENA               BIT(0)
3391 #define DEV2G5_PCS1G_SD_CFG_SD_ENA_SET(x)\
3392 	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_ENA, x)
3393 #define DEV2G5_PCS1G_SD_CFG_SD_ENA_GET(x)\
3394 	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_ENA, x)
3395 
3396 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_ANEG_CFG */
3397 #define DEV2G5_PCS1G_ANEG_CFG(t)                                               \
3398 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 12, 0, 1,\
3399 	      4)
3400 
3401 #define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY        GENMASK(31, 16)
3402 #define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY_SET(x)\
3403 	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY, x)
3404 #define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY_GET(x)\
3405 	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY, x)
3406 
3407 #define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA     BIT(8)
3408 #define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA_SET(x)\
3409 	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA, x)
3410 #define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA_GET(x)\
3411 	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA, x)
3412 
3413 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT BIT(1)
3414 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT_SET(x)\
3415 	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT, x)
3416 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT_GET(x)\
3417 	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT, x)
3418 
3419 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA           BIT(0)
3420 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA_SET(x)\
3421 	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA, x)
3422 #define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA_GET(x)\
3423 	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA, x)
3424 
3425 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_LB_CFG */
3426 #define DEV2G5_PCS1G_LB_CFG(t)                                                 \
3427 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 20, 0, 1,\
3428 	      4)
3429 
3430 #define DEV2G5_PCS1G_LB_CFG_RA_ENA               BIT(4)
3431 #define DEV2G5_PCS1G_LB_CFG_RA_ENA_SET(x)\
3432 	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_RA_ENA, x)
3433 #define DEV2G5_PCS1G_LB_CFG_RA_ENA_GET(x)\
3434 	FIELD_GET(DEV2G5_PCS1G_LB_CFG_RA_ENA, x)
3435 
3436 #define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA      BIT(1)
3437 #define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA_SET(x)\
3438 	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA, x)
3439 #define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA_GET(x)\
3440 	FIELD_GET(DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA, x)
3441 
3442 #define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA      BIT(0)
3443 #define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA_SET(x)\
3444 	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA, x)
3445 #define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA_GET(x)\
3446 	FIELD_GET(DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA, x)
3447 
3448 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_ANEG_STATUS */
3449 #define DEV2G5_PCS1G_ANEG_STATUS(t)                                            \
3450 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 32, 0, 1,\
3451 	      4)
3452 
3453 #define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY  GENMASK(31, 16)
3454 #define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY_SET(x)\
3455 	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY, x)
3456 #define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY_GET(x)\
3457 	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY, x)
3458 
3459 #define DEV2G5_PCS1G_ANEG_STATUS_PR              BIT(4)
3460 #define DEV2G5_PCS1G_ANEG_STATUS_PR_SET(x)\
3461 	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_PR, x)
3462 #define DEV2G5_PCS1G_ANEG_STATUS_PR_GET(x)\
3463 	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_PR, x)
3464 
3465 #define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY  BIT(3)
3466 #define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY_SET(x)\
3467 	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY, x)
3468 #define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY_GET(x)\
3469 	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY, x)
3470 
3471 #define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE   BIT(0)
3472 #define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE_SET(x)\
3473 	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE, x)
3474 #define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE_GET(x)\
3475 	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE, x)
3476 
3477 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_LINK_STATUS */
3478 #define DEV2G5_PCS1G_LINK_STATUS(t)                                            \
3479 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 40, 0, 1,\
3480 	      4)
3481 
3482 #define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR       GENMASK(15, 12)
3483 #define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR_SET(x)\
3484 	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR, x)
3485 #define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR_GET(x)\
3486 	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR, x)
3487 
3488 #define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT   BIT(8)
3489 #define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT_SET(x)\
3490 	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT, x)
3491 #define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT_GET(x)\
3492 	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT, x)
3493 
3494 #define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS     BIT(4)
3495 #define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS_SET(x)\
3496 	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS, x)
3497 #define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS_GET(x)\
3498 	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS, x)
3499 
3500 #define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS     BIT(0)
3501 #define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS_SET(x)\
3502 	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS, x)
3503 #define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS_GET(x)\
3504 	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS, x)
3505 
3506 /* DEV1G:PCS1G_CFG_STATUS:PCS1G_STICKY */
3507 #define DEV2G5_PCS1G_STICKY(t)                                                 \
3508 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 88, 0, 1, 68, 48, 0, 1,\
3509 	      4)
3510 
3511 #define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY     BIT(4)
3512 #define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY_SET(x)\
3513 	FIELD_PREP(DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY, x)
3514 #define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY_GET(x)\
3515 	FIELD_GET(DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY, x)
3516 
3517 #define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY   BIT(0)
3518 #define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY_SET(x)\
3519 	FIELD_PREP(DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY, x)
3520 #define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY_GET(x)\
3521 	FIELD_GET(DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY, x)
3522 
3523 /* DEV1G:PCS_FX100_CONFIGURATION:PCS_FX100_CFG */
3524 #define DEV2G5_PCS_FX100_CFG(t)                                                \
3525 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 164, 0, 1, 4, 0, 0, 1, \
3526 	      4)
3527 
3528 #define DEV2G5_PCS_FX100_CFG_SD_SEL              BIT(26)
3529 #define DEV2G5_PCS_FX100_CFG_SD_SEL_SET(x)\
3530 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_SEL, x)
3531 #define DEV2G5_PCS_FX100_CFG_SD_SEL_GET(x)\
3532 	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_SEL, x)
3533 
3534 #define DEV2G5_PCS_FX100_CFG_SD_POL              BIT(25)
3535 #define DEV2G5_PCS_FX100_CFG_SD_POL_SET(x)\
3536 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_POL, x)
3537 #define DEV2G5_PCS_FX100_CFG_SD_POL_GET(x)\
3538 	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_POL, x)
3539 
3540 #define DEV2G5_PCS_FX100_CFG_SD_ENA              BIT(24)
3541 #define DEV2G5_PCS_FX100_CFG_SD_ENA_SET(x)\
3542 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_ENA, x)
3543 #define DEV2G5_PCS_FX100_CFG_SD_ENA_GET(x)\
3544 	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_ENA, x)
3545 
3546 #define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA        BIT(20)
3547 #define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA_SET(x)\
3548 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA, x)
3549 #define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA_GET(x)\
3550 	FIELD_GET(DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA, x)
3551 
3552 #define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA        BIT(16)
3553 #define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA_SET(x)\
3554 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA, x)
3555 #define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA_GET(x)\
3556 	FIELD_GET(DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA, x)
3557 
3558 #define DEV2G5_PCS_FX100_CFG_RXBITSEL            GENMASK(15, 12)
3559 #define DEV2G5_PCS_FX100_CFG_RXBITSEL_SET(x)\
3560 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_RXBITSEL, x)
3561 #define DEV2G5_PCS_FX100_CFG_RXBITSEL_GET(x)\
3562 	FIELD_GET(DEV2G5_PCS_FX100_CFG_RXBITSEL, x)
3563 
3564 #define DEV2G5_PCS_FX100_CFG_SIGDET_CFG          GENMASK(10, 9)
3565 #define DEV2G5_PCS_FX100_CFG_SIGDET_CFG_SET(x)\
3566 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SIGDET_CFG, x)
3567 #define DEV2G5_PCS_FX100_CFG_SIGDET_CFG_GET(x)\
3568 	FIELD_GET(DEV2G5_PCS_FX100_CFG_SIGDET_CFG, x)
3569 
3570 #define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA     BIT(8)
3571 #define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA_SET(x)\
3572 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA, x)
3573 #define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA_GET(x)\
3574 	FIELD_GET(DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA, x)
3575 
3576 #define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER       GENMASK(7, 4)
3577 #define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER_SET(x)\
3578 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER, x)
3579 #define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER_GET(x)\
3580 	FIELD_GET(DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER, x)
3581 
3582 #define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA     BIT(3)
3583 #define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA_SET(x)\
3584 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA, x)
3585 #define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA_GET(x)\
3586 	FIELD_GET(DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA, x)
3587 
3588 #define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA          BIT(2)
3589 #define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA_SET(x)\
3590 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_FEFCHK_ENA, x)
3591 #define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA_GET(x)\
3592 	FIELD_GET(DEV2G5_PCS_FX100_CFG_FEFCHK_ENA, x)
3593 
3594 #define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA          BIT(1)
3595 #define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA_SET(x)\
3596 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_FEFGEN_ENA, x)
3597 #define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA_GET(x)\
3598 	FIELD_GET(DEV2G5_PCS_FX100_CFG_FEFGEN_ENA, x)
3599 
3600 #define DEV2G5_PCS_FX100_CFG_PCS_ENA             BIT(0)
3601 #define DEV2G5_PCS_FX100_CFG_PCS_ENA_SET(x)\
3602 	FIELD_PREP(DEV2G5_PCS_FX100_CFG_PCS_ENA, x)
3603 #define DEV2G5_PCS_FX100_CFG_PCS_ENA_GET(x)\
3604 	FIELD_GET(DEV2G5_PCS_FX100_CFG_PCS_ENA, x)
3605 
3606 /* DEV1G:PCS_FX100_STATUS:PCS_FX100_STATUS */
3607 #define DEV2G5_PCS_FX100_STATUS(t)                                             \
3608 	__REG(TARGET_DEV2G5, t, regs->tsize[TC_DEV2G5], 168, 0, 1, 4, 0, 0, 1, \
3609 	      4)
3610 
3611 #define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP     GENMASK(11, 8)
3612 #define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP_SET(x)\
3613 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP, x)
3614 #define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP_GET(x)\
3615 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP, x)
3616 
3617 #define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY BIT(7)
3618 #define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY_SET(x)\
3619 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY, x)
3620 #define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY_GET(x)\
3621 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY, x)
3622 
3623 #define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY BIT(6)
3624 #define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY_SET(x)\
3625 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY, x)
3626 #define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY_GET(x)\
3627 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY, x)
3628 
3629 #define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY BIT(5)
3630 #define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY_SET(x)\
3631 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY, x)
3632 #define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY_GET(x)\
3633 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY, x)
3634 
3635 #define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY BIT(4)
3636 #define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY_SET(x)\
3637 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY, x)
3638 #define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY_GET(x)\
3639 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY, x)
3640 
3641 #define DEV2G5_PCS_FX100_STATUS_FEF_STATUS       BIT(2)
3642 #define DEV2G5_PCS_FX100_STATUS_FEF_STATUS_SET(x)\
3643 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_FEF_STATUS, x)
3644 #define DEV2G5_PCS_FX100_STATUS_FEF_STATUS_GET(x)\
3645 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_FEF_STATUS, x)
3646 
3647 #define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT    BIT(1)
3648 #define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT_SET(x)\
3649 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT, x)
3650 #define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT_GET(x)\
3651 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT, x)
3652 
3653 #define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS      BIT(0)
3654 #define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS_SET(x)\
3655 	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SYNC_STATUS, x)
3656 #define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS_GET(x)\
3657 	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SYNC_STATUS, x)
3658 
3659 /* DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
3660 #define DEV5G_MAC_ENA_CFG(t)                                                   \
3661 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 0, 0, 1, 60, 0, 0, 1, 4)
3662 
3663 #define DEV5G_MAC_ENA_CFG_RX_ENA                 BIT(4)
3664 #define DEV5G_MAC_ENA_CFG_RX_ENA_SET(x)\
3665 	FIELD_PREP(DEV5G_MAC_ENA_CFG_RX_ENA, x)
3666 #define DEV5G_MAC_ENA_CFG_RX_ENA_GET(x)\
3667 	FIELD_GET(DEV5G_MAC_ENA_CFG_RX_ENA, x)
3668 
3669 #define DEV5G_MAC_ENA_CFG_TX_ENA                 BIT(0)
3670 #define DEV5G_MAC_ENA_CFG_TX_ENA_SET(x)\
3671 	FIELD_PREP(DEV5G_MAC_ENA_CFG_TX_ENA, x)
3672 #define DEV5G_MAC_ENA_CFG_TX_ENA_GET(x)\
3673 	FIELD_GET(DEV5G_MAC_ENA_CFG_TX_ENA, x)
3674 
3675 /* DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
3676 #define DEV5G_MAC_MAXLEN_CFG(t)                                                \
3677 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 0, 0, 1, 60, 8, 0, 1, 4)
3678 
3679 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK     BIT(16)
3680 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
3681 	FIELD_PREP(DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
3682 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
3683 	FIELD_GET(DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
3684 
3685 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN             GENMASK(15, 0)
3686 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
3687 	FIELD_PREP(DEV5G_MAC_MAXLEN_CFG_MAX_LEN, x)
3688 #define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
3689 	FIELD_GET(DEV5G_MAC_MAXLEN_CFG_MAX_LEN, x)
3690 
3691 /* DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
3692 #define DEV5G_MAC_ADV_CHK_CFG(t)                                               \
3693 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 0, 0, 1, 60, 28, 0, 1,   \
3694 	      4)
3695 
3696 #define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA    BIT(24)
3697 #define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
3698 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
3699 #define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
3700 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
3701 
3702 #define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA    BIT(20)
3703 #define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
3704 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
3705 #define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
3706 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
3707 
3708 #define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA        BIT(16)
3709 #define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
3710 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
3711 #define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
3712 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
3713 
3714 #define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS    BIT(12)
3715 #define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
3716 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
3717 #define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
3718 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
3719 
3720 #define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA        BIT(8)
3721 #define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
3722 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
3723 #define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
3724 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
3725 
3726 #define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA        BIT(4)
3727 #define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
3728 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
3729 #define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
3730 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
3731 
3732 #define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA        BIT(0)
3733 #define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
3734 	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
3735 #define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
3736 	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
3737 
3738 /* DEV10G:DEV_STATISTICS_32BIT:RX_SYMBOL_ERR_CNT */
3739 #define DEV5G_RX_SYMBOL_ERR_CNT(t)                                             \
3740 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 0, 0, 1,  \
3741 	      4)
3742 
3743 /* DEV10G:DEV_STATISTICS_32BIT:RX_PAUSE_CNT */
3744 #define DEV5G_RX_PAUSE_CNT(t)                                                  \
3745 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 4, 0, 1,  \
3746 	      4)
3747 
3748 /* DEV10G:DEV_STATISTICS_32BIT:RX_UNSUP_OPCODE_CNT */
3749 #define DEV5G_RX_UNSUP_OPCODE_CNT(t)                                           \
3750 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 8, 0, 1,  \
3751 	      4)
3752 
3753 /* DEV10G:DEV_STATISTICS_32BIT:RX_UC_CNT */
3754 #define DEV5G_RX_UC_CNT(t)                                                     \
3755 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 12, 0, 1, \
3756 	      4)
3757 
3758 /* DEV10G:DEV_STATISTICS_32BIT:RX_MC_CNT */
3759 #define DEV5G_RX_MC_CNT(t)                                                     \
3760 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 16, 0, 1, \
3761 	      4)
3762 
3763 /* DEV10G:DEV_STATISTICS_32BIT:RX_BC_CNT */
3764 #define DEV5G_RX_BC_CNT(t)                                                     \
3765 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 20, 0, 1, \
3766 	      4)
3767 
3768 /* DEV10G:DEV_STATISTICS_32BIT:RX_CRC_ERR_CNT */
3769 #define DEV5G_RX_CRC_ERR_CNT(t)                                                \
3770 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 24, 0, 1, \
3771 	      4)
3772 
3773 /* DEV10G:DEV_STATISTICS_32BIT:RX_UNDERSIZE_CNT */
3774 #define DEV5G_RX_UNDERSIZE_CNT(t)                                              \
3775 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 28, 0, 1, \
3776 	      4)
3777 
3778 /* DEV10G:DEV_STATISTICS_32BIT:RX_FRAGMENTS_CNT */
3779 #define DEV5G_RX_FRAGMENTS_CNT(t)                                              \
3780 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 32, 0, 1, \
3781 	      4)
3782 
3783 /* DEV10G:DEV_STATISTICS_32BIT:RX_IN_RANGE_LEN_ERR_CNT */
3784 #define DEV5G_RX_IN_RANGE_LEN_ERR_CNT(t)                                       \
3785 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 36, 0, 1, \
3786 	      4)
3787 
3788 /* DEV10G:DEV_STATISTICS_32BIT:RX_OUT_OF_RANGE_LEN_ERR_CNT */
3789 #define DEV5G_RX_OUT_OF_RANGE_LEN_ERR_CNT(t)                                   \
3790 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 40, 0, 1, \
3791 	      4)
3792 
3793 /* DEV10G:DEV_STATISTICS_32BIT:RX_OVERSIZE_CNT */
3794 #define DEV5G_RX_OVERSIZE_CNT(t)                                               \
3795 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 44, 0, 1, \
3796 	      4)
3797 
3798 /* DEV10G:DEV_STATISTICS_32BIT:RX_JABBERS_CNT */
3799 #define DEV5G_RX_JABBERS_CNT(t)                                                \
3800 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 48, 0, 1, \
3801 	      4)
3802 
3803 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE64_CNT */
3804 #define DEV5G_RX_SIZE64_CNT(t)                                                 \
3805 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 52, 0, 1, \
3806 	      4)
3807 
3808 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE65TO127_CNT */
3809 #define DEV5G_RX_SIZE65TO127_CNT(t)                                            \
3810 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 56, 0, 1, \
3811 	      4)
3812 
3813 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE128TO255_CNT */
3814 #define DEV5G_RX_SIZE128TO255_CNT(t)                                           \
3815 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 60, 0, 1, \
3816 	      4)
3817 
3818 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE256TO511_CNT */
3819 #define DEV5G_RX_SIZE256TO511_CNT(t)                                           \
3820 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 64, 0, 1, \
3821 	      4)
3822 
3823 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE512TO1023_CNT */
3824 #define DEV5G_RX_SIZE512TO1023_CNT(t)                                          \
3825 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 68, 0, 1, \
3826 	      4)
3827 
3828 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE1024TO1518_CNT */
3829 #define DEV5G_RX_SIZE1024TO1518_CNT(t)                                         \
3830 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 72, 0, 1, \
3831 	      4)
3832 
3833 /* DEV10G:DEV_STATISTICS_32BIT:RX_SIZE1519TOMAX_CNT */
3834 #define DEV5G_RX_SIZE1519TOMAX_CNT(t)                                          \
3835 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 76, 0, 1, \
3836 	      4)
3837 
3838 /* DEV10G:DEV_STATISTICS_32BIT:RX_IPG_SHRINK_CNT */
3839 #define DEV5G_RX_IPG_SHRINK_CNT(t)                                             \
3840 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 80, 0, 1, \
3841 	      4)
3842 
3843 /* DEV10G:DEV_STATISTICS_32BIT:TX_PAUSE_CNT */
3844 #define DEV5G_TX_PAUSE_CNT(t)                                                  \
3845 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 84, 0, 1, \
3846 	      4)
3847 
3848 /* DEV10G:DEV_STATISTICS_32BIT:TX_UC_CNT */
3849 #define DEV5G_TX_UC_CNT(t)                                                     \
3850 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 88, 0, 1, \
3851 	      4)
3852 
3853 /* DEV10G:DEV_STATISTICS_32BIT:TX_MC_CNT */
3854 #define DEV5G_TX_MC_CNT(t)                                                     \
3855 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 92, 0, 1, \
3856 	      4)
3857 
3858 /* DEV10G:DEV_STATISTICS_32BIT:TX_BC_CNT */
3859 #define DEV5G_TX_BC_CNT(t)                                                     \
3860 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 96, 0, 1, \
3861 	      4)
3862 
3863 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE64_CNT */
3864 #define DEV5G_TX_SIZE64_CNT(t)                                                 \
3865 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 100, 0, 1,\
3866 	      4)
3867 
3868 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE65TO127_CNT */
3869 #define DEV5G_TX_SIZE65TO127_CNT(t)                                            \
3870 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 104, 0, 1,\
3871 	      4)
3872 
3873 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE128TO255_CNT */
3874 #define DEV5G_TX_SIZE128TO255_CNT(t)                                           \
3875 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 108, 0, 1,\
3876 	      4)
3877 
3878 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE256TO511_CNT */
3879 #define DEV5G_TX_SIZE256TO511_CNT(t)                                           \
3880 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 112, 0, 1,\
3881 	      4)
3882 
3883 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE512TO1023_CNT */
3884 #define DEV5G_TX_SIZE512TO1023_CNT(t)                                          \
3885 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 116, 0, 1,\
3886 	      4)
3887 
3888 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE1024TO1518_CNT */
3889 #define DEV5G_TX_SIZE1024TO1518_CNT(t)                                         \
3890 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 120, 0, 1,\
3891 	      4)
3892 
3893 /* DEV10G:DEV_STATISTICS_32BIT:TX_SIZE1519TOMAX_CNT */
3894 #define DEV5G_TX_SIZE1519TOMAX_CNT(t)                                          \
3895 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 124, 0, 1,\
3896 	      4)
3897 
3898 /* DEV10G:DEV_STATISTICS_32BIT:RX_ALIGNMENT_LOST_CNT */
3899 #define DEV5G_RX_ALIGNMENT_LOST_CNT(t)                                         \
3900 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 128, 0, 1,\
3901 	      4)
3902 
3903 /* DEV10G:DEV_STATISTICS_32BIT:RX_TAGGED_FRMS_CNT */
3904 #define DEV5G_RX_TAGGED_FRMS_CNT(t)                                            \
3905 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 132, 0, 1,\
3906 	      4)
3907 
3908 /* DEV10G:DEV_STATISTICS_32BIT:RX_UNTAGGED_FRMS_CNT */
3909 #define DEV5G_RX_UNTAGGED_FRMS_CNT(t)                                          \
3910 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 136, 0, 1,\
3911 	      4)
3912 
3913 /* DEV10G:DEV_STATISTICS_32BIT:TX_TAGGED_FRMS_CNT */
3914 #define DEV5G_TX_TAGGED_FRMS_CNT(t)                                            \
3915 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 140, 0, 1,\
3916 	      4)
3917 
3918 /* DEV10G:DEV_STATISTICS_32BIT:TX_UNTAGGED_FRMS_CNT */
3919 #define DEV5G_TX_UNTAGGED_FRMS_CNT(t)                                          \
3920 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 144, 0, 1,\
3921 	      4)
3922 
3923 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SYMBOL_ERR_CNT */
3924 #define DEV5G_PMAC_RX_SYMBOL_ERR_CNT(t)                                        \
3925 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 148, 0, 1,\
3926 	      4)
3927 
3928 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_PAUSE_CNT */
3929 #define DEV5G_PMAC_RX_PAUSE_CNT(t)                                             \
3930 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 152, 0, 1,\
3931 	      4)
3932 
3933 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UNSUP_OPCODE_CNT */
3934 #define DEV5G_PMAC_RX_UNSUP_OPCODE_CNT(t)                                      \
3935 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 156, 0, 1,\
3936 	      4)
3937 
3938 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UC_CNT */
3939 #define DEV5G_PMAC_RX_UC_CNT(t)                                                \
3940 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 160, 0, 1,\
3941 	      4)
3942 
3943 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_MC_CNT */
3944 #define DEV5G_PMAC_RX_MC_CNT(t)                                                \
3945 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 164, 0, 1,\
3946 	      4)
3947 
3948 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_BC_CNT */
3949 #define DEV5G_PMAC_RX_BC_CNT(t)                                                \
3950 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 168, 0, 1,\
3951 	      4)
3952 
3953 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_CRC_ERR_CNT */
3954 #define DEV5G_PMAC_RX_CRC_ERR_CNT(t)                                           \
3955 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 172, 0, 1,\
3956 	      4)
3957 
3958 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UNDERSIZE_CNT */
3959 #define DEV5G_PMAC_RX_UNDERSIZE_CNT(t)                                         \
3960 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 176, 0, 1,\
3961 	      4)
3962 
3963 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_FRAGMENTS_CNT */
3964 #define DEV5G_PMAC_RX_FRAGMENTS_CNT(t)                                         \
3965 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 180, 0, 1,\
3966 	      4)
3967 
3968 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_IN_RANGE_LEN_ERR_CNT */
3969 #define DEV5G_PMAC_RX_IN_RANGE_LEN_ERR_CNT(t)                                  \
3970 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 184, 0, 1,\
3971 	      4)
3972 
3973 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT */
3974 #define DEV5G_PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT(t)                              \
3975 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 188, 0, 1,\
3976 	      4)
3977 
3978 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_OVERSIZE_CNT */
3979 #define DEV5G_PMAC_RX_OVERSIZE_CNT(t)                                          \
3980 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 192, 0, 1,\
3981 	      4)
3982 
3983 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_JABBERS_CNT */
3984 #define DEV5G_PMAC_RX_JABBERS_CNT(t)                                           \
3985 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 196, 0, 1,\
3986 	      4)
3987 
3988 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE64_CNT */
3989 #define DEV5G_PMAC_RX_SIZE64_CNT(t)                                            \
3990 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 200, 0, 1,\
3991 	      4)
3992 
3993 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE65TO127_CNT */
3994 #define DEV5G_PMAC_RX_SIZE65TO127_CNT(t)                                       \
3995 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 204, 0, 1,\
3996 	      4)
3997 
3998 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE128TO255_CNT */
3999 #define DEV5G_PMAC_RX_SIZE128TO255_CNT(t)                                      \
4000 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 208, 0, 1,\
4001 	      4)
4002 
4003 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE256TO511_CNT */
4004 #define DEV5G_PMAC_RX_SIZE256TO511_CNT(t)                                      \
4005 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 212, 0, 1,\
4006 	      4)
4007 
4008 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE512TO1023_CNT */
4009 #define DEV5G_PMAC_RX_SIZE512TO1023_CNT(t)                                     \
4010 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 216, 0, 1,\
4011 	      4)
4012 
4013 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE1024TO1518_CNT */
4014 #define DEV5G_PMAC_RX_SIZE1024TO1518_CNT(t)                                    \
4015 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 220, 0, 1,\
4016 	      4)
4017 
4018 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE1519TOMAX_CNT */
4019 #define DEV5G_PMAC_RX_SIZE1519TOMAX_CNT(t)                                     \
4020 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 224, 0, 1,\
4021 	      4)
4022 
4023 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_PAUSE_CNT */
4024 #define DEV5G_PMAC_TX_PAUSE_CNT(t)                                             \
4025 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 228, 0, 1,\
4026 	      4)
4027 
4028 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_UC_CNT */
4029 #define DEV5G_PMAC_TX_UC_CNT(t)                                                \
4030 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 232, 0, 1,\
4031 	      4)
4032 
4033 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_MC_CNT */
4034 #define DEV5G_PMAC_TX_MC_CNT(t)                                                \
4035 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 236, 0, 1,\
4036 	      4)
4037 
4038 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_BC_CNT */
4039 #define DEV5G_PMAC_TX_BC_CNT(t)                                                \
4040 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 240, 0, 1,\
4041 	      4)
4042 
4043 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE64_CNT */
4044 #define DEV5G_PMAC_TX_SIZE64_CNT(t)                                            \
4045 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 244, 0, 1,\
4046 	      4)
4047 
4048 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE65TO127_CNT */
4049 #define DEV5G_PMAC_TX_SIZE65TO127_CNT(t)                                       \
4050 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 248, 0, 1,\
4051 	      4)
4052 
4053 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE128TO255_CNT */
4054 #define DEV5G_PMAC_TX_SIZE128TO255_CNT(t)                                      \
4055 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 252, 0, 1,\
4056 	      4)
4057 
4058 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE256TO511_CNT */
4059 #define DEV5G_PMAC_TX_SIZE256TO511_CNT(t)                                      \
4060 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 256, 0, 1,\
4061 	      4)
4062 
4063 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE512TO1023_CNT */
4064 #define DEV5G_PMAC_TX_SIZE512TO1023_CNT(t)                                     \
4065 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 260, 0, 1,\
4066 	      4)
4067 
4068 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE1024TO1518_CNT */
4069 #define DEV5G_PMAC_TX_SIZE1024TO1518_CNT(t)                                    \
4070 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 264, 0, 1,\
4071 	      4)
4072 
4073 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE1519TOMAX_CNT */
4074 #define DEV5G_PMAC_TX_SIZE1519TOMAX_CNT(t)                                     \
4075 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 268, 0, 1,\
4076 	      4)
4077 
4078 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_ALIGNMENT_LOST_CNT */
4079 #define DEV5G_PMAC_RX_ALIGNMENT_LOST_CNT(t)                                    \
4080 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 272, 0, 1,\
4081 	      4)
4082 
4083 /* DEV10G:DEV_STATISTICS_32BIT:MM_RX_ASSEMBLY_ERR_CNT */
4084 #define DEV5G_MM_RX_ASSEMBLY_ERR_CNT(t)                                        \
4085 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 276, 0, 1,\
4086 	      4)
4087 
4088 /* DEV10G:DEV_STATISTICS_32BIT:MM_RX_SMD_ERR_CNT */
4089 #define DEV5G_MM_RX_SMD_ERR_CNT(t)                                             \
4090 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 280, 0, 1,\
4091 	      4)
4092 
4093 /* DEV10G:DEV_STATISTICS_32BIT:MM_RX_ASSEMBLY_OK_CNT */
4094 #define DEV5G_MM_RX_ASSEMBLY_OK_CNT(t)                                         \
4095 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 284, 0, 1,\
4096 	      4)
4097 
4098 /* DEV10G:DEV_STATISTICS_32BIT:MM_RX_MERGE_FRAG_CNT */
4099 #define DEV5G_MM_RX_MERGE_FRAG_CNT(t)                                          \
4100 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 288, 0, 1,\
4101 	      4)
4102 
4103 /* DEV10G:DEV_STATISTICS_32BIT:MM_TX_PFRAGMENT_CNT */
4104 #define DEV5G_MM_TX_PFRAGMENT_CNT(t)                                           \
4105 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 292, 0, 1,\
4106 	      4)
4107 
4108 /* DEV10G:DEV_STATISTICS_32BIT:RX_HIH_CKSM_ERR_CNT */
4109 #define DEV5G_RX_HIH_CKSM_ERR_CNT(t)                                           \
4110 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 296, 0, 1,\
4111 	      4)
4112 
4113 /* DEV10G:DEV_STATISTICS_32BIT:RX_XGMII_PROT_ERR_CNT */
4114 #define DEV5G_RX_XGMII_PROT_ERR_CNT(t)                                         \
4115 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 300, 0, 1,\
4116 	      4)
4117 
4118 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_HIH_CKSM_ERR_CNT */
4119 #define DEV5G_PMAC_RX_HIH_CKSM_ERR_CNT(t)                                      \
4120 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 304, 0, 1,\
4121 	      4)
4122 
4123 /* DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_XGMII_PROT_ERR_CNT */
4124 #define DEV5G_PMAC_RX_XGMII_PROT_ERR_CNT(t)                                    \
4125 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 60, 0, 1, 312, 308, 0, 1,\
4126 	      4)
4127 
4128 /* DEV10G:DEV_STATISTICS_40BIT:RX_IN_BYTES_CNT */
4129 #define DEV5G_RX_IN_BYTES_CNT(t)                                               \
4130 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 0, 0, 1,  \
4131 	      4)
4132 
4133 /* DEV10G:DEV_STATISTICS_40BIT:RX_IN_BYTES_MSB_CNT */
4134 #define DEV5G_RX_IN_BYTES_MSB_CNT(t)                                           \
4135 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 4, 0, 1,  \
4136 	      4)
4137 
4138 #define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT GENMASK(7, 0)
4139 #define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_SET(x)\
4140 	FIELD_PREP(DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
4141 #define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_GET(x)\
4142 	FIELD_GET(DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
4143 
4144 /* DEV10G:DEV_STATISTICS_40BIT:RX_OK_BYTES_CNT */
4145 #define DEV5G_RX_OK_BYTES_CNT(t)                                               \
4146 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 8, 0, 1,  \
4147 	      4)
4148 
4149 /* DEV10G:DEV_STATISTICS_40BIT:RX_OK_BYTES_MSB_CNT */
4150 #define DEV5G_RX_OK_BYTES_MSB_CNT(t)                                           \
4151 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 12, 0, 1, \
4152 	      4)
4153 
4154 #define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT GENMASK(7, 0)
4155 #define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_SET(x)\
4156 	FIELD_PREP(DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
4157 #define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_GET(x)\
4158 	FIELD_GET(DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
4159 
4160 /* DEV10G:DEV_STATISTICS_40BIT:RX_BAD_BYTES_CNT */
4161 #define DEV5G_RX_BAD_BYTES_CNT(t)                                              \
4162 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 16, 0, 1, \
4163 	      4)
4164 
4165 /* DEV10G:DEV_STATISTICS_40BIT:RX_BAD_BYTES_MSB_CNT */
4166 #define DEV5G_RX_BAD_BYTES_MSB_CNT(t)                                          \
4167 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 20, 0, 1, \
4168 	      4)
4169 
4170 #define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT GENMASK(7, 0)
4171 #define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_SET(x)\
4172 	FIELD_PREP(DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
4173 #define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_GET(x)\
4174 	FIELD_GET(DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
4175 
4176 /* DEV10G:DEV_STATISTICS_40BIT:TX_OUT_BYTES_CNT */
4177 #define DEV5G_TX_OUT_BYTES_CNT(t)                                              \
4178 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 24, 0, 1, \
4179 	      4)
4180 
4181 /* DEV10G:DEV_STATISTICS_40BIT:TX_OUT_BYTES_MSB_CNT */
4182 #define DEV5G_TX_OUT_BYTES_MSB_CNT(t)                                          \
4183 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 28, 0, 1, \
4184 	      4)
4185 
4186 #define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT GENMASK(7, 0)
4187 #define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_SET(x)\
4188 	FIELD_PREP(DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
4189 #define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_GET(x)\
4190 	FIELD_GET(DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
4191 
4192 /* DEV10G:DEV_STATISTICS_40BIT:TX_OK_BYTES_CNT */
4193 #define DEV5G_TX_OK_BYTES_CNT(t)                                               \
4194 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 32, 0, 1, \
4195 	      4)
4196 
4197 /* DEV10G:DEV_STATISTICS_40BIT:TX_OK_BYTES_MSB_CNT */
4198 #define DEV5G_TX_OK_BYTES_MSB_CNT(t)                                           \
4199 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 36, 0, 1, \
4200 	      4)
4201 
4202 #define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT GENMASK(7, 0)
4203 #define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_SET(x)\
4204 	FIELD_PREP(DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
4205 #define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_GET(x)\
4206 	FIELD_GET(DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
4207 
4208 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_OK_BYTES_CNT */
4209 #define DEV5G_PMAC_RX_OK_BYTES_CNT(t)                                          \
4210 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 40, 0, 1, \
4211 	      4)
4212 
4213 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_OK_BYTES_MSB_CNT */
4214 #define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT(t)                                      \
4215 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 44, 0, 1, \
4216 	      4)
4217 
4218 #define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT GENMASK(7, 0)
4219 #define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_SET(x)\
4220 	FIELD_PREP(DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
4221 #define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_GET(x)\
4222 	FIELD_GET(DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
4223 
4224 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_BAD_BYTES_CNT */
4225 #define DEV5G_PMAC_RX_BAD_BYTES_CNT(t)                                         \
4226 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 48, 0, 1, \
4227 	      4)
4228 
4229 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_BAD_BYTES_MSB_CNT */
4230 #define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT(t)                                     \
4231 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 52, 0, 1, \
4232 	      4)
4233 
4234 #define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT GENMASK(7, 0)
4235 #define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_SET(x)\
4236 	FIELD_PREP(DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
4237 #define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_GET(x)\
4238 	FIELD_GET(DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
4239 
4240 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_TX_OK_BYTES_CNT */
4241 #define DEV5G_PMAC_TX_OK_BYTES_CNT(t)                                          \
4242 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 56, 0, 1, \
4243 	      4)
4244 
4245 /* DEV10G:DEV_STATISTICS_40BIT:PMAC_TX_OK_BYTES_MSB_CNT */
4246 #define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT(t)                                      \
4247 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 372, 0, 1, 64, 60, 0, 1, \
4248 	      4)
4249 
4250 #define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT GENMASK(7, 0)
4251 #define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_SET(x)\
4252 	FIELD_PREP(DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
4253 #define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_GET(x)\
4254 	FIELD_GET(DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
4255 
4256 /* DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
4257 #define DEV5G_DEV_RST_CTRL(t)                                                  \
4258 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 436, 0, 1, 52, 0, 0, 1,  \
4259 	      4)
4260 
4261 #define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA       BIT(28)
4262 #define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
4263 	FIELD_PREP(DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
4264 #define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
4265 	FIELD_GET(DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
4266 
4267 #define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
4268 #define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
4269 	FIELD_PREP(DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
4270 #define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
4271 	FIELD_GET(DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
4272 
4273 #define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
4274 #define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
4275 	FIELD_PREP(DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
4276 #define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
4277 	FIELD_GET(DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
4278 
4279 #define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL      GENMASK(24, 23)
4280 #define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
4281 	FIELD_PREP(DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
4282 #define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
4283 	FIELD_GET(DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
4284 
4285 #define DEV5G_DEV_RST_CTRL_SPEED_SEL             GENMASK(22, 20)
4286 #define DEV5G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
4287 	FIELD_PREP(DEV5G_DEV_RST_CTRL_SPEED_SEL, x)
4288 #define DEV5G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
4289 	FIELD_GET(DEV5G_DEV_RST_CTRL_SPEED_SEL, x)
4290 
4291 #define DEV5G_DEV_RST_CTRL_PCS_TX_RST            BIT(12)
4292 #define DEV5G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
4293 	FIELD_PREP(DEV5G_DEV_RST_CTRL_PCS_TX_RST, x)
4294 #define DEV5G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
4295 	FIELD_GET(DEV5G_DEV_RST_CTRL_PCS_TX_RST, x)
4296 
4297 #define DEV5G_DEV_RST_CTRL_PCS_RX_RST            BIT(8)
4298 #define DEV5G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
4299 	FIELD_PREP(DEV5G_DEV_RST_CTRL_PCS_RX_RST, x)
4300 #define DEV5G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
4301 	FIELD_GET(DEV5G_DEV_RST_CTRL_PCS_RX_RST, x)
4302 
4303 #define DEV5G_DEV_RST_CTRL_MAC_TX_RST            BIT(4)
4304 #define DEV5G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
4305 	FIELD_PREP(DEV5G_DEV_RST_CTRL_MAC_TX_RST, x)
4306 #define DEV5G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
4307 	FIELD_GET(DEV5G_DEV_RST_CTRL_MAC_TX_RST, x)
4308 
4309 #define DEV5G_DEV_RST_CTRL_MAC_RX_RST            BIT(0)
4310 #define DEV5G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
4311 	FIELD_PREP(DEV5G_DEV_RST_CTRL_MAC_RX_RST, x)
4312 #define DEV5G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
4313 	FIELD_GET(DEV5G_DEV_RST_CTRL_MAC_RX_RST, x)
4314 
4315 /* DEV10G:DEV_CFG_STATUS:PTP_STAMPER_CFG */
4316 #define DEV5G_PTP_STAMPER_CFG(t)                                               \
4317 	__REG(TARGET_DEV5G, t, regs->tsize[TC_DEV5G], 436, 0, 1, 52, 20, 0, 1, \
4318 	      4)
4319 
4320 /* DSM:RAM_CTRL:RAM_INIT */
4321 #define DSM_RAM_INIT                                                           \
4322 	__REG(TARGET_DSM, 0, 1, 0, 0, 1, 4, 0, 0, 1, 4)
4323 
4324 #define DSM_RAM_INIT_RAM_INIT                    BIT(1)
4325 #define DSM_RAM_INIT_RAM_INIT_SET(x)\
4326 	FIELD_PREP(DSM_RAM_INIT_RAM_INIT, x)
4327 #define DSM_RAM_INIT_RAM_INIT_GET(x)\
4328 	FIELD_GET(DSM_RAM_INIT_RAM_INIT, x)
4329 
4330 #define DSM_RAM_INIT_RAM_CFG_HOOK                BIT(0)
4331 #define DSM_RAM_INIT_RAM_CFG_HOOK_SET(x)\
4332 	FIELD_PREP(DSM_RAM_INIT_RAM_CFG_HOOK, x)
4333 #define DSM_RAM_INIT_RAM_CFG_HOOK_GET(x)\
4334 	FIELD_GET(DSM_RAM_INIT_RAM_CFG_HOOK, x)
4335 
4336 /* DSM:CFG:BUF_CFG */
4337 #define DSM_BUF_CFG(r)                                                         \
4338 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 0, r,                          \
4339 	      regs->rcnt[RC_DSM_BUF_CFG], 4)
4340 
4341 #define DSM_BUF_CFG_CSC_STAT_DIS                 BIT(13)
4342 #define DSM_BUF_CFG_CSC_STAT_DIS_SET(x)\
4343 	FIELD_PREP(DSM_BUF_CFG_CSC_STAT_DIS, x)
4344 #define DSM_BUF_CFG_CSC_STAT_DIS_GET(x)\
4345 	FIELD_GET(DSM_BUF_CFG_CSC_STAT_DIS, x)
4346 
4347 #define DSM_BUF_CFG_AGING_ENA                    BIT(12)
4348 #define DSM_BUF_CFG_AGING_ENA_SET(x)\
4349 	FIELD_PREP(DSM_BUF_CFG_AGING_ENA, x)
4350 #define DSM_BUF_CFG_AGING_ENA_GET(x)\
4351 	FIELD_GET(DSM_BUF_CFG_AGING_ENA, x)
4352 
4353 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS       BIT(11)
4354 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS_SET(x)\
4355 	FIELD_PREP(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS, x)
4356 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS_GET(x)\
4357 	FIELD_GET(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS, x)
4358 
4359 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT   GENMASK(10, 0)
4360 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT_SET(x)\
4361 	FIELD_PREP(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT, x)
4362 #define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT_GET(x)\
4363 	FIELD_GET(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT, x)
4364 
4365 /* DSM:CFG:DEV_TX_STOP_WM_CFG */
4366 #define DSM_DEV_TX_STOP_WM_CFG(r)                                              \
4367 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 1360, r,                       \
4368 	      regs->rcnt[RC_DSM_DEV_TX_STOP_WM_CFG], 4)
4369 
4370 #define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA  BIT(9)
4371 #define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA_SET(x)\
4372 	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA, x)
4373 #define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA_GET(x)\
4374 	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA, x)
4375 
4376 #define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA BIT(8)
4377 #define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA_SET(x)\
4378 	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA, x)
4379 #define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA_GET(x)\
4380 	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA, x)
4381 
4382 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM    GENMASK(7, 1)
4383 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM_SET(x)\
4384 	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM, x)
4385 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM_GET(x)\
4386 	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM, x)
4387 
4388 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR    BIT(0)
4389 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR_SET(x)\
4390 	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR, x)
4391 #define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR_GET(x)\
4392 	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR, x)
4393 
4394 /* DSM:CFG:RX_PAUSE_CFG */
4395 #define DSM_RX_PAUSE_CFG(r)                                                    \
4396 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 1628, r,                       \
4397 	      regs->rcnt[RC_DSM_RX_PAUSE_CFG], 4)
4398 
4399 #define DSM_RX_PAUSE_CFG_RX_PAUSE_EN             BIT(1)
4400 #define DSM_RX_PAUSE_CFG_RX_PAUSE_EN_SET(x)\
4401 	FIELD_PREP(DSM_RX_PAUSE_CFG_RX_PAUSE_EN, x)
4402 #define DSM_RX_PAUSE_CFG_RX_PAUSE_EN_GET(x)\
4403 	FIELD_GET(DSM_RX_PAUSE_CFG_RX_PAUSE_EN, x)
4404 
4405 #define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL           BIT(0)
4406 #define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL_SET(x)\
4407 	FIELD_PREP(DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL, x)
4408 #define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL_GET(x)\
4409 	FIELD_GET(DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL, x)
4410 
4411 /* DSM:CFG:MAC_CFG */
4412 #define DSM_MAC_CFG(r)                                                         \
4413 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2432, r,                       \
4414 	      regs->rcnt[RC_DSM_MAC_CFG], 4)
4415 
4416 #define DSM_MAC_CFG_TX_PAUSE_VAL                 GENMASK(31, 16)
4417 #define DSM_MAC_CFG_TX_PAUSE_VAL_SET(x)\
4418 	FIELD_PREP(DSM_MAC_CFG_TX_PAUSE_VAL, x)
4419 #define DSM_MAC_CFG_TX_PAUSE_VAL_GET(x)\
4420 	FIELD_GET(DSM_MAC_CFG_TX_PAUSE_VAL, x)
4421 
4422 #define DSM_MAC_CFG_HDX_BACKPREASSURE            BIT(2)
4423 #define DSM_MAC_CFG_HDX_BACKPREASSURE_SET(x)\
4424 	FIELD_PREP(DSM_MAC_CFG_HDX_BACKPREASSURE, x)
4425 #define DSM_MAC_CFG_HDX_BACKPREASSURE_GET(x)\
4426 	FIELD_GET(DSM_MAC_CFG_HDX_BACKPREASSURE, x)
4427 
4428 #define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE         BIT(1)
4429 #define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE_SET(x)\
4430 	FIELD_PREP(DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE, x)
4431 #define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE_GET(x)\
4432 	FIELD_GET(DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE, x)
4433 
4434 #define DSM_MAC_CFG_TX_PAUSE_XON_XOFF            BIT(0)
4435 #define DSM_MAC_CFG_TX_PAUSE_XON_XOFF_SET(x)\
4436 	FIELD_PREP(DSM_MAC_CFG_TX_PAUSE_XON_XOFF, x)
4437 #define DSM_MAC_CFG_TX_PAUSE_XON_XOFF_GET(x)\
4438 	FIELD_GET(DSM_MAC_CFG_TX_PAUSE_XON_XOFF, x)
4439 
4440 /* DSM:CFG:MAC_ADDR_BASE_HIGH_CFG */
4441 #define DSM_MAC_ADDR_BASE_HIGH_CFG(r)                                          \
4442 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2700, r,                       \
4443 	      regs->rcnt[RC_DSM_MAC_ADDR_BASE_HIGH_CFG], 4)
4444 
4445 #define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH GENMASK(23, 0)
4446 #define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH_SET(x)\
4447 	FIELD_PREP(DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH, x)
4448 #define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH_GET(x)\
4449 	FIELD_GET(DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH, x)
4450 
4451 /* DSM:CFG:MAC_ADDR_BASE_LOW_CFG */
4452 #define DSM_MAC_ADDR_BASE_LOW_CFG(r)                                           \
4453 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2960, r,                       \
4454 	      regs->rcnt[RC_DSM_MAC_ADDR_BASE_LOW_CFG], 4)
4455 
4456 #define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW   GENMASK(23, 0)
4457 #define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW_SET(x)\
4458 	FIELD_PREP(DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW, x)
4459 #define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW_GET(x)\
4460 	FIELD_GET(DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW, x)
4461 
4462 /* DSM:CFG:TAXI_CAL_CFG */
4463 #define DSM_TAXI_CAL_CFG(r)                                                    \
4464 	__REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 3224, r,                       \
4465 	      regs->rcnt[RC_DSM_TAXI_CAL_CFG], 4)
4466 
4467 #define DSM_TAXI_CAL_CFG_CAL_IDX                 GENMASK(20, 15)
4468 #define DSM_TAXI_CAL_CFG_CAL_IDX_SET(x)\
4469 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_IDX, x)
4470 #define DSM_TAXI_CAL_CFG_CAL_IDX_GET(x)\
4471 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_IDX, x)
4472 
4473 #define DSM_TAXI_CAL_CFG_CAL_CUR_LEN             GENMASK(14, 9)
4474 #define DSM_TAXI_CAL_CFG_CAL_CUR_LEN_SET(x)\
4475 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_CUR_LEN, x)
4476 #define DSM_TAXI_CAL_CFG_CAL_CUR_LEN_GET(x)\
4477 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_CUR_LEN, x)
4478 
4479 #define DSM_TAXI_CAL_CFG_CAL_CUR_VAL             GENMASK(8, 5)
4480 #define DSM_TAXI_CAL_CFG_CAL_CUR_VAL_SET(x)\
4481 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_CUR_VAL, x)
4482 #define DSM_TAXI_CAL_CFG_CAL_CUR_VAL_GET(x)\
4483 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_CUR_VAL, x)
4484 
4485 #define DSM_TAXI_CAL_CFG_CAL_PGM_VAL             GENMASK(4, 1)
4486 #define DSM_TAXI_CAL_CFG_CAL_PGM_VAL_SET(x)\
4487 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_PGM_VAL, x)
4488 #define DSM_TAXI_CAL_CFG_CAL_PGM_VAL_GET(x)\
4489 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_PGM_VAL, x)
4490 
4491 #define DSM_TAXI_CAL_CFG_CAL_PGM_ENA             BIT(0)
4492 #define DSM_TAXI_CAL_CFG_CAL_PGM_ENA_SET(x)\
4493 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_PGM_ENA, x)
4494 #define DSM_TAXI_CAL_CFG_CAL_PGM_ENA_GET(x)\
4495 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_PGM_ENA, x)
4496 
4497 /* LAN969X ONLY */
4498 #define DSM_TAXI_CAL_CFG_CAL_SEL_STAT            BIT(23)
4499 #define DSM_TAXI_CAL_CFG_CAL_SEL_STAT_SET(x)\
4500 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_SEL_STAT, x)
4501 #define DSM_TAXI_CAL_CFG_CAL_SEL_STAT_GET(x)\
4502 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_SEL_STAT, x)
4503 
4504 /* LAN969X ONLY */
4505 #define DSM_TAXI_CAL_CFG_CAL_SWITCH              BIT(22)
4506 #define DSM_TAXI_CAL_CFG_CAL_SWITCH_SET(x)\
4507 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_SWITCH, x)
4508 #define DSM_TAXI_CAL_CFG_CAL_SWITCH_GET(x)\
4509 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_SWITCH, x)
4510 
4511 /* LAN969X ONLY */
4512 #define DSM_TAXI_CAL_CFG_CAL_PGM_SEL             BIT(21)
4513 #define DSM_TAXI_CAL_CFG_CAL_PGM_SEL_SET(x)\
4514 	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_PGM_SEL, x)
4515 #define DSM_TAXI_CAL_CFG_CAL_PGM_SEL_GET(x)\
4516 	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_PGM_SEL, x)
4517 
4518 /* EACL:ES2_KEY_SELECT_PROFILE:VCAP_ES2_KEY_SEL */
4519 #define EACL_VCAP_ES2_KEY_SEL(g, r)                                            \
4520 	__REG(TARGET_EACL, 0, 1, regs->gaddr[GA_EACL_ES2_KEY_SELECT_PROFILE],  \
4521 	      g, regs->gcnt[GC_EACL_ES2_KEY_SELECT_PROFILE], 8, 0, r, 2, 4)
4522 
4523 #define EACL_VCAP_ES2_KEY_SEL_IP6_KEY_SEL        GENMASK(7, 5)
4524 #define EACL_VCAP_ES2_KEY_SEL_IP6_KEY_SEL_SET(x)\
4525 	FIELD_PREP(EACL_VCAP_ES2_KEY_SEL_IP6_KEY_SEL, x)
4526 #define EACL_VCAP_ES2_KEY_SEL_IP6_KEY_SEL_GET(x)\
4527 	FIELD_GET(EACL_VCAP_ES2_KEY_SEL_IP6_KEY_SEL, x)
4528 
4529 #define EACL_VCAP_ES2_KEY_SEL_IP4_KEY_SEL        GENMASK(4, 2)
4530 #define EACL_VCAP_ES2_KEY_SEL_IP4_KEY_SEL_SET(x)\
4531 	FIELD_PREP(EACL_VCAP_ES2_KEY_SEL_IP4_KEY_SEL, x)
4532 #define EACL_VCAP_ES2_KEY_SEL_IP4_KEY_SEL_GET(x)\
4533 	FIELD_GET(EACL_VCAP_ES2_KEY_SEL_IP4_KEY_SEL, x)
4534 
4535 #define EACL_VCAP_ES2_KEY_SEL_ARP_KEY_SEL        BIT(1)
4536 #define EACL_VCAP_ES2_KEY_SEL_ARP_KEY_SEL_SET(x)\
4537 	FIELD_PREP(EACL_VCAP_ES2_KEY_SEL_ARP_KEY_SEL, x)
4538 #define EACL_VCAP_ES2_KEY_SEL_ARP_KEY_SEL_GET(x)\
4539 	FIELD_GET(EACL_VCAP_ES2_KEY_SEL_ARP_KEY_SEL, x)
4540 
4541 #define EACL_VCAP_ES2_KEY_SEL_KEY_ENA            BIT(0)
4542 #define EACL_VCAP_ES2_KEY_SEL_KEY_ENA_SET(x)\
4543 	FIELD_PREP(EACL_VCAP_ES2_KEY_SEL_KEY_ENA, x)
4544 #define EACL_VCAP_ES2_KEY_SEL_KEY_ENA_GET(x)\
4545 	FIELD_GET(EACL_VCAP_ES2_KEY_SEL_KEY_ENA, x)
4546 
4547 /* EACL:CNT_TBL:ES2_CNT */
4548 #define EACL_ES2_CNT(g)                                                        \
4549 	__REG(TARGET_EACL, 0, 1, regs->gaddr[GA_EACL_CNT_TBL], g,              \
4550 	      regs->gcnt[GC_EACL_CNT_TBL], 4, 0, 0, 1, 4)
4551 
4552 /* EACL:POL_CFG:POL_EACL_CFG */
4553 #define EACL_POL_EACL_CFG                                                      \
4554 	__REG(TARGET_EACL, 0, 1, regs->gaddr[GA_EACL_POL_CFG], 0, 1, 780, 768, \
4555 	      0, 1, 4)
4556 
4557 #define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED BIT(5)
4558 #define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED_SET(x)\
4559 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED, x)
4560 #define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED_GET(x)\
4561 	FIELD_GET(EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED, x)
4562 
4563 #define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY     BIT(4)
4564 #define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY_SET(x)\
4565 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY, x)
4566 #define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY_GET(x)\
4567 	FIELD_GET(EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY, x)
4568 
4569 #define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY    BIT(3)
4570 #define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY_SET(x)\
4571 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY, x)
4572 #define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY_GET(x)\
4573 	FIELD_GET(EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY, x)
4574 
4575 #define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE       BIT(2)
4576 #define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE_SET(x)\
4577 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_CLOSE, x)
4578 #define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE_GET(x)\
4579 	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_CLOSE, x)
4580 
4581 #define EACL_POL_EACL_CFG_EACL_FORCE_OPEN        BIT(1)
4582 #define EACL_POL_EACL_CFG_EACL_FORCE_OPEN_SET(x)\
4583 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_OPEN, x)
4584 #define EACL_POL_EACL_CFG_EACL_FORCE_OPEN_GET(x)\
4585 	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_OPEN, x)
4586 
4587 #define EACL_POL_EACL_CFG_EACL_FORCE_INIT        BIT(0)
4588 #define EACL_POL_EACL_CFG_EACL_FORCE_INIT_SET(x)\
4589 	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_INIT, x)
4590 #define EACL_POL_EACL_CFG_EACL_FORCE_INIT_GET(x)\
4591 	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_INIT, x)
4592 
4593 /* EACL:ES2_STICKY:SEC_LOOKUP_STICKY */
4594 #define EACL_SEC_LOOKUP_STICKY(r)                                              \
4595 	__REG(TARGET_EACL, 0, 1, regs->gaddr[GA_EACL_ES2_STICKY], 0, 1, 8, 0,  \
4596 	      r, 2, 4)
4597 
4598 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY BIT(7)
4599 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_SET(x)\
4600 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)
4601 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_GET(x)\
4602 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)
4603 
4604 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY BIT(6)
4605 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_SET(x)\
4606 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)
4607 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_GET(x)\
4608 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)
4609 
4610 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY BIT(5)
4611 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_SET(x)\
4612 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)
4613 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_GET(x)\
4614 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)
4615 
4616 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY BIT(4)
4617 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_SET(x)\
4618 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)
4619 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_GET(x)\
4620 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)
4621 
4622 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY BIT(3)
4623 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_SET(x)\
4624 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)
4625 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_GET(x)\
4626 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)
4627 
4628 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY BIT(2)
4629 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_SET(x)\
4630 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)
4631 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_GET(x)\
4632 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)
4633 
4634 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY BIT(1)
4635 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_SET(x)\
4636 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)
4637 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_GET(x)\
4638 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)
4639 
4640 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY BIT(0)
4641 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_SET(x)\
4642 	FIELD_PREP(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)
4643 #define EACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_GET(x)\
4644 	FIELD_GET(EACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)
4645 
4646 /* EACL:RAM_CTRL:RAM_INIT */
4647 #define EACL_RAM_INIT                                                          \
4648 	__REG(TARGET_EACL, 0, 1, regs->gaddr[GA_EACL_RAM_CTRL], 0, 1, 4, 0, 0, \
4649 	      1, 4)
4650 
4651 #define EACL_RAM_INIT_RAM_INIT                   BIT(1)
4652 #define EACL_RAM_INIT_RAM_INIT_SET(x)\
4653 	FIELD_PREP(EACL_RAM_INIT_RAM_INIT, x)
4654 #define EACL_RAM_INIT_RAM_INIT_GET(x)\
4655 	FIELD_GET(EACL_RAM_INIT_RAM_INIT, x)
4656 
4657 #define EACL_RAM_INIT_RAM_CFG_HOOK               BIT(0)
4658 #define EACL_RAM_INIT_RAM_CFG_HOOK_SET(x)\
4659 	FIELD_PREP(EACL_RAM_INIT_RAM_CFG_HOOK, x)
4660 #define EACL_RAM_INIT_RAM_CFG_HOOK_GET(x)\
4661 	FIELD_GET(EACL_RAM_INIT_RAM_CFG_HOOK, x)
4662 
4663 /* FDMA:FDMA:FDMA_CH_ACTIVATE */
4664 #define FDMA_CH_ACTIVATE                                                       \
4665 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 0, 0, 1,  \
4666 	      4)
4667 
4668 #define FDMA_CH_ACTIVATE_CH_ACTIVATE             GENMASK(7, 0)
4669 #define FDMA_CH_ACTIVATE_CH_ACTIVATE_SET(x)\
4670 	FIELD_PREP(FDMA_CH_ACTIVATE_CH_ACTIVATE, x)
4671 #define FDMA_CH_ACTIVATE_CH_ACTIVATE_GET(x)\
4672 	FIELD_GET(FDMA_CH_ACTIVATE_CH_ACTIVATE, x)
4673 
4674 /* FDMA:FDMA:FDMA_CH_RELOAD */
4675 #define FDMA_CH_RELOAD                                                         \
4676 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 4, 0, 1,  \
4677 	      4)
4678 
4679 #define FDMA_CH_RELOAD_CH_RELOAD                 GENMASK(7, 0)
4680 #define FDMA_CH_RELOAD_CH_RELOAD_SET(x)\
4681 	FIELD_PREP(FDMA_CH_RELOAD_CH_RELOAD, x)
4682 #define FDMA_CH_RELOAD_CH_RELOAD_GET(x)\
4683 	FIELD_GET(FDMA_CH_RELOAD_CH_RELOAD, x)
4684 
4685 /* FDMA:FDMA:FDMA_CH_DISABLE */
4686 #define FDMA_CH_DISABLE                                                        \
4687 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 8, 0, 1,  \
4688 	      4)
4689 
4690 #define FDMA_CH_DISABLE_CH_DISABLE               GENMASK(7, 0)
4691 #define FDMA_CH_DISABLE_CH_DISABLE_SET(x)\
4692 	FIELD_PREP(FDMA_CH_DISABLE_CH_DISABLE, x)
4693 #define FDMA_CH_DISABLE_CH_DISABLE_GET(x)\
4694 	FIELD_GET(FDMA_CH_DISABLE_CH_DISABLE, x)
4695 
4696 /* FDMA:FDMA:FDMA_DCB_LLP */
4697 #define FDMA_DCB_LLP(r)                                                        \
4698 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 52, r, 8, \
4699 	      4)
4700 
4701 /* FDMA:FDMA:FDMA_DCB_LLP1 */
4702 #define FDMA_DCB_LLP1(r)                                                       \
4703 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 84, r, 8, \
4704 	      4)
4705 
4706 /* FDMA:FDMA:FDMA_DCB_LLP_PREV */
4707 #define FDMA_DCB_LLP_PREV(r)                                                   \
4708 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 116, r, 8,\
4709 	      4)
4710 
4711 /* FDMA:FDMA:FDMA_DCB_LLP_PREV1 */
4712 #define FDMA_DCB_LLP_PREV1(r)                                                  \
4713 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 148, r, 8,\
4714 	      4)
4715 
4716 /* FDMA:FDMA:FDMA_CH_CFG */
4717 #define FDMA_CH_CFG(r)                                                         \
4718 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 224, r, 8,\
4719 	      4)
4720 
4721 #define FDMA_CH_CFG_CH_XTR_STATUS_MODE\
4722 	BIT(regs->fpos[FP_FDMA_CH_CFG_CH_XTR_STATUS_MODE])
4723 #define FDMA_CH_CFG_CH_XTR_STATUS_MODE_SET(x)\
4724 	spx5_field_prep(FDMA_CH_CFG_CH_XTR_STATUS_MODE, x)
4725 #define FDMA_CH_CFG_CH_XTR_STATUS_MODE_GET(x)\
4726 	spx5_field_get(FDMA_CH_CFG_CH_XTR_STATUS_MODE, x)
4727 
4728 #define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY\
4729 	BIT(regs->fpos[FP_FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY])
4730 #define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY_SET(x)\
4731 	spx5_field_prep(FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY, x)
4732 #define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY_GET(x)\
4733 	spx5_field_get(FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY, x)
4734 
4735 #define FDMA_CH_CFG_CH_INJ_PORT\
4736 	BIT(regs->fpos[FP_FDMA_CH_CFG_CH_INJ_PORT])
4737 #define FDMA_CH_CFG_CH_INJ_PORT_SET(x)\
4738 	spx5_field_prep(FDMA_CH_CFG_CH_INJ_PORT, x)
4739 #define FDMA_CH_CFG_CH_INJ_PORT_GET(x)\
4740 	spx5_field_get(FDMA_CH_CFG_CH_INJ_PORT, x)
4741 
4742 #define FDMA_CH_CFG_CH_DCB_DB_CNT\
4743 	GENMASK(regs->fsize[FW_FDMA_CH_CFG_CH_DCB_DB_CNT] + 1 - 1, 1)
4744 #define FDMA_CH_CFG_CH_DCB_DB_CNT_SET(x)\
4745 	spx5_field_prep(FDMA_CH_CFG_CH_DCB_DB_CNT, x)
4746 #define FDMA_CH_CFG_CH_DCB_DB_CNT_GET(x)\
4747 	spx5_field_get(FDMA_CH_CFG_CH_DCB_DB_CNT, x)
4748 
4749 #define FDMA_CH_CFG_CH_MEM                       BIT(0)
4750 #define FDMA_CH_CFG_CH_MEM_SET(x)\
4751 	FIELD_PREP(FDMA_CH_CFG_CH_MEM, x)
4752 #define FDMA_CH_CFG_CH_MEM_GET(x)\
4753 	FIELD_GET(FDMA_CH_CFG_CH_MEM, x)
4754 
4755 /* FDMA:FDMA:FDMA_CH_TRANSLATE */
4756 #define FDMA_CH_TRANSLATE(r)                                                   \
4757 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 256, r, 8,\
4758 	      4)
4759 
4760 #define FDMA_CH_TRANSLATE_OFFSET                 GENMASK(15, 0)
4761 #define FDMA_CH_TRANSLATE_OFFSET_SET(x)\
4762 	FIELD_PREP(FDMA_CH_TRANSLATE_OFFSET, x)
4763 #define FDMA_CH_TRANSLATE_OFFSET_GET(x)\
4764 	FIELD_GET(FDMA_CH_TRANSLATE_OFFSET, x)
4765 
4766 /* FDMA:FDMA:FDMA_XTR_CFG */
4767 #define FDMA_XTR_CFG                                                           \
4768 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 364, 0, 1,\
4769 	      4)
4770 
4771 #define FDMA_XTR_CFG_XTR_FIFO_WM                 GENMASK(15, 11)
4772 #define FDMA_XTR_CFG_XTR_FIFO_WM_SET(x)\
4773 	FIELD_PREP(FDMA_XTR_CFG_XTR_FIFO_WM, x)
4774 #define FDMA_XTR_CFG_XTR_FIFO_WM_GET(x)\
4775 	FIELD_GET(FDMA_XTR_CFG_XTR_FIFO_WM, x)
4776 
4777 #define FDMA_XTR_CFG_XTR_ARB_SAT                 GENMASK(10, 0)
4778 #define FDMA_XTR_CFG_XTR_ARB_SAT_SET(x)\
4779 	FIELD_PREP(FDMA_XTR_CFG_XTR_ARB_SAT, x)
4780 #define FDMA_XTR_CFG_XTR_ARB_SAT_GET(x)\
4781 	FIELD_GET(FDMA_XTR_CFG_XTR_ARB_SAT, x)
4782 
4783 /* FDMA:FDMA:FDMA_PORT_CTRL */
4784 #define FDMA_PORT_CTRL(r)                                                      \
4785 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 376, r, 2,\
4786 	      4)
4787 
4788 #define FDMA_PORT_CTRL_INJ_STOP                  BIT(4)
4789 #define FDMA_PORT_CTRL_INJ_STOP_SET(x)\
4790 	FIELD_PREP(FDMA_PORT_CTRL_INJ_STOP, x)
4791 #define FDMA_PORT_CTRL_INJ_STOP_GET(x)\
4792 	FIELD_GET(FDMA_PORT_CTRL_INJ_STOP, x)
4793 
4794 #define FDMA_PORT_CTRL_INJ_STOP_FORCE            BIT(3)
4795 #define FDMA_PORT_CTRL_INJ_STOP_FORCE_SET(x)\
4796 	FIELD_PREP(FDMA_PORT_CTRL_INJ_STOP_FORCE, x)
4797 #define FDMA_PORT_CTRL_INJ_STOP_FORCE_GET(x)\
4798 	FIELD_GET(FDMA_PORT_CTRL_INJ_STOP_FORCE, x)
4799 
4800 #define FDMA_PORT_CTRL_XTR_STOP                  BIT(2)
4801 #define FDMA_PORT_CTRL_XTR_STOP_SET(x)\
4802 	FIELD_PREP(FDMA_PORT_CTRL_XTR_STOP, x)
4803 #define FDMA_PORT_CTRL_XTR_STOP_GET(x)\
4804 	FIELD_GET(FDMA_PORT_CTRL_XTR_STOP, x)
4805 
4806 #define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY          BIT(1)
4807 #define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY_SET(x)\
4808 	FIELD_PREP(FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY, x)
4809 #define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY_GET(x)\
4810 	FIELD_GET(FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY, x)
4811 
4812 #define FDMA_PORT_CTRL_XTR_BUF_RST               BIT(0)
4813 #define FDMA_PORT_CTRL_XTR_BUF_RST_SET(x)\
4814 	FIELD_PREP(FDMA_PORT_CTRL_XTR_BUF_RST, x)
4815 #define FDMA_PORT_CTRL_XTR_BUF_RST_GET(x)\
4816 	FIELD_GET(FDMA_PORT_CTRL_XTR_BUF_RST, x)
4817 
4818 /* FDMA:FDMA:FDMA_INTR_DCB */
4819 #define FDMA_INTR_DCB                                                          \
4820 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 384, 0, 1,\
4821 	      4)
4822 
4823 #define FDMA_INTR_DCB_INTR_DCB                   GENMASK(7, 0)
4824 #define FDMA_INTR_DCB_INTR_DCB_SET(x)\
4825 	FIELD_PREP(FDMA_INTR_DCB_INTR_DCB, x)
4826 #define FDMA_INTR_DCB_INTR_DCB_GET(x)\
4827 	FIELD_GET(FDMA_INTR_DCB_INTR_DCB, x)
4828 
4829 /* FDMA:FDMA:FDMA_INTR_DCB_ENA */
4830 #define FDMA_INTR_DCB_ENA                                                      \
4831 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 388, 0, 1,\
4832 	      4)
4833 
4834 #define FDMA_INTR_DCB_ENA_INTR_DCB_ENA           GENMASK(7, 0)
4835 #define FDMA_INTR_DCB_ENA_INTR_DCB_ENA_SET(x)\
4836 	FIELD_PREP(FDMA_INTR_DCB_ENA_INTR_DCB_ENA, x)
4837 #define FDMA_INTR_DCB_ENA_INTR_DCB_ENA_GET(x)\
4838 	FIELD_GET(FDMA_INTR_DCB_ENA_INTR_DCB_ENA, x)
4839 
4840 /* FDMA:FDMA:FDMA_INTR_DB */
4841 #define FDMA_INTR_DB                                                           \
4842 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 392, 0, 1,\
4843 	      4)
4844 
4845 #define FDMA_INTR_DB_INTR_DB                     GENMASK(7, 0)
4846 #define FDMA_INTR_DB_INTR_DB_SET(x)\
4847 	FIELD_PREP(FDMA_INTR_DB_INTR_DB, x)
4848 #define FDMA_INTR_DB_INTR_DB_GET(x)\
4849 	FIELD_GET(FDMA_INTR_DB_INTR_DB, x)
4850 
4851 /* FDMA:FDMA:FDMA_INTR_DB_ENA */
4852 #define FDMA_INTR_DB_ENA                                                       \
4853 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 396, 0, 1,\
4854 	      4)
4855 
4856 #define FDMA_INTR_DB_ENA_INTR_DB_ENA             GENMASK(7, 0)
4857 #define FDMA_INTR_DB_ENA_INTR_DB_ENA_SET(x)\
4858 	FIELD_PREP(FDMA_INTR_DB_ENA_INTR_DB_ENA, x)
4859 #define FDMA_INTR_DB_ENA_INTR_DB_ENA_GET(x)\
4860 	FIELD_GET(FDMA_INTR_DB_ENA_INTR_DB_ENA, x)
4861 
4862 /* FDMA:FDMA:FDMA_INTR_ERR */
4863 #define FDMA_INTR_ERR                                                          \
4864 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 400, 0, 1,\
4865 	      4)
4866 
4867 #define FDMA_INTR_ERR_INTR_PORT_ERR              GENMASK(9, 8)
4868 #define FDMA_INTR_ERR_INTR_PORT_ERR_SET(x)\
4869 	FIELD_PREP(FDMA_INTR_ERR_INTR_PORT_ERR, x)
4870 #define FDMA_INTR_ERR_INTR_PORT_ERR_GET(x)\
4871 	FIELD_GET(FDMA_INTR_ERR_INTR_PORT_ERR, x)
4872 
4873 #define FDMA_INTR_ERR_INTR_CH_ERR                GENMASK(7, 0)
4874 #define FDMA_INTR_ERR_INTR_CH_ERR_SET(x)\
4875 	FIELD_PREP(FDMA_INTR_ERR_INTR_CH_ERR, x)
4876 #define FDMA_INTR_ERR_INTR_CH_ERR_GET(x)\
4877 	FIELD_GET(FDMA_INTR_ERR_INTR_CH_ERR, x)
4878 
4879 /* FDMA:FDMA:FDMA_ERRORS */
4880 #define FDMA_ERRORS                                                            \
4881 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 412, 0, 1,\
4882 	      4)
4883 
4884 #define FDMA_ERRORS_ERR_XTR_WR                   GENMASK(31, 30)
4885 #define FDMA_ERRORS_ERR_XTR_WR_SET(x)\
4886 	FIELD_PREP(FDMA_ERRORS_ERR_XTR_WR, x)
4887 #define FDMA_ERRORS_ERR_XTR_WR_GET(x)\
4888 	FIELD_GET(FDMA_ERRORS_ERR_XTR_WR, x)
4889 
4890 #define FDMA_ERRORS_ERR_XTR_OVF                  GENMASK(29, 28)
4891 #define FDMA_ERRORS_ERR_XTR_OVF_SET(x)\
4892 	FIELD_PREP(FDMA_ERRORS_ERR_XTR_OVF, x)
4893 #define FDMA_ERRORS_ERR_XTR_OVF_GET(x)\
4894 	FIELD_GET(FDMA_ERRORS_ERR_XTR_OVF, x)
4895 
4896 #define FDMA_ERRORS_ERR_XTR_TAXI32_OVF           GENMASK(27, 26)
4897 #define FDMA_ERRORS_ERR_XTR_TAXI32_OVF_SET(x)\
4898 	FIELD_PREP(FDMA_ERRORS_ERR_XTR_TAXI32_OVF, x)
4899 #define FDMA_ERRORS_ERR_XTR_TAXI32_OVF_GET(x)\
4900 	FIELD_GET(FDMA_ERRORS_ERR_XTR_TAXI32_OVF, x)
4901 
4902 #define FDMA_ERRORS_ERR_DCB_XTR_DATAL            GENMASK(25, 24)
4903 #define FDMA_ERRORS_ERR_DCB_XTR_DATAL_SET(x)\
4904 	FIELD_PREP(FDMA_ERRORS_ERR_DCB_XTR_DATAL, x)
4905 #define FDMA_ERRORS_ERR_DCB_XTR_DATAL_GET(x)\
4906 	FIELD_GET(FDMA_ERRORS_ERR_DCB_XTR_DATAL, x)
4907 
4908 #define FDMA_ERRORS_ERR_DCB_RD                   GENMASK(23, 16)
4909 #define FDMA_ERRORS_ERR_DCB_RD_SET(x)\
4910 	FIELD_PREP(FDMA_ERRORS_ERR_DCB_RD, x)
4911 #define FDMA_ERRORS_ERR_DCB_RD_GET(x)\
4912 	FIELD_GET(FDMA_ERRORS_ERR_DCB_RD, x)
4913 
4914 #define FDMA_ERRORS_ERR_INJ_RD                   GENMASK(15, 10)
4915 #define FDMA_ERRORS_ERR_INJ_RD_SET(x)\
4916 	FIELD_PREP(FDMA_ERRORS_ERR_INJ_RD, x)
4917 #define FDMA_ERRORS_ERR_INJ_RD_GET(x)\
4918 	FIELD_GET(FDMA_ERRORS_ERR_INJ_RD, x)
4919 
4920 #define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC          GENMASK(9, 8)
4921 #define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC_SET(x)\
4922 	FIELD_PREP(FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC, x)
4923 #define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC_GET(x)\
4924 	FIELD_GET(FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC, x)
4925 
4926 #define FDMA_ERRORS_ERR_CH_WR                    GENMASK(7, 0)
4927 #define FDMA_ERRORS_ERR_CH_WR_SET(x)\
4928 	FIELD_PREP(FDMA_ERRORS_ERR_CH_WR, x)
4929 #define FDMA_ERRORS_ERR_CH_WR_GET(x)\
4930 	FIELD_GET(FDMA_ERRORS_ERR_CH_WR, x)
4931 
4932 /* FDMA:FDMA:FDMA_ERRORS_2 */
4933 #define FDMA_ERRORS_2                                                          \
4934 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 416, 0, 1,\
4935 	      4)
4936 
4937 #define FDMA_ERRORS_2_ERR_XTR_FRAG               GENMASK(1, 0)
4938 #define FDMA_ERRORS_2_ERR_XTR_FRAG_SET(x)\
4939 	FIELD_PREP(FDMA_ERRORS_2_ERR_XTR_FRAG, x)
4940 #define FDMA_ERRORS_2_ERR_XTR_FRAG_GET(x)\
4941 	FIELD_GET(FDMA_ERRORS_2_ERR_XTR_FRAG, x)
4942 
4943 /* FDMA:FDMA:FDMA_CTRL */
4944 #define FDMA_CTRL                                                              \
4945 	__REG(TARGET_FDMA, 0, 1, 8, 0, 1, regs->gsize[GW_FDMA_FDMA], 424, 0, 1,\
4946 	      4)
4947 
4948 #define FDMA_CTRL_NRESET                         BIT(0)
4949 #define FDMA_CTRL_NRESET_SET(x)\
4950 	FIELD_PREP(FDMA_CTRL_NRESET, x)
4951 #define FDMA_CTRL_NRESET_GET(x)\
4952 	FIELD_GET(FDMA_CTRL_NRESET, x)
4953 
4954 /* DEVCPU_GCB:CHIP_REGS:CHIP_ID */
4955 #define GCB_CHIP_ID                                                            \
4956 	__REG(TARGET_GCB, 0, 1, 0, 0, 1, regs->gsize[GW_GCB_CHIP_REGS], 0, 0,  \
4957 	      1, 4)
4958 
4959 #define GCB_CHIP_ID_REV_ID                       GENMASK(31, 28)
4960 #define GCB_CHIP_ID_REV_ID_SET(x)\
4961 	FIELD_PREP(GCB_CHIP_ID_REV_ID, x)
4962 #define GCB_CHIP_ID_REV_ID_GET(x)\
4963 	FIELD_GET(GCB_CHIP_ID_REV_ID, x)
4964 
4965 #define GCB_CHIP_ID_PART_ID                      GENMASK(27, 12)
4966 #define GCB_CHIP_ID_PART_ID_SET(x)\
4967 	FIELD_PREP(GCB_CHIP_ID_PART_ID, x)
4968 #define GCB_CHIP_ID_PART_ID_GET(x)\
4969 	FIELD_GET(GCB_CHIP_ID_PART_ID, x)
4970 
4971 #define GCB_CHIP_ID_MFG_ID                       GENMASK(11, 1)
4972 #define GCB_CHIP_ID_MFG_ID_SET(x)\
4973 	FIELD_PREP(GCB_CHIP_ID_MFG_ID, x)
4974 #define GCB_CHIP_ID_MFG_ID_GET(x)\
4975 	FIELD_GET(GCB_CHIP_ID_MFG_ID, x)
4976 
4977 #define GCB_CHIP_ID_ONE                          BIT(0)
4978 #define GCB_CHIP_ID_ONE_SET(x)\
4979 	FIELD_PREP(GCB_CHIP_ID_ONE, x)
4980 #define GCB_CHIP_ID_ONE_GET(x)\
4981 	FIELD_GET(GCB_CHIP_ID_ONE, x)
4982 
4983 /* DEVCPU_GCB:CHIP_REGS:SOFT_RST */
4984 #define GCB_SOFT_RST                                                           \
4985 	__REG(TARGET_GCB, 0, 1, 0, 0, 1, regs->gsize[GW_GCB_CHIP_REGS],        \
4986 	      regs->raddr[RA_GCB_SOFT_RST], 0, 1, 4)
4987 
4988 /* SPARX5 ONLY */
4989 #define GCB_SOFT_RST_SOFT_NON_CFG_RST            BIT(2)
4990 #define GCB_SOFT_RST_SOFT_NON_CFG_RST_SET(x)\
4991 	FIELD_PREP(GCB_SOFT_RST_SOFT_NON_CFG_RST, x)
4992 #define GCB_SOFT_RST_SOFT_NON_CFG_RST_GET(x)\
4993 	FIELD_GET(GCB_SOFT_RST_SOFT_NON_CFG_RST, x)
4994 
4995 #define GCB_SOFT_RST_SOFT_SWC_RST                BIT(1)
4996 #define GCB_SOFT_RST_SOFT_SWC_RST_SET(x)\
4997 	FIELD_PREP(GCB_SOFT_RST_SOFT_SWC_RST, x)
4998 #define GCB_SOFT_RST_SOFT_SWC_RST_GET(x)\
4999 	FIELD_GET(GCB_SOFT_RST_SOFT_SWC_RST, x)
5000 
5001 #define GCB_SOFT_RST_SOFT_CHIP_RST               BIT(0)
5002 #define GCB_SOFT_RST_SOFT_CHIP_RST_SET(x)\
5003 	FIELD_PREP(GCB_SOFT_RST_SOFT_CHIP_RST, x)
5004 #define GCB_SOFT_RST_SOFT_CHIP_RST_GET(x)\
5005 	FIELD_GET(GCB_SOFT_RST_SOFT_CHIP_RST, x)
5006 
5007 /* SPARX5 ONLY */
5008 /* DEVCPU_GCB:CHIP_REGS:HW_SGPIO_SD_CFG */
5009 #define GCB_HW_SGPIO_SD_CFG                                                    \
5010 	__REG(TARGET_GCB, 0, 1, 0, 0, 1, regs->gsize[GW_GCB_CHIP_REGS], 20, 0, \
5011 	      1, 4)
5012 
5013 #define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA          BIT(1)
5014 #define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA_SET(x)\
5015 	FIELD_PREP(GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA, x)
5016 #define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA_GET(x)\
5017 	FIELD_GET(GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA, x)
5018 
5019 #define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL           BIT(0)
5020 #define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL_SET(x)\
5021 	FIELD_PREP(GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL, x)
5022 #define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL_GET(x)\
5023 	FIELD_GET(GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL, x)
5024 
5025 /* DEVCPU_GCB:CHIP_REGS:HW_SGPIO_TO_SD_MAP_CFG */
5026 #define GCB_HW_SGPIO_TO_SD_MAP_CFG(r)                                          \
5027 	__REG(TARGET_GCB, 0, 1, 0, 0, 1, regs->gsize[GW_GCB_CHIP_REGS],        \
5028 	      regs->raddr[RA_GCB_HW_SGPIO_TO_SD_MAP_CFG], r,                   \
5029 	      regs->rcnt[RC_GCB_HW_SGPIO_TO_SD_MAP_CFG], 4)
5030 
5031 #define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL\
5032 	GENMASK(regs->fsize[FW_GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL] + 0 - 1, 0)
5033 #define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL_SET(x)\
5034 	spx5_field_prep(GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL, x)
5035 #define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL_GET(x)\
5036 	spx5_field_get(GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL, x)
5037 
5038 /* DEVCPU_GCB:SIO_CTRL:SIO_CLOCK */
5039 #define GCB_SIO_CLOCK(g)                                                       \
5040 	__REG(TARGET_GCB, 0, 1, regs->gaddr[GA_GCB_SIO_CTRL], g,               \
5041 	      regs->gcnt[GC_GCB_SIO_CTRL], 280, 20, 0, 1, 4)
5042 
5043 #define GCB_SIO_CLOCK_SIO_CLK_FREQ               GENMASK(19, 8)
5044 #define GCB_SIO_CLOCK_SIO_CLK_FREQ_SET(x)\
5045 	FIELD_PREP(GCB_SIO_CLOCK_SIO_CLK_FREQ, x)
5046 #define GCB_SIO_CLOCK_SIO_CLK_FREQ_GET(x)\
5047 	FIELD_GET(GCB_SIO_CLOCK_SIO_CLK_FREQ, x)
5048 
5049 #define GCB_SIO_CLOCK_SYS_CLK_PERIOD             GENMASK(7, 0)
5050 #define GCB_SIO_CLOCK_SYS_CLK_PERIOD_SET(x)\
5051 	FIELD_PREP(GCB_SIO_CLOCK_SYS_CLK_PERIOD, x)
5052 #define GCB_SIO_CLOCK_SYS_CLK_PERIOD_GET(x)\
5053 	FIELD_GET(GCB_SIO_CLOCK_SYS_CLK_PERIOD, x)
5054 
5055 /* HSCH:HSCH_CFG:CIR_CFG */
5056 #define HSCH_CIR_CFG(g)                                                        \
5057 	__REG(TARGET_HSCH, 0, 1, 0, g, regs->gcnt[GC_HSCH_HSCH_CFG], 32, 0, 0, \
5058 	      1, 4)
5059 
5060 #define HSCH_CIR_CFG_CIR_RATE                    GENMASK(22, 6)
5061 #define HSCH_CIR_CFG_CIR_RATE_SET(x)\
5062 	FIELD_PREP(HSCH_CIR_CFG_CIR_RATE, x)
5063 #define HSCH_CIR_CFG_CIR_RATE_GET(x)\
5064 	FIELD_GET(HSCH_CIR_CFG_CIR_RATE, x)
5065 
5066 #define HSCH_CIR_CFG_CIR_BURST                   GENMASK(5, 0)
5067 #define HSCH_CIR_CFG_CIR_BURST_SET(x)\
5068 	FIELD_PREP(HSCH_CIR_CFG_CIR_BURST, x)
5069 #define HSCH_CIR_CFG_CIR_BURST_GET(x)\
5070 	FIELD_GET(HSCH_CIR_CFG_CIR_BURST, x)
5071 
5072 /* HSCH:HSCH_CFG:EIR_CFG */
5073 #define HSCH_EIR_CFG(g)                                                        \
5074 	__REG(TARGET_HSCH, 0, 1, 0, g, regs->gcnt[GC_HSCH_HSCH_CFG], 32, 4, 0, \
5075 	      1, 4)
5076 
5077 #define HSCH_EIR_CFG_EIR_RATE                    GENMASK(22, 6)
5078 #define HSCH_EIR_CFG_EIR_RATE_SET(x)\
5079 	FIELD_PREP(HSCH_EIR_CFG_EIR_RATE, x)
5080 #define HSCH_EIR_CFG_EIR_RATE_GET(x)\
5081 	FIELD_GET(HSCH_EIR_CFG_EIR_RATE, x)
5082 
5083 #define HSCH_EIR_CFG_EIR_BURST                   GENMASK(5, 0)
5084 #define HSCH_EIR_CFG_EIR_BURST_SET(x)\
5085 	FIELD_PREP(HSCH_EIR_CFG_EIR_BURST, x)
5086 #define HSCH_EIR_CFG_EIR_BURST_GET(x)\
5087 	FIELD_GET(HSCH_EIR_CFG_EIR_BURST, x)
5088 
5089 /* HSCH:HSCH_CFG:SE_CFG */
5090 #define HSCH_SE_CFG(g)                                                         \
5091 	__REG(TARGET_HSCH, 0, 1, 0, g, regs->gcnt[GC_HSCH_HSCH_CFG], 32, 8, 0, \
5092 	      1, 4)
5093 
5094 #define HSCH_SE_CFG_SE_DWRR_CNT\
5095 	GENMASK(regs->fsize[FW_HSCH_SE_CFG_SE_DWRR_CNT] + 6 - 1, 6)
5096 #define HSCH_SE_CFG_SE_DWRR_CNT_SET(x)\
5097 	spx5_field_prep(HSCH_SE_CFG_SE_DWRR_CNT, x)
5098 #define HSCH_SE_CFG_SE_DWRR_CNT_GET(x)\
5099 	spx5_field_get(HSCH_SE_CFG_SE_DWRR_CNT, x)
5100 
5101 #define HSCH_SE_CFG_SE_AVB_ENA                   BIT(5)
5102 #define HSCH_SE_CFG_SE_AVB_ENA_SET(x)\
5103 	FIELD_PREP(HSCH_SE_CFG_SE_AVB_ENA, x)
5104 #define HSCH_SE_CFG_SE_AVB_ENA_GET(x)\
5105 	FIELD_GET(HSCH_SE_CFG_SE_AVB_ENA, x)
5106 
5107 #define HSCH_SE_CFG_SE_FRM_MODE                  GENMASK(4, 3)
5108 #define HSCH_SE_CFG_SE_FRM_MODE_SET(x)\
5109 	FIELD_PREP(HSCH_SE_CFG_SE_FRM_MODE, x)
5110 #define HSCH_SE_CFG_SE_FRM_MODE_GET(x)\
5111 	FIELD_GET(HSCH_SE_CFG_SE_FRM_MODE, x)
5112 
5113 #define HSCH_SE_CFG_SE_DWRR_FRM_MODE             GENMASK(2, 1)
5114 #define HSCH_SE_CFG_SE_DWRR_FRM_MODE_SET(x)\
5115 	FIELD_PREP(HSCH_SE_CFG_SE_DWRR_FRM_MODE, x)
5116 #define HSCH_SE_CFG_SE_DWRR_FRM_MODE_GET(x)\
5117 	FIELD_GET(HSCH_SE_CFG_SE_DWRR_FRM_MODE, x)
5118 
5119 #define HSCH_SE_CFG_SE_STOP                      BIT(0)
5120 #define HSCH_SE_CFG_SE_STOP_SET(x)\
5121 	FIELD_PREP(HSCH_SE_CFG_SE_STOP, x)
5122 #define HSCH_SE_CFG_SE_STOP_GET(x)\
5123 	FIELD_GET(HSCH_SE_CFG_SE_STOP, x)
5124 
5125 /* HSCH:HSCH_CFG:SE_CONNECT */
5126 #define HSCH_SE_CONNECT(g)                                                     \
5127 	__REG(TARGET_HSCH, 0, 1, 0, g, regs->gcnt[GC_HSCH_HSCH_CFG], 32, 12, 0,\
5128 	      1, 4)
5129 
5130 #define HSCH_SE_CONNECT_SE_LEAK_LINK\
5131 	GENMASK(regs->fsize[FW_HSCH_SE_CONNECT_SE_LEAK_LINK] + 0 - 1, 0)
5132 #define HSCH_SE_CONNECT_SE_LEAK_LINK_SET(x)\
5133 	spx5_field_prep(HSCH_SE_CONNECT_SE_LEAK_LINK, x)
5134 #define HSCH_SE_CONNECT_SE_LEAK_LINK_GET(x)\
5135 	spx5_field_get(HSCH_SE_CONNECT_SE_LEAK_LINK, x)
5136 
5137 /* HSCH:HSCH_CFG:SE_DLB_SENSE */
5138 #define HSCH_SE_DLB_SENSE(g)                                                   \
5139 	__REG(TARGET_HSCH, 0, 1, 0, g, regs->gcnt[GC_HSCH_HSCH_CFG], 32, 16, 0,\
5140 	      1, 4)
5141 
5142 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO            GENMASK(12, 10)
5143 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_SET(x)\
5144 	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_PRIO, x)
5145 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_GET(x)\
5146 	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_PRIO, x)
5147 
5148 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT\
5149 	GENMASK(regs->fsize[FW_HSCH_SE_DLB_SENSE_SE_DLB_DPORT] + 3 - 1, 3)
5150 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_SET(x)\
5151 	spx5_field_prep(HSCH_SE_DLB_SENSE_SE_DLB_DPORT, x)
5152 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_GET(x)\
5153 	spx5_field_get(HSCH_SE_DLB_SENSE_SE_DLB_DPORT, x)
5154 
5155 #define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA          BIT(2)
5156 #define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA_SET(x)\
5157 	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA, x)
5158 #define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA_GET(x)\
5159 	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA, x)
5160 
5161 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA        BIT(1)
5162 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA_SET(x)\
5163 	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA, x)
5164 #define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA_GET(x)\
5165 	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA, x)
5166 
5167 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA       BIT(0)
5168 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA_SET(x)\
5169 	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA, x)
5170 #define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA_GET(x)\
5171 	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA, x)
5172 
5173 /* HSCH:HSCH_DWRR:DWRR_ENTRY */
5174 #define HSCH_DWRR_ENTRY(g)                                                     \
5175 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_HSCH_DWRR], g,            \
5176 	      regs->gcnt[GC_HSCH_HSCH_DWRR], 4, 0, 0, 1, 4)
5177 
5178 #define HSCH_DWRR_ENTRY_DWRR_COST                GENMASK(24, 20)
5179 #define HSCH_DWRR_ENTRY_DWRR_COST_SET(x)\
5180 	FIELD_PREP(HSCH_DWRR_ENTRY_DWRR_COST, x)
5181 #define HSCH_DWRR_ENTRY_DWRR_COST_GET(x)\
5182 	FIELD_GET(HSCH_DWRR_ENTRY_DWRR_COST, x)
5183 
5184 #define HSCH_DWRR_ENTRY_DWRR_BALANCE             GENMASK(19, 0)
5185 #define HSCH_DWRR_ENTRY_DWRR_BALANCE_SET(x)\
5186 	FIELD_PREP(HSCH_DWRR_ENTRY_DWRR_BALANCE, x)
5187 #define HSCH_DWRR_ENTRY_DWRR_BALANCE_GET(x)\
5188 	FIELD_GET(HSCH_DWRR_ENTRY_DWRR_BALANCE, x)
5189 
5190 /* HSCH:HSCH_MISC:HSCH_CFG_CFG */
5191 #define HSCH_HSCH_CFG_CFG                                                      \
5192 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_HSCH_MISC], 0, 1, 648,    \
5193 	      284, 0, 1, 4)
5194 
5195 #define HSCH_HSCH_CFG_CFG_CFG_SE_IDX\
5196 	GENMASK(regs->fsize[FW_HSCH_HSCH_CFG_CFG_CFG_SE_IDX] + 14 - 1, 14)
5197 #define HSCH_HSCH_CFG_CFG_CFG_SE_IDX_SET(x)\
5198 	spx5_field_prep(HSCH_HSCH_CFG_CFG_CFG_SE_IDX, x)
5199 #define HSCH_HSCH_CFG_CFG_CFG_SE_IDX_GET(x)\
5200 	spx5_field_get(HSCH_HSCH_CFG_CFG_CFG_SE_IDX, x)
5201 
5202 #define HSCH_HSCH_CFG_CFG_HSCH_LAYER             GENMASK(13, 12)
5203 #define HSCH_HSCH_CFG_CFG_HSCH_LAYER_SET(x)\
5204 	FIELD_PREP(HSCH_HSCH_CFG_CFG_HSCH_LAYER, x)
5205 #define HSCH_HSCH_CFG_CFG_HSCH_LAYER_GET(x)\
5206 	FIELD_GET(HSCH_HSCH_CFG_CFG_HSCH_LAYER, x)
5207 
5208 #define HSCH_HSCH_CFG_CFG_CSR_GRANT              GENMASK(11, 0)
5209 #define HSCH_HSCH_CFG_CFG_CSR_GRANT_SET(x)\
5210 	FIELD_PREP(HSCH_HSCH_CFG_CFG_CSR_GRANT, x)
5211 #define HSCH_HSCH_CFG_CFG_CSR_GRANT_GET(x)\
5212 	FIELD_GET(HSCH_HSCH_CFG_CFG_CSR_GRANT, x)
5213 
5214 /* SPARX5 ONLY */
5215 /* HSCH:HSCH_MISC:SYS_CLK_PER */
5216 #define HSCH_SYS_CLK_PER                                                       \
5217 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_HSCH_MISC], 0, 1, 648,    \
5218 	      640, 0, 1, 4)
5219 
5220 #define HSCH_SYS_CLK_PER_100PS                   GENMASK(7, 0)
5221 #define HSCH_SYS_CLK_PER_100PS_SET(x)\
5222 	FIELD_PREP(HSCH_SYS_CLK_PER_100PS, x)
5223 #define HSCH_SYS_CLK_PER_100PS_GET(x)\
5224 	FIELD_GET(HSCH_SYS_CLK_PER_100PS, x)
5225 
5226 /* HSCH:HSCH_LEAK_LISTS:HSCH_TIMER_CFG */
5227 #define HSCH_HSCH_TIMER_CFG(g, r)                                              \
5228 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_HSCH_LEAK_LISTS], g, 4,   \
5229 	      32, 0, r, 4, 4)
5230 
5231 #define HSCH_HSCH_TIMER_CFG_LEAK_TIME            GENMASK(17, 0)
5232 #define HSCH_HSCH_TIMER_CFG_LEAK_TIME_SET(x)\
5233 	FIELD_PREP(HSCH_HSCH_TIMER_CFG_LEAK_TIME, x)
5234 #define HSCH_HSCH_TIMER_CFG_LEAK_TIME_GET(x)\
5235 	FIELD_GET(HSCH_HSCH_TIMER_CFG_LEAK_TIME, x)
5236 
5237 /* HSCH:HSCH_LEAK_LISTS:HSCH_LEAK_CFG */
5238 #define HSCH_HSCH_LEAK_CFG(g, r)                                               \
5239 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_HSCH_LEAK_LISTS], g, 4,   \
5240 	      32, 16, r, 4, 4)
5241 
5242 #define HSCH_HSCH_LEAK_CFG_LEAK_FIRST\
5243 	GENMASK(regs->fsize[FW_HSCH_HSCH_LEAK_CFG_LEAK_FIRST] + 1 - 1, 1)
5244 #define HSCH_HSCH_LEAK_CFG_LEAK_FIRST_SET(x)\
5245 	spx5_field_prep(HSCH_HSCH_LEAK_CFG_LEAK_FIRST, x)
5246 #define HSCH_HSCH_LEAK_CFG_LEAK_FIRST_GET(x)\
5247 	spx5_field_get(HSCH_HSCH_LEAK_CFG_LEAK_FIRST, x)
5248 
5249 #define HSCH_HSCH_LEAK_CFG_LEAK_ERR              BIT(0)
5250 #define HSCH_HSCH_LEAK_CFG_LEAK_ERR_SET(x)\
5251 	FIELD_PREP(HSCH_HSCH_LEAK_CFG_LEAK_ERR, x)
5252 #define HSCH_HSCH_LEAK_CFG_LEAK_ERR_GET(x)\
5253 	FIELD_GET(HSCH_HSCH_LEAK_CFG_LEAK_ERR, x)
5254 
5255 /* HSCH:SYSTEM:FLUSH_CTRL */
5256 #define HSCH_FLUSH_CTRL                                                        \
5257 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_SYSTEM], 0, 1, 312, 4, 0, \
5258 	      1, 4)
5259 
5260 #define HSCH_FLUSH_CTRL_FLUSH_ENA                BIT(27)
5261 #define HSCH_FLUSH_CTRL_FLUSH_ENA_SET(x)\
5262 	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_ENA, x)
5263 #define HSCH_FLUSH_CTRL_FLUSH_ENA_GET(x)\
5264 	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_ENA, x)
5265 
5266 #define HSCH_FLUSH_CTRL_FLUSH_SRC                BIT(26)
5267 #define HSCH_FLUSH_CTRL_FLUSH_SRC_SET(x)\
5268 	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_SRC, x)
5269 #define HSCH_FLUSH_CTRL_FLUSH_SRC_GET(x)\
5270 	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_SRC, x)
5271 
5272 #define HSCH_FLUSH_CTRL_FLUSH_DST                BIT(25)
5273 #define HSCH_FLUSH_CTRL_FLUSH_DST_SET(x)\
5274 	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_DST, x)
5275 #define HSCH_FLUSH_CTRL_FLUSH_DST_GET(x)\
5276 	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_DST, x)
5277 
5278 #define HSCH_FLUSH_CTRL_FLUSH_PORT\
5279 	GENMASK(regs->fsize[FW_HSCH_FLUSH_CTRL_FLUSH_PORT] + 18 - 1, 18)
5280 #define HSCH_FLUSH_CTRL_FLUSH_PORT_SET(x)\
5281 	spx5_field_prep(HSCH_FLUSH_CTRL_FLUSH_PORT, x)
5282 #define HSCH_FLUSH_CTRL_FLUSH_PORT_GET(x)\
5283 	spx5_field_get(HSCH_FLUSH_CTRL_FLUSH_PORT, x)
5284 
5285 #define HSCH_FLUSH_CTRL_FLUSH_QUEUE              BIT(17)
5286 #define HSCH_FLUSH_CTRL_FLUSH_QUEUE_SET(x)\
5287 	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_QUEUE, x)
5288 #define HSCH_FLUSH_CTRL_FLUSH_QUEUE_GET(x)\
5289 	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_QUEUE, x)
5290 
5291 #define HSCH_FLUSH_CTRL_FLUSH_SE                 BIT(16)
5292 #define HSCH_FLUSH_CTRL_FLUSH_SE_SET(x)\
5293 	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_SE, x)
5294 #define HSCH_FLUSH_CTRL_FLUSH_SE_GET(x)\
5295 	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_SE, x)
5296 
5297 #define HSCH_FLUSH_CTRL_FLUSH_HIER\
5298 	GENMASK(regs->fsize[FW_HSCH_FLUSH_CTRL_FLUSH_HIER] + 0 - 1, 0)
5299 #define HSCH_FLUSH_CTRL_FLUSH_HIER_SET(x)\
5300 	spx5_field_prep(HSCH_FLUSH_CTRL_FLUSH_HIER, x)
5301 #define HSCH_FLUSH_CTRL_FLUSH_HIER_GET(x)\
5302 	spx5_field_get(HSCH_FLUSH_CTRL_FLUSH_HIER, x)
5303 
5304 /* HSCH:SYSTEM:PORT_MODE */
5305 #define HSCH_PORT_MODE(r)                                                      \
5306 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_SYSTEM], 0, 1, 312, 8, r, \
5307 	      regs->rcnt[RC_HSCH_PORT_MODE], 4)
5308 
5309 #define HSCH_PORT_MODE_DEQUEUE_DIS               BIT(4)
5310 #define HSCH_PORT_MODE_DEQUEUE_DIS_SET(x)\
5311 	FIELD_PREP(HSCH_PORT_MODE_DEQUEUE_DIS, x)
5312 #define HSCH_PORT_MODE_DEQUEUE_DIS_GET(x)\
5313 	FIELD_GET(HSCH_PORT_MODE_DEQUEUE_DIS, x)
5314 
5315 #define HSCH_PORT_MODE_AGE_DIS                   BIT(3)
5316 #define HSCH_PORT_MODE_AGE_DIS_SET(x)\
5317 	FIELD_PREP(HSCH_PORT_MODE_AGE_DIS, x)
5318 #define HSCH_PORT_MODE_AGE_DIS_GET(x)\
5319 	FIELD_GET(HSCH_PORT_MODE_AGE_DIS, x)
5320 
5321 #define HSCH_PORT_MODE_TRUNC_ENA                 BIT(2)
5322 #define HSCH_PORT_MODE_TRUNC_ENA_SET(x)\
5323 	FIELD_PREP(HSCH_PORT_MODE_TRUNC_ENA, x)
5324 #define HSCH_PORT_MODE_TRUNC_ENA_GET(x)\
5325 	FIELD_GET(HSCH_PORT_MODE_TRUNC_ENA, x)
5326 
5327 #define HSCH_PORT_MODE_EIR_REMARK_ENA            BIT(1)
5328 #define HSCH_PORT_MODE_EIR_REMARK_ENA_SET(x)\
5329 	FIELD_PREP(HSCH_PORT_MODE_EIR_REMARK_ENA, x)
5330 #define HSCH_PORT_MODE_EIR_REMARK_ENA_GET(x)\
5331 	FIELD_GET(HSCH_PORT_MODE_EIR_REMARK_ENA, x)
5332 
5333 #define HSCH_PORT_MODE_CPU_PRIO_MODE             BIT(0)
5334 #define HSCH_PORT_MODE_CPU_PRIO_MODE_SET(x)\
5335 	FIELD_PREP(HSCH_PORT_MODE_CPU_PRIO_MODE, x)
5336 #define HSCH_PORT_MODE_CPU_PRIO_MODE_GET(x)\
5337 	FIELD_GET(HSCH_PORT_MODE_CPU_PRIO_MODE, x)
5338 
5339 /* HSCH:SYSTEM:OUTB_SHARE_ENA */
5340 #define HSCH_OUTB_SHARE_ENA(r)                                                 \
5341 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_SYSTEM], 0, 1, 312, 288,  \
5342 	      r, 5, 4)
5343 
5344 #define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA       GENMASK(7, 0)
5345 #define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA_SET(x)\
5346 	FIELD_PREP(HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA, x)
5347 #define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA_GET(x)\
5348 	FIELD_GET(HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA, x)
5349 
5350 /* HSCH:MMGT:RESET_CFG */
5351 #define HSCH_RESET_CFG                                                         \
5352 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_MMGT], 0, 1, 16, 8, 0, 1, \
5353 	      4)
5354 
5355 #define HSCH_RESET_CFG_CORE_ENA                  BIT(0)
5356 #define HSCH_RESET_CFG_CORE_ENA_SET(x)\
5357 	FIELD_PREP(HSCH_RESET_CFG_CORE_ENA, x)
5358 #define HSCH_RESET_CFG_CORE_ENA_GET(x)\
5359 	FIELD_GET(HSCH_RESET_CFG_CORE_ENA, x)
5360 
5361 /* HSCH:TAS_CONFIG:TAS_STATEMACHINE_CFG */
5362 #define HSCH_TAS_STATEMACHINE_CFG                                              \
5363 	__REG(TARGET_HSCH, 0, 1, regs->gaddr[GA_HSCH_TAS_CONFIG], 0, 1,        \
5364 	      regs->gsize[GW_HSCH_TAS_CONFIG], 8, 0, 1, 4)
5365 
5366 #define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY    GENMASK(7, 0)
5367 #define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY_SET(x)\
5368 	FIELD_PREP(HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY, x)
5369 #define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY_GET(x)\
5370 	FIELD_GET(HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY, x)
5371 
5372 /* LAN969X ONLY */
5373 /* HSIOWRAP:XMII_CFG:XMII_CFG */
5374 #define HSIO_WRAP_XMII_CFG(g)                                                  \
5375 	__REG(TARGET_HSIO_WRAP, 0, 1, 116, g, 2, 20, 0, 0, 1, 4)
5376 
5377 #define HSIO_WRAP_XMII_CFG_GPIO_XMII_CFG         GENMASK(2, 1)
5378 #define HSIO_WRAP_XMII_CFG_GPIO_XMII_CFG_SET(x)\
5379 	FIELD_PREP(HSIO_WRAP_XMII_CFG_GPIO_XMII_CFG, x)
5380 #define HSIO_WRAP_XMII_CFG_GPIO_XMII_CFG_GET(x)\
5381 	FIELD_GET(HSIO_WRAP_XMII_CFG_GPIO_XMII_CFG, x)
5382 
5383 /* LAN969X ONLY */
5384 /* HSIOWRAP:XMII_CFG:RGMII_CFG */
5385 #define HSIO_WRAP_RGMII_CFG(g)                                                 \
5386 	__REG(TARGET_HSIO_WRAP, 0, 1, 116, g, 2, 20, 4, 0, 1, 4)
5387 
5388 #define HSIO_WRAP_RGMII_CFG_TX_CLK_CFG           GENMASK(4, 2)
5389 #define HSIO_WRAP_RGMII_CFG_TX_CLK_CFG_SET(x)\
5390 	FIELD_PREP(HSIO_WRAP_RGMII_CFG_TX_CLK_CFG, x)
5391 #define HSIO_WRAP_RGMII_CFG_TX_CLK_CFG_GET(x)\
5392 	FIELD_GET(HSIO_WRAP_RGMII_CFG_TX_CLK_CFG, x)
5393 
5394 #define HSIO_WRAP_RGMII_CFG_RGMII_TX_RST         BIT(1)
5395 #define HSIO_WRAP_RGMII_CFG_RGMII_TX_RST_SET(x)\
5396 	FIELD_PREP(HSIO_WRAP_RGMII_CFG_RGMII_TX_RST, x)
5397 #define HSIO_WRAP_RGMII_CFG_RGMII_TX_RST_GET(x)\
5398 	FIELD_GET(HSIO_WRAP_RGMII_CFG_RGMII_TX_RST, x)
5399 
5400 #define HSIO_WRAP_RGMII_CFG_RGMII_RX_RST         BIT(0)
5401 #define HSIO_WRAP_RGMII_CFG_RGMII_RX_RST_SET(x)\
5402 	FIELD_PREP(HSIO_WRAP_RGMII_CFG_RGMII_RX_RST, x)
5403 #define HSIO_WRAP_RGMII_CFG_RGMII_RX_RST_GET(x)\
5404 	FIELD_GET(HSIO_WRAP_RGMII_CFG_RGMII_RX_RST, x)
5405 
5406 /* LAN969X ONLY */
5407 /* HSIOWRAP:XMII_CFG:DLL_CFG */
5408 #define HSIO_WRAP_DLL_CFG(g, r)                                                \
5409 	__REG(TARGET_HSIO_WRAP, 0, 1, 116, g, 2, 20, 12, r, 2, 4)
5410 
5411 #define HSIO_WRAP_DLL_CFG_DLL_ENA                BIT(19)
5412 #define HSIO_WRAP_DLL_CFG_DLL_ENA_SET(x)\
5413 	FIELD_PREP(HSIO_WRAP_DLL_CFG_DLL_ENA, x)
5414 #define HSIO_WRAP_DLL_CFG_DLL_ENA_GET(x)\
5415 	FIELD_GET(HSIO_WRAP_DLL_CFG_DLL_ENA, x)
5416 
5417 #define HSIO_WRAP_DLL_CFG_DLL_CLK_ENA            BIT(18)
5418 #define HSIO_WRAP_DLL_CFG_DLL_CLK_ENA_SET(x)\
5419 	FIELD_PREP(HSIO_WRAP_DLL_CFG_DLL_CLK_ENA, x)
5420 #define HSIO_WRAP_DLL_CFG_DLL_CLK_ENA_GET(x)\
5421 	FIELD_GET(HSIO_WRAP_DLL_CFG_DLL_CLK_ENA, x)
5422 
5423 #define HSIO_WRAP_DLL_CFG_DLL_CLK_SEL            GENMASK(17, 15)
5424 #define HSIO_WRAP_DLL_CFG_DLL_CLK_SEL_SET(x)\
5425 	FIELD_PREP(HSIO_WRAP_DLL_CFG_DLL_CLK_SEL, x)
5426 #define HSIO_WRAP_DLL_CFG_DLL_CLK_SEL_GET(x)\
5427 	FIELD_GET(HSIO_WRAP_DLL_CFG_DLL_CLK_SEL, x)
5428 
5429 #define HSIO_WRAP_DLL_CFG_DLL_RST                BIT(0)
5430 #define HSIO_WRAP_DLL_CFG_DLL_RST_SET(x)\
5431 	FIELD_PREP(HSIO_WRAP_DLL_CFG_DLL_RST, x)
5432 #define HSIO_WRAP_DLL_CFG_DLL_RST_GET(x)\
5433 	FIELD_GET(HSIO_WRAP_DLL_CFG_DLL_RST, x)
5434 
5435 /* LRN:COMMON:COMMON_ACCESS_CTRL */
5436 #define LRN_COMMON_ACCESS_CTRL                                                 \
5437 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 0, 0, 1, 4)
5438 
5439 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL GENMASK(21, 20)
5440 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL_SET(x)\
5441 	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL, x)
5442 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL_GET(x)\
5443 	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL, x)
5444 
5445 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE BIT(19)
5446 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE_SET(x)\
5447 	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE, x)
5448 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE_GET(x)\
5449 	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE, x)
5450 
5451 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW\
5452 	GENMASK(regs->fsize[FW_LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW] + 5 - 1, 5)
5453 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW_SET(x)\
5454 	spx5_field_prep(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW, x)
5455 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW_GET(x)\
5456 	spx5_field_get(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW, x)
5457 
5458 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD    GENMASK(4, 1)
5459 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_SET(x)\
5460 	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD, x)
5461 #define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_GET(x)\
5462 	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD, x)
5463 
5464 #define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT BIT(0)
5465 #define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT_SET(x)\
5466 	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT, x)
5467 #define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT_GET(x)\
5468 	FIELD_GET(LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT, x)
5469 
5470 /* LRN:COMMON:MAC_ACCESS_CFG_0 */
5471 #define LRN_MAC_ACCESS_CFG_0                                                   \
5472 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 4, 0, 1, 4)
5473 
5474 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID       GENMASK(28, 16)
5475 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID_SET(x)\
5476 	FIELD_PREP(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID, x)
5477 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID_GET(x)\
5478 	FIELD_GET(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID, x)
5479 
5480 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB   GENMASK(15, 0)
5481 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB_SET(x)\
5482 	FIELD_PREP(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB, x)
5483 #define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB_GET(x)\
5484 	FIELD_GET(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB, x)
5485 
5486 /* LRN:COMMON:MAC_ACCESS_CFG_1 */
5487 #define LRN_MAC_ACCESS_CFG_1                                                   \
5488 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 8, 0, 1, 4)
5489 
5490 /* LRN:COMMON:MAC_ACCESS_CFG_2 */
5491 #define LRN_MAC_ACCESS_CFG_2                                                   \
5492 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 12, 0, 1, 4)
5493 
5494 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD BIT(28)
5495 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD_SET(x)\
5496 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD, x)
5497 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD_GET(x)\
5498 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD, x)
5499 
5500 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL BIT(27)
5501 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL_SET(x)\
5502 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL, x)
5503 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL_GET(x)\
5504 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL, x)
5505 
5506 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU    GENMASK(26, 24)
5507 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU_SET(x)\
5508 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU, x)
5509 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU_GET(x)\
5510 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU, x)
5511 
5512 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY  BIT(23)
5513 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY_SET(x)\
5514 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY, x)
5515 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY_GET(x)\
5516 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY, x)
5517 
5518 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE BIT(22)
5519 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE_SET(x)\
5520 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE, x)
5521 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE_GET(x)\
5522 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE, x)
5523 
5524 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR    BIT(21)
5525 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR_SET(x)\
5526 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR, x)
5527 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR_GET(x)\
5528 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR, x)
5529 
5530 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG  GENMASK(20, 19)
5531 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG_SET(x)\
5532 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG, x)
5533 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG_GET(x)\
5534 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG, x)
5535 
5536 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL GENMASK(18, 17)
5537 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL_SET(x)\
5538 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL, x)
5539 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL_GET(x)\
5540 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL, x)
5541 
5542 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED    BIT(16)
5543 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED_SET(x)\
5544 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED, x)
5545 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED_GET(x)\
5546 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED, x)
5547 
5548 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD       BIT(15)
5549 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD_SET(x)\
5550 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD, x)
5551 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD_GET(x)\
5552 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD, x)
5553 
5554 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE GENMASK(14, 12)
5555 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE_SET(x)\
5556 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE, x)
5557 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE_GET(x)\
5558 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE, x)
5559 
5560 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR      GENMASK(11, 0)
5561 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_SET(x)\
5562 	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR, x)
5563 #define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(x)\
5564 	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR, x)
5565 
5566 /* LRN:COMMON:MAC_ACCESS_CFG_3 */
5567 #define LRN_MAC_ACCESS_CFG_3                                                   \
5568 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 16, 0, 1, 4)
5569 
5570 #define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX\
5571 	GENMASK(regs->fsize[FW_LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX] + 0 - 1, 0)
5572 #define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX_SET(x)\
5573 	spx5_field_prep(LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX, x)
5574 #define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX_GET(x)\
5575 	spx5_field_get(LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX, x)
5576 
5577 /* LRN:COMMON:SCAN_NEXT_CFG */
5578 #define LRN_SCAN_NEXT_CFG                                                      \
5579 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 20, 0, 1, 4)
5580 
5581 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL GENMASK(21, 19)
5582 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL_SET(x)\
5583 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL, x)
5584 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL_GET(x)\
5585 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL, x)
5586 
5587 #define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL GENMASK(18, 17)
5588 #define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL_SET(x)\
5589 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL, x)
5590 #define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL_GET(x)\
5591 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL, x)
5592 
5593 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL    GENMASK(16, 15)
5594 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL_SET(x)\
5595 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL, x)
5596 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL_GET(x)\
5597 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL, x)
5598 
5599 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA BIT(14)
5600 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA_SET(x)\
5601 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA, x)
5602 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA_GET(x)\
5603 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA, x)
5604 
5605 #define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA BIT(13)
5606 #define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA_SET(x)\
5607 	FIELD_PREP(LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA, x)
5608 #define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA_GET(x)\
5609 	FIELD_GET(LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA, x)
5610 
5611 #define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA BIT(12)
5612 #define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA_SET(x)\
5613 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA, x)
5614 #define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA_GET(x)\
5615 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA, x)
5616 
5617 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA BIT(11)
5618 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA_SET(x)\
5619 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA, x)
5620 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA_GET(x)\
5621 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA, x)
5622 
5623 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA BIT(10)
5624 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA_SET(x)\
5625 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA, x)
5626 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA_GET(x)\
5627 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA, x)
5628 
5629 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA BIT(9)
5630 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA_SET(x)\
5631 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA, x)
5632 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA_GET(x)\
5633 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA, x)
5634 
5635 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA BIT(8)
5636 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA_SET(x)\
5637 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA, x)
5638 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA_GET(x)\
5639 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA, x)
5640 
5641 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA BIT(7)
5642 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA_SET(x)\
5643 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA, x)
5644 #define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA_GET(x)\
5645 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA, x)
5646 
5647 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK GENMASK(6, 3)
5648 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK_SET(x)\
5649 	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK, x)
5650 #define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK_GET(x)\
5651 	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK, x)
5652 
5653 #define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA BIT(2)
5654 #define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA_SET(x)\
5655 	FIELD_PREP(LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA, x)
5656 #define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA_GET(x)\
5657 	FIELD_GET(LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA, x)
5658 
5659 #define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA         BIT(1)
5660 #define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA_SET(x)\
5661 	FIELD_PREP(LRN_SCAN_NEXT_CFG_FID_FILTER_ENA, x)
5662 #define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA_GET(x)\
5663 	FIELD_GET(LRN_SCAN_NEXT_CFG_FID_FILTER_ENA, x)
5664 
5665 #define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA        BIT(0)
5666 #define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA_SET(x)\
5667 	FIELD_PREP(LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA, x)
5668 #define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA_GET(x)\
5669 	FIELD_GET(LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA, x)
5670 
5671 /* LRN:COMMON:SCAN_NEXT_CFG_1 */
5672 #define LRN_SCAN_NEXT_CFG_1                                                    \
5673 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 24, 0, 1, 4)
5674 
5675 #define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR   GENMASK(30, 16)
5676 #define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR_SET(x)\
5677 	FIELD_PREP(LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR, x)
5678 #define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR_GET(x)\
5679 	FIELD_GET(LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR, x)
5680 
5681 #define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK GENMASK(14, 0)
5682 #define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK_SET(x)\
5683 	FIELD_PREP(LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK, x)
5684 #define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK_GET(x)\
5685 	FIELD_GET(LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK, x)
5686 
5687 /* LRN:COMMON:AUTOAGE_CFG */
5688 #define LRN_AUTOAGE_CFG(r)                                                     \
5689 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 36, r, 4, 4)
5690 
5691 #define LRN_AUTOAGE_CFG_UNIT_SIZE                GENMASK(29, 28)
5692 #define LRN_AUTOAGE_CFG_UNIT_SIZE_SET(x)\
5693 	FIELD_PREP(LRN_AUTOAGE_CFG_UNIT_SIZE, x)
5694 #define LRN_AUTOAGE_CFG_UNIT_SIZE_GET(x)\
5695 	FIELD_GET(LRN_AUTOAGE_CFG_UNIT_SIZE, x)
5696 
5697 #define LRN_AUTOAGE_CFG_PERIOD_VAL               GENMASK(27, 0)
5698 #define LRN_AUTOAGE_CFG_PERIOD_VAL_SET(x)\
5699 	FIELD_PREP(LRN_AUTOAGE_CFG_PERIOD_VAL, x)
5700 #define LRN_AUTOAGE_CFG_PERIOD_VAL_GET(x)\
5701 	FIELD_GET(LRN_AUTOAGE_CFG_PERIOD_VAL, x)
5702 
5703 /* LRN:COMMON:AUTOAGE_CFG_1 */
5704 #define LRN_AUTOAGE_CFG_1                                                      \
5705 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 52, 0, 1, 4)
5706 
5707 #define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA     BIT(25)
5708 #define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA_SET(x)\
5709 	FIELD_PREP(LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA, x)
5710 #define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA_GET(x)\
5711 	FIELD_GET(LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA, x)
5712 
5713 #define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN GENMASK(24, 15)
5714 #define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN_SET(x)\
5715 	FIELD_PREP(LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN, x)
5716 #define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN_GET(x)\
5717 	FIELD_GET(LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN, x)
5718 
5719 #define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS        GENMASK(14, 7)
5720 #define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS_SET(x)\
5721 	FIELD_PREP(LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS, x)
5722 #define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS_GET(x)\
5723 	FIELD_GET(LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS, x)
5724 
5725 #define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA    BIT(6)
5726 #define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA_SET(x)\
5727 	FIELD_PREP(LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA, x)
5728 #define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA_GET(x)\
5729 	FIELD_GET(LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA, x)
5730 
5731 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT     GENMASK(5, 2)
5732 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT_SET(x)\
5733 	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT, x)
5734 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT_GET(x)\
5735 	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT, x)
5736 
5737 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT BIT(1)
5738 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT_SET(x)\
5739 	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT, x)
5740 #define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT_GET(x)\
5741 	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT, x)
5742 
5743 #define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA         BIT(0)
5744 #define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA_SET(x)\
5745 	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA, x)
5746 #define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA_GET(x)\
5747 	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA, x)
5748 
5749 /* LRN:COMMON:AUTOAGE_CFG_2 */
5750 #define LRN_AUTOAGE_CFG_2                                                      \
5751 	__REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 56, 0, 1, 4)
5752 
5753 #define LRN_AUTOAGE_CFG_2_NEXT_ROW\
5754 	GENMASK(regs->fsize[FW_LRN_AUTOAGE_CFG_2_NEXT_ROW] + 4 - 1, 4)
5755 #define LRN_AUTOAGE_CFG_2_NEXT_ROW_SET(x)\
5756 	spx5_field_prep(LRN_AUTOAGE_CFG_2_NEXT_ROW, x)
5757 #define LRN_AUTOAGE_CFG_2_NEXT_ROW_GET(x)\
5758 	spx5_field_get(LRN_AUTOAGE_CFG_2_NEXT_ROW, x)
5759 
5760 #define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS    GENMASK(3, 0)
5761 #define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS_SET(x)\
5762 	FIELD_PREP(LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS, x)
5763 #define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS_GET(x)\
5764 	FIELD_GET(LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS, x)
5765 
5766 /* SPARX5 ONLY */
5767 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_REGION_CTRL_2_OFF_OUTBOUND_0 */
5768 #define PCEP_RCTRL_2_OUT_0                                                     \
5769 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 4, 0, 1, 4)
5770 
5771 #define PCEP_RCTRL_2_OUT_0_MSG_CODE              GENMASK(7, 0)
5772 #define PCEP_RCTRL_2_OUT_0_MSG_CODE_SET(x)\
5773 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_MSG_CODE, x)
5774 #define PCEP_RCTRL_2_OUT_0_MSG_CODE_GET(x)\
5775 	FIELD_GET(PCEP_RCTRL_2_OUT_0_MSG_CODE, x)
5776 
5777 #define PCEP_RCTRL_2_OUT_0_TAG                   GENMASK(15, 8)
5778 #define PCEP_RCTRL_2_OUT_0_TAG_SET(x)\
5779 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_TAG, x)
5780 #define PCEP_RCTRL_2_OUT_0_TAG_GET(x)\
5781 	FIELD_GET(PCEP_RCTRL_2_OUT_0_TAG, x)
5782 
5783 #define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN     BIT(16)
5784 #define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN_SET(x)\
5785 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN, x)
5786 #define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN_GET(x)\
5787 	FIELD_GET(PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN, x)
5788 
5789 #define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS           BIT(19)
5790 #define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS_SET(x)\
5791 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_FUNC_BYPASS, x)
5792 #define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS_GET(x)\
5793 	FIELD_GET(PCEP_RCTRL_2_OUT_0_FUNC_BYPASS, x)
5794 
5795 #define PCEP_RCTRL_2_OUT_0_SNP                   BIT(20)
5796 #define PCEP_RCTRL_2_OUT_0_SNP_SET(x)\
5797 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_SNP, x)
5798 #define PCEP_RCTRL_2_OUT_0_SNP_GET(x)\
5799 	FIELD_GET(PCEP_RCTRL_2_OUT_0_SNP, x)
5800 
5801 #define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD       BIT(22)
5802 #define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD_SET(x)\
5803 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD, x)
5804 #define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD_GET(x)\
5805 	FIELD_GET(PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD, x)
5806 
5807 #define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN  BIT(23)
5808 #define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN_SET(x)\
5809 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN, x)
5810 #define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN_GET(x)\
5811 	FIELD_GET(PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN, x)
5812 
5813 #define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE        BIT(28)
5814 #define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE_SET(x)\
5815 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE, x)
5816 #define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE_GET(x)\
5817 	FIELD_GET(PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE, x)
5818 
5819 #define PCEP_RCTRL_2_OUT_0_INVERT_MODE           BIT(29)
5820 #define PCEP_RCTRL_2_OUT_0_INVERT_MODE_SET(x)\
5821 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_INVERT_MODE, x)
5822 #define PCEP_RCTRL_2_OUT_0_INVERT_MODE_GET(x)\
5823 	FIELD_GET(PCEP_RCTRL_2_OUT_0_INVERT_MODE, x)
5824 
5825 #define PCEP_RCTRL_2_OUT_0_REGION_EN             BIT(31)
5826 #define PCEP_RCTRL_2_OUT_0_REGION_EN_SET(x)\
5827 	FIELD_PREP(PCEP_RCTRL_2_OUT_0_REGION_EN, x)
5828 #define PCEP_RCTRL_2_OUT_0_REGION_EN_GET(x)\
5829 	FIELD_GET(PCEP_RCTRL_2_OUT_0_REGION_EN, x)
5830 
5831 /* SPARX5 ONLY */
5832 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_LWR_BASE_ADDR_OFF_OUTBOUND_0 */
5833 #define PCEP_ADDR_LWR_OUT_0                                                    \
5834 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 8, 0, 1, 4)
5835 
5836 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW          GENMASK(15, 0)
5837 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW_SET(x)\
5838 	FIELD_PREP(PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW, x)
5839 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW_GET(x)\
5840 	FIELD_GET(PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW, x)
5841 
5842 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW          GENMASK(31, 16)
5843 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW_SET(x)\
5844 	FIELD_PREP(PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW, x)
5845 #define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW_GET(x)\
5846 	FIELD_GET(PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW, x)
5847 
5848 /* SPARX5 ONLY */
5849 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPER_BASE_ADDR_OFF_OUTBOUND_0 */
5850 #define PCEP_ADDR_UPR_OUT_0                                                    \
5851 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 12, 0, 1, 4)
5852 
5853 /* SPARX5 ONLY */
5854 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_LIMIT_ADDR_OFF_OUTBOUND_0 */
5855 #define PCEP_ADDR_LIM_OUT_0                                                    \
5856 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 16, 0, 1, 4)
5857 
5858 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW        GENMASK(15, 0)
5859 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW_SET(x)\
5860 	FIELD_PREP(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW, x)
5861 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW_GET(x)\
5862 	FIELD_GET(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW, x)
5863 
5864 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW        GENMASK(31, 16)
5865 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW_SET(x)\
5866 	FIELD_PREP(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW, x)
5867 #define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW_GET(x)\
5868 	FIELD_GET(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW, x)
5869 
5870 /* SPARX5 ONLY */
5871 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_LWR_TARGET_ADDR_OFF_OUTBOUND_0 */
5872 #define PCEP_ADDR_LWR_TGT_OUT_0                                                \
5873 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 20, 0, 1, 4)
5874 
5875 /* SPARX5 ONLY */
5876 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPER_TARGET_ADDR_OFF_OUTBOUND_0 */
5877 #define PCEP_ADDR_UPR_TGT_OUT_0                                                \
5878 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 24, 0, 1, 4)
5879 
5880 /* SPARX5 ONLY */
5881 /* PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPR_LIMIT_ADDR_OFF_OUTBOUND_0 */
5882 #define PCEP_ADDR_UPR_LIM_OUT_0                                                \
5883 	__REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 32, 0, 1, 4)
5884 
5885 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW GENMASK(1, 0)
5886 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW_SET(x)\
5887 	FIELD_PREP(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW, x)
5888 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW_GET(x)\
5889 	FIELD_GET(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW, x)
5890 
5891 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW GENMASK(31, 2)
5892 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW_SET(x)\
5893 	FIELD_PREP(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW, x)
5894 #define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW_GET(x)\
5895 	FIELD_GET(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW, x)
5896 
5897 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
5898 #define PCS10G_BR_PCS_CFG(t)                                                   \
5899 	__REG(TARGET_PCS10G_BR, t, regs->tsize[TC_PCS10G_BR], 0, 0, 1, 56, 0,  \
5900 	      0, 1, 4)
5901 
5902 #define PCS10G_BR_PCS_CFG_PCS_ENA                BIT(31)
5903 #define PCS10G_BR_PCS_CFG_PCS_ENA_SET(x)\
5904 	FIELD_PREP(PCS10G_BR_PCS_CFG_PCS_ENA, x)
5905 #define PCS10G_BR_PCS_CFG_PCS_ENA_GET(x)\
5906 	FIELD_GET(PCS10G_BR_PCS_CFG_PCS_ENA, x)
5907 
5908 #define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA       BIT(30)
5909 #define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
5910 	FIELD_PREP(PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
5911 #define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
5912 	FIELD_GET(PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
5913 
5914 #define PCS10G_BR_PCS_CFG_SH_CNT_MAX             GENMASK(29, 24)
5915 #define PCS10G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
5916 	FIELD_PREP(PCS10G_BR_PCS_CFG_SH_CNT_MAX, x)
5917 #define PCS10G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
5918 	FIELD_GET(PCS10G_BR_PCS_CFG_SH_CNT_MAX, x)
5919 
5920 #define PCS10G_BR_PCS_CFG_RX_DATA_FLIP           BIT(18)
5921 #define PCS10G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
5922 	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_DATA_FLIP, x)
5923 #define PCS10G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
5924 	FIELD_GET(PCS10G_BR_PCS_CFG_RX_DATA_FLIP, x)
5925 
5926 #define PCS10G_BR_PCS_CFG_RESYNC_ENA             BIT(15)
5927 #define PCS10G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
5928 	FIELD_PREP(PCS10G_BR_PCS_CFG_RESYNC_ENA, x)
5929 #define PCS10G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
5930 	FIELD_GET(PCS10G_BR_PCS_CFG_RESYNC_ENA, x)
5931 
5932 #define PCS10G_BR_PCS_CFG_LF_GEN_DIS             BIT(14)
5933 #define PCS10G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
5934 	FIELD_PREP(PCS10G_BR_PCS_CFG_LF_GEN_DIS, x)
5935 #define PCS10G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
5936 	FIELD_GET(PCS10G_BR_PCS_CFG_LF_GEN_DIS, x)
5937 
5938 #define PCS10G_BR_PCS_CFG_RX_TEST_MODE           BIT(13)
5939 #define PCS10G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
5940 	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_TEST_MODE, x)
5941 #define PCS10G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
5942 	FIELD_GET(PCS10G_BR_PCS_CFG_RX_TEST_MODE, x)
5943 
5944 #define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE         BIT(12)
5945 #define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
5946 	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_SCR_DISABLE, x)
5947 #define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
5948 	FIELD_GET(PCS10G_BR_PCS_CFG_RX_SCR_DISABLE, x)
5949 
5950 #define PCS10G_BR_PCS_CFG_TX_DATA_FLIP           BIT(7)
5951 #define PCS10G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
5952 	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_DATA_FLIP, x)
5953 #define PCS10G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
5954 	FIELD_GET(PCS10G_BR_PCS_CFG_TX_DATA_FLIP, x)
5955 
5956 #define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA       BIT(6)
5957 #define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
5958 	FIELD_PREP(PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
5959 #define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
5960 	FIELD_GET(PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
5961 
5962 #define PCS10G_BR_PCS_CFG_TX_TEST_MODE           BIT(4)
5963 #define PCS10G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
5964 	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_TEST_MODE, x)
5965 #define PCS10G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
5966 	FIELD_GET(PCS10G_BR_PCS_CFG_TX_TEST_MODE, x)
5967 
5968 #define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE         BIT(3)
5969 #define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
5970 	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_SCR_DISABLE, x)
5971 #define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
5972 	FIELD_GET(PCS10G_BR_PCS_CFG_TX_SCR_DISABLE, x)
5973 
5974 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
5975 #define PCS10G_BR_PCS_SD_CFG(t)                                                \
5976 	__REG(TARGET_PCS10G_BR, t, regs->tsize[TC_PCS10G_BR], 0, 0, 1, 56, 4,  \
5977 	      0, 1, 4)
5978 
5979 #define PCS10G_BR_PCS_SD_CFG_SD_SEL              BIT(8)
5980 #define PCS10G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
5981 	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_SEL, x)
5982 #define PCS10G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
5983 	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_SEL, x)
5984 
5985 #define PCS10G_BR_PCS_SD_CFG_SD_POL              BIT(4)
5986 #define PCS10G_BR_PCS_SD_CFG_SD_POL_SET(x)\
5987 	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_POL, x)
5988 #define PCS10G_BR_PCS_SD_CFG_SD_POL_GET(x)\
5989 	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_POL, x)
5990 
5991 #define PCS10G_BR_PCS_SD_CFG_SD_ENA              BIT(0)
5992 #define PCS10G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
5993 	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_ENA, x)
5994 #define PCS10G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
5995 	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_ENA, x)
5996 
5997 /* SPARX5 ONLY */
5998 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
5999 #define PCS25G_BR_PCS_CFG(t)                                                   \
6000 	__REG(TARGET_PCS25G_BR, t, 8, 0, 0, 1, 56, 0, 0, 1, 4)
6001 
6002 #define PCS25G_BR_PCS_CFG_PCS_ENA                BIT(31)
6003 #define PCS25G_BR_PCS_CFG_PCS_ENA_SET(x)\
6004 	FIELD_PREP(PCS25G_BR_PCS_CFG_PCS_ENA, x)
6005 #define PCS25G_BR_PCS_CFG_PCS_ENA_GET(x)\
6006 	FIELD_GET(PCS25G_BR_PCS_CFG_PCS_ENA, x)
6007 
6008 #define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA       BIT(30)
6009 #define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
6010 	FIELD_PREP(PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
6011 #define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
6012 	FIELD_GET(PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
6013 
6014 #define PCS25G_BR_PCS_CFG_SH_CNT_MAX             GENMASK(29, 24)
6015 #define PCS25G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
6016 	FIELD_PREP(PCS25G_BR_PCS_CFG_SH_CNT_MAX, x)
6017 #define PCS25G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
6018 	FIELD_GET(PCS25G_BR_PCS_CFG_SH_CNT_MAX, x)
6019 
6020 #define PCS25G_BR_PCS_CFG_RX_DATA_FLIP           BIT(18)
6021 #define PCS25G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
6022 	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_DATA_FLIP, x)
6023 #define PCS25G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
6024 	FIELD_GET(PCS25G_BR_PCS_CFG_RX_DATA_FLIP, x)
6025 
6026 #define PCS25G_BR_PCS_CFG_RESYNC_ENA             BIT(15)
6027 #define PCS25G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
6028 	FIELD_PREP(PCS25G_BR_PCS_CFG_RESYNC_ENA, x)
6029 #define PCS25G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
6030 	FIELD_GET(PCS25G_BR_PCS_CFG_RESYNC_ENA, x)
6031 
6032 #define PCS25G_BR_PCS_CFG_LF_GEN_DIS             BIT(14)
6033 #define PCS25G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
6034 	FIELD_PREP(PCS25G_BR_PCS_CFG_LF_GEN_DIS, x)
6035 #define PCS25G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
6036 	FIELD_GET(PCS25G_BR_PCS_CFG_LF_GEN_DIS, x)
6037 
6038 #define PCS25G_BR_PCS_CFG_RX_TEST_MODE           BIT(13)
6039 #define PCS25G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
6040 	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_TEST_MODE, x)
6041 #define PCS25G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
6042 	FIELD_GET(PCS25G_BR_PCS_CFG_RX_TEST_MODE, x)
6043 
6044 #define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE         BIT(12)
6045 #define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
6046 	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_SCR_DISABLE, x)
6047 #define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
6048 	FIELD_GET(PCS25G_BR_PCS_CFG_RX_SCR_DISABLE, x)
6049 
6050 #define PCS25G_BR_PCS_CFG_TX_DATA_FLIP           BIT(7)
6051 #define PCS25G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
6052 	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_DATA_FLIP, x)
6053 #define PCS25G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
6054 	FIELD_GET(PCS25G_BR_PCS_CFG_TX_DATA_FLIP, x)
6055 
6056 #define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA       BIT(6)
6057 #define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
6058 	FIELD_PREP(PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
6059 #define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
6060 	FIELD_GET(PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
6061 
6062 #define PCS25G_BR_PCS_CFG_TX_TEST_MODE           BIT(4)
6063 #define PCS25G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
6064 	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_TEST_MODE, x)
6065 #define PCS25G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
6066 	FIELD_GET(PCS25G_BR_PCS_CFG_TX_TEST_MODE, x)
6067 
6068 #define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE         BIT(3)
6069 #define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
6070 	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_SCR_DISABLE, x)
6071 #define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
6072 	FIELD_GET(PCS25G_BR_PCS_CFG_TX_SCR_DISABLE, x)
6073 
6074 /* SPARX5 ONLY */
6075 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
6076 #define PCS25G_BR_PCS_SD_CFG(t)                                                \
6077 	__REG(TARGET_PCS25G_BR, t, 8, 0, 0, 1, 56, 4, 0, 1, 4)
6078 
6079 #define PCS25G_BR_PCS_SD_CFG_SD_SEL              BIT(8)
6080 #define PCS25G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
6081 	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_SEL, x)
6082 #define PCS25G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
6083 	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_SEL, x)
6084 
6085 #define PCS25G_BR_PCS_SD_CFG_SD_POL              BIT(4)
6086 #define PCS25G_BR_PCS_SD_CFG_SD_POL_SET(x)\
6087 	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_POL, x)
6088 #define PCS25G_BR_PCS_SD_CFG_SD_POL_GET(x)\
6089 	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_POL, x)
6090 
6091 #define PCS25G_BR_PCS_SD_CFG_SD_ENA              BIT(0)
6092 #define PCS25G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
6093 	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_ENA, x)
6094 #define PCS25G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
6095 	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_ENA, x)
6096 
6097 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
6098 #define PCS5G_BR_PCS_CFG(t)                                                    \
6099 	__REG(TARGET_PCS5G_BR, t, regs->tsize[TC_PCS5G_BR], 0, 0, 1, 56, 0, 0, \
6100 	      1, 4)
6101 
6102 #define PCS5G_BR_PCS_CFG_PCS_ENA                 BIT(31)
6103 #define PCS5G_BR_PCS_CFG_PCS_ENA_SET(x)\
6104 	FIELD_PREP(PCS5G_BR_PCS_CFG_PCS_ENA, x)
6105 #define PCS5G_BR_PCS_CFG_PCS_ENA_GET(x)\
6106 	FIELD_GET(PCS5G_BR_PCS_CFG_PCS_ENA, x)
6107 
6108 #define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA        BIT(30)
6109 #define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
6110 	FIELD_PREP(PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
6111 #define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
6112 	FIELD_GET(PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
6113 
6114 #define PCS5G_BR_PCS_CFG_SH_CNT_MAX              GENMASK(29, 24)
6115 #define PCS5G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
6116 	FIELD_PREP(PCS5G_BR_PCS_CFG_SH_CNT_MAX, x)
6117 #define PCS5G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
6118 	FIELD_GET(PCS5G_BR_PCS_CFG_SH_CNT_MAX, x)
6119 
6120 #define PCS5G_BR_PCS_CFG_RX_DATA_FLIP            BIT(18)
6121 #define PCS5G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
6122 	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_DATA_FLIP, x)
6123 #define PCS5G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
6124 	FIELD_GET(PCS5G_BR_PCS_CFG_RX_DATA_FLIP, x)
6125 
6126 #define PCS5G_BR_PCS_CFG_RESYNC_ENA              BIT(15)
6127 #define PCS5G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
6128 	FIELD_PREP(PCS5G_BR_PCS_CFG_RESYNC_ENA, x)
6129 #define PCS5G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
6130 	FIELD_GET(PCS5G_BR_PCS_CFG_RESYNC_ENA, x)
6131 
6132 #define PCS5G_BR_PCS_CFG_LF_GEN_DIS              BIT(14)
6133 #define PCS5G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
6134 	FIELD_PREP(PCS5G_BR_PCS_CFG_LF_GEN_DIS, x)
6135 #define PCS5G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
6136 	FIELD_GET(PCS5G_BR_PCS_CFG_LF_GEN_DIS, x)
6137 
6138 #define PCS5G_BR_PCS_CFG_RX_TEST_MODE            BIT(13)
6139 #define PCS5G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
6140 	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_TEST_MODE, x)
6141 #define PCS5G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
6142 	FIELD_GET(PCS5G_BR_PCS_CFG_RX_TEST_MODE, x)
6143 
6144 #define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE          BIT(12)
6145 #define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
6146 	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_SCR_DISABLE, x)
6147 #define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
6148 	FIELD_GET(PCS5G_BR_PCS_CFG_RX_SCR_DISABLE, x)
6149 
6150 #define PCS5G_BR_PCS_CFG_TX_DATA_FLIP            BIT(7)
6151 #define PCS5G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
6152 	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_DATA_FLIP, x)
6153 #define PCS5G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
6154 	FIELD_GET(PCS5G_BR_PCS_CFG_TX_DATA_FLIP, x)
6155 
6156 #define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA        BIT(6)
6157 #define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
6158 	FIELD_PREP(PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
6159 #define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
6160 	FIELD_GET(PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
6161 
6162 #define PCS5G_BR_PCS_CFG_TX_TEST_MODE            BIT(4)
6163 #define PCS5G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
6164 	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_TEST_MODE, x)
6165 #define PCS5G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
6166 	FIELD_GET(PCS5G_BR_PCS_CFG_TX_TEST_MODE, x)
6167 
6168 #define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE          BIT(3)
6169 #define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
6170 	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_SCR_DISABLE, x)
6171 #define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
6172 	FIELD_GET(PCS5G_BR_PCS_CFG_TX_SCR_DISABLE, x)
6173 
6174 /* PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
6175 #define PCS5G_BR_PCS_SD_CFG(t)                                                 \
6176 	__REG(TARGET_PCS5G_BR, t, regs->tsize[TC_PCS5G_BR], 0, 0, 1, 56, 4, 0, \
6177 	      1, 4)
6178 
6179 #define PCS5G_BR_PCS_SD_CFG_SD_SEL               BIT(8)
6180 #define PCS5G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
6181 	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_SEL, x)
6182 #define PCS5G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
6183 	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_SEL, x)
6184 
6185 #define PCS5G_BR_PCS_SD_CFG_SD_POL               BIT(4)
6186 #define PCS5G_BR_PCS_SD_CFG_SD_POL_SET(x)\
6187 	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_POL, x)
6188 #define PCS5G_BR_PCS_SD_CFG_SD_POL_GET(x)\
6189 	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_POL, x)
6190 
6191 #define PCS5G_BR_PCS_SD_CFG_SD_ENA               BIT(0)
6192 #define PCS5G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
6193 	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_ENA, x)
6194 #define PCS5G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
6195 	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_ENA, x)
6196 
6197 /* PORT_CONF:HW_CFG:DEV5G_MODES */
6198 #define PORT_CONF_DEV5G_MODES                                                  \
6199 	__REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 0, 0, 1, 4)
6200 
6201 /* SPARX5 ONLY */
6202 #define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE      BIT(0)
6203 #define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE_SET(x)\
6204 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE, x)
6205 #define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE_GET(x)\
6206 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE, x)
6207 
6208 /* SPARX5 ONLY */
6209 #define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE      BIT(1)
6210 #define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE_SET(x)\
6211 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE, x)
6212 #define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE_GET(x)\
6213 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE, x)
6214 
6215 /* SPARX5 ONLY */
6216 #define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE      BIT(2)
6217 #define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE_SET(x)\
6218 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE, x)
6219 #define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE_GET(x)\
6220 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE, x)
6221 
6222 /* SPARX5 ONLY */
6223 #define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE      BIT(3)
6224 #define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE_SET(x)\
6225 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE, x)
6226 #define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE_GET(x)\
6227 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE, x)
6228 
6229 /* SPARX5 ONLY */
6230 #define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE      BIT(4)
6231 #define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE_SET(x)\
6232 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE, x)
6233 #define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE_GET(x)\
6234 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE, x)
6235 
6236 /* SPARX5 ONLY */
6237 #define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE      BIT(5)
6238 #define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE_SET(x)\
6239 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE, x)
6240 #define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE_GET(x)\
6241 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE, x)
6242 
6243 /* SPARX5 ONLY */
6244 #define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE      BIT(6)
6245 #define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE_SET(x)\
6246 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE, x)
6247 #define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE_GET(x)\
6248 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE, x)
6249 
6250 /* SPARX5 ONLY */
6251 #define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE      BIT(7)
6252 #define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE_SET(x)\
6253 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE, x)
6254 #define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE_GET(x)\
6255 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE, x)
6256 
6257 /* SPARX5 ONLY */
6258 #define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE      BIT(8)
6259 #define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE_SET(x)\
6260 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE, x)
6261 #define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE_GET(x)\
6262 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE, x)
6263 
6264 #define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE      BIT(9)
6265 #define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE_SET(x)\
6266 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE, x)
6267 #define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE_GET(x)\
6268 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE, x)
6269 
6270 /* SPARX5 ONLY */
6271 #define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE     BIT(10)
6272 #define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE_SET(x)\
6273 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE, x)
6274 #define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE_GET(x)\
6275 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE, x)
6276 
6277 /* SPARX5 ONLY */
6278 #define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE     BIT(11)
6279 #define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE_SET(x)\
6280 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE, x)
6281 #define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE_GET(x)\
6282 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE, x)
6283 
6284 /* SPARX5 ONLY */
6285 #define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE     BIT(12)
6286 #define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE_SET(x)\
6287 	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE, x)
6288 #define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE_GET(x)\
6289 	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE, x)
6290 
6291 /* PORT_CONF:HW_CFG:DEV10G_MODES */
6292 #define PORT_CONF_DEV10G_MODES                                                 \
6293 	__REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 4, 0, 1, 4)
6294 
6295 #define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE   BIT(0)
6296 #define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE_SET(x)\
6297 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE, x)
6298 #define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE_GET(x)\
6299 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE, x)
6300 
6301 /* SPARX5 ONLY */
6302 #define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE   BIT(1)
6303 #define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE_SET(x)\
6304 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE, x)
6305 #define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE_GET(x)\
6306 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE, x)
6307 
6308 /* SPARX5 ONLY */
6309 #define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE   BIT(2)
6310 #define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE_SET(x)\
6311 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE, x)
6312 #define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE_GET(x)\
6313 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE, x)
6314 
6315 /* SPARX5 ONLY */
6316 #define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE   BIT(3)
6317 #define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE_SET(x)\
6318 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE, x)
6319 #define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE_GET(x)\
6320 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE, x)
6321 
6322 /* SPARX5 ONLY */
6323 #define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE   BIT(4)
6324 #define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE_SET(x)\
6325 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE, x)
6326 #define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE_GET(x)\
6327 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE, x)
6328 
6329 /* SPARX5 ONLY */
6330 #define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE   BIT(5)
6331 #define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE_SET(x)\
6332 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE, x)
6333 #define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE_GET(x)\
6334 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE, x)
6335 
6336 /* SPARX5 ONLY */
6337 #define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE   BIT(6)
6338 #define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE_SET(x)\
6339 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE, x)
6340 #define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE_GET(x)\
6341 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE, x)
6342 
6343 /* SPARX5 ONLY */
6344 #define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE   BIT(7)
6345 #define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE_SET(x)\
6346 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE, x)
6347 #define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE_GET(x)\
6348 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE, x)
6349 
6350 /* SPARX5 ONLY */
6351 #define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE   BIT(8)
6352 #define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE_SET(x)\
6353 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE, x)
6354 #define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE_GET(x)\
6355 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE, x)
6356 
6357 /* SPARX5 ONLY */
6358 #define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE   BIT(9)
6359 #define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE_SET(x)\
6360 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE, x)
6361 #define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE_GET(x)\
6362 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE, x)
6363 
6364 /* SPARX5 ONLY */
6365 #define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE   BIT(10)
6366 #define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE_SET(x)\
6367 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE, x)
6368 #define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE_GET(x)\
6369 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE, x)
6370 
6371 /* SPARX5 ONLY */
6372 #define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE   BIT(11)
6373 #define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE_SET(x)\
6374 	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE, x)
6375 #define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE_GET(x)\
6376 	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE, x)
6377 
6378 /* SPARX5 ONLY */
6379 /* PORT_CONF:HW_CFG:DEV25G_MODES */
6380 #define PORT_CONF_DEV25G_MODES                                                 \
6381 	__REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 8, 0, 1, 4)
6382 
6383 #define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE   BIT(0)
6384 #define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE_SET(x)\
6385 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE, x)
6386 #define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE_GET(x)\
6387 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE, x)
6388 
6389 #define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE   BIT(1)
6390 #define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE_SET(x)\
6391 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE, x)
6392 #define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE_GET(x)\
6393 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE, x)
6394 
6395 #define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE   BIT(2)
6396 #define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE_SET(x)\
6397 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE, x)
6398 #define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE_GET(x)\
6399 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE, x)
6400 
6401 #define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE   BIT(3)
6402 #define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE_SET(x)\
6403 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE, x)
6404 #define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE_GET(x)\
6405 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE, x)
6406 
6407 #define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE   BIT(4)
6408 #define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE_SET(x)\
6409 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE, x)
6410 #define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE_GET(x)\
6411 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE, x)
6412 
6413 #define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE   BIT(5)
6414 #define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE_SET(x)\
6415 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE, x)
6416 #define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE_GET(x)\
6417 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE, x)
6418 
6419 #define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE   BIT(6)
6420 #define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE_SET(x)\
6421 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE, x)
6422 #define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE_GET(x)\
6423 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE, x)
6424 
6425 #define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE   BIT(7)
6426 #define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE_SET(x)\
6427 	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE, x)
6428 #define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE_GET(x)\
6429 	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE, x)
6430 
6431 /* PORT_CONF:HW_CFG:QSGMII_ENA */
6432 #define PORT_CONF_QSGMII_ENA                                                   \
6433 	__REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 12, 0, 1, 4)
6434 
6435 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0        BIT(0)
6436 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0_SET(x)\
6437 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_0, x)
6438 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0_GET(x)\
6439 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_0, x)
6440 
6441 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1        BIT(1)
6442 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1_SET(x)\
6443 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_1, x)
6444 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1_GET(x)\
6445 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_1, x)
6446 
6447 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2        BIT(2)
6448 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2_SET(x)\
6449 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_2, x)
6450 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2_GET(x)\
6451 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_2, x)
6452 
6453 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3        BIT(3)
6454 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3_SET(x)\
6455 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_3, x)
6456 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3_GET(x)\
6457 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_3, x)
6458 
6459 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4        BIT(4)
6460 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4_SET(x)\
6461 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_4, x)
6462 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4_GET(x)\
6463 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_4, x)
6464 
6465 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5        BIT(5)
6466 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5_SET(x)\
6467 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_5, x)
6468 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5_GET(x)\
6469 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_5, x)
6470 
6471 /* SPARX5 ONLY */
6472 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6        BIT(6)
6473 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6_SET(x)\
6474 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_6, x)
6475 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6_GET(x)\
6476 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_6, x)
6477 
6478 /* SPARX5 ONLY */
6479 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7        BIT(7)
6480 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7_SET(x)\
6481 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_7, x)
6482 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7_GET(x)\
6483 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_7, x)
6484 
6485 /* SPARX5 ONLY */
6486 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8        BIT(8)
6487 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8_SET(x)\
6488 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_8, x)
6489 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8_GET(x)\
6490 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_8, x)
6491 
6492 /* SPARX5 ONLY */
6493 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9        BIT(9)
6494 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9_SET(x)\
6495 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_9, x)
6496 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9_GET(x)\
6497 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_9, x)
6498 
6499 /* SPARX5 ONLY */
6500 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10       BIT(10)
6501 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10_SET(x)\
6502 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_10, x)
6503 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10_GET(x)\
6504 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_10, x)
6505 
6506 /* SPARX5 ONLY */
6507 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11       BIT(11)
6508 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11_SET(x)\
6509 	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_11, x)
6510 #define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11_GET(x)\
6511 	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_11, x)
6512 
6513 /* SPARX5 ONLY */
6514 /* PORT_CONF:USGMII_CFG_STAT:USGMII_CFG */
6515 #define PORT_CONF_USGMII_CFG(g)                                                \
6516 	__REG(TARGET_PORT_CONF, 0, 1, 72, g, 6, 8, 0, 0, 1, 4)
6517 
6518 #define PORT_CONF_USGMII_CFG_BYPASS_SCRAM        BIT(9)
6519 #define PORT_CONF_USGMII_CFG_BYPASS_SCRAM_SET(x)\
6520 	FIELD_PREP(PORT_CONF_USGMII_CFG_BYPASS_SCRAM, x)
6521 #define PORT_CONF_USGMII_CFG_BYPASS_SCRAM_GET(x)\
6522 	FIELD_GET(PORT_CONF_USGMII_CFG_BYPASS_SCRAM, x)
6523 
6524 #define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM      BIT(8)
6525 #define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM_SET(x)\
6526 	FIELD_PREP(PORT_CONF_USGMII_CFG_BYPASS_DESCRAM, x)
6527 #define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM_GET(x)\
6528 	FIELD_GET(PORT_CONF_USGMII_CFG_BYPASS_DESCRAM, x)
6529 
6530 #define PORT_CONF_USGMII_CFG_FLIP_LANES          BIT(7)
6531 #define PORT_CONF_USGMII_CFG_FLIP_LANES_SET(x)\
6532 	FIELD_PREP(PORT_CONF_USGMII_CFG_FLIP_LANES, x)
6533 #define PORT_CONF_USGMII_CFG_FLIP_LANES_GET(x)\
6534 	FIELD_GET(PORT_CONF_USGMII_CFG_FLIP_LANES, x)
6535 
6536 #define PORT_CONF_USGMII_CFG_SHYST_DIS           BIT(6)
6537 #define PORT_CONF_USGMII_CFG_SHYST_DIS_SET(x)\
6538 	FIELD_PREP(PORT_CONF_USGMII_CFG_SHYST_DIS, x)
6539 #define PORT_CONF_USGMII_CFG_SHYST_DIS_GET(x)\
6540 	FIELD_GET(PORT_CONF_USGMII_CFG_SHYST_DIS, x)
6541 
6542 #define PORT_CONF_USGMII_CFG_E_DET_ENA           BIT(5)
6543 #define PORT_CONF_USGMII_CFG_E_DET_ENA_SET(x)\
6544 	FIELD_PREP(PORT_CONF_USGMII_CFG_E_DET_ENA, x)
6545 #define PORT_CONF_USGMII_CFG_E_DET_ENA_GET(x)\
6546 	FIELD_GET(PORT_CONF_USGMII_CFG_E_DET_ENA, x)
6547 
6548 #define PORT_CONF_USGMII_CFG_USE_I1_ENA          BIT(4)
6549 #define PORT_CONF_USGMII_CFG_USE_I1_ENA_SET(x)\
6550 	FIELD_PREP(PORT_CONF_USGMII_CFG_USE_I1_ENA, x)
6551 #define PORT_CONF_USGMII_CFG_USE_I1_ENA_GET(x)\
6552 	FIELD_GET(PORT_CONF_USGMII_CFG_USE_I1_ENA, x)
6553 
6554 #define PORT_CONF_USGMII_CFG_QUAD_MODE           BIT(1)
6555 #define PORT_CONF_USGMII_CFG_QUAD_MODE_SET(x)\
6556 	FIELD_PREP(PORT_CONF_USGMII_CFG_QUAD_MODE, x)
6557 #define PORT_CONF_USGMII_CFG_QUAD_MODE_GET(x)\
6558 	FIELD_GET(PORT_CONF_USGMII_CFG_QUAD_MODE, x)
6559 
6560 /* DEVCPU_PTP:PTP_CFG:PTP_PIN_INTR */
6561 #define PTP_PTP_PIN_INTR                                                       \
6562 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_CFG], 0, 1, 16, 0, 0, 1,\
6563 	      4)
6564 
6565 #define PTP_PTP_PIN_INTR_INTR_PTP\
6566 	GENMASK(regs->fsize[FW_PTP_PTP_PIN_INTR_INTR_PTP] + 0 - 1, 0)
6567 #define PTP_PTP_PIN_INTR_INTR_PTP_SET(x)\
6568 	spx5_field_prep(PTP_PTP_PIN_INTR_INTR_PTP, x)
6569 #define PTP_PTP_PIN_INTR_INTR_PTP_GET(x)\
6570 	spx5_field_get(PTP_PTP_PIN_INTR_INTR_PTP, x)
6571 
6572 /* DEVCPU_PTP:PTP_CFG:PTP_PIN_INTR_ENA */
6573 #define PTP_PTP_PIN_INTR_ENA                                                   \
6574 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_CFG], 0, 1, 16, 4, 0, 1,\
6575 	      4)
6576 
6577 #define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA\
6578 	GENMASK(regs->fsize[FW_PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA] + 0 - 1, 0)
6579 #define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA_SET(x)\
6580 	spx5_field_prep(PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA, x)
6581 #define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA_GET(x)\
6582 	spx5_field_get(PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA, x)
6583 
6584 /* DEVCPU_PTP:PTP_CFG:PTP_INTR_IDENT */
6585 #define PTP_PTP_INTR_IDENT                                                     \
6586 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_CFG], 0, 1, 16, 8, 0, 1,\
6587 	      4)
6588 
6589 #define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT\
6590 	GENMASK(regs->fsize[FW_PTP_PTP_INTR_IDENT_INTR_PTP_IDENT] + 0 - 1, 0)
6591 #define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT_SET(x)\
6592 	spx5_field_prep(PTP_PTP_INTR_IDENT_INTR_PTP_IDENT, x)
6593 #define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT_GET(x)\
6594 	spx5_field_get(PTP_PTP_INTR_IDENT_INTR_PTP_IDENT, x)
6595 
6596 /* DEVCPU_PTP:PTP_CFG:PTP_DOM_CFG */
6597 #define PTP_PTP_DOM_CFG                                                        \
6598 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_CFG], 0, 1, 16, 12, 0,  \
6599 	      1, 4)
6600 
6601 #define PTP_PTP_DOM_CFG_PTP_ENA                  GENMASK(11, 9)
6602 #define PTP_PTP_DOM_CFG_PTP_ENA_SET(x)\
6603 	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_ENA, x)
6604 #define PTP_PTP_DOM_CFG_PTP_ENA_GET(x)\
6605 	FIELD_GET(PTP_PTP_DOM_CFG_PTP_ENA, x)
6606 
6607 #define PTP_PTP_DOM_CFG_PTP_HOLD                 GENMASK(8, 6)
6608 #define PTP_PTP_DOM_CFG_PTP_HOLD_SET(x)\
6609 	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_HOLD, x)
6610 #define PTP_PTP_DOM_CFG_PTP_HOLD_GET(x)\
6611 	FIELD_GET(PTP_PTP_DOM_CFG_PTP_HOLD, x)
6612 
6613 #define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE           GENMASK(5, 3)
6614 #define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE_SET(x)\
6615 	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_TOD_FREEZE, x)
6616 #define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE_GET(x)\
6617 	FIELD_GET(PTP_PTP_DOM_CFG_PTP_TOD_FREEZE, x)
6618 
6619 #define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS           GENMASK(2, 0)
6620 #define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS_SET(x)\
6621 	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS, x)
6622 #define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS_GET(x)\
6623 	FIELD_GET(PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS, x)
6624 
6625 /* DEVCPU_PTP:PTP_TOD_DOMAINS:CLK_PER_CFG */
6626 #define PTP_CLK_PER_CFG(g, r)                                                  \
6627 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6628 	      0, r, 2, 4)
6629 
6630 /* DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_NSEC */
6631 #define PTP_PTP_CUR_NSEC(g)                                                    \
6632 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6633 	      8, 0, 1, 4)
6634 
6635 #define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC            GENMASK(29, 0)
6636 #define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC_SET(x)\
6637 	FIELD_PREP(PTP_PTP_CUR_NSEC_PTP_CUR_NSEC, x)
6638 #define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC_GET(x)\
6639 	FIELD_GET(PTP_PTP_CUR_NSEC_PTP_CUR_NSEC, x)
6640 
6641 /* DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_NSEC_FRAC */
6642 #define PTP_PTP_CUR_NSEC_FRAC(g)                                               \
6643 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6644 	      12, 0, 1, 4)
6645 
6646 #define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC  GENMASK(7, 0)
6647 #define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC_SET(x)\
6648 	FIELD_PREP(PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC, x)
6649 #define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC_GET(x)\
6650 	FIELD_GET(PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC, x)
6651 
6652 /* DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_SEC_LSB */
6653 #define PTP_PTP_CUR_SEC_LSB(g)                                                 \
6654 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6655 	      16, 0, 1, 4)
6656 
6657 /* DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_SEC_MSB */
6658 #define PTP_PTP_CUR_SEC_MSB(g)                                                 \
6659 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6660 	      20, 0, 1, 4)
6661 
6662 #define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB      GENMASK(15, 0)
6663 #define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB_SET(x)\
6664 	FIELD_PREP(PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB, x)
6665 #define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB_GET(x)\
6666 	FIELD_GET(PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB, x)
6667 
6668 /* DEVCPU_PTP:PTP_TOD_DOMAINS:NTP_CUR_NSEC */
6669 #define PTP_NTP_CUR_NSEC(g)                                                    \
6670 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PTP_TOD_DOMAINS], g, 3, 28, \
6671 	      24, 0, 1, 4)
6672 
6673 /* DEVCPU_PTP:PTP_PINS:PTP_PIN_CFG */
6674 #define PTP_PTP_PIN_CFG(g)                                                     \
6675 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 0, 0, 1,\
6676 	      4)
6677 
6678 #define PTP_PTP_PIN_CFG_PTP_PIN_ACTION\
6679 	GENMASK(regs->fpos[FP_PTP_PTP_PIN_CFG_PTP_PIN_ACTION] + 2, regs->fpos[FP_PTP_PTP_PIN_CFG_PTP_PIN_ACTION])
6680 #define PTP_PTP_PIN_CFG_PTP_PIN_ACTION_SET(x)\
6681 	spx5_field_prep(PTP_PTP_PIN_CFG_PTP_PIN_ACTION, x)
6682 #define PTP_PTP_PIN_CFG_PTP_PIN_ACTION_GET(x)\
6683 	spx5_field_get(PTP_PTP_PIN_CFG_PTP_PIN_ACTION, x)
6684 
6685 #define PTP_PTP_PIN_CFG_PTP_PIN_SYNC\
6686 	GENMASK(regs->fpos[FP_PTP_PTP_PIN_CFG_PTP_PIN_SYNC] + 1, regs->fpos[FP_PTP_PTP_PIN_CFG_PTP_PIN_SYNC])
6687 #define PTP_PTP_PIN_CFG_PTP_PIN_SYNC_SET(x)\
6688 	spx5_field_prep(PTP_PTP_PIN_CFG_PTP_PIN_SYNC, x)
6689 #define PTP_PTP_PIN_CFG_PTP_PIN_SYNC_GET(x)\
6690 	spx5_field_get(PTP_PTP_PIN_CFG_PTP_PIN_SYNC, x)
6691 
6692 #define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL\
6693 	BIT(regs->fpos[FP_PTP_PTP_PIN_CFG_PTP_PIN_INV_POL])
6694 #define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL_SET(x)\
6695 	spx5_field_prep(PTP_PTP_PIN_CFG_PTP_PIN_INV_POL, x)
6696 #define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL_GET(x)\
6697 	spx5_field_get(PTP_PTP_PIN_CFG_PTP_PIN_INV_POL, x)
6698 
6699 #define PTP_PTP_PIN_CFG_PTP_PIN_SELECT\
6700 	GENMASK(regs->fsize[FW_PTP_PTP_PIN_CFG_PTP_PIN_SELECT] + 21 - 1, 21)
6701 #define PTP_PTP_PIN_CFG_PTP_PIN_SELECT_SET(x)\
6702 	spx5_field_prep(PTP_PTP_PIN_CFG_PTP_PIN_SELECT, x)
6703 #define PTP_PTP_PIN_CFG_PTP_PIN_SELECT_GET(x)\
6704 	spx5_field_get(PTP_PTP_PIN_CFG_PTP_PIN_SELECT, x)
6705 
6706 #define PTP_PTP_PIN_CFG_PTP_CLK_SELECT           GENMASK(20, 18)
6707 #define PTP_PTP_PIN_CFG_PTP_CLK_SELECT_SET(x)\
6708 	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_CLK_SELECT, x)
6709 #define PTP_PTP_PIN_CFG_PTP_CLK_SELECT_GET(x)\
6710 	FIELD_GET(PTP_PTP_PIN_CFG_PTP_CLK_SELECT, x)
6711 
6712 #define PTP_PTP_PIN_CFG_PTP_PIN_DOM              GENMASK(17, 16)
6713 #define PTP_PTP_PIN_CFG_PTP_PIN_DOM_SET(x)\
6714 	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_DOM, x)
6715 #define PTP_PTP_PIN_CFG_PTP_PIN_DOM_GET(x)\
6716 	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_DOM, x)
6717 
6718 #define PTP_PTP_PIN_CFG_PTP_PIN_OPT              GENMASK(15, 14)
6719 #define PTP_PTP_PIN_CFG_PTP_PIN_OPT_SET(x)\
6720 	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_OPT, x)
6721 #define PTP_PTP_PIN_CFG_PTP_PIN_OPT_GET(x)\
6722 	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_OPT, x)
6723 
6724 #define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK     BIT(13)
6725 #define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK_SET(x)\
6726 	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK, x)
6727 #define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK_GET(x)\
6728 	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK, x)
6729 
6730 #define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS         GENMASK(12, 0)
6731 #define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS_SET(x)\
6732 	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS, x)
6733 #define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS_GET(x)\
6734 	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS, x)
6735 
6736 /* DEVCPU_PTP:PTP_PINS:PTP_TOD_SEC_MSB */
6737 #define PTP_PTP_TOD_SEC_MSB(g)                                                 \
6738 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 4, 0, 1,\
6739 	      4)
6740 
6741 #define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB      GENMASK(15, 0)
6742 #define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB_SET(x)\
6743 	FIELD_PREP(PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB, x)
6744 #define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB_GET(x)\
6745 	FIELD_GET(PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB, x)
6746 
6747 /* DEVCPU_PTP:PTP_PINS:PTP_TOD_SEC_LSB */
6748 #define PTP_PTP_TOD_SEC_LSB(g)                                                 \
6749 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 8, 0, 1,\
6750 	      4)
6751 
6752 /* DEVCPU_PTP:PTP_PINS:PTP_TOD_NSEC */
6753 #define PTP_PTP_TOD_NSEC(g)                                                    \
6754 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 12, 0,  \
6755 	      1, 4)
6756 
6757 #define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC            GENMASK(29, 0)
6758 #define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC_SET(x)\
6759 	FIELD_PREP(PTP_PTP_TOD_NSEC_PTP_TOD_NSEC, x)
6760 #define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC_GET(x)\
6761 	FIELD_GET(PTP_PTP_TOD_NSEC_PTP_TOD_NSEC, x)
6762 
6763 /* DEVCPU_PTP:PTP_PINS:PTP_TOD_NSEC_FRAC */
6764 #define PTP_PTP_TOD_NSEC_FRAC(g)                                               \
6765 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 16, 0,  \
6766 	      1, 4)
6767 
6768 #define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC  GENMASK(7, 0)
6769 #define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC_SET(x)\
6770 	FIELD_PREP(PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC, x)
6771 #define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC_GET(x)\
6772 	FIELD_GET(PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC, x)
6773 
6774 /* DEVCPU_PTP:PTP_PINS:NTP_NSEC */
6775 #define PTP_NTP_NSEC(g)                                                        \
6776 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 20, 0,  \
6777 	      1, 4)
6778 
6779 /* DEVCPU_PTP:PTP_PINS:PIN_WF_HIGH_PERIOD */
6780 #define PTP_PIN_WF_HIGH_PERIOD(g)                                              \
6781 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 24, 0,  \
6782 	      1, 4)
6783 
6784 #define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH           GENMASK(29, 0)
6785 #define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH_SET(x)\
6786 	FIELD_PREP(PTP_PIN_WF_HIGH_PERIOD_PIN_WFH, x)
6787 #define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH_GET(x)\
6788 	FIELD_GET(PTP_PIN_WF_HIGH_PERIOD_PIN_WFH, x)
6789 
6790 /* DEVCPU_PTP:PTP_PINS:PIN_WF_LOW_PERIOD */
6791 #define PTP_PIN_WF_LOW_PERIOD(g)                                               \
6792 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 28, 0,  \
6793 	      1, 4)
6794 
6795 #define PTP_PIN_WF_LOW_PERIOD_PIN_WFL            GENMASK(29, 0)
6796 #define PTP_PIN_WF_LOW_PERIOD_PIN_WFL_SET(x)\
6797 	FIELD_PREP(PTP_PIN_WF_LOW_PERIOD_PIN_WFL, x)
6798 #define PTP_PIN_WF_LOW_PERIOD_PIN_WFL_GET(x)\
6799 	FIELD_GET(PTP_PIN_WF_LOW_PERIOD_PIN_WFL, x)
6800 
6801 /* DEVCPU_PTP:PTP_PINS:PIN_IOBOUNCH_DELAY */
6802 #define PTP_PIN_IOBOUNCH_DELAY(g)                                              \
6803 	__REG(TARGET_PTP, 0, 1, 0, g, regs->gcnt[GC_PTP_PTP_PINS], 64, 32, 0,  \
6804 	      1, 4)
6805 
6806 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL  GENMASK(18, 3)
6807 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL_SET(x)\
6808 	FIELD_PREP(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL, x)
6809 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL_GET(x)\
6810 	FIELD_GET(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL, x)
6811 
6812 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG  GENMASK(2, 0)
6813 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG_SET(x)\
6814 	FIELD_PREP(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG, x)
6815 #define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG_GET(x)\
6816 	FIELD_GET(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG, x)
6817 
6818 /* DEVCPU_PTP:PHASE_DETECTOR_CTRL:PHAD_CTRL */
6819 #define PTP_PHAD_CTRL(g)                                                       \
6820 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PHASE_DETECTOR_CTRL], g,    \
6821 	      regs->gcnt[GC_PTP_PHASE_DETECTOR_CTRL],                          \
6822 	      regs->gsize[GW_PTP_PHASE_DETECTOR_CTRL], 0, 0, 1, 4)
6823 
6824 #define PTP_PHAD_CTRL_PHAD_ENA\
6825 	BIT(regs->fpos[FP_PTP_PHAD_CTRL_PHAD_ENA])
6826 #define PTP_PHAD_CTRL_PHAD_ENA_SET(x)\
6827 	spx5_field_prep(PTP_PHAD_CTRL_PHAD_ENA, x)
6828 #define PTP_PHAD_CTRL_PHAD_ENA_GET(x)\
6829 	spx5_field_get(PTP_PHAD_CTRL_PHAD_ENA, x)
6830 
6831 #define PTP_PHAD_CTRL_PHAD_FAILED\
6832 	BIT(regs->fpos[FP_PTP_PHAD_CTRL_PHAD_FAILED])
6833 #define PTP_PHAD_CTRL_PHAD_FAILED_SET(x)\
6834 	spx5_field_prep(PTP_PHAD_CTRL_PHAD_FAILED, x)
6835 #define PTP_PHAD_CTRL_PHAD_FAILED_GET(x)\
6836 	spx5_field_get(PTP_PHAD_CTRL_PHAD_FAILED, x)
6837 
6838 /* SPARX5 ONLY */
6839 #define PTP_PHAD_CTRL_REDUCED_RES                GENMASK(5, 3)
6840 #define PTP_PHAD_CTRL_REDUCED_RES_SET(x)\
6841 	FIELD_PREP(PTP_PHAD_CTRL_REDUCED_RES, x)
6842 #define PTP_PHAD_CTRL_REDUCED_RES_GET(x)\
6843 	FIELD_GET(PTP_PHAD_CTRL_REDUCED_RES, x)
6844 
6845 #define PTP_PHAD_CTRL_LOCK_ACC                   GENMASK(2, 0)
6846 #define PTP_PHAD_CTRL_LOCK_ACC_SET(x)\
6847 	FIELD_PREP(PTP_PHAD_CTRL_LOCK_ACC, x)
6848 #define PTP_PHAD_CTRL_LOCK_ACC_GET(x)\
6849 	FIELD_GET(PTP_PHAD_CTRL_LOCK_ACC, x)
6850 
6851 /* DEVCPU_PTP:PHASE_DETECTOR_CTRL:PHAD_CYC_STAT */
6852 #define PTP_PHAD_CYC_STAT(g)                                                   \
6853 	__REG(TARGET_PTP, 0, 1, regs->gaddr[GA_PTP_PHASE_DETECTOR_CTRL], g,    \
6854 	      regs->gcnt[GC_PTP_PHASE_DETECTOR_CTRL],                          \
6855 	      regs->gsize[GW_PTP_PHASE_DETECTOR_CTRL], 4, 0, 1, 4)
6856 
6857 /* LAN969X ONLY */
6858 /* DEVCPU_PTP:PTP_TS_FIFO:PTP_TWOSTEP_CTRL */
6859 #define PTP_TWOSTEP_CTRL                                                       \
6860 	__REG(TARGET_PTP, 0, 1, 612, 0, 1, 16, 0, 0, 1, 4)
6861 
6862 #define PTP_TWOSTEP_CTRL_PTP_OVWR_ENA            BIT(12)
6863 #define PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_SET(x)\
6864 	FIELD_PREP(PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)
6865 #define PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_GET(x)\
6866 	FIELD_GET(PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)
6867 
6868 #define PTP_TWOSTEP_CTRL_PTP_NXT                 BIT(11)
6869 #define PTP_TWOSTEP_CTRL_PTP_NXT_SET(x)\
6870 	FIELD_PREP(PTP_TWOSTEP_CTRL_PTP_NXT, x)
6871 #define PTP_TWOSTEP_CTRL_PTP_NXT_GET(x)\
6872 	FIELD_GET(PTP_TWOSTEP_CTRL_PTP_NXT, x)
6873 
6874 #define PTP_TWOSTEP_CTRL_PTP_VLD                 BIT(10)
6875 #define PTP_TWOSTEP_CTRL_PTP_VLD_SET(x)\
6876 	FIELD_PREP(PTP_TWOSTEP_CTRL_PTP_VLD, x)
6877 #define PTP_TWOSTEP_CTRL_PTP_VLD_GET(x)\
6878 	FIELD_GET(PTP_TWOSTEP_CTRL_PTP_VLD, x)
6879 
6880 #define PTP_TWOSTEP_CTRL_STAMP_TX                BIT(9)
6881 #define PTP_TWOSTEP_CTRL_STAMP_TX_SET(x)\
6882 	FIELD_PREP(PTP_TWOSTEP_CTRL_STAMP_TX, x)
6883 #define PTP_TWOSTEP_CTRL_STAMP_TX_GET(x)\
6884 	FIELD_GET(PTP_TWOSTEP_CTRL_STAMP_TX, x)
6885 
6886 #define PTP_TWOSTEP_CTRL_STAMP_PORT              GENMASK(8, 1)
6887 #define PTP_TWOSTEP_CTRL_STAMP_PORT_SET(x)\
6888 	FIELD_PREP(PTP_TWOSTEP_CTRL_STAMP_PORT, x)
6889 #define PTP_TWOSTEP_CTRL_STAMP_PORT_GET(x)\
6890 	FIELD_GET(PTP_TWOSTEP_CTRL_STAMP_PORT, x)
6891 
6892 #define PTP_TWOSTEP_CTRL_PTP_OVFL                BIT(0)
6893 #define PTP_TWOSTEP_CTRL_PTP_OVFL_SET(x)\
6894 	FIELD_PREP(PTP_TWOSTEP_CTRL_PTP_OVFL, x)
6895 #define PTP_TWOSTEP_CTRL_PTP_OVFL_GET(x)\
6896 	FIELD_GET(PTP_TWOSTEP_CTRL_PTP_OVFL, x)
6897 
6898 /* LAN969X ONLY */
6899 /* DEVCPU_PTP:PTP_TS_FIFO:PTP_TWOSTEP_STAMP_NSEC */
6900 #define PTP_TWOSTEP_STAMP_NSEC                                                 \
6901 	__REG(TARGET_PTP, 0, 1, 612, 0, 1, 16, 4, 0, 1, 4)
6902 
6903 #define PTP_TWOSTEP_STAMP_NSEC_NS                GENMASK(29, 0)
6904 #define PTP_TWOSTEP_STAMP_NSEC_NS_SET(x)\
6905 	FIELD_PREP(PTP_TWOSTEP_STAMP_NSEC_NS, x)
6906 #define PTP_TWOSTEP_STAMP_NSEC_NS_GET(x)\
6907 	FIELD_GET(PTP_TWOSTEP_STAMP_NSEC_NS, x)
6908 
6909 /* LAN969X ONLY */
6910 /* DEVCPU_PTP:PTP_TS_FIFO:PTP_TWOSTEP_STAMP_SUBNS */
6911 #define PTP_TWOSTEP_STAMP_SUBNS                                                \
6912 	__REG(TARGET_PTP, 0, 1, 612, 0, 1, 16, 8, 0, 1, 4)
6913 
6914 #define PTP_TWOSTEP_STAMP_SUBNS_NS               GENMASK(7, 0)
6915 #define PTP_TWOSTEP_STAMP_SUBNS_NS_SET(x)\
6916 	FIELD_PREP(PTP_TWOSTEP_STAMP_SUBNS_NS, x)
6917 #define PTP_TWOSTEP_STAMP_SUBNS_NS_GET(x)\
6918 	FIELD_GET(PTP_TWOSTEP_STAMP_SUBNS_NS, x)
6919 
6920 /* QFWD:SYSTEM:SWITCH_PORT_MODE */
6921 #define QFWD_SWITCH_PORT_MODE(r)                                               \
6922 	__REG(TARGET_QFWD, 0, 1, 0, 0, 1, 340, 0, r,                           \
6923 	      regs->rcnt[RC_QFWD_SWITCH_PORT_MODE], 4)
6924 
6925 #define QFWD_SWITCH_PORT_MODE_PORT_ENA           BIT(19)
6926 #define QFWD_SWITCH_PORT_MODE_PORT_ENA_SET(x)\
6927 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_PORT_ENA, x)
6928 #define QFWD_SWITCH_PORT_MODE_PORT_ENA_GET(x)\
6929 	FIELD_GET(QFWD_SWITCH_PORT_MODE_PORT_ENA, x)
6930 
6931 #define QFWD_SWITCH_PORT_MODE_FWD_URGENCY        GENMASK(18, 10)
6932 #define QFWD_SWITCH_PORT_MODE_FWD_URGENCY_SET(x)\
6933 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_FWD_URGENCY, x)
6934 #define QFWD_SWITCH_PORT_MODE_FWD_URGENCY_GET(x)\
6935 	FIELD_GET(QFWD_SWITCH_PORT_MODE_FWD_URGENCY, x)
6936 
6937 #define QFWD_SWITCH_PORT_MODE_YEL_RSRVD          GENMASK(9, 6)
6938 #define QFWD_SWITCH_PORT_MODE_YEL_RSRVD_SET(x)\
6939 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_YEL_RSRVD, x)
6940 #define QFWD_SWITCH_PORT_MODE_YEL_RSRVD_GET(x)\
6941 	FIELD_GET(QFWD_SWITCH_PORT_MODE_YEL_RSRVD, x)
6942 
6943 #define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE  BIT(5)
6944 #define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE_SET(x)\
6945 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE, x)
6946 #define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE_GET(x)\
6947 	FIELD_GET(QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE, x)
6948 
6949 #define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING     BIT(4)
6950 #define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING_SET(x)\
6951 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING, x)
6952 #define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING_GET(x)\
6953 	FIELD_GET(QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING, x)
6954 
6955 #define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING     BIT(3)
6956 #define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING_SET(x)\
6957 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING, x)
6958 #define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING_GET(x)\
6959 	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING, x)
6960 
6961 #define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE   BIT(2)
6962 #define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE_SET(x)\
6963 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE, x)
6964 #define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE_GET(x)\
6965 	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE, x)
6966 
6967 #define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS    BIT(1)
6968 #define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS_SET(x)\
6969 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS, x)
6970 #define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS_GET(x)\
6971 	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS, x)
6972 
6973 #define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE      BIT(0)
6974 #define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE_SET(x)\
6975 	FIELD_PREP(QFWD_SWITCH_PORT_MODE_LEARNALL_MORE, x)
6976 #define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE_GET(x)\
6977 	FIELD_GET(QFWD_SWITCH_PORT_MODE_LEARNALL_MORE, x)
6978 
6979 /* QFWD:SYSTEM:FRAME_COPY_CFG */
6980 #define QFWD_FRAME_COPY_CFG(r)                                                 \
6981 	__REG(TARGET_QFWD, 0, 1, 0, 0, 1, 340, 284, r, 12, 4)
6982 
6983 #define QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL\
6984 	GENMASK(regs->fsize[FW_QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL] + 6 - 1, 6)
6985 #define QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL_SET(x)\
6986 	spx5_field_prep(QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL, x)
6987 #define QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL_GET(x)\
6988 	spx5_field_get(QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL, x)
6989 
6990 /* QRES:RES_CTRL:RES_CFG */
6991 #define QRES_RES_CFG(g)                                                        \
6992 	__REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 0, 0, 1, 4)
6993 
6994 #define QRES_RES_CFG_WM_HIGH\
6995 	GENMASK(regs->fsize[FW_QRES_RES_CFG_WM_HIGH] + 0 - 1, 0)
6996 #define QRES_RES_CFG_WM_HIGH_SET(x)\
6997 	spx5_field_prep(QRES_RES_CFG_WM_HIGH, x)
6998 #define QRES_RES_CFG_WM_HIGH_GET(x)\
6999 	spx5_field_get(QRES_RES_CFG_WM_HIGH, x)
7000 
7001 /* QRES:RES_CTRL:RES_STAT */
7002 #define QRES_RES_STAT(g)                                                       \
7003 	__REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 4, 0, 1, 4)
7004 
7005 #define QRES_RES_STAT_MAXUSE\
7006 	GENMASK(regs->fsize[FW_QRES_RES_STAT_MAXUSE] + 0 - 1, 0)
7007 #define QRES_RES_STAT_MAXUSE_SET(x)\
7008 	spx5_field_prep(QRES_RES_STAT_MAXUSE, x)
7009 #define QRES_RES_STAT_MAXUSE_GET(x)\
7010 	spx5_field_get(QRES_RES_STAT_MAXUSE, x)
7011 
7012 /* QRES:RES_CTRL:RES_STAT_CUR */
7013 #define QRES_RES_STAT_CUR(g)                                                   \
7014 	__REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 8, 0, 1, 4)
7015 
7016 #define QRES_RES_STAT_CUR_INUSE\
7017 	GENMASK(regs->fsize[FW_QRES_RES_STAT_CUR_INUSE] + 0 - 1, 0)
7018 #define QRES_RES_STAT_CUR_INUSE_SET(x)\
7019 	spx5_field_prep(QRES_RES_STAT_CUR_INUSE, x)
7020 #define QRES_RES_STAT_CUR_INUSE_GET(x)\
7021 	spx5_field_get(QRES_RES_STAT_CUR_INUSE, x)
7022 
7023 /* DEVCPU_QS:XTR:XTR_GRP_CFG */
7024 #define QS_XTR_GRP_CFG(r)                                                      \
7025 	__REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 0, r, 2, 4)
7026 
7027 #define QS_XTR_GRP_CFG_MODE                      GENMASK(3, 2)
7028 #define QS_XTR_GRP_CFG_MODE_SET(x)\
7029 	FIELD_PREP(QS_XTR_GRP_CFG_MODE, x)
7030 #define QS_XTR_GRP_CFG_MODE_GET(x)\
7031 	FIELD_GET(QS_XTR_GRP_CFG_MODE, x)
7032 
7033 #define QS_XTR_GRP_CFG_STATUS_WORD_POS           BIT(1)
7034 #define QS_XTR_GRP_CFG_STATUS_WORD_POS_SET(x)\
7035 	FIELD_PREP(QS_XTR_GRP_CFG_STATUS_WORD_POS, x)
7036 #define QS_XTR_GRP_CFG_STATUS_WORD_POS_GET(x)\
7037 	FIELD_GET(QS_XTR_GRP_CFG_STATUS_WORD_POS, x)
7038 
7039 #define QS_XTR_GRP_CFG_BYTE_SWAP                 BIT(0)
7040 #define QS_XTR_GRP_CFG_BYTE_SWAP_SET(x)\
7041 	FIELD_PREP(QS_XTR_GRP_CFG_BYTE_SWAP, x)
7042 #define QS_XTR_GRP_CFG_BYTE_SWAP_GET(x)\
7043 	FIELD_GET(QS_XTR_GRP_CFG_BYTE_SWAP, x)
7044 
7045 /* DEVCPU_QS:XTR:XTR_RD */
7046 #define QS_XTR_RD(r)                                                           \
7047 	__REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 8, r, 2, 4)
7048 
7049 /* DEVCPU_QS:XTR:XTR_FLUSH */
7050 #define QS_XTR_FLUSH                                                           \
7051 	__REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 24, 0, 1, 4)
7052 
7053 #define QS_XTR_FLUSH_FLUSH                       GENMASK(1, 0)
7054 #define QS_XTR_FLUSH_FLUSH_SET(x)\
7055 	FIELD_PREP(QS_XTR_FLUSH_FLUSH, x)
7056 #define QS_XTR_FLUSH_FLUSH_GET(x)\
7057 	FIELD_GET(QS_XTR_FLUSH_FLUSH, x)
7058 
7059 /* DEVCPU_QS:XTR:XTR_DATA_PRESENT */
7060 #define QS_XTR_DATA_PRESENT                                                    \
7061 	__REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 28, 0, 1, 4)
7062 
7063 #define QS_XTR_DATA_PRESENT_DATA_PRESENT         GENMASK(1, 0)
7064 #define QS_XTR_DATA_PRESENT_DATA_PRESENT_SET(x)\
7065 	FIELD_PREP(QS_XTR_DATA_PRESENT_DATA_PRESENT, x)
7066 #define QS_XTR_DATA_PRESENT_DATA_PRESENT_GET(x)\
7067 	FIELD_GET(QS_XTR_DATA_PRESENT_DATA_PRESENT, x)
7068 
7069 /* DEVCPU_QS:INJ:INJ_GRP_CFG */
7070 #define QS_INJ_GRP_CFG(r)                                                      \
7071 	__REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 0, r, 2, 4)
7072 
7073 #define QS_INJ_GRP_CFG_MODE                      GENMASK(3, 2)
7074 #define QS_INJ_GRP_CFG_MODE_SET(x)\
7075 	FIELD_PREP(QS_INJ_GRP_CFG_MODE, x)
7076 #define QS_INJ_GRP_CFG_MODE_GET(x)\
7077 	FIELD_GET(QS_INJ_GRP_CFG_MODE, x)
7078 
7079 #define QS_INJ_GRP_CFG_BYTE_SWAP                 BIT(0)
7080 #define QS_INJ_GRP_CFG_BYTE_SWAP_SET(x)\
7081 	FIELD_PREP(QS_INJ_GRP_CFG_BYTE_SWAP, x)
7082 #define QS_INJ_GRP_CFG_BYTE_SWAP_GET(x)\
7083 	FIELD_GET(QS_INJ_GRP_CFG_BYTE_SWAP, x)
7084 
7085 /* DEVCPU_QS:INJ:INJ_WR */
7086 #define QS_INJ_WR(r)                                                           \
7087 	__REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 8, r, 2, 4)
7088 
7089 /* DEVCPU_QS:INJ:INJ_CTRL */
7090 #define QS_INJ_CTRL(r)                                                         \
7091 	__REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 16, r, 2, 4)
7092 
7093 #define QS_INJ_CTRL_GAP_SIZE                     GENMASK(24, 21)
7094 #define QS_INJ_CTRL_GAP_SIZE_SET(x)\
7095 	FIELD_PREP(QS_INJ_CTRL_GAP_SIZE, x)
7096 #define QS_INJ_CTRL_GAP_SIZE_GET(x)\
7097 	FIELD_GET(QS_INJ_CTRL_GAP_SIZE, x)
7098 
7099 #define QS_INJ_CTRL_ABORT                        BIT(20)
7100 #define QS_INJ_CTRL_ABORT_SET(x)\
7101 	FIELD_PREP(QS_INJ_CTRL_ABORT, x)
7102 #define QS_INJ_CTRL_ABORT_GET(x)\
7103 	FIELD_GET(QS_INJ_CTRL_ABORT, x)
7104 
7105 #define QS_INJ_CTRL_EOF                          BIT(19)
7106 #define QS_INJ_CTRL_EOF_SET(x)\
7107 	FIELD_PREP(QS_INJ_CTRL_EOF, x)
7108 #define QS_INJ_CTRL_EOF_GET(x)\
7109 	FIELD_GET(QS_INJ_CTRL_EOF, x)
7110 
7111 #define QS_INJ_CTRL_SOF                          BIT(18)
7112 #define QS_INJ_CTRL_SOF_SET(x)\
7113 	FIELD_PREP(QS_INJ_CTRL_SOF, x)
7114 #define QS_INJ_CTRL_SOF_GET(x)\
7115 	FIELD_GET(QS_INJ_CTRL_SOF, x)
7116 
7117 #define QS_INJ_CTRL_VLD_BYTES                    GENMASK(17, 16)
7118 #define QS_INJ_CTRL_VLD_BYTES_SET(x)\
7119 	FIELD_PREP(QS_INJ_CTRL_VLD_BYTES, x)
7120 #define QS_INJ_CTRL_VLD_BYTES_GET(x)\
7121 	FIELD_GET(QS_INJ_CTRL_VLD_BYTES, x)
7122 
7123 /* DEVCPU_QS:INJ:INJ_STATUS */
7124 #define QS_INJ_STATUS                                                          \
7125 	__REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 24, 0, 1, 4)
7126 
7127 #define QS_INJ_STATUS_WMARK_REACHED              GENMASK(5, 4)
7128 #define QS_INJ_STATUS_WMARK_REACHED_SET(x)\
7129 	FIELD_PREP(QS_INJ_STATUS_WMARK_REACHED, x)
7130 #define QS_INJ_STATUS_WMARK_REACHED_GET(x)\
7131 	FIELD_GET(QS_INJ_STATUS_WMARK_REACHED, x)
7132 
7133 #define QS_INJ_STATUS_FIFO_RDY                   GENMASK(3, 2)
7134 #define QS_INJ_STATUS_FIFO_RDY_SET(x)\
7135 	FIELD_PREP(QS_INJ_STATUS_FIFO_RDY, x)
7136 #define QS_INJ_STATUS_FIFO_RDY_GET(x)\
7137 	FIELD_GET(QS_INJ_STATUS_FIFO_RDY, x)
7138 
7139 #define QS_INJ_STATUS_INJ_IN_PROGRESS            GENMASK(1, 0)
7140 #define QS_INJ_STATUS_INJ_IN_PROGRESS_SET(x)\
7141 	FIELD_PREP(QS_INJ_STATUS_INJ_IN_PROGRESS, x)
7142 #define QS_INJ_STATUS_INJ_IN_PROGRESS_GET(x)\
7143 	FIELD_GET(QS_INJ_STATUS_INJ_IN_PROGRESS, x)
7144 
7145 /* QSYS:PAUSE_CFG:PAUSE_CFG */
7146 #define QSYS_PAUSE_CFG(r)                                                      \
7147 	__REG(TARGET_QSYS, 0, 1, 544, 0, 1, regs->gsize[GW_QSYS_PAUSE_CFG], 0, \
7148 	      r, regs->rcnt[RC_QSYS_PAUSE_CFG], 4)
7149 
7150 #define QSYS_PAUSE_CFG_PAUSE_START\
7151 	GENMASK(regs->fsize[FW_QSYS_PAUSE_CFG_PAUSE_START] + 14 - 1, 14)
7152 #define QSYS_PAUSE_CFG_PAUSE_START_SET(x)\
7153 	spx5_field_prep(QSYS_PAUSE_CFG_PAUSE_START, x)
7154 #define QSYS_PAUSE_CFG_PAUSE_START_GET(x)\
7155 	spx5_field_get(QSYS_PAUSE_CFG_PAUSE_START, x)
7156 
7157 #define QSYS_PAUSE_CFG_PAUSE_STOP\
7158 	GENMASK(regs->fsize[FW_QSYS_PAUSE_CFG_PAUSE_STOP] + 2 - 1, 2)
7159 #define QSYS_PAUSE_CFG_PAUSE_STOP_SET(x)\
7160 	spx5_field_prep(QSYS_PAUSE_CFG_PAUSE_STOP, x)
7161 #define QSYS_PAUSE_CFG_PAUSE_STOP_GET(x)\
7162 	spx5_field_get(QSYS_PAUSE_CFG_PAUSE_STOP, x)
7163 
7164 #define QSYS_PAUSE_CFG_PAUSE_ENA                 BIT(1)
7165 #define QSYS_PAUSE_CFG_PAUSE_ENA_SET(x)\
7166 	FIELD_PREP(QSYS_PAUSE_CFG_PAUSE_ENA, x)
7167 #define QSYS_PAUSE_CFG_PAUSE_ENA_GET(x)\
7168 	FIELD_GET(QSYS_PAUSE_CFG_PAUSE_ENA, x)
7169 
7170 #define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA   BIT(0)
7171 #define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA_SET(x)\
7172 	FIELD_PREP(QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA, x)
7173 #define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA_GET(x)\
7174 	FIELD_GET(QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA, x)
7175 
7176 /* QSYS:PAUSE_CFG:ATOP */
7177 #define QSYS_ATOP(r)                                                           \
7178 	__REG(TARGET_QSYS, 0, 1, 544, 0, 1, regs->gsize[GW_QSYS_PAUSE_CFG],    \
7179 	      284, r, regs->rcnt[RC_QSYS_ATOP], 4)
7180 
7181 #define QSYS_ATOP_ATOP\
7182 	GENMASK(regs->fsize[FW_QSYS_ATOP_ATOP] + 0 - 1, 0)
7183 #define QSYS_ATOP_ATOP_SET(x)\
7184 	spx5_field_prep(QSYS_ATOP_ATOP, x)
7185 #define QSYS_ATOP_ATOP_GET(x)\
7186 	spx5_field_get(QSYS_ATOP_ATOP, x)
7187 
7188 /* QSYS:PAUSE_CFG:FWD_PRESSURE */
7189 #define QSYS_FWD_PRESSURE(r)                                                   \
7190 	__REG(TARGET_QSYS, 0, 1, 544, 0, 1, regs->gsize[GW_QSYS_PAUSE_CFG],    \
7191 	      564, r, regs->rcnt[RC_QSYS_FWD_PRESSURE], 4)
7192 
7193 #define QSYS_FWD_PRESSURE_FWD_PRESSURE           GENMASK(11, 1)
7194 #define QSYS_FWD_PRESSURE_FWD_PRESSURE_SET(x)\
7195 	FIELD_PREP(QSYS_FWD_PRESSURE_FWD_PRESSURE, x)
7196 #define QSYS_FWD_PRESSURE_FWD_PRESSURE_GET(x)\
7197 	FIELD_GET(QSYS_FWD_PRESSURE_FWD_PRESSURE, x)
7198 
7199 #define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS       BIT(0)
7200 #define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS_SET(x)\
7201 	FIELD_PREP(QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS, x)
7202 #define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS_GET(x)\
7203 	FIELD_GET(QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS, x)
7204 
7205 /* QSYS:PAUSE_CFG:ATOP_TOT_CFG */
7206 #define QSYS_ATOP_TOT_CFG                                                      \
7207 	__REG(TARGET_QSYS, 0, 1, 544, 0, 1, regs->gsize[GW_QSYS_PAUSE_CFG],    \
7208 	      844, 0, 1, 4)
7209 
7210 #define QSYS_ATOP_TOT_CFG_ATOP_TOT\
7211 	GENMASK(regs->fsize[FW_QSYS_ATOP_TOT_CFG_ATOP_TOT] + 0 - 1, 0)
7212 #define QSYS_ATOP_TOT_CFG_ATOP_TOT_SET(x)\
7213 	spx5_field_prep(QSYS_ATOP_TOT_CFG_ATOP_TOT, x)
7214 #define QSYS_ATOP_TOT_CFG_ATOP_TOT_GET(x)\
7215 	spx5_field_get(QSYS_ATOP_TOT_CFG_ATOP_TOT, x)
7216 
7217 /* QSYS:CALCFG:CAL_AUTO */
7218 #define QSYS_CAL_AUTO(r)                                                       \
7219 	__REG(TARGET_QSYS, 0, 1, regs->gaddr[GA_QSYS_CALCFG], 0, 1, 40, 0, r,  \
7220 	      regs->rcnt[RC_QSYS_CAL_AUTO], 4)
7221 
7222 #define QSYS_CAL_AUTO_CAL_AUTO                   GENMASK(29, 0)
7223 #define QSYS_CAL_AUTO_CAL_AUTO_SET(x)\
7224 	FIELD_PREP(QSYS_CAL_AUTO_CAL_AUTO, x)
7225 #define QSYS_CAL_AUTO_CAL_AUTO_GET(x)\
7226 	FIELD_GET(QSYS_CAL_AUTO_CAL_AUTO, x)
7227 
7228 /* QSYS:CALCFG:CAL_CTRL */
7229 #define QSYS_CAL_CTRL                                                          \
7230 	__REG(TARGET_QSYS, 0, 1, regs->gaddr[GA_QSYS_CALCFG], 0, 1, 40, 36, 0, \
7231 	      1, 4)
7232 
7233 #define QSYS_CAL_CTRL_CAL_MODE                   GENMASK(14, 11)
7234 #define QSYS_CAL_CTRL_CAL_MODE_SET(x)\
7235 	FIELD_PREP(QSYS_CAL_CTRL_CAL_MODE, x)
7236 #define QSYS_CAL_CTRL_CAL_MODE_GET(x)\
7237 	FIELD_GET(QSYS_CAL_CTRL_CAL_MODE, x)
7238 
7239 #define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE        GENMASK(10, 1)
7240 #define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE_SET(x)\
7241 	FIELD_PREP(QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE, x)
7242 #define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE_GET(x)\
7243 	FIELD_GET(QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE, x)
7244 
7245 #define QSYS_CAL_CTRL_CAL_AUTO_ERROR             BIT(0)
7246 #define QSYS_CAL_CTRL_CAL_AUTO_ERROR_SET(x)\
7247 	FIELD_PREP(QSYS_CAL_CTRL_CAL_AUTO_ERROR, x)
7248 #define QSYS_CAL_CTRL_CAL_AUTO_ERROR_GET(x)\
7249 	FIELD_GET(QSYS_CAL_CTRL_CAL_AUTO_ERROR, x)
7250 
7251 /* QSYS:RAM_CTRL:RAM_INIT */
7252 #define QSYS_RAM_INIT                                                          \
7253 	__REG(TARGET_QSYS, 0, 1, regs->gaddr[GA_QSYS_RAM_CTRL], 0, 1, 4, 0, 0, \
7254 	      1, 4)
7255 
7256 #define QSYS_RAM_INIT_RAM_INIT                   BIT(1)
7257 #define QSYS_RAM_INIT_RAM_INIT_SET(x)\
7258 	FIELD_PREP(QSYS_RAM_INIT_RAM_INIT, x)
7259 #define QSYS_RAM_INIT_RAM_INIT_GET(x)\
7260 	FIELD_GET(QSYS_RAM_INIT_RAM_INIT, x)
7261 
7262 #define QSYS_RAM_INIT_RAM_CFG_HOOK               BIT(0)
7263 #define QSYS_RAM_INIT_RAM_CFG_HOOK_SET(x)\
7264 	FIELD_PREP(QSYS_RAM_INIT_RAM_CFG_HOOK, x)
7265 #define QSYS_RAM_INIT_RAM_CFG_HOOK_GET(x)\
7266 	FIELD_GET(QSYS_RAM_INIT_RAM_CFG_HOOK, x)
7267 
7268 /* REW:COMMON:OWN_UPSID */
7269 #define REW_OWN_UPSID(r)                                                       \
7270 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_COMMON], 0, 1, 1232, 0, r,  \
7271 	      regs->rcnt[RC_REW_OWN_UPSID], 4)
7272 
7273 #define REW_OWN_UPSID_OWN_UPSID                  GENMASK(4, 0)
7274 #define REW_OWN_UPSID_OWN_UPSID_SET(x)\
7275 	FIELD_PREP(REW_OWN_UPSID_OWN_UPSID, x)
7276 #define REW_OWN_UPSID_OWN_UPSID_GET(x)\
7277 	FIELD_GET(REW_OWN_UPSID_OWN_UPSID, x)
7278 
7279 /* REW:COMMON:RTAG_ETAG_CTRL */
7280 #define REW_RTAG_ETAG_CTRL(r)                                                  \
7281 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_COMMON], 0, 1, 1232, 560, r,\
7282 	      regs->rcnt[RC_REW_RTAG_ETAG_CTRL], 4)
7283 
7284 #define REW_RTAG_ETAG_CTRL_IPE_TBL\
7285 	GENMASK(regs->fsize[FW_REW_RTAG_ETAG_CTRL_IPE_TBL] + 3 - 1, 3)
7286 #define REW_RTAG_ETAG_CTRL_IPE_TBL_SET(x)\
7287 	spx5_field_prep(REW_RTAG_ETAG_CTRL_IPE_TBL, x)
7288 #define REW_RTAG_ETAG_CTRL_IPE_TBL_GET(x)\
7289 	spx5_field_get(REW_RTAG_ETAG_CTRL_IPE_TBL, x)
7290 
7291 #define REW_RTAG_ETAG_CTRL_ES0_ISDX_KEY_ENA      GENMASK(2, 1)
7292 #define REW_RTAG_ETAG_CTRL_ES0_ISDX_KEY_ENA_SET(x)\
7293 	FIELD_PREP(REW_RTAG_ETAG_CTRL_ES0_ISDX_KEY_ENA, x)
7294 #define REW_RTAG_ETAG_CTRL_ES0_ISDX_KEY_ENA_GET(x)\
7295 	FIELD_GET(REW_RTAG_ETAG_CTRL_ES0_ISDX_KEY_ENA, x)
7296 
7297 #define REW_RTAG_ETAG_CTRL_KEEP_ETAG             BIT(0)
7298 #define REW_RTAG_ETAG_CTRL_KEEP_ETAG_SET(x)\
7299 	FIELD_PREP(REW_RTAG_ETAG_CTRL_KEEP_ETAG, x)
7300 #define REW_RTAG_ETAG_CTRL_KEEP_ETAG_GET(x)\
7301 	FIELD_GET(REW_RTAG_ETAG_CTRL_KEEP_ETAG, x)
7302 
7303 /* REW:COMMON:ES0_CTRL */
7304 #define REW_ES0_CTRL                                                           \
7305 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_COMMON], 0, 1, 1232, 852, 0,\
7306 	      1, 4)
7307 
7308 #define REW_ES0_CTRL_ES0_BY_RT_FWD               BIT(5)
7309 #define REW_ES0_CTRL_ES0_BY_RT_FWD_SET(x)\
7310 	FIELD_PREP(REW_ES0_CTRL_ES0_BY_RT_FWD, x)
7311 #define REW_ES0_CTRL_ES0_BY_RT_FWD_GET(x)\
7312 	FIELD_GET(REW_ES0_CTRL_ES0_BY_RT_FWD, x)
7313 
7314 #define REW_ES0_CTRL_ES0_BY_RLEG                 BIT(4)
7315 #define REW_ES0_CTRL_ES0_BY_RLEG_SET(x)\
7316 	FIELD_PREP(REW_ES0_CTRL_ES0_BY_RLEG, x)
7317 #define REW_ES0_CTRL_ES0_BY_RLEG_GET(x)\
7318 	FIELD_GET(REW_ES0_CTRL_ES0_BY_RLEG, x)
7319 
7320 #define REW_ES0_CTRL_ES0_DPORT_ENA               BIT(3)
7321 #define REW_ES0_CTRL_ES0_DPORT_ENA_SET(x)\
7322 	FIELD_PREP(REW_ES0_CTRL_ES0_DPORT_ENA, x)
7323 #define REW_ES0_CTRL_ES0_DPORT_ENA_GET(x)\
7324 	FIELD_GET(REW_ES0_CTRL_ES0_DPORT_ENA, x)
7325 
7326 #define REW_ES0_CTRL_ES0_FRM_LBK_CFG             BIT(2)
7327 #define REW_ES0_CTRL_ES0_FRM_LBK_CFG_SET(x)\
7328 	FIELD_PREP(REW_ES0_CTRL_ES0_FRM_LBK_CFG, x)
7329 #define REW_ES0_CTRL_ES0_FRM_LBK_CFG_GET(x)\
7330 	FIELD_GET(REW_ES0_CTRL_ES0_FRM_LBK_CFG, x)
7331 
7332 #define REW_ES0_CTRL_ES0_VD2_ENCAP_ID_ENA        BIT(1)
7333 #define REW_ES0_CTRL_ES0_VD2_ENCAP_ID_ENA_SET(x)\
7334 	FIELD_PREP(REW_ES0_CTRL_ES0_VD2_ENCAP_ID_ENA, x)
7335 #define REW_ES0_CTRL_ES0_VD2_ENCAP_ID_ENA_GET(x)\
7336 	FIELD_GET(REW_ES0_CTRL_ES0_VD2_ENCAP_ID_ENA, x)
7337 
7338 #define REW_ES0_CTRL_ES0_LU_ENA                  BIT(0)
7339 #define REW_ES0_CTRL_ES0_LU_ENA_SET(x)\
7340 	FIELD_PREP(REW_ES0_CTRL_ES0_LU_ENA, x)
7341 #define REW_ES0_CTRL_ES0_LU_ENA_GET(x)\
7342 	FIELD_GET(REW_ES0_CTRL_ES0_LU_ENA, x)
7343 
7344 /* REW:PORT:PORT_VLAN_CFG */
7345 #define REW_PORT_VLAN_CFG(g)                                                   \
7346 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7347 	      regs->gcnt[GC_REW_PORT], 256, 0, 0, 1, 4)
7348 
7349 #define REW_PORT_VLAN_CFG_PORT_PCP               GENMASK(15, 13)
7350 #define REW_PORT_VLAN_CFG_PORT_PCP_SET(x)\
7351 	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_PCP, x)
7352 #define REW_PORT_VLAN_CFG_PORT_PCP_GET(x)\
7353 	FIELD_GET(REW_PORT_VLAN_CFG_PORT_PCP, x)
7354 
7355 #define REW_PORT_VLAN_CFG_PORT_DEI               BIT(12)
7356 #define REW_PORT_VLAN_CFG_PORT_DEI_SET(x)\
7357 	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_DEI, x)
7358 #define REW_PORT_VLAN_CFG_PORT_DEI_GET(x)\
7359 	FIELD_GET(REW_PORT_VLAN_CFG_PORT_DEI, x)
7360 
7361 #define REW_PORT_VLAN_CFG_PORT_VID               GENMASK(11, 0)
7362 #define REW_PORT_VLAN_CFG_PORT_VID_SET(x)\
7363 	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_VID, x)
7364 #define REW_PORT_VLAN_CFG_PORT_VID_GET(x)\
7365 	FIELD_GET(REW_PORT_VLAN_CFG_PORT_VID, x)
7366 
7367 /* REW:PORT:PCP_MAP_DE0 */
7368 #define REW_PCP_MAP_DE0(g, r)                                                  \
7369 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7370 	      regs->gcnt[GC_REW_PORT], 256, 4, r, 8, 4)
7371 
7372 #define REW_PCP_MAP_DE0_PCP_DE0                  GENMASK(2, 0)
7373 #define REW_PCP_MAP_DE0_PCP_DE0_SET(x)\
7374 	FIELD_PREP(REW_PCP_MAP_DE0_PCP_DE0, x)
7375 #define REW_PCP_MAP_DE0_PCP_DE0_GET(x)\
7376 	FIELD_GET(REW_PCP_MAP_DE0_PCP_DE0, x)
7377 
7378 /* REW:PORT:PCP_MAP_DE1 */
7379 #define REW_PCP_MAP_DE1(g, r)                                                  \
7380 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7381 	      regs->gcnt[GC_REW_PORT], 256, 36, r, 8, 4)
7382 
7383 #define REW_PCP_MAP_DE1_PCP_DE1                  GENMASK(2, 0)
7384 #define REW_PCP_MAP_DE1_PCP_DE1_SET(x)\
7385 	FIELD_PREP(REW_PCP_MAP_DE1_PCP_DE1, x)
7386 #define REW_PCP_MAP_DE1_PCP_DE1_GET(x)\
7387 	FIELD_GET(REW_PCP_MAP_DE1_PCP_DE1, x)
7388 
7389 /* REW:PORT:DEI_MAP_DE0 */
7390 #define REW_DEI_MAP_DE0(g, r)                                                  \
7391 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7392 	      regs->gcnt[GC_REW_PORT], 256, 68, r, 8, 4)
7393 
7394 #define REW_DEI_MAP_DE0_DEI_DE0                  BIT(0)
7395 #define REW_DEI_MAP_DE0_DEI_DE0_SET(x)\
7396 	FIELD_PREP(REW_DEI_MAP_DE0_DEI_DE0, x)
7397 #define REW_DEI_MAP_DE0_DEI_DE0_GET(x)\
7398 	FIELD_GET(REW_DEI_MAP_DE0_DEI_DE0, x)
7399 
7400 /* REW:PORT:DEI_MAP_DE1 */
7401 #define REW_DEI_MAP_DE1(g, r)                                                  \
7402 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7403 	      regs->gcnt[GC_REW_PORT], 256, 100, r, 8, 4)
7404 
7405 #define REW_DEI_MAP_DE1_DEI_DE1                  BIT(0)
7406 #define REW_DEI_MAP_DE1_DEI_DE1_SET(x)\
7407 	FIELD_PREP(REW_DEI_MAP_DE1_DEI_DE1, x)
7408 #define REW_DEI_MAP_DE1_DEI_DE1_GET(x)\
7409 	FIELD_GET(REW_DEI_MAP_DE1_DEI_DE1, x)
7410 
7411 /* REW:PORT:TAG_CTRL */
7412 #define REW_TAG_CTRL(g)                                                        \
7413 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7414 	      regs->gcnt[GC_REW_PORT], 256, 132, 0, 1, 4)
7415 
7416 #define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED     BIT(13)
7417 #define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED_SET(x)\
7418 	FIELD_PREP(REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED, x)
7419 #define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED_GET(x)\
7420 	FIELD_GET(REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED, x)
7421 
7422 #define REW_TAG_CTRL_TAG_CFG                     GENMASK(12, 11)
7423 #define REW_TAG_CTRL_TAG_CFG_SET(x)\
7424 	FIELD_PREP(REW_TAG_CTRL_TAG_CFG, x)
7425 #define REW_TAG_CTRL_TAG_CFG_GET(x)\
7426 	FIELD_GET(REW_TAG_CTRL_TAG_CFG, x)
7427 
7428 #define REW_TAG_CTRL_TAG_TPID_CFG                GENMASK(10, 8)
7429 #define REW_TAG_CTRL_TAG_TPID_CFG_SET(x)\
7430 	FIELD_PREP(REW_TAG_CTRL_TAG_TPID_CFG, x)
7431 #define REW_TAG_CTRL_TAG_TPID_CFG_GET(x)\
7432 	FIELD_GET(REW_TAG_CTRL_TAG_TPID_CFG, x)
7433 
7434 #define REW_TAG_CTRL_TAG_VID_CFG                 GENMASK(7, 6)
7435 #define REW_TAG_CTRL_TAG_VID_CFG_SET(x)\
7436 	FIELD_PREP(REW_TAG_CTRL_TAG_VID_CFG, x)
7437 #define REW_TAG_CTRL_TAG_VID_CFG_GET(x)\
7438 	FIELD_GET(REW_TAG_CTRL_TAG_VID_CFG, x)
7439 
7440 #define REW_TAG_CTRL_TAG_PCP_CFG                 GENMASK(5, 3)
7441 #define REW_TAG_CTRL_TAG_PCP_CFG_SET(x)\
7442 	FIELD_PREP(REW_TAG_CTRL_TAG_PCP_CFG, x)
7443 #define REW_TAG_CTRL_TAG_PCP_CFG_GET(x)\
7444 	FIELD_GET(REW_TAG_CTRL_TAG_PCP_CFG, x)
7445 
7446 #define REW_TAG_CTRL_TAG_DEI_CFG                 GENMASK(2, 0)
7447 #define REW_TAG_CTRL_TAG_DEI_CFG_SET(x)\
7448 	FIELD_PREP(REW_TAG_CTRL_TAG_DEI_CFG, x)
7449 #define REW_TAG_CTRL_TAG_DEI_CFG_GET(x)\
7450 	FIELD_GET(REW_TAG_CTRL_TAG_DEI_CFG, x)
7451 
7452 /* REW:PORT:DSCP_MAP */
7453 #define REW_DSCP_MAP(g)                                                        \
7454 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_PORT], g,                   \
7455 	      regs->gcnt[GC_REW_PORT], 256, 136, 0, 1, 4)
7456 
7457 #define REW_DSCP_MAP_DSCP_UPDATE_ENA             BIT(1)
7458 #define REW_DSCP_MAP_DSCP_UPDATE_ENA_SET(x)\
7459 	FIELD_PREP(REW_DSCP_MAP_DSCP_UPDATE_ENA, x)
7460 #define REW_DSCP_MAP_DSCP_UPDATE_ENA_GET(x)\
7461 	FIELD_GET(REW_DSCP_MAP_DSCP_UPDATE_ENA, x)
7462 
7463 #define REW_DSCP_MAP_DSCP_REMAP_ENA              BIT(0)
7464 #define REW_DSCP_MAP_DSCP_REMAP_ENA_SET(x)\
7465 	FIELD_PREP(REW_DSCP_MAP_DSCP_REMAP_ENA, x)
7466 #define REW_DSCP_MAP_DSCP_REMAP_ENA_GET(x)\
7467 	FIELD_GET(REW_DSCP_MAP_DSCP_REMAP_ENA, x)
7468 
7469 /* SPARX5 ONLY */
7470 /* REW:PTP_CTRL:PTP_TWOSTEP_CTRL */
7471 #define REW_PTP_TWOSTEP_CTRL                                                   \
7472 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 0, 0, 1, 4)
7473 
7474 #define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA        BIT(12)
7475 #define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_SET(x)\
7476 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)
7477 #define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_GET(x)\
7478 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)
7479 
7480 #define REW_PTP_TWOSTEP_CTRL_PTP_NXT             BIT(11)
7481 #define REW_PTP_TWOSTEP_CTRL_PTP_NXT_SET(x)\
7482 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_NXT, x)
7483 #define REW_PTP_TWOSTEP_CTRL_PTP_NXT_GET(x)\
7484 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_NXT, x)
7485 
7486 #define REW_PTP_TWOSTEP_CTRL_PTP_VLD             BIT(10)
7487 #define REW_PTP_TWOSTEP_CTRL_PTP_VLD_SET(x)\
7488 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_VLD, x)
7489 #define REW_PTP_TWOSTEP_CTRL_PTP_VLD_GET(x)\
7490 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_VLD, x)
7491 
7492 #define REW_PTP_TWOSTEP_CTRL_STAMP_TX            BIT(9)
7493 #define REW_PTP_TWOSTEP_CTRL_STAMP_TX_SET(x)\
7494 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_STAMP_TX, x)
7495 #define REW_PTP_TWOSTEP_CTRL_STAMP_TX_GET(x)\
7496 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_STAMP_TX, x)
7497 
7498 #define REW_PTP_TWOSTEP_CTRL_STAMP_PORT          GENMASK(8, 1)
7499 #define REW_PTP_TWOSTEP_CTRL_STAMP_PORT_SET(x)\
7500 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_STAMP_PORT, x)
7501 #define REW_PTP_TWOSTEP_CTRL_STAMP_PORT_GET(x)\
7502 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_STAMP_PORT, x)
7503 
7504 #define REW_PTP_TWOSTEP_CTRL_PTP_OVFL            BIT(0)
7505 #define REW_PTP_TWOSTEP_CTRL_PTP_OVFL_SET(x)\
7506 	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_OVFL, x)
7507 #define REW_PTP_TWOSTEP_CTRL_PTP_OVFL_GET(x)\
7508 	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_OVFL, x)
7509 
7510 /* SPARX5 ONLY */
7511 /* REW:PTP_CTRL:PTP_TWOSTEP_STAMP */
7512 #define REW_PTP_TWOSTEP_STAMP                                                  \
7513 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 4, 0, 1, 4)
7514 
7515 #define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC         GENMASK(29, 0)
7516 #define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC_SET(x)\
7517 	FIELD_PREP(REW_PTP_TWOSTEP_STAMP_STAMP_NSEC, x)
7518 #define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC_GET(x)\
7519 	FIELD_GET(REW_PTP_TWOSTEP_STAMP_STAMP_NSEC, x)
7520 
7521 /* SPARX5 ONLY */
7522 /* REW:PTP_CTRL:PTP_TWOSTEP_STAMP_SUBNS */
7523 #define REW_PTP_TWOSTEP_STAMP_SUBNS                                            \
7524 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 8, 0, 1, 4)
7525 
7526 #define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC GENMASK(7, 0)
7527 #define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC_SET(x)\
7528 	FIELD_PREP(REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC, x)
7529 #define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC_GET(x)\
7530 	FIELD_GET(REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC, x)
7531 
7532 /* SPARX5 ONLY */
7533 /* REW:PTP_CTRL:PTP_RSRV_NOT_ZERO */
7534 #define REW_PTP_RSRV_NOT_ZERO                                                  \
7535 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 12, 0, 1, 4)
7536 
7537 /* SPARX5 ONLY */
7538 /* REW:PTP_CTRL:PTP_RSRV_NOT_ZERO1 */
7539 #define REW_PTP_RSRV_NOT_ZERO1                                                 \
7540 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 16, 0, 1, 4)
7541 
7542 /* SPARX5 ONLY */
7543 /* REW:PTP_CTRL:PTP_RSRV_NOT_ZERO2 */
7544 #define REW_PTP_RSRV_NOT_ZERO2                                                 \
7545 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 20, 0, 1, 4)
7546 
7547 #define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2 GENMASK(5, 0)
7548 #define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2_SET(x)\
7549 	FIELD_PREP(REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2, x)
7550 #define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2_GET(x)\
7551 	FIELD_GET(REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2, x)
7552 
7553 /* SPARX5 ONLY */
7554 /* REW:PTP_CTRL:PTP_GEN_STAMP_FMT */
7555 #define REW_PTP_GEN_STAMP_FMT(r)                                               \
7556 	__REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 24, r, 4, 4)
7557 
7558 #define REW_PTP_GEN_STAMP_FMT_RT_OFS             GENMASK(6, 2)
7559 #define REW_PTP_GEN_STAMP_FMT_RT_OFS_SET(x)\
7560 	FIELD_PREP(REW_PTP_GEN_STAMP_FMT_RT_OFS, x)
7561 #define REW_PTP_GEN_STAMP_FMT_RT_OFS_GET(x)\
7562 	FIELD_GET(REW_PTP_GEN_STAMP_FMT_RT_OFS, x)
7563 
7564 #define REW_PTP_GEN_STAMP_FMT_RT_FMT             GENMASK(1, 0)
7565 #define REW_PTP_GEN_STAMP_FMT_RT_FMT_SET(x)\
7566 	FIELD_PREP(REW_PTP_GEN_STAMP_FMT_RT_FMT, x)
7567 #define REW_PTP_GEN_STAMP_FMT_RT_FMT_GET(x)\
7568 	FIELD_GET(REW_PTP_GEN_STAMP_FMT_RT_FMT, x)
7569 
7570 /* REW:RAM_CTRL:RAM_INIT */
7571 #define REW_RAM_INIT                                                           \
7572 	__REG(TARGET_REW, 0, 1, regs->gaddr[GA_REW_RAM_CTRL], 0, 1, 4, 0, 0, 1,\
7573 	      4)
7574 
7575 #define REW_RAM_INIT_RAM_INIT                    BIT(1)
7576 #define REW_RAM_INIT_RAM_INIT_SET(x)\
7577 	FIELD_PREP(REW_RAM_INIT_RAM_INIT, x)
7578 #define REW_RAM_INIT_RAM_INIT_GET(x)\
7579 	FIELD_GET(REW_RAM_INIT_RAM_INIT, x)
7580 
7581 #define REW_RAM_INIT_RAM_CFG_HOOK                BIT(0)
7582 #define REW_RAM_INIT_RAM_CFG_HOOK_SET(x)\
7583 	FIELD_PREP(REW_RAM_INIT_RAM_CFG_HOOK, x)
7584 #define REW_RAM_INIT_RAM_CFG_HOOK_GET(x)\
7585 	FIELD_GET(REW_RAM_INIT_RAM_CFG_HOOK, x)
7586 
7587 /* VCAP_ES0:VCAP_CORE_CFG:VCAP_UPDATE_CTRL */
7588 #define VCAP_ES0_CTRL                                                          \
7589 	__REG(TARGET_VCAP_ES0, 0, 1, 0, 0, 1, 8, 0, 0, 1, 4)
7590 
7591 #define VCAP_ES0_CTRL_UPDATE_CMD                 GENMASK(24, 22)
7592 #define VCAP_ES0_CTRL_UPDATE_CMD_SET(x)\
7593 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_CMD, x)
7594 #define VCAP_ES0_CTRL_UPDATE_CMD_GET(x)\
7595 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_CMD, x)
7596 
7597 #define VCAP_ES0_CTRL_UPDATE_ENTRY_DIS           BIT(21)
7598 #define VCAP_ES0_CTRL_UPDATE_ENTRY_DIS_SET(x)\
7599 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_ENTRY_DIS, x)
7600 #define VCAP_ES0_CTRL_UPDATE_ENTRY_DIS_GET(x)\
7601 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_ENTRY_DIS, x)
7602 
7603 #define VCAP_ES0_CTRL_UPDATE_ACTION_DIS          BIT(20)
7604 #define VCAP_ES0_CTRL_UPDATE_ACTION_DIS_SET(x)\
7605 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_ACTION_DIS, x)
7606 #define VCAP_ES0_CTRL_UPDATE_ACTION_DIS_GET(x)\
7607 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_ACTION_DIS, x)
7608 
7609 #define VCAP_ES0_CTRL_UPDATE_CNT_DIS             BIT(19)
7610 #define VCAP_ES0_CTRL_UPDATE_CNT_DIS_SET(x)\
7611 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_CNT_DIS, x)
7612 #define VCAP_ES0_CTRL_UPDATE_CNT_DIS_GET(x)\
7613 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_CNT_DIS, x)
7614 
7615 #define VCAP_ES0_CTRL_UPDATE_ADDR                GENMASK(18, 3)
7616 #define VCAP_ES0_CTRL_UPDATE_ADDR_SET(x)\
7617 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_ADDR, x)
7618 #define VCAP_ES0_CTRL_UPDATE_ADDR_GET(x)\
7619 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_ADDR, x)
7620 
7621 #define VCAP_ES0_CTRL_UPDATE_SHOT                BIT(2)
7622 #define VCAP_ES0_CTRL_UPDATE_SHOT_SET(x)\
7623 	FIELD_PREP(VCAP_ES0_CTRL_UPDATE_SHOT, x)
7624 #define VCAP_ES0_CTRL_UPDATE_SHOT_GET(x)\
7625 	FIELD_GET(VCAP_ES0_CTRL_UPDATE_SHOT, x)
7626 
7627 #define VCAP_ES0_CTRL_CLEAR_CACHE                BIT(1)
7628 #define VCAP_ES0_CTRL_CLEAR_CACHE_SET(x)\
7629 	FIELD_PREP(VCAP_ES0_CTRL_CLEAR_CACHE, x)
7630 #define VCAP_ES0_CTRL_CLEAR_CACHE_GET(x)\
7631 	FIELD_GET(VCAP_ES0_CTRL_CLEAR_CACHE, x)
7632 
7633 #define VCAP_ES0_CTRL_MV_TRAFFIC_IGN             BIT(0)
7634 #define VCAP_ES0_CTRL_MV_TRAFFIC_IGN_SET(x)\
7635 	FIELD_PREP(VCAP_ES0_CTRL_MV_TRAFFIC_IGN, x)
7636 #define VCAP_ES0_CTRL_MV_TRAFFIC_IGN_GET(x)\
7637 	FIELD_GET(VCAP_ES0_CTRL_MV_TRAFFIC_IGN, x)
7638 
7639 /* VCAP_ES0:VCAP_CORE_CFG:VCAP_MV_CFG */
7640 #define VCAP_ES0_CFG                                                           \
7641 	__REG(TARGET_VCAP_ES0, 0, 1, 0, 0, 1, 8, 4, 0, 1, 4)
7642 
7643 #define VCAP_ES0_CFG_MV_NUM_POS                  GENMASK(31, 16)
7644 #define VCAP_ES0_CFG_MV_NUM_POS_SET(x)\
7645 	FIELD_PREP(VCAP_ES0_CFG_MV_NUM_POS, x)
7646 #define VCAP_ES0_CFG_MV_NUM_POS_GET(x)\
7647 	FIELD_GET(VCAP_ES0_CFG_MV_NUM_POS, x)
7648 
7649 #define VCAP_ES0_CFG_MV_SIZE                     GENMASK(15, 0)
7650 #define VCAP_ES0_CFG_MV_SIZE_SET(x)\
7651 	FIELD_PREP(VCAP_ES0_CFG_MV_SIZE, x)
7652 #define VCAP_ES0_CFG_MV_SIZE_GET(x)\
7653 	FIELD_GET(VCAP_ES0_CFG_MV_SIZE, x)
7654 
7655 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_ENTRY_DAT */
7656 #define VCAP_ES0_VCAP_ENTRY_DAT(r)                                             \
7657 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 0, r, 64, 4)
7658 
7659 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_MASK_DAT */
7660 #define VCAP_ES0_VCAP_MASK_DAT(r)                                              \
7661 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 256, r, 64, 4)
7662 
7663 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_ACTION_DAT */
7664 #define VCAP_ES0_VCAP_ACTION_DAT(r)                                            \
7665 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 512, r, 64, 4)
7666 
7667 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_CNT_DAT */
7668 #define VCAP_ES0_VCAP_CNT_DAT(r)                                               \
7669 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 768, r, 32, 4)
7670 
7671 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_CNT_FW_DAT */
7672 #define VCAP_ES0_VCAP_CNT_FW_DAT                                               \
7673 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 896, 0, 1, 4)
7674 
7675 /* VCAP_ES0:VCAP_CORE_CACHE:VCAP_TG_DAT */
7676 #define VCAP_ES0_VCAP_TG_DAT                                                   \
7677 	__REG(TARGET_VCAP_ES0, 0, 1, 8, 0, 1, 904, 900, 0, 1, 4)
7678 
7679 /* VCAP_ES0:VCAP_CORE_MAP:VCAP_CORE_IDX */
7680 #define VCAP_ES0_IDX                                                           \
7681 	__REG(TARGET_VCAP_ES0, 0, 1, 912, 0, 1, 8, 0, 0, 1, 4)
7682 
7683 #define VCAP_ES0_IDX_CORE_IDX                    GENMASK(3, 0)
7684 #define VCAP_ES0_IDX_CORE_IDX_SET(x)\
7685 	FIELD_PREP(VCAP_ES0_IDX_CORE_IDX, x)
7686 #define VCAP_ES0_IDX_CORE_IDX_GET(x)\
7687 	FIELD_GET(VCAP_ES0_IDX_CORE_IDX, x)
7688 
7689 /* VCAP_ES0:VCAP_CORE_MAP:VCAP_CORE_MAP */
7690 #define VCAP_ES0_MAP                                                           \
7691 	__REG(TARGET_VCAP_ES0, 0, 1, 912, 0, 1, 8, 4, 0, 1, 4)
7692 
7693 #define VCAP_ES0_MAP_CORE_MAP                    GENMASK(2, 0)
7694 #define VCAP_ES0_MAP_CORE_MAP_SET(x)\
7695 	FIELD_PREP(VCAP_ES0_MAP_CORE_MAP, x)
7696 #define VCAP_ES0_MAP_CORE_MAP_GET(x)\
7697 	FIELD_GET(VCAP_ES0_MAP_CORE_MAP, x)
7698 
7699 /* VCAP_ES0:VCAP_CORE_STICKY:VCAP_STICKY */
7700 #define VCAP_ES0_VCAP_STICKY                                                   \
7701 	__REG(TARGET_VCAP_ES0, 0, 1, 920, 0, 1, 4, 0, 0, 1, 4)
7702 
7703 #define VCAP_ES0_VCAP_STICKY_VCAP_ROW_DELETED_STICKY BIT(0)
7704 #define VCAP_ES0_VCAP_STICKY_VCAP_ROW_DELETED_STICKY_SET(x)\
7705 	FIELD_PREP(VCAP_ES0_VCAP_STICKY_VCAP_ROW_DELETED_STICKY, x)
7706 #define VCAP_ES0_VCAP_STICKY_VCAP_ROW_DELETED_STICKY_GET(x)\
7707 	FIELD_GET(VCAP_ES0_VCAP_STICKY_VCAP_ROW_DELETED_STICKY, x)
7708 
7709 /* VCAP_ES0:VCAP_CONST:VCAP_VER */
7710 #define VCAP_ES0_VCAP_VER                                                      \
7711 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 0, 0, 1, 4)
7712 
7713 /* VCAP_ES0:VCAP_CONST:ENTRY_WIDTH */
7714 #define VCAP_ES0_ENTRY_WIDTH                                                   \
7715 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 4, 0, 1, 4)
7716 
7717 /* VCAP_ES0:VCAP_CONST:ENTRY_CNT */
7718 #define VCAP_ES0_ENTRY_CNT                                                     \
7719 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 8, 0, 1, 4)
7720 
7721 /* VCAP_ES0:VCAP_CONST:ENTRY_SWCNT */
7722 #define VCAP_ES0_ENTRY_SWCNT                                                   \
7723 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 12, 0, 1, 4)
7724 
7725 /* VCAP_ES0:VCAP_CONST:ENTRY_TG_WIDTH */
7726 #define VCAP_ES0_ENTRY_TG_WIDTH                                                \
7727 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 16, 0, 1, 4)
7728 
7729 /* VCAP_ES0:VCAP_CONST:ACTION_DEF_CNT */
7730 #define VCAP_ES0_ACTION_DEF_CNT                                                \
7731 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 20, 0, 1, 4)
7732 
7733 /* VCAP_ES0:VCAP_CONST:ACTION_WIDTH */
7734 #define VCAP_ES0_ACTION_WIDTH                                                  \
7735 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 24, 0, 1, 4)
7736 
7737 /* VCAP_ES0:VCAP_CONST:CNT_WIDTH */
7738 #define VCAP_ES0_CNT_WIDTH                                                     \
7739 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 28, 0, 1, 4)
7740 
7741 /* VCAP_ES0:VCAP_CONST:CORE_CNT */
7742 #define VCAP_ES0_CORE_CNT                                                      \
7743 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 32, 0, 1, 4)
7744 
7745 /* VCAP_ES0:VCAP_CONST:IF_CNT */
7746 #define VCAP_ES0_IF_CNT                                                        \
7747 	__REG(TARGET_VCAP_ES0, 0, 1, 924, 0, 1, 40, 36, 0, 1, 4)
7748 
7749 /* VCAP_ES2:VCAP_CORE_CFG:VCAP_UPDATE_CTRL */
7750 #define VCAP_ES2_CTRL                                                          \
7751 	__REG(TARGET_VCAP_ES2, 0, 1, 0, 0, 1, 8, 0, 0, 1, 4)
7752 
7753 #define VCAP_ES2_CTRL_UPDATE_CMD                 GENMASK(24, 22)
7754 #define VCAP_ES2_CTRL_UPDATE_CMD_SET(x)\
7755 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_CMD, x)
7756 #define VCAP_ES2_CTRL_UPDATE_CMD_GET(x)\
7757 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_CMD, x)
7758 
7759 #define VCAP_ES2_CTRL_UPDATE_ENTRY_DIS           BIT(21)
7760 #define VCAP_ES2_CTRL_UPDATE_ENTRY_DIS_SET(x)\
7761 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_ENTRY_DIS, x)
7762 #define VCAP_ES2_CTRL_UPDATE_ENTRY_DIS_GET(x)\
7763 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_ENTRY_DIS, x)
7764 
7765 #define VCAP_ES2_CTRL_UPDATE_ACTION_DIS          BIT(20)
7766 #define VCAP_ES2_CTRL_UPDATE_ACTION_DIS_SET(x)\
7767 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_ACTION_DIS, x)
7768 #define VCAP_ES2_CTRL_UPDATE_ACTION_DIS_GET(x)\
7769 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_ACTION_DIS, x)
7770 
7771 #define VCAP_ES2_CTRL_UPDATE_CNT_DIS             BIT(19)
7772 #define VCAP_ES2_CTRL_UPDATE_CNT_DIS_SET(x)\
7773 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_CNT_DIS, x)
7774 #define VCAP_ES2_CTRL_UPDATE_CNT_DIS_GET(x)\
7775 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_CNT_DIS, x)
7776 
7777 #define VCAP_ES2_CTRL_UPDATE_ADDR                GENMASK(18, 3)
7778 #define VCAP_ES2_CTRL_UPDATE_ADDR_SET(x)\
7779 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_ADDR, x)
7780 #define VCAP_ES2_CTRL_UPDATE_ADDR_GET(x)\
7781 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_ADDR, x)
7782 
7783 #define VCAP_ES2_CTRL_UPDATE_SHOT                BIT(2)
7784 #define VCAP_ES2_CTRL_UPDATE_SHOT_SET(x)\
7785 	FIELD_PREP(VCAP_ES2_CTRL_UPDATE_SHOT, x)
7786 #define VCAP_ES2_CTRL_UPDATE_SHOT_GET(x)\
7787 	FIELD_GET(VCAP_ES2_CTRL_UPDATE_SHOT, x)
7788 
7789 #define VCAP_ES2_CTRL_CLEAR_CACHE                BIT(1)
7790 #define VCAP_ES2_CTRL_CLEAR_CACHE_SET(x)\
7791 	FIELD_PREP(VCAP_ES2_CTRL_CLEAR_CACHE, x)
7792 #define VCAP_ES2_CTRL_CLEAR_CACHE_GET(x)\
7793 	FIELD_GET(VCAP_ES2_CTRL_CLEAR_CACHE, x)
7794 
7795 #define VCAP_ES2_CTRL_MV_TRAFFIC_IGN             BIT(0)
7796 #define VCAP_ES2_CTRL_MV_TRAFFIC_IGN_SET(x)\
7797 	FIELD_PREP(VCAP_ES2_CTRL_MV_TRAFFIC_IGN, x)
7798 #define VCAP_ES2_CTRL_MV_TRAFFIC_IGN_GET(x)\
7799 	FIELD_GET(VCAP_ES2_CTRL_MV_TRAFFIC_IGN, x)
7800 
7801 /* VCAP_ES2:VCAP_CORE_CFG:VCAP_MV_CFG */
7802 #define VCAP_ES2_CFG                                                           \
7803 	__REG(TARGET_VCAP_ES2, 0, 1, 0, 0, 1, 8, 4, 0, 1, 4)
7804 
7805 #define VCAP_ES2_CFG_MV_NUM_POS                  GENMASK(31, 16)
7806 #define VCAP_ES2_CFG_MV_NUM_POS_SET(x)\
7807 	FIELD_PREP(VCAP_ES2_CFG_MV_NUM_POS, x)
7808 #define VCAP_ES2_CFG_MV_NUM_POS_GET(x)\
7809 	FIELD_GET(VCAP_ES2_CFG_MV_NUM_POS, x)
7810 
7811 #define VCAP_ES2_CFG_MV_SIZE                     GENMASK(15, 0)
7812 #define VCAP_ES2_CFG_MV_SIZE_SET(x)\
7813 	FIELD_PREP(VCAP_ES2_CFG_MV_SIZE, x)
7814 #define VCAP_ES2_CFG_MV_SIZE_GET(x)\
7815 	FIELD_GET(VCAP_ES2_CFG_MV_SIZE, x)
7816 
7817 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_ENTRY_DAT */
7818 #define VCAP_ES2_VCAP_ENTRY_DAT(r)                                             \
7819 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 0, r, 64, 4)
7820 
7821 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_MASK_DAT */
7822 #define VCAP_ES2_VCAP_MASK_DAT(r)                                              \
7823 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 256, r, 64, 4)
7824 
7825 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_ACTION_DAT */
7826 #define VCAP_ES2_VCAP_ACTION_DAT(r)                                            \
7827 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 512, r, 64, 4)
7828 
7829 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_CNT_DAT */
7830 #define VCAP_ES2_VCAP_CNT_DAT(r)                                               \
7831 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 768, r, 32, 4)
7832 
7833 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_CNT_FW_DAT */
7834 #define VCAP_ES2_VCAP_CNT_FW_DAT                                               \
7835 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 896, 0, 1, 4)
7836 
7837 /* VCAP_ES2:VCAP_CORE_CACHE:VCAP_TG_DAT */
7838 #define VCAP_ES2_VCAP_TG_DAT                                                   \
7839 	__REG(TARGET_VCAP_ES2, 0, 1, 8, 0, 1, 904, 900, 0, 1, 4)
7840 
7841 /* VCAP_ES2:VCAP_CORE_MAP:VCAP_CORE_IDX */
7842 #define VCAP_ES2_IDX                                                           \
7843 	__REG(TARGET_VCAP_ES2, 0, 1, 912, 0, 1, 8, 0, 0, 1, 4)
7844 
7845 #define VCAP_ES2_IDX_CORE_IDX                    GENMASK(3, 0)
7846 #define VCAP_ES2_IDX_CORE_IDX_SET(x)\
7847 	FIELD_PREP(VCAP_ES2_IDX_CORE_IDX, x)
7848 #define VCAP_ES2_IDX_CORE_IDX_GET(x)\
7849 	FIELD_GET(VCAP_ES2_IDX_CORE_IDX, x)
7850 
7851 /* VCAP_ES2:VCAP_CORE_MAP:VCAP_CORE_MAP */
7852 #define VCAP_ES2_MAP                                                           \
7853 	__REG(TARGET_VCAP_ES2, 0, 1, 912, 0, 1, 8, 4, 0, 1, 4)
7854 
7855 #define VCAP_ES2_MAP_CORE_MAP                    GENMASK(2, 0)
7856 #define VCAP_ES2_MAP_CORE_MAP_SET(x)\
7857 	FIELD_PREP(VCAP_ES2_MAP_CORE_MAP, x)
7858 #define VCAP_ES2_MAP_CORE_MAP_GET(x)\
7859 	FIELD_GET(VCAP_ES2_MAP_CORE_MAP, x)
7860 
7861 /* VCAP_ES2:VCAP_CORE_STICKY:VCAP_STICKY */
7862 #define VCAP_ES2_VCAP_STICKY                                                   \
7863 	__REG(TARGET_VCAP_ES2, 0, 1, 920, 0, 1, 4, 0, 0, 1, 4)
7864 
7865 #define VCAP_ES2_VCAP_STICKY_VCAP_ROW_DELETED_STICKY BIT(0)
7866 #define VCAP_ES2_VCAP_STICKY_VCAP_ROW_DELETED_STICKY_SET(x)\
7867 	FIELD_PREP(VCAP_ES2_VCAP_STICKY_VCAP_ROW_DELETED_STICKY, x)
7868 #define VCAP_ES2_VCAP_STICKY_VCAP_ROW_DELETED_STICKY_GET(x)\
7869 	FIELD_GET(VCAP_ES2_VCAP_STICKY_VCAP_ROW_DELETED_STICKY, x)
7870 
7871 /* VCAP_ES2:VCAP_CONST:VCAP_VER */
7872 #define VCAP_ES2_VCAP_VER                                                      \
7873 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 0, 0, 1, 4)
7874 
7875 /* VCAP_ES2:VCAP_CONST:ENTRY_WIDTH */
7876 #define VCAP_ES2_ENTRY_WIDTH                                                   \
7877 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 4, 0, 1, 4)
7878 
7879 /* VCAP_ES2:VCAP_CONST:ENTRY_CNT */
7880 #define VCAP_ES2_ENTRY_CNT                                                     \
7881 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 8, 0, 1, 4)
7882 
7883 /* VCAP_ES2:VCAP_CONST:ENTRY_SWCNT */
7884 #define VCAP_ES2_ENTRY_SWCNT                                                   \
7885 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 12, 0, 1, 4)
7886 
7887 /* VCAP_ES2:VCAP_CONST:ENTRY_TG_WIDTH */
7888 #define VCAP_ES2_ENTRY_TG_WIDTH                                                \
7889 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 16, 0, 1, 4)
7890 
7891 /* VCAP_ES2:VCAP_CONST:ACTION_DEF_CNT */
7892 #define VCAP_ES2_ACTION_DEF_CNT                                                \
7893 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 20, 0, 1, 4)
7894 
7895 /* VCAP_ES2:VCAP_CONST:ACTION_WIDTH */
7896 #define VCAP_ES2_ACTION_WIDTH                                                  \
7897 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 24, 0, 1, 4)
7898 
7899 /* VCAP_ES2:VCAP_CONST:CNT_WIDTH */
7900 #define VCAP_ES2_CNT_WIDTH                                                     \
7901 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 28, 0, 1, 4)
7902 
7903 /* VCAP_ES2:VCAP_CONST:CORE_CNT */
7904 #define VCAP_ES2_CORE_CNT                                                      \
7905 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 32, 0, 1, 4)
7906 
7907 /* VCAP_ES2:VCAP_CONST:IF_CNT */
7908 #define VCAP_ES2_IF_CNT                                                        \
7909 	__REG(TARGET_VCAP_ES2, 0, 1, 924, 0, 1, 40, 36, 0, 1, 4)
7910 
7911 /* VCAP_SUPER:VCAP_CORE_CFG:VCAP_UPDATE_CTRL */
7912 #define VCAP_SUPER_CTRL                                                        \
7913 	__REG(TARGET_VCAP_SUPER, 0, 1, 0, 0, 1, 8, 0, 0, 1, 4)
7914 
7915 #define VCAP_SUPER_CTRL_UPDATE_CMD               GENMASK(24, 22)
7916 #define VCAP_SUPER_CTRL_UPDATE_CMD_SET(x)\
7917 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_CMD, x)
7918 #define VCAP_SUPER_CTRL_UPDATE_CMD_GET(x)\
7919 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_CMD, x)
7920 
7921 #define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS         BIT(21)
7922 #define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS_SET(x)\
7923 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS, x)
7924 #define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS_GET(x)\
7925 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS, x)
7926 
7927 #define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS        BIT(20)
7928 #define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS_SET(x)\
7929 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ACTION_DIS, x)
7930 #define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS_GET(x)\
7931 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ACTION_DIS, x)
7932 
7933 #define VCAP_SUPER_CTRL_UPDATE_CNT_DIS           BIT(19)
7934 #define VCAP_SUPER_CTRL_UPDATE_CNT_DIS_SET(x)\
7935 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_CNT_DIS, x)
7936 #define VCAP_SUPER_CTRL_UPDATE_CNT_DIS_GET(x)\
7937 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_CNT_DIS, x)
7938 
7939 #define VCAP_SUPER_CTRL_UPDATE_ADDR              GENMASK(18, 3)
7940 #define VCAP_SUPER_CTRL_UPDATE_ADDR_SET(x)\
7941 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ADDR, x)
7942 #define VCAP_SUPER_CTRL_UPDATE_ADDR_GET(x)\
7943 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ADDR, x)
7944 
7945 #define VCAP_SUPER_CTRL_UPDATE_SHOT              BIT(2)
7946 #define VCAP_SUPER_CTRL_UPDATE_SHOT_SET(x)\
7947 	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_SHOT, x)
7948 #define VCAP_SUPER_CTRL_UPDATE_SHOT_GET(x)\
7949 	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_SHOT, x)
7950 
7951 #define VCAP_SUPER_CTRL_CLEAR_CACHE              BIT(1)
7952 #define VCAP_SUPER_CTRL_CLEAR_CACHE_SET(x)\
7953 	FIELD_PREP(VCAP_SUPER_CTRL_CLEAR_CACHE, x)
7954 #define VCAP_SUPER_CTRL_CLEAR_CACHE_GET(x)\
7955 	FIELD_GET(VCAP_SUPER_CTRL_CLEAR_CACHE, x)
7956 
7957 #define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN           BIT(0)
7958 #define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN_SET(x)\
7959 	FIELD_PREP(VCAP_SUPER_CTRL_MV_TRAFFIC_IGN, x)
7960 #define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN_GET(x)\
7961 	FIELD_GET(VCAP_SUPER_CTRL_MV_TRAFFIC_IGN, x)
7962 
7963 /* VCAP_SUPER:VCAP_CORE_CFG:VCAP_MV_CFG */
7964 #define VCAP_SUPER_CFG                                                         \
7965 	__REG(TARGET_VCAP_SUPER, 0, 1, 0, 0, 1, 8, 4, 0, 1, 4)
7966 
7967 #define VCAP_SUPER_CFG_MV_NUM_POS                GENMASK(31, 16)
7968 #define VCAP_SUPER_CFG_MV_NUM_POS_SET(x)\
7969 	FIELD_PREP(VCAP_SUPER_CFG_MV_NUM_POS, x)
7970 #define VCAP_SUPER_CFG_MV_NUM_POS_GET(x)\
7971 	FIELD_GET(VCAP_SUPER_CFG_MV_NUM_POS, x)
7972 
7973 #define VCAP_SUPER_CFG_MV_SIZE                   GENMASK(15, 0)
7974 #define VCAP_SUPER_CFG_MV_SIZE_SET(x)\
7975 	FIELD_PREP(VCAP_SUPER_CFG_MV_SIZE, x)
7976 #define VCAP_SUPER_CFG_MV_SIZE_GET(x)\
7977 	FIELD_GET(VCAP_SUPER_CFG_MV_SIZE, x)
7978 
7979 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_ENTRY_DAT */
7980 #define VCAP_SUPER_VCAP_ENTRY_DAT(r)                                           \
7981 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 0, r, 64, 4)
7982 
7983 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_MASK_DAT */
7984 #define VCAP_SUPER_VCAP_MASK_DAT(r)                                            \
7985 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 256, r, 64, 4)
7986 
7987 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_ACTION_DAT */
7988 #define VCAP_SUPER_VCAP_ACTION_DAT(r)                                          \
7989 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 512, r, 64, 4)
7990 
7991 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_CNT_DAT */
7992 #define VCAP_SUPER_VCAP_CNT_DAT(r)                                             \
7993 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 768, r, 32, 4)
7994 
7995 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_CNT_FW_DAT */
7996 #define VCAP_SUPER_VCAP_CNT_FW_DAT                                             \
7997 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 896, 0, 1, 4)
7998 
7999 /* VCAP_SUPER:VCAP_CORE_CACHE:VCAP_TG_DAT */
8000 #define VCAP_SUPER_VCAP_TG_DAT                                                 \
8001 	__REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 900, 0, 1, 4)
8002 
8003 /* VCAP_SUPER:VCAP_CORE_MAP:VCAP_CORE_IDX */
8004 #define VCAP_SUPER_IDX                                                         \
8005 	__REG(TARGET_VCAP_SUPER, 0, 1, 912, 0, 1, 8, 0, 0, 1, 4)
8006 
8007 #define VCAP_SUPER_IDX_CORE_IDX                  GENMASK(3, 0)
8008 #define VCAP_SUPER_IDX_CORE_IDX_SET(x)\
8009 	FIELD_PREP(VCAP_SUPER_IDX_CORE_IDX, x)
8010 #define VCAP_SUPER_IDX_CORE_IDX_GET(x)\
8011 	FIELD_GET(VCAP_SUPER_IDX_CORE_IDX, x)
8012 
8013 /* VCAP_SUPER:VCAP_CORE_MAP:VCAP_CORE_MAP */
8014 #define VCAP_SUPER_MAP                                                         \
8015 	__REG(TARGET_VCAP_SUPER, 0, 1, 912, 0, 1, 8, 4, 0, 1, 4)
8016 
8017 #define VCAP_SUPER_MAP_CORE_MAP                  GENMASK(2, 0)
8018 #define VCAP_SUPER_MAP_CORE_MAP_SET(x)\
8019 	FIELD_PREP(VCAP_SUPER_MAP_CORE_MAP, x)
8020 #define VCAP_SUPER_MAP_CORE_MAP_GET(x)\
8021 	FIELD_GET(VCAP_SUPER_MAP_CORE_MAP, x)
8022 
8023 /* VCAP_SUPER:VCAP_CONST:VCAP_VER */
8024 #define VCAP_SUPER_VCAP_VER                                                    \
8025 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 0, 0, 1, 4)
8026 
8027 /* VCAP_SUPER:VCAP_CONST:ENTRY_WIDTH */
8028 #define VCAP_SUPER_ENTRY_WIDTH                                                 \
8029 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 4, 0, 1, 4)
8030 
8031 /* VCAP_SUPER:VCAP_CONST:ENTRY_CNT */
8032 #define VCAP_SUPER_ENTRY_CNT                                                   \
8033 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 8, 0, 1, 4)
8034 
8035 /* VCAP_SUPER:VCAP_CONST:ENTRY_SWCNT */
8036 #define VCAP_SUPER_ENTRY_SWCNT                                                 \
8037 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 12, 0, 1, 4)
8038 
8039 /* VCAP_SUPER:VCAP_CONST:ENTRY_TG_WIDTH */
8040 #define VCAP_SUPER_ENTRY_TG_WIDTH                                              \
8041 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 16, 0, 1, 4)
8042 
8043 /* VCAP_SUPER:VCAP_CONST:ACTION_DEF_CNT */
8044 #define VCAP_SUPER_ACTION_DEF_CNT                                              \
8045 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 20, 0, 1, 4)
8046 
8047 /* VCAP_SUPER:VCAP_CONST:ACTION_WIDTH */
8048 #define VCAP_SUPER_ACTION_WIDTH                                                \
8049 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 24, 0, 1, 4)
8050 
8051 /* VCAP_SUPER:VCAP_CONST:CNT_WIDTH */
8052 #define VCAP_SUPER_CNT_WIDTH                                                   \
8053 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 28, 0, 1, 4)
8054 
8055 /* VCAP_SUPER:VCAP_CONST:CORE_CNT */
8056 #define VCAP_SUPER_CORE_CNT                                                    \
8057 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 32, 0, 1, 4)
8058 
8059 /* VCAP_SUPER:VCAP_CONST:IF_CNT */
8060 #define VCAP_SUPER_IF_CNT                                                      \
8061 	__REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 36, 0, 1, 4)
8062 
8063 /* VCAP_SUPER:RAM_CTRL:RAM_INIT */
8064 #define VCAP_SUPER_RAM_INIT                                                    \
8065 	__REG(TARGET_VCAP_SUPER, 0, 1, 1120, 0, 1, 4, 0, 0, 1, 4)
8066 
8067 #define VCAP_SUPER_RAM_INIT_RAM_INIT             BIT(1)
8068 #define VCAP_SUPER_RAM_INIT_RAM_INIT_SET(x)\
8069 	FIELD_PREP(VCAP_SUPER_RAM_INIT_RAM_INIT, x)
8070 #define VCAP_SUPER_RAM_INIT_RAM_INIT_GET(x)\
8071 	FIELD_GET(VCAP_SUPER_RAM_INIT_RAM_INIT, x)
8072 
8073 #define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK         BIT(0)
8074 #define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK_SET(x)\
8075 	FIELD_PREP(VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK, x)
8076 #define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK_GET(x)\
8077 	FIELD_GET(VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK, x)
8078 
8079 /* VOP:RAM_CTRL:RAM_INIT */
8080 #define VOP_RAM_INIT                                                           \
8081 	__REG(TARGET_VOP, 0, 1, regs->gaddr[GA_VOP_RAM_CTRL], 0, 1, 4, 0, 0, 1,\
8082 	      4)
8083 
8084 #define VOP_RAM_INIT_RAM_INIT                    BIT(1)
8085 #define VOP_RAM_INIT_RAM_INIT_SET(x)\
8086 	FIELD_PREP(VOP_RAM_INIT_RAM_INIT, x)
8087 #define VOP_RAM_INIT_RAM_INIT_GET(x)\
8088 	FIELD_GET(VOP_RAM_INIT_RAM_INIT, x)
8089 
8090 #define VOP_RAM_INIT_RAM_CFG_HOOK                BIT(0)
8091 #define VOP_RAM_INIT_RAM_CFG_HOOK_SET(x)\
8092 	FIELD_PREP(VOP_RAM_INIT_RAM_CFG_HOOK, x)
8093 #define VOP_RAM_INIT_RAM_CFG_HOOK_GET(x)\
8094 	FIELD_GET(VOP_RAM_INIT_RAM_CFG_HOOK, x)
8095 
8096 /* XQS:SYSTEM:STAT_CFG */
8097 #define XQS_STAT_CFG                                                           \
8098 	__REG(TARGET_XQS, 0, 1, regs->gaddr[GA_XQS_SYSTEM], 0, 1, 872, 860, 0, \
8099 	      1, 4)
8100 
8101 #define XQS_STAT_CFG_STAT_CLEAR_SHOT             GENMASK(21, 18)
8102 #define XQS_STAT_CFG_STAT_CLEAR_SHOT_SET(x)\
8103 	FIELD_PREP(XQS_STAT_CFG_STAT_CLEAR_SHOT, x)
8104 #define XQS_STAT_CFG_STAT_CLEAR_SHOT_GET(x)\
8105 	FIELD_GET(XQS_STAT_CFG_STAT_CLEAR_SHOT, x)
8106 
8107 #define XQS_STAT_CFG_STAT_VIEW\
8108 	GENMASK(regs->fsize[FW_XQS_STAT_CFG_STAT_VIEW] + 5 - 1, 5)
8109 #define XQS_STAT_CFG_STAT_VIEW_SET(x)\
8110 	spx5_field_prep(XQS_STAT_CFG_STAT_VIEW, x)
8111 #define XQS_STAT_CFG_STAT_VIEW_GET(x)\
8112 	spx5_field_get(XQS_STAT_CFG_STAT_VIEW, x)
8113 
8114 #define XQS_STAT_CFG_STAT_SRV_PKT_ONLY           BIT(4)
8115 #define XQS_STAT_CFG_STAT_SRV_PKT_ONLY_SET(x)\
8116 	FIELD_PREP(XQS_STAT_CFG_STAT_SRV_PKT_ONLY, x)
8117 #define XQS_STAT_CFG_STAT_SRV_PKT_ONLY_GET(x)\
8118 	FIELD_GET(XQS_STAT_CFG_STAT_SRV_PKT_ONLY, x)
8119 
8120 #define XQS_STAT_CFG_STAT_WRAP_DIS               GENMASK(3, 0)
8121 #define XQS_STAT_CFG_STAT_WRAP_DIS_SET(x)\
8122 	FIELD_PREP(XQS_STAT_CFG_STAT_WRAP_DIS, x)
8123 #define XQS_STAT_CFG_STAT_WRAP_DIS_GET(x)\
8124 	FIELD_GET(XQS_STAT_CFG_STAT_WRAP_DIS, x)
8125 
8126 /* XQS:QLIMIT_SHR:QLIMIT_SHR_TOP_CFG */
8127 #define XQS_QLIMIT_SHR_TOP_CFG(g)                                              \
8128 	__REG(TARGET_XQS, 0, 1, regs->gaddr[GA_XQS_QLIMIT_SHR], g, 4, 48, 0, 0,\
8129 	      1, 4)
8130 
8131 #define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP\
8132 	GENMASK(regs->fsize[FW_XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP] + 0 - 1, 0)
8133 #define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP_SET(x)\
8134 	spx5_field_prep(XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP, x)
8135 #define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP_GET(x)\
8136 	spx5_field_get(XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP, x)
8137 
8138 /* XQS:QLIMIT_SHR:QLIMIT_SHR_ATOP_CFG */
8139 #define XQS_QLIMIT_SHR_ATOP_CFG(g)                                             \
8140 	__REG(TARGET_XQS, 0, 1, regs->gaddr[GA_XQS_QLIMIT_SHR], g, 4, 48, 4, 0,\
8141 	      1, 4)
8142 
8143 #define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP\
8144 	GENMASK(regs->fsize[FW_XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP] + 0 - 1, 0)
8145 #define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP_SET(x)\
8146 	spx5_field_prep(XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP, x)
8147 #define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP_GET(x)\
8148 	spx5_field_get(XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP, x)
8149 
8150 /* XQS:QLIMIT_SHR:QLIMIT_SHR_CTOP_CFG */
8151 #define XQS_QLIMIT_SHR_CTOP_CFG(g)                                             \
8152 	__REG(TARGET_XQS, 0, 1, regs->gaddr[GA_XQS_QLIMIT_SHR], g, 4, 48, 8, 0,\
8153 	      1, 4)
8154 
8155 #define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP\
8156 	GENMASK(regs->fsize[FW_XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP] + 0 - 1, 0)
8157 #define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP_SET(x)\
8158 	spx5_field_prep(XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP, x)
8159 #define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP_GET(x)\
8160 	spx5_field_get(XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP, x)
8161 
8162 /* XQS:QLIMIT_SHR:QLIMIT_SHR_QLIM_CFG */
8163 #define XQS_QLIMIT_SHR_QLIM_CFG(g)                                             \
8164 	__REG(TARGET_XQS, 0, 1, regs->gaddr[GA_XQS_QLIMIT_SHR], g, 4, 48, 12,  \
8165 	      0, 1, 4)
8166 
8167 #define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM\
8168 	GENMASK(regs->fsize[FW_XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM] + 0 - 1, 0)
8169 #define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM_SET(x)\
8170 	spx5_field_prep(XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM, x)
8171 #define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM_GET(x)\
8172 	spx5_field_get(XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM, x)
8173 
8174 /* XQS:STAT:CNT */
8175 #define XQS_CNT(g)                                                             \
8176 	__REG(TARGET_XQS, 0, 1, 0, g, 1024, 4, 0, 0, 1, 4)
8177 
8178 /* LAN969X ONLY */
8179 /* DEV1G:DEV_CFG_STATUS:DEV_RST_CTRL */
8180 #define DEVRGMII_DEV_RST_CTRL(t)                                               \
8181 	__REG(TARGET_DEVRGMII, t, 2, 0, 0, 1, 36, 0, 0, 1, 4)
8182 
8183 #define DEVRGMII_DEV_RST_CTRL_SPEED_SEL          GENMASK(22, 20)
8184 #define DEVRGMII_DEV_RST_CTRL_SPEED_SEL_SET(x)\
8185 	FIELD_PREP(DEVRGMII_DEV_RST_CTRL_SPEED_SEL, x)
8186 #define DEVRGMII_DEV_RST_CTRL_SPEED_SEL_GET(x)\
8187 	FIELD_GET(DEVRGMII_DEV_RST_CTRL_SPEED_SEL, x)
8188 
8189 /* LAN969X ONLY */
8190 /* DEV1G:MAC_CFG_STATUS:MAC_ENA_CFG */
8191 #define DEVRGMII_MAC_ENA_CFG(t)                                                \
8192 	__REG(TARGET_DEVRGMII, t, 2, 36, 0, 1, 36, 0, 0, 1, 4)
8193 
8194 #define DEVRGMII_MAC_ENA_CFG_RX_ENA              BIT(4)
8195 #define DEVRGMII_MAC_ENA_CFG_RX_ENA_SET(x)\
8196 	FIELD_PREP(DEVRGMII_MAC_ENA_CFG_RX_ENA, x)
8197 #define DEVRGMII_MAC_ENA_CFG_RX_ENA_GET(x)\
8198 	FIELD_GET(DEVRGMII_MAC_ENA_CFG_RX_ENA, x)
8199 
8200 #define DEVRGMII_MAC_ENA_CFG_TX_ENA              BIT(0)
8201 #define DEVRGMII_MAC_ENA_CFG_TX_ENA_SET(x)\
8202 	FIELD_PREP(DEVRGMII_MAC_ENA_CFG_TX_ENA, x)
8203 #define DEVRGMII_MAC_ENA_CFG_TX_ENA_GET(x)\
8204 	FIELD_GET(DEVRGMII_MAC_ENA_CFG_TX_ENA, x)
8205 
8206 /* LAN969X ONLY */
8207 /* DEV1G:MAC_CFG_STATUS:MAC_TAGS_CFG */
8208 #define DEVRGMII_MAC_TAGS_CFG(t)                                               \
8209 	__REG(TARGET_DEVRGMII, t, 2, 36, 0, 1, 36, 12, 0, 1, 4)
8210 
8211 #define DEVRGMII_MAC_TAGS_CFG_TAG_ID             GENMASK(31, 16)
8212 #define DEVRGMII_MAC_TAGS_CFG_TAG_ID_SET(x)\
8213 	FIELD_PREP(DEVRGMII_MAC_TAGS_CFG_TAG_ID, x)
8214 #define DEVRGMII_MAC_TAGS_CFG_TAG_ID_GET(x)\
8215 	FIELD_GET(DEVRGMII_MAC_TAGS_CFG_TAG_ID, x)
8216 
8217 #define DEVRGMII_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA   BIT(3)
8218 #define DEVRGMII_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_SET(x)\
8219 	FIELD_PREP(DEVRGMII_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)
8220 #define DEVRGMII_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_GET(x)\
8221 	FIELD_GET(DEVRGMII_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)
8222 
8223 #define DEVRGMII_MAC_TAGS_CFG_PB_ENA             GENMASK(2, 1)
8224 #define DEVRGMII_MAC_TAGS_CFG_PB_ENA_SET(x)\
8225 	FIELD_PREP(DEVRGMII_MAC_TAGS_CFG_PB_ENA, x)
8226 #define DEVRGMII_MAC_TAGS_CFG_PB_ENA_GET(x)\
8227 	FIELD_GET(DEVRGMII_MAC_TAGS_CFG_PB_ENA, x)
8228 
8229 #define DEVRGMII_MAC_TAGS_CFG_VLAN_AWR_ENA       BIT(0)
8230 #define DEVRGMII_MAC_TAGS_CFG_VLAN_AWR_ENA_SET(x)\
8231 	FIELD_PREP(DEVRGMII_MAC_TAGS_CFG_VLAN_AWR_ENA, x)
8232 #define DEVRGMII_MAC_TAGS_CFG_VLAN_AWR_ENA_GET(x)\
8233 	FIELD_GET(DEVRGMII_MAC_TAGS_CFG_VLAN_AWR_ENA, x)
8234 
8235 /* LAN969X ONLY */
8236 /* DEV1G:MAC_CFG_STATUS:MAC_IFG_CFG */
8237 #define DEVRGMII_MAC_IFG_CFG(t)                                                \
8238 	__REG(TARGET_DEVRGMII, t, 2, 36, 0, 1, 36, 24, 0, 1, 4)
8239 
8240 #define DEVRGMII_MAC_IFG_CFG_TX_IFG              GENMASK(12, 8)
8241 #define DEVRGMII_MAC_IFG_CFG_TX_IFG_SET(x)\
8242 	FIELD_PREP(DEVRGMII_MAC_IFG_CFG_TX_IFG, x)
8243 #define DEVRGMII_MAC_IFG_CFG_TX_IFG_GET(x)\
8244 	FIELD_GET(DEVRGMII_MAC_IFG_CFG_TX_IFG, x)
8245 
8246 #define DEVRGMII_MAC_IFG_CFG_RX_IFG2             GENMASK(7, 4)
8247 #define DEVRGMII_MAC_IFG_CFG_RX_IFG2_SET(x)\
8248 	FIELD_PREP(DEVRGMII_MAC_IFG_CFG_RX_IFG2, x)
8249 #define DEVRGMII_MAC_IFG_CFG_RX_IFG2_GET(x)\
8250 	FIELD_GET(DEVRGMII_MAC_IFG_CFG_RX_IFG2, x)
8251 
8252 #define DEVRGMII_MAC_IFG_CFG_RX_IFG1             GENMASK(3, 0)
8253 #define DEVRGMII_MAC_IFG_CFG_RX_IFG1_SET(x)\
8254 	FIELD_PREP(DEVRGMII_MAC_IFG_CFG_RX_IFG1, x)
8255 #define DEVRGMII_MAC_IFG_CFG_RX_IFG1_GET(x)\
8256 	FIELD_GET(DEVRGMII_MAC_IFG_CFG_RX_IFG1, x)
8257 
8258 #endif /* _SPARX5_MAIN_REGS_H_ */
8259