/* SPDX-License-Identifier: GPL-2.0+
 * Microchip Sparx5 Switch driver
 *
 * Copyright (c) 2021 Microchip Technology Inc.
 */

/* This file is autogenerated by cml-utils 2022-09-28 11:17:02 +0200.
 * Commit ID: 385c8a11d71a9f6a60368d3a3cb648fa257b479a
 */

#ifndef _SPARX5_MAIN_REGS_H_
#define _SPARX5_MAIN_REGS_H_

#include <linux/bitfield.h>
#include <linux/types.h>
#include <linux/bug.h>

enum sparx5_target {
	TARGET_ANA_AC = 1,
	TARGET_ANA_ACL = 2,
	TARGET_ANA_AC_POL = 4,
	TARGET_ANA_CL = 6,
	TARGET_ANA_L2 = 7,
	TARGET_ANA_L3 = 8,
	TARGET_ASM = 9,
	TARGET_CLKGEN = 11,
	TARGET_CPU = 12,
	TARGET_DEV10G = 17,
	TARGET_DEV25G = 29,
	TARGET_DEV2G5 = 37,
	TARGET_DEV5G = 102,
	TARGET_DSM = 115,
	TARGET_EACL = 116,
	TARGET_FDMA = 117,
	TARGET_GCB = 118,
	TARGET_HSCH = 119,
	TARGET_LRN = 122,
	TARGET_PCEP = 129,
	TARGET_PCS10G_BR = 132,
	TARGET_PCS25G_BR = 144,
	TARGET_PCS5G_BR = 160,
	TARGET_PORT_CONF = 173,
	TARGET_PTP = 174,
	TARGET_QFWD = 175,
	TARGET_QRES = 176,
	TARGET_QS = 177,
	TARGET_QSYS = 178,
	TARGET_REW = 179,
	TARGET_VCAP_SUPER = 326,
	TARGET_VOP = 327,
	TARGET_XQS = 331,
	NUM_TARGETS = 332
};

#define __REG(...)    __VA_ARGS__

/*      ANA_AC:RAM_CTRL:RAM_INIT */
#define ANA_AC_RAM_INIT           __REG(TARGET_ANA_AC, 0, 1, 839108, 0, 1, 4, 0, 0, 1, 4)

#define ANA_AC_RAM_INIT_RAM_INIT                 BIT(1)
#define ANA_AC_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(ANA_AC_RAM_INIT_RAM_INIT, x)
#define ANA_AC_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(ANA_AC_RAM_INIT_RAM_INIT, x)

#define ANA_AC_RAM_INIT_RAM_CFG_HOOK             BIT(0)
#define ANA_AC_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(ANA_AC_RAM_INIT_RAM_CFG_HOOK, x)
#define ANA_AC_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(ANA_AC_RAM_INIT_RAM_CFG_HOOK, x)

/*      ANA_AC:PS_COMMON:OWN_UPSID */
#define ANA_AC_OWN_UPSID(r)       __REG(TARGET_ANA_AC, 0, 1, 894472, 0, 1, 352, 52, r, 3, 4)

#define ANA_AC_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
#define ANA_AC_OWN_UPSID_OWN_UPSID_SET(x)\
	FIELD_PREP(ANA_AC_OWN_UPSID_OWN_UPSID, x)
#define ANA_AC_OWN_UPSID_OWN_UPSID_GET(x)\
	FIELD_GET(ANA_AC_OWN_UPSID_OWN_UPSID, x)

/*      ANA_AC:SRC:SRC_CFG */
#define ANA_AC_SRC_CFG(g)         __REG(TARGET_ANA_AC, 0, 1, 849920, g, 102, 16, 0, 0, 1, 4)

/*      ANA_AC:SRC:SRC_CFG1 */
#define ANA_AC_SRC_CFG1(g)        __REG(TARGET_ANA_AC, 0, 1, 849920, g, 102, 16, 4, 0, 1, 4)

/*      ANA_AC:SRC:SRC_CFG2 */
#define ANA_AC_SRC_CFG2(g)        __REG(TARGET_ANA_AC, 0, 1, 849920, g, 102, 16, 8, 0, 1, 4)

#define ANA_AC_SRC_CFG2_PORT_MASK2               BIT(0)
#define ANA_AC_SRC_CFG2_PORT_MASK2_SET(x)\
	FIELD_PREP(ANA_AC_SRC_CFG2_PORT_MASK2, x)
#define ANA_AC_SRC_CFG2_PORT_MASK2_GET(x)\
	FIELD_GET(ANA_AC_SRC_CFG2_PORT_MASK2, x)

/*      ANA_AC:PGID:PGID_CFG */
#define ANA_AC_PGID_CFG(g)        __REG(TARGET_ANA_AC, 0, 1, 786432, g, 3290, 16, 0, 0, 1, 4)

/*      ANA_AC:PGID:PGID_CFG1 */
#define ANA_AC_PGID_CFG1(g)       __REG(TARGET_ANA_AC, 0, 1, 786432, g, 3290, 16, 4, 0, 1, 4)

/*      ANA_AC:PGID:PGID_CFG2 */
#define ANA_AC_PGID_CFG2(g)       __REG(TARGET_ANA_AC, 0, 1, 786432, g, 3290, 16, 8, 0, 1, 4)

#define ANA_AC_PGID_CFG2_PORT_MASK2              BIT(0)
#define ANA_AC_PGID_CFG2_PORT_MASK2_SET(x)\
	FIELD_PREP(ANA_AC_PGID_CFG2_PORT_MASK2, x)
#define ANA_AC_PGID_CFG2_PORT_MASK2_GET(x)\
	FIELD_GET(ANA_AC_PGID_CFG2_PORT_MASK2, x)

/*      ANA_AC:PGID:PGID_MISC_CFG */
#define ANA_AC_PGID_MISC_CFG(g)   __REG(TARGET_ANA_AC, 0, 1, 786432, g, 3290, 16, 12, 0, 1, 4)

#define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU         GENMASK(6, 4)
#define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU_SET(x)\
	FIELD_PREP(ANA_AC_PGID_MISC_CFG_PGID_CPU_QU, x)
#define ANA_AC_PGID_MISC_CFG_PGID_CPU_QU_GET(x)\
	FIELD_GET(ANA_AC_PGID_MISC_CFG_PGID_CPU_QU, x)

#define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA      BIT(1)
#define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA_SET(x)\
	FIELD_PREP(ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA, x)
#define ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA_GET(x)\
	FIELD_GET(ANA_AC_PGID_MISC_CFG_STACK_TYPE_ENA, x)

#define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA   BIT(0)
#define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA_SET(x)\
	FIELD_PREP(ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA, x)
#define ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA_GET(x)\
	FIELD_GET(ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA, x)

/*      ANA_AC:STAT_GLOBAL_CFG_PORT:STAT_GLOBAL_EVENT_MASK */
#define ANA_AC_PORT_SGE_CFG(r)    __REG(TARGET_ANA_AC, 0, 1, 851552, 0, 1, 20, 0, r, 4, 4)

#define ANA_AC_PORT_SGE_CFG_MASK                 GENMASK(15, 0)
#define ANA_AC_PORT_SGE_CFG_MASK_SET(x)\
	FIELD_PREP(ANA_AC_PORT_SGE_CFG_MASK, x)
#define ANA_AC_PORT_SGE_CFG_MASK_GET(x)\
	FIELD_GET(ANA_AC_PORT_SGE_CFG_MASK, x)

/*      ANA_AC:STAT_GLOBAL_CFG_PORT:STAT_RESET */
#define ANA_AC_STAT_RESET         __REG(TARGET_ANA_AC, 0, 1, 851552, 0, 1, 20, 16, 0, 1, 4)

#define ANA_AC_STAT_RESET_RESET                  BIT(0)
#define ANA_AC_STAT_RESET_RESET_SET(x)\
	FIELD_PREP(ANA_AC_STAT_RESET_RESET, x)
#define ANA_AC_STAT_RESET_RESET_GET(x)\
	FIELD_GET(ANA_AC_STAT_RESET_RESET, x)

/*      ANA_AC:STAT_CNT_CFG_PORT:STAT_CFG */
#define ANA_AC_PORT_STAT_CFG(g, r) __REG(TARGET_ANA_AC, 0, 1, 843776, g, 70, 64, 4, r, 4, 4)

#define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK       GENMASK(11, 4)
#define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK_SET(x)\
	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK, x)
#define ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK_GET(x)\
	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_PRIO_MASK, x)

#define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE    GENMASK(3, 1)
#define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE_SET(x)\
	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE, x)
#define ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE_GET(x)\
	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_CNT_FRM_TYPE, x)

#define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE        BIT(0)
#define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE_SET(x)\
	FIELD_PREP(ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE, x)
#define ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE_GET(x)\
	FIELD_GET(ANA_AC_PORT_STAT_CFG_CFG_CNT_BYTE, x)

/*      ANA_AC:STAT_CNT_CFG_PORT:STAT_LSB_CNT */
#define ANA_AC_PORT_STAT_LSB_CNT(g, r) __REG(TARGET_ANA_AC, 0, 1, 843776, g, 70, 64, 20, r, 4, 4)

/*      ANA_ACL:COMMON:VCAP_S2_CFG */
#define ANA_ACL_VCAP_S2_CFG(r)    __REG(TARGET_ANA_ACL, 0, 1, 32768, 0, 1, 592, 0, r, 70, 4)

#define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA BIT(28)
#define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_ROUTE_HANDLING_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA     GENMASK(27, 26)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_OAM_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA GENMASK(25, 24)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_OTHER_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA GENMASK(23, 22)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_VID_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA GENMASK(21, 20)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_STD_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA GENMASK(19, 18)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP6_TCPUDP_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA GENMASK(17, 16)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP_7TUPLE_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA GENMASK(15, 14)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_VID_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA GENMASK(13, 12)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_TCPUDP_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA GENMASK(11, 10)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_IP4_OTHER_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA     GENMASK(9, 8)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_ARP_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA GENMASK(7, 6)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_SNAP_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA GENMASK(5, 4)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_TYPE_MAC_LLC_ENA, x)

#define ANA_ACL_VCAP_S2_CFG_SEC_ENA              GENMASK(3, 0)
#define ANA_ACL_VCAP_S2_CFG_SEC_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_CFG_SEC_ENA, x)
#define ANA_ACL_VCAP_S2_CFG_SEC_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_CFG_SEC_ENA, x)

/*      ANA_ACL:COMMON:SWAP_IP_CTRL */
#define ANA_ACL_SWAP_IP_CTRL      __REG(TARGET_ANA_ACL, 0, 1, 32768, 0, 1, 592, 412, 0, 1, 4)

#define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL GENMASK(23, 18)
#define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL_SET(x)\
	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL, x)
#define ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL_GET(x)\
	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_DMAC_REPL_OFFSET_VAL, x)

#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL GENMASK(17, 10)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL_SET(x)\
	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL, x)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL_GET(x)\
	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_VAL, x)

#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL GENMASK(9, 2)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL_SET(x)\
	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL, x)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL_GET(x)\
	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_VAL, x)

#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA BIT(1)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA, x)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA_GET(x)\
	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP6_HOPC_ENA, x)

#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA BIT(0)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA, x)
#define ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA_GET(x)\
	FIELD_GET(ANA_ACL_SWAP_IP_CTRL_IP_SWAP_IP4_TTL_ENA, x)

/*      ANA_ACL:COMMON:VCAP_S2_RLEG_STAT */
#define ANA_ACL_VCAP_S2_RLEG_STAT(r) __REG(TARGET_ANA_ACL, 0, 1, 32768, 0, 1, 592, 424, r, 4, 4)

#define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK GENMASK(12, 6)
#define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK, x)
#define ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_RLEG_STAT_IRLEG_STAT_MASK, x)

#define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK GENMASK(5, 0)
#define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK, x)
#define ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_RLEG_STAT_ERLEG_STAT_MASK, x)

/*      ANA_ACL:COMMON:VCAP_S2_FRAGMENT_CFG */
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG __REG(TARGET_ANA_ACL, 0, 1, 32768, 0, 1, 592, 440, 0, 1, 4)

#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN  GENMASK(9, 5)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN, x)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_L4_MIN_LEN, x)

#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS BIT(4)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS, x)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_DIS, x)

#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES GENMASK(3, 0)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES, x)
#define ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_FRAGMENT_CFG_FRAGMENT_OFFSET_THRES, x)

/*      ANA_ACL:COMMON:OWN_UPSID */
#define ANA_ACL_OWN_UPSID(r)      __REG(TARGET_ANA_ACL, 0, 1, 32768, 0, 1, 592, 580, r, 3, 4)

#define ANA_ACL_OWN_UPSID_OWN_UPSID              GENMASK(4, 0)
#define ANA_ACL_OWN_UPSID_OWN_UPSID_SET(x)\
	FIELD_PREP(ANA_ACL_OWN_UPSID_OWN_UPSID, x)
#define ANA_ACL_OWN_UPSID_OWN_UPSID_GET(x)\
	FIELD_GET(ANA_ACL_OWN_UPSID_OWN_UPSID, x)

/*      ANA_ACL:KEY_SEL:VCAP_S2_KEY_SEL */
#define ANA_ACL_VCAP_S2_KEY_SEL(g, r) __REG(TARGET_ANA_ACL, 0, 1, 34200, g, 134, 16, 0, r, 4, 4)

#define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA      BIT(13)
#define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_KEY_SEL_ENA, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL BIT(12)
#define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IGR_PORT_MASK_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL  GENMASK(11, 10)
#define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_NON_ETH_KEY_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL   GENMASK(9, 8)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP4_MC_KEY_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL   GENMASK(7, 6)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP4_UC_KEY_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL   GENMASK(5, 3)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP6_MC_KEY_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL   GENMASK(2, 1)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_IP6_UC_KEY_SEL, x)

#define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL      BIT(0)
#define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL_SET(x)\
	FIELD_PREP(ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL, x)
#define ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL_GET(x)\
	FIELD_GET(ANA_ACL_VCAP_S2_KEY_SEL_ARP_KEY_SEL, x)

/*      ANA_ACL:CNT_A:CNT_A */
#define ANA_ACL_CNT_A(g)          __REG(TARGET_ANA_ACL, 0, 1, 0, g, 4096, 4, 0, 0, 1, 4)

/*      ANA_ACL:CNT_B:CNT_B */
#define ANA_ACL_CNT_B(g)          __REG(TARGET_ANA_ACL, 0, 1, 16384, g, 4096, 4, 0, 0, 1, 4)

/*      ANA_ACL:STICKY:SEC_LOOKUP_STICKY */
#define ANA_ACL_SEC_LOOKUP_STICKY(r) __REG(TARGET_ANA_ACL, 0, 1, 36408, 0, 1, 16, 0, r, 4, 4)

#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY BIT(17)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_CLM_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY BIT(16)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_IRLEG_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY BIT(15)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_ERLEG_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY BIT(14)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_KEY_SEL_PORT_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY BIT(13)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM2_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY BIT(12)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_CUSTOM1_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY BIT(11)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_OAM_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY BIT(10)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_VID_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY BIT(9)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_STD_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY BIT(8)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP6_TCPUDP_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY BIT(7)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP_7TUPLE_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY BIT(6)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_VID_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY BIT(5)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_TCPUDP_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY BIT(4)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_IP4_OTHER_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY BIT(3)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_ARP_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY BIT(2)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_SNAP_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY BIT(1)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_LLC_STICKY, x)

#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY BIT(0)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_SET(x)\
	FIELD_PREP(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)
#define ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY_GET(x)\
	FIELD_GET(ANA_ACL_SEC_LOOKUP_STICKY_SEC_TYPE_MAC_ETYPE_STICKY, x)

/*      ANA_AC_POL:POL_ALL_CFG:POL_UPD_INT_CFG */
#define ANA_AC_POL_POL_UPD_INT_CFG __REG(TARGET_ANA_AC_POL, 0, 1, 75968, 0, 1, 1160, 1148, 0, 1, 4)

#define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT   GENMASK(9, 0)
#define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT_SET(x)\
	FIELD_PREP(ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT, x)
#define ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT_GET(x)\
	FIELD_GET(ANA_AC_POL_POL_UPD_INT_CFG_POL_UPD_INT, x)

/*      ANA_AC_POL:COMMON_BDLB:DLB_CTRL */
#define ANA_AC_POL_BDLB_DLB_CTRL  __REG(TARGET_ANA_AC_POL, 0, 1, 79048, 0, 1, 8, 0, 0, 1, 4)

#define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS GENMASK(26, 19)
#define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS_SET(x)\
	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS, x)
#define ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS_GET(x)\
	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_CLK_PERIOD_01NS, x)

#define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT   GENMASK(18, 4)
#define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT_SET(x)\
	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT, x)
#define ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT_GET(x)\
	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_BASE_TICK_CNT, x)

#define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA        BIT(1)
#define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA_SET(x)\
	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA, x)
#define ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA_GET(x)\
	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_LEAK_ENA, x)

#define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA     BIT(0)
#define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA_SET(x)\
	FIELD_PREP(ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA, x)
#define ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA_GET(x)\
	FIELD_GET(ANA_AC_POL_BDLB_DLB_CTRL_DLB_ADD_ENA, x)

/*      ANA_AC_POL:COMMON_BUM_SLB:DLB_CTRL */
#define ANA_AC_POL_SLB_DLB_CTRL   __REG(TARGET_ANA_AC_POL, 0, 1, 79056, 0, 1, 20, 0, 0, 1, 4)

#define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS  GENMASK(26, 19)
#define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS_SET(x)\
	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS, x)
#define ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS_GET(x)\
	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_CLK_PERIOD_01NS, x)

#define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT    GENMASK(18, 4)
#define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT_SET(x)\
	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT, x)
#define ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT_GET(x)\
	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_BASE_TICK_CNT, x)

#define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA         BIT(1)
#define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA_SET(x)\
	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA, x)
#define ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA_GET(x)\
	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_LEAK_ENA, x)

#define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA      BIT(0)
#define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA_SET(x)\
	FIELD_PREP(ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA, x)
#define ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA_GET(x)\
	FIELD_GET(ANA_AC_POL_SLB_DLB_CTRL_DLB_ADD_ENA, x)

/*      ANA_CL:PORT:FILTER_CTRL */
#define ANA_CL_FILTER_CTRL(g)     __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 4, 0, 1, 4)

#define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS    BIT(2)
#define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS_SET(x)\
	FIELD_PREP(ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS, x)
#define ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS_GET(x)\
	FIELD_GET(ANA_CL_FILTER_CTRL_FILTER_SMAC_MC_DIS, x)

#define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS   BIT(1)
#define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS_SET(x)\
	FIELD_PREP(ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS, x)
#define ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS_GET(x)\
	FIELD_GET(ANA_CL_FILTER_CTRL_FILTER_NULL_MAC_DIS, x)

#define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA  BIT(0)
#define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA_SET(x)\
	FIELD_PREP(ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA, x)
#define ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA_GET(x)\
	FIELD_GET(ANA_CL_FILTER_CTRL_FORCE_FCS_UPDATE_ENA, x)

/*      ANA_CL:PORT:VLAN_FILTER_CTRL */
#define ANA_CL_VLAN_FILTER_CTRL(g, r) __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 8, r, 3, 4)

#define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA BIT(10)
#define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA, x)
#define ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_TAG_REQUIRED_ENA, x)

#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS    BIT(9)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CTAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS         BIT(8)
#define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CTAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS    BIT(7)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS BIT(6)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST1_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS BIT(5)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST2_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS BIT(4)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_PRIO_CUST3_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS         BIT(3)
#define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS   BIT(2)
#define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST1_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS   BIT(1)
#define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST2_STAG_DIS, x)

#define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS   BIT(0)
#define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS, x)
#define ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_FILTER_CTRL_CUST3_STAG_DIS, x)

/*      ANA_CL:PORT:ETAG_FILTER_CTRL */
#define ANA_CL_ETAG_FILTER_CTRL(g) __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 20, 0, 1, 4)

#define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA BIT(1)
#define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA_SET(x)\
	FIELD_PREP(ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA, x)
#define ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA_GET(x)\
	FIELD_GET(ANA_CL_ETAG_FILTER_CTRL_ETAG_REQUIRED_ENA, x)

#define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS         BIT(0)
#define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS_SET(x)\
	FIELD_PREP(ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS, x)
#define ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS_GET(x)\
	FIELD_GET(ANA_CL_ETAG_FILTER_CTRL_ETAG_DIS, x)

/*      ANA_CL:PORT:VLAN_CTRL */
#define ANA_CL_VLAN_CTRL(g)       __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 32, 0, 1, 4)

#define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS GENMASK(30, 26)
#define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS, x)
#define ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_TPID_AWARE_DIS, x)

#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP    GENMASK(25, 23)
#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP, x)
#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_PCP, x)

#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI    BIT(22)
#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI, x)
#define ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VOE_DEFAULT_DEI, x)

#define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA  BIT(21)
#define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA, x)
#define ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_PCP_DEI_TRANS_ENA, x)

#define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL            BIT(20)
#define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_TAG_SEL, x)
#define ANA_CL_VLAN_CTRL_VLAN_TAG_SEL_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_TAG_SEL, x)

#define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA          BIT(19)
#define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA, x)
#define ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_AWARE_ENA, x)

#define ANA_CL_VLAN_CTRL_VLAN_POP_CNT            GENMASK(18, 17)
#define ANA_CL_VLAN_CTRL_VLAN_POP_CNT_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_VLAN_POP_CNT, x)
#define ANA_CL_VLAN_CTRL_VLAN_POP_CNT_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_VLAN_POP_CNT, x)

#define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE           BIT(16)
#define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_TAG_TYPE, x)
#define ANA_CL_VLAN_CTRL_PORT_TAG_TYPE_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_TAG_TYPE, x)

#define ANA_CL_VLAN_CTRL_PORT_PCP                GENMASK(15, 13)
#define ANA_CL_VLAN_CTRL_PORT_PCP_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_PCP, x)
#define ANA_CL_VLAN_CTRL_PORT_PCP_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_PCP, x)

#define ANA_CL_VLAN_CTRL_PORT_DEI                BIT(12)
#define ANA_CL_VLAN_CTRL_PORT_DEI_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_DEI, x)
#define ANA_CL_VLAN_CTRL_PORT_DEI_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_DEI, x)

#define ANA_CL_VLAN_CTRL_PORT_VID                GENMASK(11, 0)
#define ANA_CL_VLAN_CTRL_PORT_VID_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_PORT_VID, x)
#define ANA_CL_VLAN_CTRL_PORT_VID_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_PORT_VID, x)

/*      ANA_CL:PORT:VLAN_CTRL_2 */
#define ANA_CL_VLAN_CTRL_2(g)     __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 36, 0, 1, 4)

#define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT         GENMASK(1, 0)
#define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT_SET(x)\
	FIELD_PREP(ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT, x)
#define ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT_GET(x)\
	FIELD_GET(ANA_CL_VLAN_CTRL_2_VLAN_PUSH_CNT, x)

/*      ANA_CL:PORT:PCP_DEI_MAP_CFG */
#define ANA_CL_PCP_DEI_MAP_CFG(g, r) __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 108, r, 16, 4)

#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL    GENMASK(4, 3)
#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL_SET(x)\
	FIELD_PREP(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL, x)
#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL_GET(x)\
	FIELD_GET(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_DP_VAL, x)

#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL   GENMASK(2, 0)
#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL_SET(x)\
	FIELD_PREP(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL, x)
#define ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL_GET(x)\
	FIELD_GET(ANA_CL_PCP_DEI_MAP_CFG_PCP_DEI_QOS_VAL, x)

/*      ANA_CL:PORT:QOS_CFG */
#define ANA_CL_QOS_CFG(g)         __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 172, 0, 1, 4)

#define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA         BIT(17)
#define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_COSID_ENA, x)
#define ANA_CL_QOS_CFG_DEFAULT_COSID_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_COSID_ENA, x)

#define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL         GENMASK(16, 14)
#define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_COSID_VAL, x)
#define ANA_CL_QOS_CFG_DEFAULT_COSID_VAL_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_COSID_VAL, x)

#define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL        GENMASK(13, 12)
#define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL, x)
#define ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DSCP_REWR_MODE_SEL, x)

#define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA        BIT(11)
#define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA, x)
#define ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DSCP_TRANSLATE_ENA, x)

#define ANA_CL_QOS_CFG_DSCP_KEEP_ENA             BIT(10)
#define ANA_CL_QOS_CFG_DSCP_KEEP_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_KEEP_ENA, x)
#define ANA_CL_QOS_CFG_DSCP_KEEP_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DSCP_KEEP_ENA, x)

#define ANA_CL_QOS_CFG_KEEP_ENA                  BIT(9)
#define ANA_CL_QOS_CFG_KEEP_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_KEEP_ENA, x)
#define ANA_CL_QOS_CFG_KEEP_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_KEEP_ENA, x)

#define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA            BIT(8)
#define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_PCP_DEI_DP_ENA, x)
#define ANA_CL_QOS_CFG_PCP_DEI_DP_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_PCP_DEI_DP_ENA, x)

#define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA           BIT(7)
#define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA, x)
#define ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_PCP_DEI_QOS_ENA, x)

#define ANA_CL_QOS_CFG_DSCP_DP_ENA               BIT(6)
#define ANA_CL_QOS_CFG_DSCP_DP_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_DP_ENA, x)
#define ANA_CL_QOS_CFG_DSCP_DP_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DSCP_DP_ENA, x)

#define ANA_CL_QOS_CFG_DSCP_QOS_ENA              BIT(5)
#define ANA_CL_QOS_CFG_DSCP_QOS_ENA_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DSCP_QOS_ENA, x)
#define ANA_CL_QOS_CFG_DSCP_QOS_ENA_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DSCP_QOS_ENA, x)

#define ANA_CL_QOS_CFG_DEFAULT_DP_VAL            GENMASK(4, 3)
#define ANA_CL_QOS_CFG_DEFAULT_DP_VAL_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_DP_VAL, x)
#define ANA_CL_QOS_CFG_DEFAULT_DP_VAL_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_DP_VAL, x)

#define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL           GENMASK(2, 0)
#define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL_SET(x)\
	FIELD_PREP(ANA_CL_QOS_CFG_DEFAULT_QOS_VAL, x)
#define ANA_CL_QOS_CFG_DEFAULT_QOS_VAL_GET(x)\
	FIELD_GET(ANA_CL_QOS_CFG_DEFAULT_QOS_VAL, x)

/*      ANA_CL:PORT:CAPTURE_BPDU_CFG */
#define ANA_CL_CAPTURE_BPDU_CFG(g) __REG(TARGET_ANA_CL, 0, 1, 131072, g, 70, 512, 196, 0, 1, 4)

/*      ANA_CL:COMMON:OWN_UPSID */
#define ANA_CL_OWN_UPSID(r)       __REG(TARGET_ANA_CL, 0, 1, 166912, 0, 1, 756, 0, r, 3, 4)

#define ANA_CL_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
#define ANA_CL_OWN_UPSID_OWN_UPSID_SET(x)\
	FIELD_PREP(ANA_CL_OWN_UPSID_OWN_UPSID, x)
#define ANA_CL_OWN_UPSID_OWN_UPSID_GET(x)\
	FIELD_GET(ANA_CL_OWN_UPSID_OWN_UPSID, x)

/*      ANA_CL:COMMON:DSCP_CFG */
#define ANA_CL_DSCP_CFG(r)        __REG(TARGET_ANA_CL, 0, 1, 166912, 0, 1, 756, 256, r, 64, 4)

#define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL       GENMASK(12, 7)
#define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL_SET(x)\
	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL, x)
#define ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL_GET(x)\
	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_TRANSLATE_VAL, x)

#define ANA_CL_DSCP_CFG_DSCP_QOS_VAL             GENMASK(6, 4)
#define ANA_CL_DSCP_CFG_DSCP_QOS_VAL_SET(x)\
	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_QOS_VAL, x)
#define ANA_CL_DSCP_CFG_DSCP_QOS_VAL_GET(x)\
	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_QOS_VAL, x)

#define ANA_CL_DSCP_CFG_DSCP_DP_VAL              GENMASK(3, 2)
#define ANA_CL_DSCP_CFG_DSCP_DP_VAL_SET(x)\
	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_DP_VAL, x)
#define ANA_CL_DSCP_CFG_DSCP_DP_VAL_GET(x)\
	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_DP_VAL, x)

#define ANA_CL_DSCP_CFG_DSCP_REWR_ENA            BIT(1)
#define ANA_CL_DSCP_CFG_DSCP_REWR_ENA_SET(x)\
	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_REWR_ENA, x)
#define ANA_CL_DSCP_CFG_DSCP_REWR_ENA_GET(x)\
	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_REWR_ENA, x)

#define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA           BIT(0)
#define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA_SET(x)\
	FIELD_PREP(ANA_CL_DSCP_CFG_DSCP_TRUST_ENA, x)
#define ANA_CL_DSCP_CFG_DSCP_TRUST_ENA_GET(x)\
	FIELD_GET(ANA_CL_DSCP_CFG_DSCP_TRUST_ENA, x)

/*      ANA_L2:COMMON:AUTO_LRN_CFG */
#define ANA_L2_AUTO_LRN_CFG       __REG(TARGET_ANA_L2, 0, 1, 566024, 0, 1, 700, 24, 0, 1, 4)

/*      ANA_L2:COMMON:AUTO_LRN_CFG1 */
#define ANA_L2_AUTO_LRN_CFG1      __REG(TARGET_ANA_L2, 0, 1, 566024, 0, 1, 700, 28, 0, 1, 4)

/*      ANA_L2:COMMON:AUTO_LRN_CFG2 */
#define ANA_L2_AUTO_LRN_CFG2      __REG(TARGET_ANA_L2, 0, 1, 566024, 0, 1, 700, 32, 0, 1, 4)

#define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2       BIT(0)
#define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2_SET(x)\
	FIELD_PREP(ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2, x)
#define ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2_GET(x)\
	FIELD_GET(ANA_L2_AUTO_LRN_CFG2_AUTO_LRN_ENA2, x)

/*      ANA_L2:COMMON:OWN_UPSID */
#define ANA_L2_OWN_UPSID(r)       __REG(TARGET_ANA_L2, 0, 1, 566024, 0, 1, 700, 672, r, 3, 4)

#define ANA_L2_OWN_UPSID_OWN_UPSID               GENMASK(4, 0)
#define ANA_L2_OWN_UPSID_OWN_UPSID_SET(x)\
	FIELD_PREP(ANA_L2_OWN_UPSID_OWN_UPSID, x)
#define ANA_L2_OWN_UPSID_OWN_UPSID_GET(x)\
	FIELD_GET(ANA_L2_OWN_UPSID_OWN_UPSID, x)

/*      ANA_L3:COMMON:VLAN_CTRL */
#define ANA_L3_VLAN_CTRL          __REG(TARGET_ANA_L3, 0, 1, 493632, 0, 1, 184, 4, 0, 1, 4)

#define ANA_L3_VLAN_CTRL_VLAN_ENA                BIT(0)
#define ANA_L3_VLAN_CTRL_VLAN_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CTRL_VLAN_ENA, x)
#define ANA_L3_VLAN_CTRL_VLAN_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CTRL_VLAN_ENA, x)

/*      ANA_L3:VLAN:VLAN_CFG */
#define ANA_L3_VLAN_CFG(g)        __REG(TARGET_ANA_L3, 0, 1, 0, g, 5120, 64, 8, 0, 1, 4)

#define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR            GENMASK(30, 24)
#define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_MSTP_PTR, x)
#define ANA_L3_VLAN_CFG_VLAN_MSTP_PTR_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_MSTP_PTR, x)

#define ANA_L3_VLAN_CFG_VLAN_FID                 GENMASK(20, 8)
#define ANA_L3_VLAN_CFG_VLAN_FID_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_FID, x)
#define ANA_L3_VLAN_CFG_VLAN_FID_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_FID, x)

#define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA      BIT(6)
#define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA, x)
#define ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_IGR_FILTER_ENA, x)

#define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA         BIT(5)
#define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA, x)
#define ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_SEC_FWD_ENA, x)

#define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS           BIT(4)
#define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS, x)
#define ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_FLOOD_DIS, x)

#define ANA_L3_VLAN_CFG_VLAN_LRN_DIS             BIT(3)
#define ANA_L3_VLAN_CFG_VLAN_LRN_DIS_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_LRN_DIS, x)
#define ANA_L3_VLAN_CFG_VLAN_LRN_DIS_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_LRN_DIS, x)

#define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA            BIT(2)
#define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_RLEG_ENA, x)
#define ANA_L3_VLAN_CFG_VLAN_RLEG_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_RLEG_ENA, x)

#define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA         BIT(1)
#define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA, x)
#define ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_PRIVATE_ENA, x)

#define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA          BIT(0)
#define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA, x)
#define ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA_GET(x)\
	FIELD_GET(ANA_L3_VLAN_CFG_VLAN_MIRROR_ENA, x)

/*      ANA_L3:VLAN:VLAN_MASK_CFG */
#define ANA_L3_VLAN_MASK_CFG(g)   __REG(TARGET_ANA_L3, 0, 1, 0, g, 5120, 64, 16, 0, 1, 4)

/*      ANA_L3:VLAN:VLAN_MASK_CFG1 */
#define ANA_L3_VLAN_MASK_CFG1(g)  __REG(TARGET_ANA_L3, 0, 1, 0, g, 5120, 64, 20, 0, 1, 4)

/*      ANA_L3:VLAN:VLAN_MASK_CFG2 */
#define ANA_L3_VLAN_MASK_CFG2(g)  __REG(TARGET_ANA_L3, 0, 1, 0, g, 5120, 64, 24, 0, 1, 4)

#define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2    BIT(0)
#define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2_SET(x)\
	FIELD_PREP(ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2, x)
#define ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2_GET(x)\
	FIELD_GET(ANA_L3_VLAN_MASK_CFG2_VLAN_PORT_MASK2, x)

/*      ASM:DEV_STATISTICS:RX_IN_BYTES_CNT */
#define ASM_RX_IN_BYTES_CNT(g)    __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 0, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SYMBOL_ERR_CNT */
#define ASM_RX_SYMBOL_ERR_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 4, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_PAUSE_CNT */
#define ASM_RX_PAUSE_CNT(g)       __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 8, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_UNSUP_OPCODE_CNT */
#define ASM_RX_UNSUP_OPCODE_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 12, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_OK_BYTES_CNT */
#define ASM_RX_OK_BYTES_CNT(g)    __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 16, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_BAD_BYTES_CNT */
#define ASM_RX_BAD_BYTES_CNT(g)   __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 20, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_UC_CNT */
#define ASM_RX_UC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 24, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_MC_CNT */
#define ASM_RX_MC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 28, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_BC_CNT */
#define ASM_RX_BC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 32, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_CRC_ERR_CNT */
#define ASM_RX_CRC_ERR_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 36, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_UNDERSIZE_CNT */
#define ASM_RX_UNDERSIZE_CNT(g)   __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 40, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_FRAGMENTS_CNT */
#define ASM_RX_FRAGMENTS_CNT(g)   __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 44, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_IN_RANGE_LEN_ERR_CNT */
#define ASM_RX_IN_RANGE_LEN_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 48, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_OUT_OF_RANGE_LEN_ERR_CNT */
#define ASM_RX_OUT_OF_RANGE_LEN_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 52, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_OVERSIZE_CNT */
#define ASM_RX_OVERSIZE_CNT(g)    __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 56, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_JABBERS_CNT */
#define ASM_RX_JABBERS_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 60, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE64_CNT */
#define ASM_RX_SIZE64_CNT(g)      __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 64, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE65TO127_CNT */
#define ASM_RX_SIZE65TO127_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 68, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE128TO255_CNT */
#define ASM_RX_SIZE128TO255_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 72, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE256TO511_CNT */
#define ASM_RX_SIZE256TO511_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 76, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE512TO1023_CNT */
#define ASM_RX_SIZE512TO1023_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 80, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE1024TO1518_CNT */
#define ASM_RX_SIZE1024TO1518_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 84, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_SIZE1519TOMAX_CNT */
#define ASM_RX_SIZE1519TOMAX_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 88, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_IPG_SHRINK_CNT */
#define ASM_RX_IPG_SHRINK_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 92, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_OUT_BYTES_CNT */
#define ASM_TX_OUT_BYTES_CNT(g)   __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 96, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_PAUSE_CNT */
#define ASM_TX_PAUSE_CNT(g)       __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 100, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_OK_BYTES_CNT */
#define ASM_TX_OK_BYTES_CNT(g)    __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 104, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_UC_CNT */
#define ASM_TX_UC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 108, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_MC_CNT */
#define ASM_TX_MC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 112, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_BC_CNT */
#define ASM_TX_BC_CNT(g)          __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 116, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE64_CNT */
#define ASM_TX_SIZE64_CNT(g)      __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 120, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE65TO127_CNT */
#define ASM_TX_SIZE65TO127_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 124, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE128TO255_CNT */
#define ASM_TX_SIZE128TO255_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 128, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE256TO511_CNT */
#define ASM_TX_SIZE256TO511_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 132, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE512TO1023_CNT */
#define ASM_TX_SIZE512TO1023_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 136, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE1024TO1518_CNT */
#define ASM_TX_SIZE1024TO1518_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 140, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_SIZE1519TOMAX_CNT */
#define ASM_TX_SIZE1519TOMAX_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 144, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_ALIGNMENT_LOST_CNT */
#define ASM_RX_ALIGNMENT_LOST_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 148, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_TAGGED_FRMS_CNT */
#define ASM_RX_TAGGED_FRMS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 152, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_UNTAGGED_FRMS_CNT */
#define ASM_RX_UNTAGGED_FRMS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 156, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_TAGGED_FRMS_CNT */
#define ASM_TX_TAGGED_FRMS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 160, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_UNTAGGED_FRMS_CNT */
#define ASM_TX_UNTAGGED_FRMS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 164, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SYMBOL_ERR_CNT */
#define ASM_PMAC_RX_SYMBOL_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 168, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_PAUSE_CNT */
#define ASM_PMAC_RX_PAUSE_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 172, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_UNSUP_OPCODE_CNT */
#define ASM_PMAC_RX_UNSUP_OPCODE_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 176, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_OK_BYTES_CNT */
#define ASM_PMAC_RX_OK_BYTES_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 180, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_BAD_BYTES_CNT */
#define ASM_PMAC_RX_BAD_BYTES_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 184, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_UC_CNT */
#define ASM_PMAC_RX_UC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 188, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_MC_CNT */
#define ASM_PMAC_RX_MC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 192, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_BC_CNT */
#define ASM_PMAC_RX_BC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 196, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_CRC_ERR_CNT */
#define ASM_PMAC_RX_CRC_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 200, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_UNDERSIZE_CNT */
#define ASM_PMAC_RX_UNDERSIZE_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 204, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_FRAGMENTS_CNT */
#define ASM_PMAC_RX_FRAGMENTS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 208, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_IN_RANGE_LEN_ERR_CNT */
#define ASM_PMAC_RX_IN_RANGE_LEN_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 212, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT */
#define ASM_PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 216, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_OVERSIZE_CNT */
#define ASM_PMAC_RX_OVERSIZE_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 220, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_JABBERS_CNT */
#define ASM_PMAC_RX_JABBERS_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 224, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE64_CNT */
#define ASM_PMAC_RX_SIZE64_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 228, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE65TO127_CNT */
#define ASM_PMAC_RX_SIZE65TO127_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 232, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE128TO255_CNT */
#define ASM_PMAC_RX_SIZE128TO255_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 236, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE256TO511_CNT */
#define ASM_PMAC_RX_SIZE256TO511_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 240, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE512TO1023_CNT */
#define ASM_PMAC_RX_SIZE512TO1023_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 244, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE1024TO1518_CNT */
#define ASM_PMAC_RX_SIZE1024TO1518_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 248, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_SIZE1519TOMAX_CNT */
#define ASM_PMAC_RX_SIZE1519TOMAX_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 252, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_PAUSE_CNT */
#define ASM_PMAC_TX_PAUSE_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 256, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_OK_BYTES_CNT */
#define ASM_PMAC_TX_OK_BYTES_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 260, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_UC_CNT */
#define ASM_PMAC_TX_UC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 264, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_MC_CNT */
#define ASM_PMAC_TX_MC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 268, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_BC_CNT */
#define ASM_PMAC_TX_BC_CNT(g)     __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 272, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE64_CNT */
#define ASM_PMAC_TX_SIZE64_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 276, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE65TO127_CNT */
#define ASM_PMAC_TX_SIZE65TO127_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 280, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE128TO255_CNT */
#define ASM_PMAC_TX_SIZE128TO255_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 284, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE256TO511_CNT */
#define ASM_PMAC_TX_SIZE256TO511_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 288, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE512TO1023_CNT */
#define ASM_PMAC_TX_SIZE512TO1023_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 292, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE1024TO1518_CNT */
#define ASM_PMAC_TX_SIZE1024TO1518_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 296, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_TX_SIZE1519TOMAX_CNT */
#define ASM_PMAC_TX_SIZE1519TOMAX_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 300, 0, 1, 4)

/*      ASM:DEV_STATISTICS:PMAC_RX_ALIGNMENT_LOST_CNT */
#define ASM_PMAC_RX_ALIGNMENT_LOST_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 304, 0, 1, 4)

/*      ASM:DEV_STATISTICS:MM_RX_ASSEMBLY_ERR_CNT */
#define ASM_MM_RX_ASSEMBLY_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 308, 0, 1, 4)

/*      ASM:DEV_STATISTICS:MM_RX_SMD_ERR_CNT */
#define ASM_MM_RX_SMD_ERR_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 312, 0, 1, 4)

/*      ASM:DEV_STATISTICS:MM_RX_ASSEMBLY_OK_CNT */
#define ASM_MM_RX_ASSEMBLY_OK_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 316, 0, 1, 4)

/*      ASM:DEV_STATISTICS:MM_RX_MERGE_FRAG_CNT */
#define ASM_MM_RX_MERGE_FRAG_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 320, 0, 1, 4)

/*      ASM:DEV_STATISTICS:MM_TX_PFRAGMENT_CNT */
#define ASM_MM_TX_PFRAGMENT_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 324, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_MULTI_COLL_CNT */
#define ASM_TX_MULTI_COLL_CNT(g)  __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 328, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_LATE_COLL_CNT */
#define ASM_TX_LATE_COLL_CNT(g)   __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 332, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_XCOLL_CNT */
#define ASM_TX_XCOLL_CNT(g)       __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 336, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_DEFER_CNT */
#define ASM_TX_DEFER_CNT(g)       __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 340, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_XDEFER_CNT */
#define ASM_TX_XDEFER_CNT(g)      __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 344, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_BACKOFF1_CNT */
#define ASM_TX_BACKOFF1_CNT(g)    __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 348, 0, 1, 4)

/*      ASM:DEV_STATISTICS:TX_CSENSE_CNT */
#define ASM_TX_CSENSE_CNT(g)      __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 352, 0, 1, 4)

/*      ASM:DEV_STATISTICS:RX_IN_BYTES_MSB_CNT */
#define ASM_RX_IN_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 356, 0, 1, 4)

#define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
#define ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:RX_OK_BYTES_MSB_CNT */
#define ASM_RX_OK_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 360, 0, 1, 4)

#define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
#define ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:PMAC_RX_OK_BYTES_MSB_CNT */
#define ASM_PMAC_RX_OK_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 364, 0, 1, 4)

#define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
#define ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:RX_BAD_BYTES_MSB_CNT */
#define ASM_RX_BAD_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 368, 0, 1, 4)

#define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
#define ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:PMAC_RX_BAD_BYTES_MSB_CNT */
#define ASM_PMAC_RX_BAD_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 372, 0, 1, 4)

#define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
#define ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:TX_OUT_BYTES_MSB_CNT */
#define ASM_TX_OUT_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 376, 0, 1, 4)

#define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
#define ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:TX_OK_BYTES_MSB_CNT */
#define ASM_TX_OK_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 380, 0, 1, 4)

#define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
#define ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:PMAC_TX_OK_BYTES_MSB_CNT */
#define ASM_PMAC_TX_OK_BYTES_MSB_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 384, 0, 1, 4)

#define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT GENMASK(3, 0)
#define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
#define ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(ASM_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)

/*      ASM:DEV_STATISTICS:RX_SYNC_LOST_ERR_CNT */
#define ASM_RX_SYNC_LOST_ERR_CNT(g) __REG(TARGET_ASM, 0, 1, 0, g, 65, 512, 388, 0, 1, 4)

/*      ASM:CFG:STAT_CFG */
#define ASM_STAT_CFG              __REG(TARGET_ASM, 0, 1, 33280, 0, 1, 1088, 0, 0, 1, 4)

#define ASM_STAT_CFG_STAT_CNT_CLR_SHOT           BIT(0)
#define ASM_STAT_CFG_STAT_CNT_CLR_SHOT_SET(x)\
	FIELD_PREP(ASM_STAT_CFG_STAT_CNT_CLR_SHOT, x)
#define ASM_STAT_CFG_STAT_CNT_CLR_SHOT_GET(x)\
	FIELD_GET(ASM_STAT_CFG_STAT_CNT_CLR_SHOT, x)

/*      ASM:CFG:PORT_CFG */
#define ASM_PORT_CFG(r)           __REG(TARGET_ASM, 0, 1, 33280, 0, 1, 1088, 540, r, 67, 4)

#define ASM_PORT_CFG_CSC_STAT_DIS                BIT(12)
#define ASM_PORT_CFG_CSC_STAT_DIS_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_CSC_STAT_DIS, x)
#define ASM_PORT_CFG_CSC_STAT_DIS_GET(x)\
	FIELD_GET(ASM_PORT_CFG_CSC_STAT_DIS, x)

#define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA      BIT(11)
#define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA, x)
#define ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_HIH_AFTER_PREAMBLE_ENA, x)

#define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA          BIT(10)
#define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_IGN_TAXI_ABORT_ENA, x)
#define ASM_PORT_CFG_IGN_TAXI_ABORT_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_IGN_TAXI_ABORT_ENA, x)

#define ASM_PORT_CFG_NO_PREAMBLE_ENA             BIT(9)
#define ASM_PORT_CFG_NO_PREAMBLE_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_NO_PREAMBLE_ENA, x)
#define ASM_PORT_CFG_NO_PREAMBLE_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_NO_PREAMBLE_ENA, x)

#define ASM_PORT_CFG_SKIP_PREAMBLE_ENA           BIT(8)
#define ASM_PORT_CFG_SKIP_PREAMBLE_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_SKIP_PREAMBLE_ENA, x)
#define ASM_PORT_CFG_SKIP_PREAMBLE_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_SKIP_PREAMBLE_ENA, x)

#define ASM_PORT_CFG_FRM_AGING_DIS               BIT(7)
#define ASM_PORT_CFG_FRM_AGING_DIS_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_FRM_AGING_DIS, x)
#define ASM_PORT_CFG_FRM_AGING_DIS_GET(x)\
	FIELD_GET(ASM_PORT_CFG_FRM_AGING_DIS, x)

#define ASM_PORT_CFG_PAD_ENA                     BIT(6)
#define ASM_PORT_CFG_PAD_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_PAD_ENA, x)
#define ASM_PORT_CFG_PAD_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_PAD_ENA, x)

#define ASM_PORT_CFG_INJ_DISCARD_CFG             GENMASK(5, 4)
#define ASM_PORT_CFG_INJ_DISCARD_CFG_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_INJ_DISCARD_CFG, x)
#define ASM_PORT_CFG_INJ_DISCARD_CFG_GET(x)\
	FIELD_GET(ASM_PORT_CFG_INJ_DISCARD_CFG, x)

#define ASM_PORT_CFG_INJ_FORMAT_CFG              GENMASK(3, 2)
#define ASM_PORT_CFG_INJ_FORMAT_CFG_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_INJ_FORMAT_CFG, x)
#define ASM_PORT_CFG_INJ_FORMAT_CFG_GET(x)\
	FIELD_GET(ASM_PORT_CFG_INJ_FORMAT_CFG, x)

#define ASM_PORT_CFG_VSTAX2_AWR_ENA              BIT(1)
#define ASM_PORT_CFG_VSTAX2_AWR_ENA_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_VSTAX2_AWR_ENA, x)
#define ASM_PORT_CFG_VSTAX2_AWR_ENA_GET(x)\
	FIELD_GET(ASM_PORT_CFG_VSTAX2_AWR_ENA, x)

#define ASM_PORT_CFG_PFRM_FLUSH                  BIT(0)
#define ASM_PORT_CFG_PFRM_FLUSH_SET(x)\
	FIELD_PREP(ASM_PORT_CFG_PFRM_FLUSH, x)
#define ASM_PORT_CFG_PFRM_FLUSH_GET(x)\
	FIELD_GET(ASM_PORT_CFG_PFRM_FLUSH, x)

/*      ASM:RAM_CTRL:RAM_INIT */
#define ASM_RAM_INIT              __REG(TARGET_ASM, 0, 1, 34832, 0, 1, 4, 0, 0, 1, 4)

#define ASM_RAM_INIT_RAM_INIT                    BIT(1)
#define ASM_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(ASM_RAM_INIT_RAM_INIT, x)
#define ASM_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(ASM_RAM_INIT_RAM_INIT, x)

#define ASM_RAM_INIT_RAM_CFG_HOOK                BIT(0)
#define ASM_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(ASM_RAM_INIT_RAM_CFG_HOOK, x)
#define ASM_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(ASM_RAM_INIT_RAM_CFG_HOOK, x)

/*      CLKGEN:LCPLL1:LCPLL1_CORE_CLK_CFG */
#define CLKGEN_LCPLL1_CORE_CLK_CFG __REG(TARGET_CLKGEN, 0, 1, 12, 0, 1, 36, 0, 0, 1, 4)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV  GENMASK(7, 0)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_DIV, x)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV  GENMASK(10, 8)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_PRE_DIV, x)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR  BIT(11)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_DIR, x)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL  GENMASK(13, 12)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_SEL, x)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA  BIT(14)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_ROT_ENA, x)

#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA  BIT(15)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA_SET(x)\
	FIELD_PREP(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA, x)
#define CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA_GET(x)\
	FIELD_GET(CLKGEN_LCPLL1_CORE_CLK_CFG_CORE_CLK_ENA, x)

/*      CPU:CPU_REGS:PROC_CTRL */
#define CPU_PROC_CTRL             __REG(TARGET_CPU, 0, 1, 0, 0, 1, 204, 176, 0, 1, 4)

#define CPU_PROC_CTRL_AARCH64_MODE_ENA           BIT(12)
#define CPU_PROC_CTRL_AARCH64_MODE_ENA_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_AARCH64_MODE_ENA, x)
#define CPU_PROC_CTRL_AARCH64_MODE_ENA_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_AARCH64_MODE_ENA, x)

#define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS      BIT(11)
#define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS, x)
#define CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS, x)

#define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS      BIT(10)
#define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS, x)
#define CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS, x)

#define CPU_PROC_CTRL_BE_EXCEP_MODE              BIT(9)
#define CPU_PROC_CTRL_BE_EXCEP_MODE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_BE_EXCEP_MODE, x)
#define CPU_PROC_CTRL_BE_EXCEP_MODE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_BE_EXCEP_MODE, x)

#define CPU_PROC_CTRL_VINITHI                    BIT(8)
#define CPU_PROC_CTRL_VINITHI_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_VINITHI, x)
#define CPU_PROC_CTRL_VINITHI_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_VINITHI, x)

#define CPU_PROC_CTRL_CFGTE                      BIT(7)
#define CPU_PROC_CTRL_CFGTE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_CFGTE, x)
#define CPU_PROC_CTRL_CFGTE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_CFGTE, x)

#define CPU_PROC_CTRL_CP15S_DISABLE              BIT(6)
#define CPU_PROC_CTRL_CP15S_DISABLE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_CP15S_DISABLE, x)
#define CPU_PROC_CTRL_CP15S_DISABLE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_CP15S_DISABLE, x)

#define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE        BIT(5)
#define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_PROC_CRYPTO_DISABLE, x)
#define CPU_PROC_CTRL_PROC_CRYPTO_DISABLE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_PROC_CRYPTO_DISABLE, x)

#define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA        BIT(4)
#define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA, x)
#define CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_ACP_CACHE_FORCE_ENA, x)

#define CPU_PROC_CTRL_ACP_AWCACHE                BIT(3)
#define CPU_PROC_CTRL_ACP_AWCACHE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_ACP_AWCACHE, x)
#define CPU_PROC_CTRL_ACP_AWCACHE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_ACP_AWCACHE, x)

#define CPU_PROC_CTRL_ACP_ARCACHE                BIT(2)
#define CPU_PROC_CTRL_ACP_ARCACHE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_ACP_ARCACHE, x)
#define CPU_PROC_CTRL_ACP_ARCACHE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_ACP_ARCACHE, x)

#define CPU_PROC_CTRL_L2_FLUSH_REQ               BIT(1)
#define CPU_PROC_CTRL_L2_FLUSH_REQ_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_L2_FLUSH_REQ, x)
#define CPU_PROC_CTRL_L2_FLUSH_REQ_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_L2_FLUSH_REQ, x)

#define CPU_PROC_CTRL_ACP_DISABLE                BIT(0)
#define CPU_PROC_CTRL_ACP_DISABLE_SET(x)\
	FIELD_PREP(CPU_PROC_CTRL_ACP_DISABLE, x)
#define CPU_PROC_CTRL_ACP_DISABLE_GET(x)\
	FIELD_GET(CPU_PROC_CTRL_ACP_DISABLE, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
#define DEV10G_MAC_ENA_CFG(t)     __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 0, 0, 1, 4)

#define DEV10G_MAC_ENA_CFG_RX_ENA                BIT(4)
#define DEV10G_MAC_ENA_CFG_RX_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ENA_CFG_RX_ENA, x)
#define DEV10G_MAC_ENA_CFG_RX_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ENA_CFG_RX_ENA, x)

#define DEV10G_MAC_ENA_CFG_TX_ENA                BIT(0)
#define DEV10G_MAC_ENA_CFG_TX_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ENA_CFG_TX_ENA, x)
#define DEV10G_MAC_ENA_CFG_TX_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ENA_CFG_TX_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
#define DEV10G_MAC_MAXLEN_CFG(t)  __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 8, 0, 1, 4)

#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK    BIT(16)
#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
	FIELD_PREP(DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
	FIELD_GET(DEV10G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)

#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
	FIELD_PREP(DEV10G_MAC_MAXLEN_CFG_MAX_LEN, x)
#define DEV10G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
	FIELD_GET(DEV10G_MAC_MAXLEN_CFG_MAX_LEN, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_NUM_TAGS_CFG */
#define DEV10G_MAC_NUM_TAGS_CFG(t) __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 12, 0, 1, 4)

#define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS         GENMASK(1, 0)
#define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS_SET(x)\
	FIELD_PREP(DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS, x)
#define DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS_GET(x)\
	FIELD_GET(DEV10G_MAC_NUM_TAGS_CFG_NUM_TAGS, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_TAGS_CFG */
#define DEV10G_MAC_TAGS_CFG(t, r) __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 16, r, 3, 4)

#define DEV10G_MAC_TAGS_CFG_TAG_ID               GENMASK(31, 16)
#define DEV10G_MAC_TAGS_CFG_TAG_ID_SET(x)\
	FIELD_PREP(DEV10G_MAC_TAGS_CFG_TAG_ID, x)
#define DEV10G_MAC_TAGS_CFG_TAG_ID_GET(x)\
	FIELD_GET(DEV10G_MAC_TAGS_CFG_TAG_ID, x)

#define DEV10G_MAC_TAGS_CFG_TAG_ENA              BIT(4)
#define DEV10G_MAC_TAGS_CFG_TAG_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_TAGS_CFG_TAG_ENA, x)
#define DEV10G_MAC_TAGS_CFG_TAG_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_TAGS_CFG_TAG_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
#define DEV10G_MAC_ADV_CHK_CFG(t) __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 28, 0, 1, 4)

#define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA   BIT(24)
#define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)

#define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA   BIT(20)
#define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)

#define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA       BIT(16)
#define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)

#define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS   BIT(12)
#define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
#define DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)

#define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA       BIT(8)
#define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)

#define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA       BIT(4)
#define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)

#define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA       BIT(0)
#define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
#define DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
	FIELD_GET(DEV10G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_TX_MONITOR_STICKY */
#define DEV10G_MAC_TX_MONITOR_STICKY(t) __REG(TARGET_DEV10G, t, 12, 0, 0, 1, 60, 48, 0, 1, 4)

#define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY BIT(4)
#define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY_SET(x)\
	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY, x)
#define DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY_GET(x)\
	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_LOCAL_ERR_STATE_STICKY, x)

#define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY BIT(3)
#define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY_SET(x)\
	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY, x)
#define DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY_GET(x)\
	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_REMOTE_ERR_STATE_STICKY, x)

#define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY BIT(2)
#define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY_SET(x)\
	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY, x)
#define DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY_GET(x)\
	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_LINK_INTERRUPTION_STATE_STICKY, x)

#define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY BIT(1)
#define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY_SET(x)\
	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY, x)
#define DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY_GET(x)\
	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_IDLE_STATE_STICKY, x)

#define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY BIT(0)
#define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY_SET(x)\
	FIELD_PREP(DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY, x)
#define DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY_GET(x)\
	FIELD_GET(DEV10G_MAC_TX_MONITOR_STICKY_DIS_STATE_STICKY, x)

/*      DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
#define DEV10G_DEV_RST_CTRL(t)    __REG(TARGET_DEV10G, t, 12, 436, 0, 1, 52, 0, 0, 1, 4)

#define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA      BIT(28)
#define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
#define DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_PARDET_MODE_ENA, x)

#define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
#define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
#define DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)

#define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
#define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
#define DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)

#define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL     GENMASK(24, 23)
#define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
#define DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)

#define DEV10G_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
#define DEV10G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_SPEED_SEL, x)
#define DEV10G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_SPEED_SEL, x)

#define DEV10G_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
#define DEV10G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_PCS_TX_RST, x)
#define DEV10G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_PCS_TX_RST, x)

#define DEV10G_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
#define DEV10G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_PCS_RX_RST, x)
#define DEV10G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_PCS_RX_RST, x)

#define DEV10G_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
#define DEV10G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_MAC_TX_RST, x)
#define DEV10G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_MAC_TX_RST, x)

#define DEV10G_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
#define DEV10G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
	FIELD_PREP(DEV10G_DEV_RST_CTRL_MAC_RX_RST, x)
#define DEV10G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
	FIELD_GET(DEV10G_DEV_RST_CTRL_MAC_RX_RST, x)

/*      DEV10G:PCS25G_CFG_STATUS:PCS25G_CFG */
#define DEV10G_PCS25G_CFG(t)      __REG(TARGET_DEV10G, t, 12, 488, 0, 1, 32, 0, 0, 1, 4)

#define DEV10G_PCS25G_CFG_PCS25G_ENA             BIT(0)
#define DEV10G_PCS25G_CFG_PCS25G_ENA_SET(x)\
	FIELD_PREP(DEV10G_PCS25G_CFG_PCS25G_ENA, x)
#define DEV10G_PCS25G_CFG_PCS25G_ENA_GET(x)\
	FIELD_GET(DEV10G_PCS25G_CFG_PCS25G_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
#define DEV25G_MAC_ENA_CFG(t)     __REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 0, 0, 1, 4)

#define DEV25G_MAC_ENA_CFG_RX_ENA                BIT(4)
#define DEV25G_MAC_ENA_CFG_RX_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ENA_CFG_RX_ENA, x)
#define DEV25G_MAC_ENA_CFG_RX_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ENA_CFG_RX_ENA, x)

#define DEV25G_MAC_ENA_CFG_TX_ENA                BIT(0)
#define DEV25G_MAC_ENA_CFG_TX_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ENA_CFG_TX_ENA, x)
#define DEV25G_MAC_ENA_CFG_TX_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ENA_CFG_TX_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
#define DEV25G_MAC_MAXLEN_CFG(t)  __REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 8, 0, 1, 4)

#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK    BIT(16)
#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
	FIELD_PREP(DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
	FIELD_GET(DEV25G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)

#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
	FIELD_PREP(DEV25G_MAC_MAXLEN_CFG_MAX_LEN, x)
#define DEV25G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
	FIELD_GET(DEV25G_MAC_MAXLEN_CFG_MAX_LEN, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
#define DEV25G_MAC_ADV_CHK_CFG(t) __REG(TARGET_DEV25G, t, 8, 0, 0, 1, 60, 28, 0, 1, 4)

#define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA   BIT(24)
#define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)

#define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA   BIT(20)
#define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)

#define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA       BIT(16)
#define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)

#define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS   BIT(12)
#define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
#define DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)

#define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA       BIT(8)
#define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)

#define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA       BIT(4)
#define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)

#define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA       BIT(0)
#define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
#define DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
	FIELD_GET(DEV25G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)

/*      DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
#define DEV25G_DEV_RST_CTRL(t)    __REG(TARGET_DEV25G, t, 8, 436, 0, 1, 52, 0, 0, 1, 4)

#define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA      BIT(28)
#define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
#define DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_PARDET_MODE_ENA, x)

#define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
#define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
#define DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)

#define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
#define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
#define DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)

#define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL     GENMASK(24, 23)
#define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
#define DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)

#define DEV25G_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
#define DEV25G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_SPEED_SEL, x)
#define DEV25G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_SPEED_SEL, x)

#define DEV25G_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
#define DEV25G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_PCS_TX_RST, x)
#define DEV25G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_PCS_TX_RST, x)

#define DEV25G_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
#define DEV25G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_PCS_RX_RST, x)
#define DEV25G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_PCS_RX_RST, x)

#define DEV25G_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
#define DEV25G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_MAC_TX_RST, x)
#define DEV25G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_MAC_TX_RST, x)

#define DEV25G_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
#define DEV25G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
	FIELD_PREP(DEV25G_DEV_RST_CTRL_MAC_RX_RST, x)
#define DEV25G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
	FIELD_GET(DEV25G_DEV_RST_CTRL_MAC_RX_RST, x)

/*      DEV10G:PCS25G_CFG_STATUS:PCS25G_CFG */
#define DEV25G_PCS25G_CFG(t)      __REG(TARGET_DEV25G, t, 8, 488, 0, 1, 32, 0, 0, 1, 4)

#define DEV25G_PCS25G_CFG_PCS25G_ENA             BIT(0)
#define DEV25G_PCS25G_CFG_PCS25G_ENA_SET(x)\
	FIELD_PREP(DEV25G_PCS25G_CFG_PCS25G_ENA, x)
#define DEV25G_PCS25G_CFG_PCS25G_ENA_GET(x)\
	FIELD_GET(DEV25G_PCS25G_CFG_PCS25G_ENA, x)

/*      DEV10G:PCS25G_CFG_STATUS:PCS25G_SD_CFG */
#define DEV25G_PCS25G_SD_CFG(t)   __REG(TARGET_DEV25G, t, 8, 488, 0, 1, 32, 4, 0, 1, 4)

#define DEV25G_PCS25G_SD_CFG_SD_SEL              BIT(8)
#define DEV25G_PCS25G_SD_CFG_SD_SEL_SET(x)\
	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_SEL, x)
#define DEV25G_PCS25G_SD_CFG_SD_SEL_GET(x)\
	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_SEL, x)

#define DEV25G_PCS25G_SD_CFG_SD_POL              BIT(4)
#define DEV25G_PCS25G_SD_CFG_SD_POL_SET(x)\
	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_POL, x)
#define DEV25G_PCS25G_SD_CFG_SD_POL_GET(x)\
	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_POL, x)

#define DEV25G_PCS25G_SD_CFG_SD_ENA              BIT(0)
#define DEV25G_PCS25G_SD_CFG_SD_ENA_SET(x)\
	FIELD_PREP(DEV25G_PCS25G_SD_CFG_SD_ENA, x)
#define DEV25G_PCS25G_SD_CFG_SD_ENA_GET(x)\
	FIELD_GET(DEV25G_PCS25G_SD_CFG_SD_ENA, x)

/*      DEV1G:DEV_CFG_STATUS:DEV_RST_CTRL */
#define DEV2G5_DEV_RST_CTRL(t)    __REG(TARGET_DEV2G5, t, 65, 0, 0, 1, 36, 0, 0, 1, 4)

#define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(23)
#define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
#define DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)

#define DEV2G5_DEV_RST_CTRL_SPEED_SEL            GENMASK(22, 20)
#define DEV2G5_DEV_RST_CTRL_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_SPEED_SEL, x)
#define DEV2G5_DEV_RST_CTRL_SPEED_SEL_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_SPEED_SEL, x)

#define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST       BIT(17)
#define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST, x)
#define DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_USX_PCS_TX_RST, x)

#define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST       BIT(16)
#define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST, x)
#define DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_USX_PCS_RX_RST, x)

#define DEV2G5_DEV_RST_CTRL_PCS_TX_RST           BIT(12)
#define DEV2G5_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_PCS_TX_RST, x)
#define DEV2G5_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_PCS_TX_RST, x)

#define DEV2G5_DEV_RST_CTRL_PCS_RX_RST           BIT(8)
#define DEV2G5_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_PCS_RX_RST, x)
#define DEV2G5_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_PCS_RX_RST, x)

#define DEV2G5_DEV_RST_CTRL_MAC_TX_RST           BIT(4)
#define DEV2G5_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_MAC_TX_RST, x)
#define DEV2G5_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_MAC_TX_RST, x)

#define DEV2G5_DEV_RST_CTRL_MAC_RX_RST           BIT(0)
#define DEV2G5_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
	FIELD_PREP(DEV2G5_DEV_RST_CTRL_MAC_RX_RST, x)
#define DEV2G5_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
	FIELD_GET(DEV2G5_DEV_RST_CTRL_MAC_RX_RST, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_ENA_CFG */
#define DEV2G5_MAC_ENA_CFG(t)     __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 0, 0, 1, 4)

#define DEV2G5_MAC_ENA_CFG_RX_ENA                BIT(4)
#define DEV2G5_MAC_ENA_CFG_RX_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_ENA_CFG_RX_ENA, x)
#define DEV2G5_MAC_ENA_CFG_RX_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_ENA_CFG_RX_ENA, x)

#define DEV2G5_MAC_ENA_CFG_TX_ENA                BIT(0)
#define DEV2G5_MAC_ENA_CFG_TX_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_ENA_CFG_TX_ENA, x)
#define DEV2G5_MAC_ENA_CFG_TX_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_ENA_CFG_TX_ENA, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_MODE_CFG */
#define DEV2G5_MAC_MODE_CFG(t)    __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 4, 0, 1, 4)

#define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA     BIT(8)
#define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA, x)
#define DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_MODE_CFG_FC_WORD_SYNC_ENA, x)

#define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA        BIT(4)
#define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA, x)
#define DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_MODE_CFG_GIGA_MODE_ENA, x)

#define DEV2G5_MAC_MODE_CFG_FDX_ENA              BIT(0)
#define DEV2G5_MAC_MODE_CFG_FDX_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_MODE_CFG_FDX_ENA, x)
#define DEV2G5_MAC_MODE_CFG_FDX_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_MODE_CFG_FDX_ENA, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
#define DEV2G5_MAC_MAXLEN_CFG(t)  __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 8, 0, 1, 4)

#define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN            GENMASK(15, 0)
#define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
	FIELD_PREP(DEV2G5_MAC_MAXLEN_CFG_MAX_LEN, x)
#define DEV2G5_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
	FIELD_GET(DEV2G5_MAC_MAXLEN_CFG_MAX_LEN, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_TAGS_CFG */
#define DEV2G5_MAC_TAGS_CFG(t)    __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 12, 0, 1, 4)

#define DEV2G5_MAC_TAGS_CFG_TAG_ID               GENMASK(31, 16)
#define DEV2G5_MAC_TAGS_CFG_TAG_ID_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_TAG_ID, x)
#define DEV2G5_MAC_TAGS_CFG_TAG_ID_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG_TAG_ID, x)

#define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA     BIT(3)
#define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)
#define DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, x)

#define DEV2G5_MAC_TAGS_CFG_PB_ENA               GENMASK(2, 1)
#define DEV2G5_MAC_TAGS_CFG_PB_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_PB_ENA, x)
#define DEV2G5_MAC_TAGS_CFG_PB_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG_PB_ENA, x)

#define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA         BIT(0)
#define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA, x)
#define DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG_VLAN_AWR_ENA, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_TAGS_CFG2 */
#define DEV2G5_MAC_TAGS_CFG2(t)   __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 16, 0, 1, 4)

#define DEV2G5_MAC_TAGS_CFG2_TAG_ID3             GENMASK(31, 16)
#define DEV2G5_MAC_TAGS_CFG2_TAG_ID3_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG2_TAG_ID3, x)
#define DEV2G5_MAC_TAGS_CFG2_TAG_ID3_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG2_TAG_ID3, x)

#define DEV2G5_MAC_TAGS_CFG2_TAG_ID2             GENMASK(15, 0)
#define DEV2G5_MAC_TAGS_CFG2_TAG_ID2_SET(x)\
	FIELD_PREP(DEV2G5_MAC_TAGS_CFG2_TAG_ID2, x)
#define DEV2G5_MAC_TAGS_CFG2_TAG_ID2_GET(x)\
	FIELD_GET(DEV2G5_MAC_TAGS_CFG2_TAG_ID2, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
#define DEV2G5_MAC_ADV_CHK_CFG(t) __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 20, 0, 1, 4)

#define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA      BIT(0)
#define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA, x)
#define DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_ADV_CHK_CFG_LEN_DROP_ENA, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_IFG_CFG */
#define DEV2G5_MAC_IFG_CFG(t)     __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 24, 0, 1, 4)

#define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK BIT(17)
#define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK_SET(x)\
	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK, x)
#define DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK_GET(x)\
	FIELD_GET(DEV2G5_MAC_IFG_CFG_RESTORE_OLD_IPG_CHECK, x)

#define DEV2G5_MAC_IFG_CFG_TX_IFG                GENMASK(12, 8)
#define DEV2G5_MAC_IFG_CFG_TX_IFG_SET(x)\
	FIELD_PREP(DEV2G5_MAC_IFG_CFG_TX_IFG, x)
#define DEV2G5_MAC_IFG_CFG_TX_IFG_GET(x)\
	FIELD_GET(DEV2G5_MAC_IFG_CFG_TX_IFG, x)

#define DEV2G5_MAC_IFG_CFG_RX_IFG2               GENMASK(7, 4)
#define DEV2G5_MAC_IFG_CFG_RX_IFG2_SET(x)\
	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RX_IFG2, x)
#define DEV2G5_MAC_IFG_CFG_RX_IFG2_GET(x)\
	FIELD_GET(DEV2G5_MAC_IFG_CFG_RX_IFG2, x)

#define DEV2G5_MAC_IFG_CFG_RX_IFG1               GENMASK(3, 0)
#define DEV2G5_MAC_IFG_CFG_RX_IFG1_SET(x)\
	FIELD_PREP(DEV2G5_MAC_IFG_CFG_RX_IFG1, x)
#define DEV2G5_MAC_IFG_CFG_RX_IFG1_GET(x)\
	FIELD_GET(DEV2G5_MAC_IFG_CFG_RX_IFG1, x)

/*      DEV1G:MAC_CFG_STATUS:MAC_HDX_CFG */
#define DEV2G5_MAC_HDX_CFG(t)     __REG(TARGET_DEV2G5, t, 65, 52, 0, 1, 36, 28, 0, 1, 4)

#define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC       BIT(26)
#define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC_SET(x)\
	FIELD_PREP(DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC, x)
#define DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC_GET(x)\
	FIELD_GET(DEV2G5_MAC_HDX_CFG_BYPASS_COL_SYNC, x)

#define DEV2G5_MAC_HDX_CFG_SEED                  GENMASK(23, 16)
#define DEV2G5_MAC_HDX_CFG_SEED_SET(x)\
	FIELD_PREP(DEV2G5_MAC_HDX_CFG_SEED, x)
#define DEV2G5_MAC_HDX_CFG_SEED_GET(x)\
	FIELD_GET(DEV2G5_MAC_HDX_CFG_SEED, x)

#define DEV2G5_MAC_HDX_CFG_SEED_LOAD             BIT(12)
#define DEV2G5_MAC_HDX_CFG_SEED_LOAD_SET(x)\
	FIELD_PREP(DEV2G5_MAC_HDX_CFG_SEED_LOAD, x)
#define DEV2G5_MAC_HDX_CFG_SEED_LOAD_GET(x)\
	FIELD_GET(DEV2G5_MAC_HDX_CFG_SEED_LOAD, x)

#define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA BIT(8)
#define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA_SET(x)\
	FIELD_PREP(DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA, x)
#define DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA_GET(x)\
	FIELD_GET(DEV2G5_MAC_HDX_CFG_RETRY_AFTER_EXC_COL_ENA, x)

#define DEV2G5_MAC_HDX_CFG_LATE_COL_POS          GENMASK(6, 0)
#define DEV2G5_MAC_HDX_CFG_LATE_COL_POS_SET(x)\
	FIELD_PREP(DEV2G5_MAC_HDX_CFG_LATE_COL_POS, x)
#define DEV2G5_MAC_HDX_CFG_LATE_COL_POS_GET(x)\
	FIELD_GET(DEV2G5_MAC_HDX_CFG_LATE_COL_POS, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_CFG */
#define DEV2G5_PCS1G_CFG(t)       __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 0, 0, 1, 4)

#define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE        BIT(4)
#define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE, x)
#define DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_CFG_LINK_STATUS_TYPE, x)

#define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA        BIT(1)
#define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA, x)
#define DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_CFG_AN_LINK_CTRL_ENA, x)

#define DEV2G5_PCS1G_CFG_PCS_ENA                 BIT(0)
#define DEV2G5_PCS1G_CFG_PCS_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_CFG_PCS_ENA, x)
#define DEV2G5_PCS1G_CFG_PCS_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_CFG_PCS_ENA, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_MODE_CFG */
#define DEV2G5_PCS1G_MODE_CFG(t)  __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 4, 0, 1, 4)

#define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA    BIT(4)
#define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA, x)
#define DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_UNIDIR_MODE_ENA, x)

#define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA  BIT(1)
#define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA, x)
#define DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_SAVE_PREAMBLE_ENA, x)

#define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA     BIT(0)
#define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA, x)
#define DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_MODE_CFG_SGMII_MODE_ENA, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_SD_CFG */
#define DEV2G5_PCS1G_SD_CFG(t)    __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 8, 0, 1, 4)

#define DEV2G5_PCS1G_SD_CFG_SD_SEL               BIT(8)
#define DEV2G5_PCS1G_SD_CFG_SD_SEL_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_SEL, x)
#define DEV2G5_PCS1G_SD_CFG_SD_SEL_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_SEL, x)

#define DEV2G5_PCS1G_SD_CFG_SD_POL               BIT(4)
#define DEV2G5_PCS1G_SD_CFG_SD_POL_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_POL, x)
#define DEV2G5_PCS1G_SD_CFG_SD_POL_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_POL, x)

#define DEV2G5_PCS1G_SD_CFG_SD_ENA               BIT(0)
#define DEV2G5_PCS1G_SD_CFG_SD_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_SD_CFG_SD_ENA, x)
#define DEV2G5_PCS1G_SD_CFG_SD_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_SD_CFG_SD_ENA, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_ANEG_CFG */
#define DEV2G5_PCS1G_ANEG_CFG(t)  __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 12, 0, 1, 4)

#define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY        GENMASK(31, 16)
#define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY, x)
#define DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ADV_ABILITY, x)

#define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA     BIT(8)
#define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA, x)
#define DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_SW_RESOLVE_ENA, x)

#define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT BIT(1)
#define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT, x)
#define DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ANEG_RESTART_ONE_SHOT, x)

#define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA           BIT(0)
#define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA, x)
#define DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_CFG_ANEG_ENA, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_LB_CFG */
#define DEV2G5_PCS1G_LB_CFG(t)    __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 20, 0, 1, 4)

#define DEV2G5_PCS1G_LB_CFG_RA_ENA               BIT(4)
#define DEV2G5_PCS1G_LB_CFG_RA_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_RA_ENA, x)
#define DEV2G5_PCS1G_LB_CFG_RA_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LB_CFG_RA_ENA, x)

#define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA      BIT(1)
#define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA, x)
#define DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LB_CFG_GMII_PHY_LB_ENA, x)

#define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA      BIT(0)
#define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA, x)
#define DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LB_CFG_TBI_HOST_LB_ENA, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_ANEG_STATUS */
#define DEV2G5_PCS1G_ANEG_STATUS(t) __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 32, 0, 1, 4)

#define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY  GENMASK(31, 16)
#define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY, x)
#define DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_LP_ADV_ABILITY, x)

#define DEV2G5_PCS1G_ANEG_STATUS_PR              BIT(4)
#define DEV2G5_PCS1G_ANEG_STATUS_PR_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_PR, x)
#define DEV2G5_PCS1G_ANEG_STATUS_PR_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_PR, x)

#define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY  BIT(3)
#define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY, x)
#define DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_PAGE_RX_STICKY, x)

#define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE   BIT(0)
#define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE, x)
#define DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_ANEG_STATUS_ANEG_COMPLETE, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_LINK_STATUS */
#define DEV2G5_PCS1G_LINK_STATUS(t) __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 40, 0, 1, 4)

#define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR       GENMASK(15, 12)
#define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR, x)
#define DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_DELAY_VAR, x)

#define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT   BIT(8)
#define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT, x)
#define DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_SIGNAL_DETECT, x)

#define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS     BIT(4)
#define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS, x)
#define DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_LINK_STATUS, x)

#define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS     BIT(0)
#define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS, x)
#define DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_LINK_STATUS_SYNC_STATUS, x)

/*      DEV1G:PCS1G_CFG_STATUS:PCS1G_STICKY */
#define DEV2G5_PCS1G_STICKY(t)    __REG(TARGET_DEV2G5, t, 65, 88, 0, 1, 68, 48, 0, 1, 4)

#define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY     BIT(4)
#define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY, x)
#define DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_STICKY_LINK_DOWN_STICKY, x)

#define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY   BIT(0)
#define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY, x)
#define DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS1G_STICKY_OUT_OF_SYNC_STICKY, x)

/*      DEV1G:PCS_FX100_CONFIGURATION:PCS_FX100_CFG */
#define DEV2G5_PCS_FX100_CFG(t)   __REG(TARGET_DEV2G5, t, 65, 164, 0, 1, 4, 0, 0, 1, 4)

#define DEV2G5_PCS_FX100_CFG_SD_SEL              BIT(26)
#define DEV2G5_PCS_FX100_CFG_SD_SEL_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_SEL, x)
#define DEV2G5_PCS_FX100_CFG_SD_SEL_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_SEL, x)

#define DEV2G5_PCS_FX100_CFG_SD_POL              BIT(25)
#define DEV2G5_PCS_FX100_CFG_SD_POL_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_POL, x)
#define DEV2G5_PCS_FX100_CFG_SD_POL_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_POL, x)

#define DEV2G5_PCS_FX100_CFG_SD_ENA              BIT(24)
#define DEV2G5_PCS_FX100_CFG_SD_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SD_ENA, x)
#define DEV2G5_PCS_FX100_CFG_SD_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_SD_ENA, x)

#define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA        BIT(20)
#define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA, x)
#define DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_LOOPBACK_ENA, x)

#define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA        BIT(16)
#define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA, x)
#define DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_SWAP_MII_ENA, x)

#define DEV2G5_PCS_FX100_CFG_RXBITSEL            GENMASK(15, 12)
#define DEV2G5_PCS_FX100_CFG_RXBITSEL_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_RXBITSEL, x)
#define DEV2G5_PCS_FX100_CFG_RXBITSEL_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_RXBITSEL, x)

#define DEV2G5_PCS_FX100_CFG_SIGDET_CFG          GENMASK(10, 9)
#define DEV2G5_PCS_FX100_CFG_SIGDET_CFG_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_SIGDET_CFG, x)
#define DEV2G5_PCS_FX100_CFG_SIGDET_CFG_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_SIGDET_CFG, x)

#define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA     BIT(8)
#define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA, x)
#define DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_LINKHYST_TM_ENA, x)

#define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER       GENMASK(7, 4)
#define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER, x)
#define DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_LINKHYSTTIMER, x)

#define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA     BIT(3)
#define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA, x)
#define DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_UNIDIR_MODE_ENA, x)

#define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA          BIT(2)
#define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_FEFCHK_ENA, x)
#define DEV2G5_PCS_FX100_CFG_FEFCHK_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_FEFCHK_ENA, x)

#define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA          BIT(1)
#define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_FEFGEN_ENA, x)
#define DEV2G5_PCS_FX100_CFG_FEFGEN_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_FEFGEN_ENA, x)

#define DEV2G5_PCS_FX100_CFG_PCS_ENA             BIT(0)
#define DEV2G5_PCS_FX100_CFG_PCS_ENA_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_CFG_PCS_ENA, x)
#define DEV2G5_PCS_FX100_CFG_PCS_ENA_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_CFG_PCS_ENA, x)

/*      DEV1G:PCS_FX100_STATUS:PCS_FX100_STATUS */
#define DEV2G5_PCS_FX100_STATUS(t) __REG(TARGET_DEV2G5, t, 65, 168, 0, 1, 4, 0, 0, 1, 4)

#define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP     GENMASK(11, 8)
#define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP, x)
#define DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_EDGE_POS_PTP, x)

#define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY BIT(7)
#define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY, x)
#define DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_PCS_ERROR_STICKY, x)

#define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY BIT(6)
#define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY, x)
#define DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_FEF_FOUND_STICKY, x)

#define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY BIT(5)
#define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY, x)
#define DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SSD_ERROR_STICKY, x)

#define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY BIT(4)
#define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY, x)
#define DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SYNC_LOST_STICKY, x)

#define DEV2G5_PCS_FX100_STATUS_FEF_STATUS       BIT(2)
#define DEV2G5_PCS_FX100_STATUS_FEF_STATUS_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_FEF_STATUS, x)
#define DEV2G5_PCS_FX100_STATUS_FEF_STATUS_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_FEF_STATUS, x)

#define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT    BIT(1)
#define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT, x)
#define DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SIGNAL_DETECT, x)

#define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS      BIT(0)
#define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS_SET(x)\
	FIELD_PREP(DEV2G5_PCS_FX100_STATUS_SYNC_STATUS, x)
#define DEV2G5_PCS_FX100_STATUS_SYNC_STATUS_GET(x)\
	FIELD_GET(DEV2G5_PCS_FX100_STATUS_SYNC_STATUS, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ENA_CFG */
#define DEV5G_MAC_ENA_CFG(t)      __REG(TARGET_DEV5G, t, 13, 0, 0, 1, 60, 0, 0, 1, 4)

#define DEV5G_MAC_ENA_CFG_RX_ENA                 BIT(4)
#define DEV5G_MAC_ENA_CFG_RX_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ENA_CFG_RX_ENA, x)
#define DEV5G_MAC_ENA_CFG_RX_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ENA_CFG_RX_ENA, x)

#define DEV5G_MAC_ENA_CFG_TX_ENA                 BIT(0)
#define DEV5G_MAC_ENA_CFG_TX_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ENA_CFG_TX_ENA, x)
#define DEV5G_MAC_ENA_CFG_TX_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ENA_CFG_TX_ENA, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_MAXLEN_CFG */
#define DEV5G_MAC_MAXLEN_CFG(t)   __REG(TARGET_DEV5G, t, 13, 0, 0, 1, 60, 8, 0, 1, 4)

#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK     BIT(16)
#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_SET(x)\
	FIELD_PREP(DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)
#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK_GET(x)\
	FIELD_GET(DEV5G_MAC_MAXLEN_CFG_MAX_LEN_TAG_CHK, x)

#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN             GENMASK(15, 0)
#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_SET(x)\
	FIELD_PREP(DEV5G_MAC_MAXLEN_CFG_MAX_LEN, x)
#define DEV5G_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\
	FIELD_GET(DEV5G_MAC_MAXLEN_CFG_MAX_LEN, x)

/*      DEV10G:MAC_CFG_STATUS:MAC_ADV_CHK_CFG */
#define DEV5G_MAC_ADV_CHK_CFG(t)  __REG(TARGET_DEV5G, t, 13, 0, 0, 1, 60, 28, 0, 1, 4)

#define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA    BIT(24)
#define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_EXT_EOP_CHK_ENA, x)

#define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA    BIT(20)
#define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_EXT_SOP_CHK_ENA, x)

#define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA        BIT(16)
#define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_SFD_CHK_ENA, x)

#define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS    BIT(12)
#define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)
#define DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_PRM_SHK_CHK_DIS, x)

#define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA        BIT(8)
#define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_PRM_CHK_ENA, x)

#define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA        BIT(4)
#define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_OOR_ERR_ENA, x)

#define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA        BIT(0)
#define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA_SET(x)\
	FIELD_PREP(DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)
#define DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA_GET(x)\
	FIELD_GET(DEV5G_MAC_ADV_CHK_CFG_INR_ERR_ENA, x)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SYMBOL_ERR_CNT */
#define DEV5G_RX_SYMBOL_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 0, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_PAUSE_CNT */
#define DEV5G_RX_PAUSE_CNT(t)     __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 4, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_UNSUP_OPCODE_CNT */
#define DEV5G_RX_UNSUP_OPCODE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 8, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_UC_CNT */
#define DEV5G_RX_UC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 12, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_MC_CNT */
#define DEV5G_RX_MC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 16, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_BC_CNT */
#define DEV5G_RX_BC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 20, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_CRC_ERR_CNT */
#define DEV5G_RX_CRC_ERR_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 24, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_UNDERSIZE_CNT */
#define DEV5G_RX_UNDERSIZE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 28, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_FRAGMENTS_CNT */
#define DEV5G_RX_FRAGMENTS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 32, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_IN_RANGE_LEN_ERR_CNT */
#define DEV5G_RX_IN_RANGE_LEN_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 36, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_OUT_OF_RANGE_LEN_ERR_CNT */
#define DEV5G_RX_OUT_OF_RANGE_LEN_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 40, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_OVERSIZE_CNT */
#define DEV5G_RX_OVERSIZE_CNT(t)  __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 44, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_JABBERS_CNT */
#define DEV5G_RX_JABBERS_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 48, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE64_CNT */
#define DEV5G_RX_SIZE64_CNT(t)    __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 52, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE65TO127_CNT */
#define DEV5G_RX_SIZE65TO127_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 56, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE128TO255_CNT */
#define DEV5G_RX_SIZE128TO255_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 60, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE256TO511_CNT */
#define DEV5G_RX_SIZE256TO511_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 64, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE512TO1023_CNT */
#define DEV5G_RX_SIZE512TO1023_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 68, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE1024TO1518_CNT */
#define DEV5G_RX_SIZE1024TO1518_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 72, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_SIZE1519TOMAX_CNT */
#define DEV5G_RX_SIZE1519TOMAX_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 76, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_IPG_SHRINK_CNT */
#define DEV5G_RX_IPG_SHRINK_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 80, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_PAUSE_CNT */
#define DEV5G_TX_PAUSE_CNT(t)     __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 84, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_UC_CNT */
#define DEV5G_TX_UC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 88, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_MC_CNT */
#define DEV5G_TX_MC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 92, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_BC_CNT */
#define DEV5G_TX_BC_CNT(t)        __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 96, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE64_CNT */
#define DEV5G_TX_SIZE64_CNT(t)    __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 100, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE65TO127_CNT */
#define DEV5G_TX_SIZE65TO127_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 104, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE128TO255_CNT */
#define DEV5G_TX_SIZE128TO255_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 108, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE256TO511_CNT */
#define DEV5G_TX_SIZE256TO511_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 112, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE512TO1023_CNT */
#define DEV5G_TX_SIZE512TO1023_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 116, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE1024TO1518_CNT */
#define DEV5G_TX_SIZE1024TO1518_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 120, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_SIZE1519TOMAX_CNT */
#define DEV5G_TX_SIZE1519TOMAX_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 124, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_ALIGNMENT_LOST_CNT */
#define DEV5G_RX_ALIGNMENT_LOST_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 128, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_TAGGED_FRMS_CNT */
#define DEV5G_RX_TAGGED_FRMS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 132, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_UNTAGGED_FRMS_CNT */
#define DEV5G_RX_UNTAGGED_FRMS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 136, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_TAGGED_FRMS_CNT */
#define DEV5G_TX_TAGGED_FRMS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 140, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:TX_UNTAGGED_FRMS_CNT */
#define DEV5G_TX_UNTAGGED_FRMS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 144, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SYMBOL_ERR_CNT */
#define DEV5G_PMAC_RX_SYMBOL_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 148, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_PAUSE_CNT */
#define DEV5G_PMAC_RX_PAUSE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 152, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UNSUP_OPCODE_CNT */
#define DEV5G_PMAC_RX_UNSUP_OPCODE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 156, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UC_CNT */
#define DEV5G_PMAC_RX_UC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 160, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_MC_CNT */
#define DEV5G_PMAC_RX_MC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 164, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_BC_CNT */
#define DEV5G_PMAC_RX_BC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 168, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_CRC_ERR_CNT */
#define DEV5G_PMAC_RX_CRC_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 172, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_UNDERSIZE_CNT */
#define DEV5G_PMAC_RX_UNDERSIZE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 176, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_FRAGMENTS_CNT */
#define DEV5G_PMAC_RX_FRAGMENTS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 180, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_IN_RANGE_LEN_ERR_CNT */
#define DEV5G_PMAC_RX_IN_RANGE_LEN_ERR_CNT(t) __REG(TARGET_DEV5G,\
					t, 13, 60, 0, 1, 312, 184, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT */
#define DEV5G_PMAC_RX_OUT_OF_RANGE_LEN_ERR_CNT(t) __REG(TARGET_DEV5G,\
					t, 13, 60, 0, 1, 312, 188, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_OVERSIZE_CNT */
#define DEV5G_PMAC_RX_OVERSIZE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 192, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_JABBERS_CNT */
#define DEV5G_PMAC_RX_JABBERS_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 196, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE64_CNT */
#define DEV5G_PMAC_RX_SIZE64_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 200, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE65TO127_CNT */
#define DEV5G_PMAC_RX_SIZE65TO127_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 204, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE128TO255_CNT */
#define DEV5G_PMAC_RX_SIZE128TO255_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 208, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE256TO511_CNT */
#define DEV5G_PMAC_RX_SIZE256TO511_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 212, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE512TO1023_CNT */
#define DEV5G_PMAC_RX_SIZE512TO1023_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 216, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE1024TO1518_CNT */
#define DEV5G_PMAC_RX_SIZE1024TO1518_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 220, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_SIZE1519TOMAX_CNT */
#define DEV5G_PMAC_RX_SIZE1519TOMAX_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 224, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_PAUSE_CNT */
#define DEV5G_PMAC_TX_PAUSE_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 228, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_UC_CNT */
#define DEV5G_PMAC_TX_UC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 232, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_MC_CNT */
#define DEV5G_PMAC_TX_MC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 236, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_BC_CNT */
#define DEV5G_PMAC_TX_BC_CNT(t)   __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 240, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE64_CNT */
#define DEV5G_PMAC_TX_SIZE64_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 244, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE65TO127_CNT */
#define DEV5G_PMAC_TX_SIZE65TO127_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 248, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE128TO255_CNT */
#define DEV5G_PMAC_TX_SIZE128TO255_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 252, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE256TO511_CNT */
#define DEV5G_PMAC_TX_SIZE256TO511_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 256, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE512TO1023_CNT */
#define DEV5G_PMAC_TX_SIZE512TO1023_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 260, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE1024TO1518_CNT */
#define DEV5G_PMAC_TX_SIZE1024TO1518_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 264, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_TX_SIZE1519TOMAX_CNT */
#define DEV5G_PMAC_TX_SIZE1519TOMAX_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 268, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_ALIGNMENT_LOST_CNT */
#define DEV5G_PMAC_RX_ALIGNMENT_LOST_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 272, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:MM_RX_ASSEMBLY_ERR_CNT */
#define DEV5G_MM_RX_ASSEMBLY_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 276, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:MM_RX_SMD_ERR_CNT */
#define DEV5G_MM_RX_SMD_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 280, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:MM_RX_ASSEMBLY_OK_CNT */
#define DEV5G_MM_RX_ASSEMBLY_OK_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 284, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:MM_RX_MERGE_FRAG_CNT */
#define DEV5G_MM_RX_MERGE_FRAG_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 288, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:MM_TX_PFRAGMENT_CNT */
#define DEV5G_MM_TX_PFRAGMENT_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 292, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_HIH_CKSM_ERR_CNT */
#define DEV5G_RX_HIH_CKSM_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 296, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:RX_XGMII_PROT_ERR_CNT */
#define DEV5G_RX_XGMII_PROT_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 300, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_HIH_CKSM_ERR_CNT */
#define DEV5G_PMAC_RX_HIH_CKSM_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 304, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_32BIT:PMAC_RX_XGMII_PROT_ERR_CNT */
#define DEV5G_PMAC_RX_XGMII_PROT_ERR_CNT(t) __REG(TARGET_DEV5G, t, 13, 60, 0, 1, 312, 308, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_IN_BYTES_CNT */
#define DEV5G_RX_IN_BYTES_CNT(t)  __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 0, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_IN_BYTES_MSB_CNT */
#define DEV5G_RX_IN_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 4, 0, 1, 4)

#define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)
#define DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_RX_IN_BYTES_MSB_CNT_RX_IN_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_OK_BYTES_CNT */
#define DEV5G_RX_OK_BYTES_CNT(t)  __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 8, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_OK_BYTES_MSB_CNT */
#define DEV5G_RX_OK_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 12, 0, 1, 4)

#define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)
#define DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_RX_OK_BYTES_MSB_CNT_RX_OK_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_BAD_BYTES_CNT */
#define DEV5G_RX_BAD_BYTES_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 16, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:RX_BAD_BYTES_MSB_CNT */
#define DEV5G_RX_BAD_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 20, 0, 1, 4)

#define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)
#define DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_RX_BAD_BYTES_MSB_CNT_RX_BAD_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:TX_OUT_BYTES_CNT */
#define DEV5G_TX_OUT_BYTES_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 24, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:TX_OUT_BYTES_MSB_CNT */
#define DEV5G_TX_OUT_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 28, 0, 1, 4)

#define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)
#define DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_TX_OUT_BYTES_MSB_CNT_TX_OUT_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:TX_OK_BYTES_CNT */
#define DEV5G_TX_OK_BYTES_CNT(t)  __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 32, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:TX_OK_BYTES_MSB_CNT */
#define DEV5G_TX_OK_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 36, 0, 1, 4)

#define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)
#define DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_TX_OK_BYTES_MSB_CNT_TX_OK_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_OK_BYTES_CNT */
#define DEV5G_PMAC_RX_OK_BYTES_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 40, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_OK_BYTES_MSB_CNT */
#define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 44, 0, 1, 4)

#define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)
#define DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_PMAC_RX_OK_BYTES_MSB_CNT_PMAC_RX_OK_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_BAD_BYTES_CNT */
#define DEV5G_PMAC_RX_BAD_BYTES_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 48, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_RX_BAD_BYTES_MSB_CNT */
#define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 52, 0, 1, 4)

#define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)
#define DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_PMAC_RX_BAD_BYTES_MSB_CNT_PMAC_RX_BAD_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_TX_OK_BYTES_CNT */
#define DEV5G_PMAC_TX_OK_BYTES_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 56, 0, 1, 4)

/*      DEV10G:DEV_STATISTICS_40BIT:PMAC_TX_OK_BYTES_MSB_CNT */
#define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT(t) __REG(TARGET_DEV5G, t, 13, 372, 0, 1, 64, 60, 0, 1, 4)

#define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT GENMASK(7, 0)
#define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_SET(x)\
	FIELD_PREP(DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)
#define DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT_GET(x)\
	FIELD_GET(DEV5G_PMAC_TX_OK_BYTES_MSB_CNT_PMAC_TX_OK_BYTES_MSB_CNT, x)

/*      DEV10G:DEV_CFG_STATUS:DEV_RST_CTRL */
#define DEV5G_DEV_RST_CTRL(t)     __REG(TARGET_DEV5G, t, 13, 436, 0, 1, 52, 0, 0, 1, 4)

#define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA       BIT(28)
#define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA, x)
#define DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_PARDET_MODE_ENA, x)

#define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS BIT(27)
#define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)
#define DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_USXGMII_OSET_FILTER_DIS, x)

#define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS GENMASK(26, 25)
#define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)
#define DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_MUXED_USXGMII_NETWORK_PORTS, x)

#define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL      GENMASK(24, 23)
#define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)
#define DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_SERDES_SPEED_SEL, x)

#define DEV5G_DEV_RST_CTRL_SPEED_SEL             GENMASK(22, 20)
#define DEV5G_DEV_RST_CTRL_SPEED_SEL_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_SPEED_SEL, x)
#define DEV5G_DEV_RST_CTRL_SPEED_SEL_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_SPEED_SEL, x)

#define DEV5G_DEV_RST_CTRL_PCS_TX_RST            BIT(12)
#define DEV5G_DEV_RST_CTRL_PCS_TX_RST_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_PCS_TX_RST, x)
#define DEV5G_DEV_RST_CTRL_PCS_TX_RST_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_PCS_TX_RST, x)

#define DEV5G_DEV_RST_CTRL_PCS_RX_RST            BIT(8)
#define DEV5G_DEV_RST_CTRL_PCS_RX_RST_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_PCS_RX_RST, x)
#define DEV5G_DEV_RST_CTRL_PCS_RX_RST_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_PCS_RX_RST, x)

#define DEV5G_DEV_RST_CTRL_MAC_TX_RST            BIT(4)
#define DEV5G_DEV_RST_CTRL_MAC_TX_RST_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_MAC_TX_RST, x)
#define DEV5G_DEV_RST_CTRL_MAC_TX_RST_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_MAC_TX_RST, x)

#define DEV5G_DEV_RST_CTRL_MAC_RX_RST            BIT(0)
#define DEV5G_DEV_RST_CTRL_MAC_RX_RST_SET(x)\
	FIELD_PREP(DEV5G_DEV_RST_CTRL_MAC_RX_RST, x)
#define DEV5G_DEV_RST_CTRL_MAC_RX_RST_GET(x)\
	FIELD_GET(DEV5G_DEV_RST_CTRL_MAC_RX_RST, x)

/*      DSM:RAM_CTRL:RAM_INIT */
#define DSM_RAM_INIT              __REG(TARGET_DSM, 0, 1, 0, 0, 1, 4, 0, 0, 1, 4)

#define DSM_RAM_INIT_RAM_INIT                    BIT(1)
#define DSM_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(DSM_RAM_INIT_RAM_INIT, x)
#define DSM_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(DSM_RAM_INIT_RAM_INIT, x)

#define DSM_RAM_INIT_RAM_CFG_HOOK                BIT(0)
#define DSM_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(DSM_RAM_INIT_RAM_CFG_HOOK, x)
#define DSM_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(DSM_RAM_INIT_RAM_CFG_HOOK, x)

/*      DSM:CFG:BUF_CFG */
#define DSM_BUF_CFG(r)            __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 0, r, 67, 4)

#define DSM_BUF_CFG_CSC_STAT_DIS                 BIT(13)
#define DSM_BUF_CFG_CSC_STAT_DIS_SET(x)\
	FIELD_PREP(DSM_BUF_CFG_CSC_STAT_DIS, x)
#define DSM_BUF_CFG_CSC_STAT_DIS_GET(x)\
	FIELD_GET(DSM_BUF_CFG_CSC_STAT_DIS, x)

#define DSM_BUF_CFG_AGING_ENA                    BIT(12)
#define DSM_BUF_CFG_AGING_ENA_SET(x)\
	FIELD_PREP(DSM_BUF_CFG_AGING_ENA, x)
#define DSM_BUF_CFG_AGING_ENA_GET(x)\
	FIELD_GET(DSM_BUF_CFG_AGING_ENA, x)

#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS       BIT(11)
#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS_SET(x)\
	FIELD_PREP(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS, x)
#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS_GET(x)\
	FIELD_GET(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_DIS, x)

#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT   GENMASK(10, 0)
#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT_SET(x)\
	FIELD_PREP(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT, x)
#define DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT_GET(x)\
	FIELD_GET(DSM_BUF_CFG_UNDERFLOW_WATCHDOG_TIMEOUT, x)

/*      DSM:CFG:DEV_TX_STOP_WM_CFG */
#define DSM_DEV_TX_STOP_WM_CFG(r) __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 1360, r, 67, 4)

#define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA  BIT(9)
#define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA_SET(x)\
	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA, x)
#define DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA_GET(x)\
	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_FAST_STARTUP_ENA, x)

#define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA BIT(8)
#define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA_SET(x)\
	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA, x)
#define DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA_GET(x)\
	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV10G_SHADOW_ENA, x)

#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM    GENMASK(7, 1)
#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM_SET(x)\
	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM, x)
#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM_GET(x)\
	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_STOP_WM, x)

#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR    BIT(0)
#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR_SET(x)\
	FIELD_PREP(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR, x)
#define DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR_GET(x)\
	FIELD_GET(DSM_DEV_TX_STOP_WM_CFG_DEV_TX_CNT_CLR, x)

/*      DSM:CFG:RX_PAUSE_CFG */
#define DSM_RX_PAUSE_CFG(r)       __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 1628, r, 67, 4)

#define DSM_RX_PAUSE_CFG_RX_PAUSE_EN             BIT(1)
#define DSM_RX_PAUSE_CFG_RX_PAUSE_EN_SET(x)\
	FIELD_PREP(DSM_RX_PAUSE_CFG_RX_PAUSE_EN, x)
#define DSM_RX_PAUSE_CFG_RX_PAUSE_EN_GET(x)\
	FIELD_GET(DSM_RX_PAUSE_CFG_RX_PAUSE_EN, x)

#define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL           BIT(0)
#define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL_SET(x)\
	FIELD_PREP(DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL, x)
#define DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL_GET(x)\
	FIELD_GET(DSM_RX_PAUSE_CFG_FC_OBEY_LOCAL, x)

/*      DSM:CFG:MAC_CFG */
#define DSM_MAC_CFG(r)            __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2432, r, 67, 4)

#define DSM_MAC_CFG_TX_PAUSE_VAL                 GENMASK(31, 16)
#define DSM_MAC_CFG_TX_PAUSE_VAL_SET(x)\
	FIELD_PREP(DSM_MAC_CFG_TX_PAUSE_VAL, x)
#define DSM_MAC_CFG_TX_PAUSE_VAL_GET(x)\
	FIELD_GET(DSM_MAC_CFG_TX_PAUSE_VAL, x)

#define DSM_MAC_CFG_HDX_BACKPREASSURE            BIT(2)
#define DSM_MAC_CFG_HDX_BACKPREASSURE_SET(x)\
	FIELD_PREP(DSM_MAC_CFG_HDX_BACKPREASSURE, x)
#define DSM_MAC_CFG_HDX_BACKPREASSURE_GET(x)\
	FIELD_GET(DSM_MAC_CFG_HDX_BACKPREASSURE, x)

#define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE         BIT(1)
#define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE_SET(x)\
	FIELD_PREP(DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE, x)
#define DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE_GET(x)\
	FIELD_GET(DSM_MAC_CFG_SEND_PAUSE_FRM_TWICE, x)

#define DSM_MAC_CFG_TX_PAUSE_XON_XOFF            BIT(0)
#define DSM_MAC_CFG_TX_PAUSE_XON_XOFF_SET(x)\
	FIELD_PREP(DSM_MAC_CFG_TX_PAUSE_XON_XOFF, x)
#define DSM_MAC_CFG_TX_PAUSE_XON_XOFF_GET(x)\
	FIELD_GET(DSM_MAC_CFG_TX_PAUSE_XON_XOFF, x)

/*      DSM:CFG:MAC_ADDR_BASE_HIGH_CFG */
#define DSM_MAC_ADDR_BASE_HIGH_CFG(r) __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2700, r, 65, 4)

#define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH GENMASK(23, 0)
#define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH_SET(x)\
	FIELD_PREP(DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH, x)
#define DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH_GET(x)\
	FIELD_GET(DSM_MAC_ADDR_BASE_HIGH_CFG_MAC_ADDR_HIGH, x)

/*      DSM:CFG:MAC_ADDR_BASE_LOW_CFG */
#define DSM_MAC_ADDR_BASE_LOW_CFG(r) __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 2960, r, 65, 4)

#define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW   GENMASK(23, 0)
#define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW_SET(x)\
	FIELD_PREP(DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW, x)
#define DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW_GET(x)\
	FIELD_GET(DSM_MAC_ADDR_BASE_LOW_CFG_MAC_ADDR_LOW, x)

/*      DSM:CFG:TAXI_CAL_CFG */
#define DSM_TAXI_CAL_CFG(r)       __REG(TARGET_DSM, 0, 1, 20, 0, 1, 3528, 3224, r, 9, 4)

#define DSM_TAXI_CAL_CFG_CAL_IDX                 GENMASK(20, 15)
#define DSM_TAXI_CAL_CFG_CAL_IDX_SET(x)\
	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_IDX, x)
#define DSM_TAXI_CAL_CFG_CAL_IDX_GET(x)\
	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_IDX, x)

#define DSM_TAXI_CAL_CFG_CAL_CUR_LEN             GENMASK(14, 9)
#define DSM_TAXI_CAL_CFG_CAL_CUR_LEN_SET(x)\
	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_CUR_LEN, x)
#define DSM_TAXI_CAL_CFG_CAL_CUR_LEN_GET(x)\
	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_CUR_LEN, x)

#define DSM_TAXI_CAL_CFG_CAL_CUR_VAL             GENMASK(8, 5)
#define DSM_TAXI_CAL_CFG_CAL_CUR_VAL_SET(x)\
	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_CUR_VAL, x)
#define DSM_TAXI_CAL_CFG_CAL_CUR_VAL_GET(x)\
	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_CUR_VAL, x)

#define DSM_TAXI_CAL_CFG_CAL_PGM_VAL             GENMASK(4, 1)
#define DSM_TAXI_CAL_CFG_CAL_PGM_VAL_SET(x)\
	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_PGM_VAL, x)
#define DSM_TAXI_CAL_CFG_CAL_PGM_VAL_GET(x)\
	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_PGM_VAL, x)

#define DSM_TAXI_CAL_CFG_CAL_PGM_ENA             BIT(0)
#define DSM_TAXI_CAL_CFG_CAL_PGM_ENA_SET(x)\
	FIELD_PREP(DSM_TAXI_CAL_CFG_CAL_PGM_ENA, x)
#define DSM_TAXI_CAL_CFG_CAL_PGM_ENA_GET(x)\
	FIELD_GET(DSM_TAXI_CAL_CFG_CAL_PGM_ENA, x)

/*      EACL:POL_CFG:POL_EACL_CFG */
#define EACL_POL_EACL_CFG         __REG(TARGET_EACL, 0, 1, 150608, 0, 1, 780, 768, 0, 1, 4)

#define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED BIT(5)
#define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED, x)
#define EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_CNT_MARKED_AS_DROPPED, x)

#define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY     BIT(4)
#define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY, x)
#define EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_ALLOW_FP_COPY, x)

#define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY    BIT(3)
#define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY, x)
#define EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_ALLOW_CPU_COPY, x)

#define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE       BIT(2)
#define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_CLOSE, x)
#define EACL_POL_EACL_CFG_EACL_FORCE_CLOSE_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_CLOSE, x)

#define EACL_POL_EACL_CFG_EACL_FORCE_OPEN        BIT(1)
#define EACL_POL_EACL_CFG_EACL_FORCE_OPEN_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_OPEN, x)
#define EACL_POL_EACL_CFG_EACL_FORCE_OPEN_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_OPEN, x)

#define EACL_POL_EACL_CFG_EACL_FORCE_INIT        BIT(0)
#define EACL_POL_EACL_CFG_EACL_FORCE_INIT_SET(x)\
	FIELD_PREP(EACL_POL_EACL_CFG_EACL_FORCE_INIT, x)
#define EACL_POL_EACL_CFG_EACL_FORCE_INIT_GET(x)\
	FIELD_GET(EACL_POL_EACL_CFG_EACL_FORCE_INIT, x)

/*      EACL:RAM_CTRL:RAM_INIT */
#define EACL_RAM_INIT             __REG(TARGET_EACL, 0, 1, 118736, 0, 1, 4, 0, 0, 1, 4)

#define EACL_RAM_INIT_RAM_INIT                   BIT(1)
#define EACL_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(EACL_RAM_INIT_RAM_INIT, x)
#define EACL_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(EACL_RAM_INIT_RAM_INIT, x)

#define EACL_RAM_INIT_RAM_CFG_HOOK               BIT(0)
#define EACL_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(EACL_RAM_INIT_RAM_CFG_HOOK, x)
#define EACL_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(EACL_RAM_INIT_RAM_CFG_HOOK, x)

/*      FDMA:FDMA:FDMA_CH_ACTIVATE */
#define FDMA_CH_ACTIVATE          __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 0, 0, 1, 4)

#define FDMA_CH_ACTIVATE_CH_ACTIVATE             GENMASK(7, 0)
#define FDMA_CH_ACTIVATE_CH_ACTIVATE_SET(x)\
	FIELD_PREP(FDMA_CH_ACTIVATE_CH_ACTIVATE, x)
#define FDMA_CH_ACTIVATE_CH_ACTIVATE_GET(x)\
	FIELD_GET(FDMA_CH_ACTIVATE_CH_ACTIVATE, x)

/*      FDMA:FDMA:FDMA_CH_RELOAD */
#define FDMA_CH_RELOAD            __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 4, 0, 1, 4)

#define FDMA_CH_RELOAD_CH_RELOAD                 GENMASK(7, 0)
#define FDMA_CH_RELOAD_CH_RELOAD_SET(x)\
	FIELD_PREP(FDMA_CH_RELOAD_CH_RELOAD, x)
#define FDMA_CH_RELOAD_CH_RELOAD_GET(x)\
	FIELD_GET(FDMA_CH_RELOAD_CH_RELOAD, x)

/*      FDMA:FDMA:FDMA_CH_DISABLE */
#define FDMA_CH_DISABLE           __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 8, 0, 1, 4)

#define FDMA_CH_DISABLE_CH_DISABLE               GENMASK(7, 0)
#define FDMA_CH_DISABLE_CH_DISABLE_SET(x)\
	FIELD_PREP(FDMA_CH_DISABLE_CH_DISABLE, x)
#define FDMA_CH_DISABLE_CH_DISABLE_GET(x)\
	FIELD_GET(FDMA_CH_DISABLE_CH_DISABLE, x)

/*      FDMA:FDMA:FDMA_DCB_LLP */
#define FDMA_DCB_LLP(r)           __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 52, r, 8, 4)

/*      FDMA:FDMA:FDMA_DCB_LLP1 */
#define FDMA_DCB_LLP1(r)          __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 84, r, 8, 4)

/*      FDMA:FDMA:FDMA_DCB_LLP_PREV */
#define FDMA_DCB_LLP_PREV(r)      __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 116, r, 8, 4)

/*      FDMA:FDMA:FDMA_DCB_LLP_PREV1 */
#define FDMA_DCB_LLP_PREV1(r)     __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 148, r, 8, 4)

/*      FDMA:FDMA:FDMA_CH_CFG */
#define FDMA_CH_CFG(r)            __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 224, r, 8, 4)

#define FDMA_CH_CFG_CH_XTR_STATUS_MODE           BIT(7)
#define FDMA_CH_CFG_CH_XTR_STATUS_MODE_SET(x)\
	FIELD_PREP(FDMA_CH_CFG_CH_XTR_STATUS_MODE, x)
#define FDMA_CH_CFG_CH_XTR_STATUS_MODE_GET(x)\
	FIELD_GET(FDMA_CH_CFG_CH_XTR_STATUS_MODE, x)

#define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY          BIT(6)
#define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY_SET(x)\
	FIELD_PREP(FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY, x)
#define FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY_GET(x)\
	FIELD_GET(FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY, x)

#define FDMA_CH_CFG_CH_INJ_PORT                  BIT(5)
#define FDMA_CH_CFG_CH_INJ_PORT_SET(x)\
	FIELD_PREP(FDMA_CH_CFG_CH_INJ_PORT, x)
#define FDMA_CH_CFG_CH_INJ_PORT_GET(x)\
	FIELD_GET(FDMA_CH_CFG_CH_INJ_PORT, x)

#define FDMA_CH_CFG_CH_DCB_DB_CNT                GENMASK(4, 1)
#define FDMA_CH_CFG_CH_DCB_DB_CNT_SET(x)\
	FIELD_PREP(FDMA_CH_CFG_CH_DCB_DB_CNT, x)
#define FDMA_CH_CFG_CH_DCB_DB_CNT_GET(x)\
	FIELD_GET(FDMA_CH_CFG_CH_DCB_DB_CNT, x)

#define FDMA_CH_CFG_CH_MEM                       BIT(0)
#define FDMA_CH_CFG_CH_MEM_SET(x)\
	FIELD_PREP(FDMA_CH_CFG_CH_MEM, x)
#define FDMA_CH_CFG_CH_MEM_GET(x)\
	FIELD_GET(FDMA_CH_CFG_CH_MEM, x)

/*      FDMA:FDMA:FDMA_CH_TRANSLATE */
#define FDMA_CH_TRANSLATE(r)      __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 256, r, 8, 4)

#define FDMA_CH_TRANSLATE_OFFSET                 GENMASK(15, 0)
#define FDMA_CH_TRANSLATE_OFFSET_SET(x)\
	FIELD_PREP(FDMA_CH_TRANSLATE_OFFSET, x)
#define FDMA_CH_TRANSLATE_OFFSET_GET(x)\
	FIELD_GET(FDMA_CH_TRANSLATE_OFFSET, x)

/*      FDMA:FDMA:FDMA_XTR_CFG */
#define FDMA_XTR_CFG              __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 364, 0, 1, 4)

#define FDMA_XTR_CFG_XTR_FIFO_WM                 GENMASK(15, 11)
#define FDMA_XTR_CFG_XTR_FIFO_WM_SET(x)\
	FIELD_PREP(FDMA_XTR_CFG_XTR_FIFO_WM, x)
#define FDMA_XTR_CFG_XTR_FIFO_WM_GET(x)\
	FIELD_GET(FDMA_XTR_CFG_XTR_FIFO_WM, x)

#define FDMA_XTR_CFG_XTR_ARB_SAT                 GENMASK(10, 0)
#define FDMA_XTR_CFG_XTR_ARB_SAT_SET(x)\
	FIELD_PREP(FDMA_XTR_CFG_XTR_ARB_SAT, x)
#define FDMA_XTR_CFG_XTR_ARB_SAT_GET(x)\
	FIELD_GET(FDMA_XTR_CFG_XTR_ARB_SAT, x)

/*      FDMA:FDMA:FDMA_PORT_CTRL */
#define FDMA_PORT_CTRL(r)         __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 376, r, 2, 4)

#define FDMA_PORT_CTRL_INJ_STOP                  BIT(4)
#define FDMA_PORT_CTRL_INJ_STOP_SET(x)\
	FIELD_PREP(FDMA_PORT_CTRL_INJ_STOP, x)
#define FDMA_PORT_CTRL_INJ_STOP_GET(x)\
	FIELD_GET(FDMA_PORT_CTRL_INJ_STOP, x)

#define FDMA_PORT_CTRL_INJ_STOP_FORCE            BIT(3)
#define FDMA_PORT_CTRL_INJ_STOP_FORCE_SET(x)\
	FIELD_PREP(FDMA_PORT_CTRL_INJ_STOP_FORCE, x)
#define FDMA_PORT_CTRL_INJ_STOP_FORCE_GET(x)\
	FIELD_GET(FDMA_PORT_CTRL_INJ_STOP_FORCE, x)

#define FDMA_PORT_CTRL_XTR_STOP                  BIT(2)
#define FDMA_PORT_CTRL_XTR_STOP_SET(x)\
	FIELD_PREP(FDMA_PORT_CTRL_XTR_STOP, x)
#define FDMA_PORT_CTRL_XTR_STOP_GET(x)\
	FIELD_GET(FDMA_PORT_CTRL_XTR_STOP, x)

#define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY          BIT(1)
#define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY_SET(x)\
	FIELD_PREP(FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY, x)
#define FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY_GET(x)\
	FIELD_GET(FDMA_PORT_CTRL_XTR_BUF_IS_EMPTY, x)

#define FDMA_PORT_CTRL_XTR_BUF_RST               BIT(0)
#define FDMA_PORT_CTRL_XTR_BUF_RST_SET(x)\
	FIELD_PREP(FDMA_PORT_CTRL_XTR_BUF_RST, x)
#define FDMA_PORT_CTRL_XTR_BUF_RST_GET(x)\
	FIELD_GET(FDMA_PORT_CTRL_XTR_BUF_RST, x)

/*      FDMA:FDMA:FDMA_INTR_DCB */
#define FDMA_INTR_DCB             __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 384, 0, 1, 4)

#define FDMA_INTR_DCB_INTR_DCB                   GENMASK(7, 0)
#define FDMA_INTR_DCB_INTR_DCB_SET(x)\
	FIELD_PREP(FDMA_INTR_DCB_INTR_DCB, x)
#define FDMA_INTR_DCB_INTR_DCB_GET(x)\
	FIELD_GET(FDMA_INTR_DCB_INTR_DCB, x)

/*      FDMA:FDMA:FDMA_INTR_DCB_ENA */
#define FDMA_INTR_DCB_ENA         __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 388, 0, 1, 4)

#define FDMA_INTR_DCB_ENA_INTR_DCB_ENA           GENMASK(7, 0)
#define FDMA_INTR_DCB_ENA_INTR_DCB_ENA_SET(x)\
	FIELD_PREP(FDMA_INTR_DCB_ENA_INTR_DCB_ENA, x)
#define FDMA_INTR_DCB_ENA_INTR_DCB_ENA_GET(x)\
	FIELD_GET(FDMA_INTR_DCB_ENA_INTR_DCB_ENA, x)

/*      FDMA:FDMA:FDMA_INTR_DB */
#define FDMA_INTR_DB              __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 392, 0, 1, 4)

#define FDMA_INTR_DB_INTR_DB                     GENMASK(7, 0)
#define FDMA_INTR_DB_INTR_DB_SET(x)\
	FIELD_PREP(FDMA_INTR_DB_INTR_DB, x)
#define FDMA_INTR_DB_INTR_DB_GET(x)\
	FIELD_GET(FDMA_INTR_DB_INTR_DB, x)

/*      FDMA:FDMA:FDMA_INTR_DB_ENA */
#define FDMA_INTR_DB_ENA          __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 396, 0, 1, 4)

#define FDMA_INTR_DB_ENA_INTR_DB_ENA             GENMASK(7, 0)
#define FDMA_INTR_DB_ENA_INTR_DB_ENA_SET(x)\
	FIELD_PREP(FDMA_INTR_DB_ENA_INTR_DB_ENA, x)
#define FDMA_INTR_DB_ENA_INTR_DB_ENA_GET(x)\
	FIELD_GET(FDMA_INTR_DB_ENA_INTR_DB_ENA, x)

/*      FDMA:FDMA:FDMA_INTR_ERR */
#define FDMA_INTR_ERR             __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 400, 0, 1, 4)

#define FDMA_INTR_ERR_INTR_PORT_ERR              GENMASK(9, 8)
#define FDMA_INTR_ERR_INTR_PORT_ERR_SET(x)\
	FIELD_PREP(FDMA_INTR_ERR_INTR_PORT_ERR, x)
#define FDMA_INTR_ERR_INTR_PORT_ERR_GET(x)\
	FIELD_GET(FDMA_INTR_ERR_INTR_PORT_ERR, x)

#define FDMA_INTR_ERR_INTR_CH_ERR                GENMASK(7, 0)
#define FDMA_INTR_ERR_INTR_CH_ERR_SET(x)\
	FIELD_PREP(FDMA_INTR_ERR_INTR_CH_ERR, x)
#define FDMA_INTR_ERR_INTR_CH_ERR_GET(x)\
	FIELD_GET(FDMA_INTR_ERR_INTR_CH_ERR, x)

/*      FDMA:FDMA:FDMA_ERRORS */
#define FDMA_ERRORS               __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 412, 0, 1, 4)

#define FDMA_ERRORS_ERR_XTR_WR                   GENMASK(31, 30)
#define FDMA_ERRORS_ERR_XTR_WR_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_XTR_WR, x)
#define FDMA_ERRORS_ERR_XTR_WR_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_XTR_WR, x)

#define FDMA_ERRORS_ERR_XTR_OVF                  GENMASK(29, 28)
#define FDMA_ERRORS_ERR_XTR_OVF_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_XTR_OVF, x)
#define FDMA_ERRORS_ERR_XTR_OVF_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_XTR_OVF, x)

#define FDMA_ERRORS_ERR_XTR_TAXI32_OVF           GENMASK(27, 26)
#define FDMA_ERRORS_ERR_XTR_TAXI32_OVF_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_XTR_TAXI32_OVF, x)
#define FDMA_ERRORS_ERR_XTR_TAXI32_OVF_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_XTR_TAXI32_OVF, x)

#define FDMA_ERRORS_ERR_DCB_XTR_DATAL            GENMASK(25, 24)
#define FDMA_ERRORS_ERR_DCB_XTR_DATAL_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_DCB_XTR_DATAL, x)
#define FDMA_ERRORS_ERR_DCB_XTR_DATAL_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_DCB_XTR_DATAL, x)

#define FDMA_ERRORS_ERR_DCB_RD                   GENMASK(23, 16)
#define FDMA_ERRORS_ERR_DCB_RD_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_DCB_RD, x)
#define FDMA_ERRORS_ERR_DCB_RD_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_DCB_RD, x)

#define FDMA_ERRORS_ERR_INJ_RD                   GENMASK(15, 10)
#define FDMA_ERRORS_ERR_INJ_RD_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_INJ_RD, x)
#define FDMA_ERRORS_ERR_INJ_RD_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_INJ_RD, x)

#define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC          GENMASK(9, 8)
#define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC, x)
#define FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_INJ_OUT_OF_SYNC, x)

#define FDMA_ERRORS_ERR_CH_WR                    GENMASK(7, 0)
#define FDMA_ERRORS_ERR_CH_WR_SET(x)\
	FIELD_PREP(FDMA_ERRORS_ERR_CH_WR, x)
#define FDMA_ERRORS_ERR_CH_WR_GET(x)\
	FIELD_GET(FDMA_ERRORS_ERR_CH_WR, x)

/*      FDMA:FDMA:FDMA_ERRORS_2 */
#define FDMA_ERRORS_2             __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 416, 0, 1, 4)

#define FDMA_ERRORS_2_ERR_XTR_FRAG               GENMASK(1, 0)
#define FDMA_ERRORS_2_ERR_XTR_FRAG_SET(x)\
	FIELD_PREP(FDMA_ERRORS_2_ERR_XTR_FRAG, x)
#define FDMA_ERRORS_2_ERR_XTR_FRAG_GET(x)\
	FIELD_GET(FDMA_ERRORS_2_ERR_XTR_FRAG, x)

/*      FDMA:FDMA:FDMA_CTRL */
#define FDMA_CTRL                 __REG(TARGET_FDMA, 0, 1, 8, 0, 1, 428, 424, 0, 1, 4)

#define FDMA_CTRL_NRESET                         BIT(0)
#define FDMA_CTRL_NRESET_SET(x)\
	FIELD_PREP(FDMA_CTRL_NRESET, x)
#define FDMA_CTRL_NRESET_GET(x)\
	FIELD_GET(FDMA_CTRL_NRESET, x)

/*      DEVCPU_GCB:CHIP_REGS:CHIP_ID */
#define GCB_CHIP_ID               __REG(TARGET_GCB, 0, 1, 0, 0, 1, 424, 0, 0, 1, 4)

#define GCB_CHIP_ID_REV_ID                       GENMASK(31, 28)
#define GCB_CHIP_ID_REV_ID_SET(x)\
	FIELD_PREP(GCB_CHIP_ID_REV_ID, x)
#define GCB_CHIP_ID_REV_ID_GET(x)\
	FIELD_GET(GCB_CHIP_ID_REV_ID, x)

#define GCB_CHIP_ID_PART_ID                      GENMASK(27, 12)
#define GCB_CHIP_ID_PART_ID_SET(x)\
	FIELD_PREP(GCB_CHIP_ID_PART_ID, x)
#define GCB_CHIP_ID_PART_ID_GET(x)\
	FIELD_GET(GCB_CHIP_ID_PART_ID, x)

#define GCB_CHIP_ID_MFG_ID                       GENMASK(11, 1)
#define GCB_CHIP_ID_MFG_ID_SET(x)\
	FIELD_PREP(GCB_CHIP_ID_MFG_ID, x)
#define GCB_CHIP_ID_MFG_ID_GET(x)\
	FIELD_GET(GCB_CHIP_ID_MFG_ID, x)

#define GCB_CHIP_ID_ONE                          BIT(0)
#define GCB_CHIP_ID_ONE_SET(x)\
	FIELD_PREP(GCB_CHIP_ID_ONE, x)
#define GCB_CHIP_ID_ONE_GET(x)\
	FIELD_GET(GCB_CHIP_ID_ONE, x)

/*      DEVCPU_GCB:CHIP_REGS:SOFT_RST */
#define GCB_SOFT_RST              __REG(TARGET_GCB, 0, 1, 0, 0, 1, 424, 8, 0, 1, 4)

#define GCB_SOFT_RST_SOFT_NON_CFG_RST            BIT(2)
#define GCB_SOFT_RST_SOFT_NON_CFG_RST_SET(x)\
	FIELD_PREP(GCB_SOFT_RST_SOFT_NON_CFG_RST, x)
#define GCB_SOFT_RST_SOFT_NON_CFG_RST_GET(x)\
	FIELD_GET(GCB_SOFT_RST_SOFT_NON_CFG_RST, x)

#define GCB_SOFT_RST_SOFT_SWC_RST                BIT(1)
#define GCB_SOFT_RST_SOFT_SWC_RST_SET(x)\
	FIELD_PREP(GCB_SOFT_RST_SOFT_SWC_RST, x)
#define GCB_SOFT_RST_SOFT_SWC_RST_GET(x)\
	FIELD_GET(GCB_SOFT_RST_SOFT_SWC_RST, x)

#define GCB_SOFT_RST_SOFT_CHIP_RST               BIT(0)
#define GCB_SOFT_RST_SOFT_CHIP_RST_SET(x)\
	FIELD_PREP(GCB_SOFT_RST_SOFT_CHIP_RST, x)
#define GCB_SOFT_RST_SOFT_CHIP_RST_GET(x)\
	FIELD_GET(GCB_SOFT_RST_SOFT_CHIP_RST, x)

/*      DEVCPU_GCB:CHIP_REGS:HW_SGPIO_SD_CFG */
#define GCB_HW_SGPIO_SD_CFG       __REG(TARGET_GCB, 0, 1, 0, 0, 1, 424, 20, 0, 1, 4)

#define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA          BIT(1)
#define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA_SET(x)\
	FIELD_PREP(GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA, x)
#define GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA_GET(x)\
	FIELD_GET(GCB_HW_SGPIO_SD_CFG_SD_HIGH_ENA, x)

#define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL           BIT(0)
#define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL_SET(x)\
	FIELD_PREP(GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL, x)
#define GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL_GET(x)\
	FIELD_GET(GCB_HW_SGPIO_SD_CFG_SD_MAP_SEL, x)

/*      DEVCPU_GCB:CHIP_REGS:HW_SGPIO_TO_SD_MAP_CFG */
#define GCB_HW_SGPIO_TO_SD_MAP_CFG(r) __REG(TARGET_GCB, 0, 1, 0, 0, 1, 424, 24, r, 65, 4)

#define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL GENMASK(8, 0)
#define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL_SET(x)\
	FIELD_PREP(GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL, x)
#define GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL_GET(x)\
	FIELD_GET(GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL, x)

/*      DEVCPU_GCB:SIO_CTRL:SIO_CLOCK */
#define GCB_SIO_CLOCK(g)          __REG(TARGET_GCB, 0, 1, 876, g, 3, 280, 20, 0, 1, 4)

#define GCB_SIO_CLOCK_SIO_CLK_FREQ               GENMASK(19, 8)
#define GCB_SIO_CLOCK_SIO_CLK_FREQ_SET(x)\
	FIELD_PREP(GCB_SIO_CLOCK_SIO_CLK_FREQ, x)
#define GCB_SIO_CLOCK_SIO_CLK_FREQ_GET(x)\
	FIELD_GET(GCB_SIO_CLOCK_SIO_CLK_FREQ, x)

#define GCB_SIO_CLOCK_SYS_CLK_PERIOD             GENMASK(7, 0)
#define GCB_SIO_CLOCK_SYS_CLK_PERIOD_SET(x)\
	FIELD_PREP(GCB_SIO_CLOCK_SYS_CLK_PERIOD, x)
#define GCB_SIO_CLOCK_SYS_CLK_PERIOD_GET(x)\
	FIELD_GET(GCB_SIO_CLOCK_SYS_CLK_PERIOD, x)

/*      HSCH:HSCH_CFG:CIR_CFG */
#define HSCH_CIR_CFG(g)           __REG(TARGET_HSCH, 0, 1, 0, g, 5040, 32, 0, 0, 1, 4)

#define HSCH_CIR_CFG_CIR_RATE                    GENMASK(22, 6)
#define HSCH_CIR_CFG_CIR_RATE_SET(x)\
	FIELD_PREP(HSCH_CIR_CFG_CIR_RATE, x)
#define HSCH_CIR_CFG_CIR_RATE_GET(x)\
	FIELD_GET(HSCH_CIR_CFG_CIR_RATE, x)

#define HSCH_CIR_CFG_CIR_BURST                   GENMASK(5, 0)
#define HSCH_CIR_CFG_CIR_BURST_SET(x)\
	FIELD_PREP(HSCH_CIR_CFG_CIR_BURST, x)
#define HSCH_CIR_CFG_CIR_BURST_GET(x)\
	FIELD_GET(HSCH_CIR_CFG_CIR_BURST, x)

/*      HSCH:HSCH_CFG:EIR_CFG */
#define HSCH_EIR_CFG(g)           __REG(TARGET_HSCH, 0, 1, 0, g, 5040, 32, 4, 0, 1, 4)

#define HSCH_EIR_CFG_EIR_RATE                    GENMASK(22, 6)
#define HSCH_EIR_CFG_EIR_RATE_SET(x)\
	FIELD_PREP(HSCH_EIR_CFG_EIR_RATE, x)
#define HSCH_EIR_CFG_EIR_RATE_GET(x)\
	FIELD_GET(HSCH_EIR_CFG_EIR_RATE, x)

#define HSCH_EIR_CFG_EIR_BURST                   GENMASK(5, 0)
#define HSCH_EIR_CFG_EIR_BURST_SET(x)\
	FIELD_PREP(HSCH_EIR_CFG_EIR_BURST, x)
#define HSCH_EIR_CFG_EIR_BURST_GET(x)\
	FIELD_GET(HSCH_EIR_CFG_EIR_BURST, x)

/*      HSCH:HSCH_CFG:SE_CFG */
#define HSCH_SE_CFG(g)            __REG(TARGET_HSCH, 0, 1, 0, g, 5040, 32, 8, 0, 1, 4)

#define HSCH_SE_CFG_SE_DWRR_CNT                  GENMASK(12, 6)
#define HSCH_SE_CFG_SE_DWRR_CNT_SET(x)\
	FIELD_PREP(HSCH_SE_CFG_SE_DWRR_CNT, x)
#define HSCH_SE_CFG_SE_DWRR_CNT_GET(x)\
	FIELD_GET(HSCH_SE_CFG_SE_DWRR_CNT, x)

#define HSCH_SE_CFG_SE_AVB_ENA                   BIT(5)
#define HSCH_SE_CFG_SE_AVB_ENA_SET(x)\
	FIELD_PREP(HSCH_SE_CFG_SE_AVB_ENA, x)
#define HSCH_SE_CFG_SE_AVB_ENA_GET(x)\
	FIELD_GET(HSCH_SE_CFG_SE_AVB_ENA, x)

#define HSCH_SE_CFG_SE_FRM_MODE                  GENMASK(4, 3)
#define HSCH_SE_CFG_SE_FRM_MODE_SET(x)\
	FIELD_PREP(HSCH_SE_CFG_SE_FRM_MODE, x)
#define HSCH_SE_CFG_SE_FRM_MODE_GET(x)\
	FIELD_GET(HSCH_SE_CFG_SE_FRM_MODE, x)

#define HSCH_SE_CFG_SE_DWRR_FRM_MODE             GENMASK(2, 1)
#define HSCH_SE_CFG_SE_DWRR_FRM_MODE_SET(x)\
	FIELD_PREP(HSCH_SE_CFG_SE_DWRR_FRM_MODE, x)
#define HSCH_SE_CFG_SE_DWRR_FRM_MODE_GET(x)\
	FIELD_GET(HSCH_SE_CFG_SE_DWRR_FRM_MODE, x)

#define HSCH_SE_CFG_SE_STOP                      BIT(0)
#define HSCH_SE_CFG_SE_STOP_SET(x)\
	FIELD_PREP(HSCH_SE_CFG_SE_STOP, x)
#define HSCH_SE_CFG_SE_STOP_GET(x)\
	FIELD_GET(HSCH_SE_CFG_SE_STOP, x)

/*      HSCH:HSCH_CFG:SE_CONNECT */
#define HSCH_SE_CONNECT(g)        __REG(TARGET_HSCH, 0, 1, 0, g, 5040, 32, 12, 0, 1, 4)

#define HSCH_SE_CONNECT_SE_LEAK_LINK             GENMASK(15, 0)
#define HSCH_SE_CONNECT_SE_LEAK_LINK_SET(x)\
	FIELD_PREP(HSCH_SE_CONNECT_SE_LEAK_LINK, x)
#define HSCH_SE_CONNECT_SE_LEAK_LINK_GET(x)\
	FIELD_GET(HSCH_SE_CONNECT_SE_LEAK_LINK, x)

/*      HSCH:HSCH_CFG:SE_DLB_SENSE */
#define HSCH_SE_DLB_SENSE(g)      __REG(TARGET_HSCH, 0, 1, 0, g, 5040, 32, 16, 0, 1, 4)

#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO            GENMASK(12, 10)
#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_SET(x)\
	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_PRIO, x)
#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_GET(x)\
	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_PRIO, x)

#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT           GENMASK(9, 3)
#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_SET(x)\
	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_DPORT, x)
#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_GET(x)\
	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_DPORT, x)

#define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA          BIT(2)
#define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA_SET(x)\
	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA, x)
#define HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA_GET(x)\
	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_SE_ENA, x)

#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA        BIT(1)
#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA_SET(x)\
	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA, x)
#define HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA_GET(x)\
	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_PRIO_ENA, x)

#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA       BIT(0)
#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA_SET(x)\
	FIELD_PREP(HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA, x)
#define HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA_GET(x)\
	FIELD_GET(HSCH_SE_DLB_SENSE_SE_DLB_DPORT_ENA, x)

/*      HSCH:HSCH_DWRR:DWRR_ENTRY */
#define HSCH_DWRR_ENTRY(g)        __REG(TARGET_HSCH, 0, 1, 162816, g, 72, 4, 0, 0, 1, 4)

#define HSCH_DWRR_ENTRY_DWRR_COST                GENMASK(24, 20)
#define HSCH_DWRR_ENTRY_DWRR_COST_SET(x)\
	FIELD_PREP(HSCH_DWRR_ENTRY_DWRR_COST, x)
#define HSCH_DWRR_ENTRY_DWRR_COST_GET(x)\
	FIELD_GET(HSCH_DWRR_ENTRY_DWRR_COST, x)

#define HSCH_DWRR_ENTRY_DWRR_BALANCE             GENMASK(19, 0)
#define HSCH_DWRR_ENTRY_DWRR_BALANCE_SET(x)\
	FIELD_PREP(HSCH_DWRR_ENTRY_DWRR_BALANCE, x)
#define HSCH_DWRR_ENTRY_DWRR_BALANCE_GET(x)\
	FIELD_GET(HSCH_DWRR_ENTRY_DWRR_BALANCE, x)

/*      HSCH:HSCH_MISC:HSCH_CFG_CFG */
#define HSCH_HSCH_CFG_CFG         __REG(TARGET_HSCH, 0, 1, 163104, 0, 1, 648, 284, 0, 1, 4)

#define HSCH_HSCH_CFG_CFG_CFG_SE_IDX             GENMASK(26, 14)
#define HSCH_HSCH_CFG_CFG_CFG_SE_IDX_SET(x)\
	FIELD_PREP(HSCH_HSCH_CFG_CFG_CFG_SE_IDX, x)
#define HSCH_HSCH_CFG_CFG_CFG_SE_IDX_GET(x)\
	FIELD_GET(HSCH_HSCH_CFG_CFG_CFG_SE_IDX, x)

#define HSCH_HSCH_CFG_CFG_HSCH_LAYER             GENMASK(13, 12)
#define HSCH_HSCH_CFG_CFG_HSCH_LAYER_SET(x)\
	FIELD_PREP(HSCH_HSCH_CFG_CFG_HSCH_LAYER, x)
#define HSCH_HSCH_CFG_CFG_HSCH_LAYER_GET(x)\
	FIELD_GET(HSCH_HSCH_CFG_CFG_HSCH_LAYER, x)

#define HSCH_HSCH_CFG_CFG_CSR_GRANT              GENMASK(11, 0)
#define HSCH_HSCH_CFG_CFG_CSR_GRANT_SET(x)\
	FIELD_PREP(HSCH_HSCH_CFG_CFG_CSR_GRANT, x)
#define HSCH_HSCH_CFG_CFG_CSR_GRANT_GET(x)\
	FIELD_GET(HSCH_HSCH_CFG_CFG_CSR_GRANT, x)

/*      HSCH:HSCH_MISC:SYS_CLK_PER */
#define HSCH_SYS_CLK_PER          __REG(TARGET_HSCH, 0, 1, 163104, 0, 1, 648, 640, 0, 1, 4)

#define HSCH_SYS_CLK_PER_SYS_CLK_PER_100PS       GENMASK(7, 0)
#define HSCH_SYS_CLK_PER_SYS_CLK_PER_100PS_SET(x)\
	FIELD_PREP(HSCH_SYS_CLK_PER_SYS_CLK_PER_100PS, x)
#define HSCH_SYS_CLK_PER_SYS_CLK_PER_100PS_GET(x)\
	FIELD_GET(HSCH_SYS_CLK_PER_SYS_CLK_PER_100PS, x)

/*      HSCH:HSCH_LEAK_LISTS:HSCH_TIMER_CFG */
#define HSCH_HSCH_TIMER_CFG(g, r) __REG(TARGET_HSCH, 0, 1, 161664, g, 4, 32, 0, r, 4, 4)

#define HSCH_HSCH_TIMER_CFG_LEAK_TIME            GENMASK(17, 0)
#define HSCH_HSCH_TIMER_CFG_LEAK_TIME_SET(x)\
	FIELD_PREP(HSCH_HSCH_TIMER_CFG_LEAK_TIME, x)
#define HSCH_HSCH_TIMER_CFG_LEAK_TIME_GET(x)\
	FIELD_GET(HSCH_HSCH_TIMER_CFG_LEAK_TIME, x)

/*      HSCH:HSCH_LEAK_LISTS:HSCH_LEAK_CFG */
#define HSCH_HSCH_LEAK_CFG(g, r)  __REG(TARGET_HSCH, 0, 1, 161664, g, 4, 32, 16, r, 4, 4)

#define HSCH_HSCH_LEAK_CFG_LEAK_FIRST            GENMASK(16, 1)
#define HSCH_HSCH_LEAK_CFG_LEAK_FIRST_SET(x)\
	FIELD_PREP(HSCH_HSCH_LEAK_CFG_LEAK_FIRST, x)
#define HSCH_HSCH_LEAK_CFG_LEAK_FIRST_GET(x)\
	FIELD_GET(HSCH_HSCH_LEAK_CFG_LEAK_FIRST, x)

#define HSCH_HSCH_LEAK_CFG_LEAK_ERR              BIT(0)
#define HSCH_HSCH_LEAK_CFG_LEAK_ERR_SET(x)\
	FIELD_PREP(HSCH_HSCH_LEAK_CFG_LEAK_ERR, x)
#define HSCH_HSCH_LEAK_CFG_LEAK_ERR_GET(x)\
	FIELD_GET(HSCH_HSCH_LEAK_CFG_LEAK_ERR, x)

/*      HSCH:SYSTEM:FLUSH_CTRL */
#define HSCH_FLUSH_CTRL           __REG(TARGET_HSCH, 0, 1, 184000, 0, 1, 312, 4, 0, 1, 4)

#define HSCH_FLUSH_CTRL_FLUSH_ENA                BIT(27)
#define HSCH_FLUSH_CTRL_FLUSH_ENA_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_ENA, x)
#define HSCH_FLUSH_CTRL_FLUSH_ENA_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_ENA, x)

#define HSCH_FLUSH_CTRL_FLUSH_SRC                BIT(26)
#define HSCH_FLUSH_CTRL_FLUSH_SRC_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_SRC, x)
#define HSCH_FLUSH_CTRL_FLUSH_SRC_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_SRC, x)

#define HSCH_FLUSH_CTRL_FLUSH_DST                BIT(25)
#define HSCH_FLUSH_CTRL_FLUSH_DST_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_DST, x)
#define HSCH_FLUSH_CTRL_FLUSH_DST_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_DST, x)

#define HSCH_FLUSH_CTRL_FLUSH_PORT               GENMASK(24, 18)
#define HSCH_FLUSH_CTRL_FLUSH_PORT_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_PORT, x)
#define HSCH_FLUSH_CTRL_FLUSH_PORT_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_PORT, x)

#define HSCH_FLUSH_CTRL_FLUSH_QUEUE              BIT(17)
#define HSCH_FLUSH_CTRL_FLUSH_QUEUE_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_QUEUE, x)
#define HSCH_FLUSH_CTRL_FLUSH_QUEUE_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_QUEUE, x)

#define HSCH_FLUSH_CTRL_FLUSH_SE                 BIT(16)
#define HSCH_FLUSH_CTRL_FLUSH_SE_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_SE, x)
#define HSCH_FLUSH_CTRL_FLUSH_SE_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_SE, x)

#define HSCH_FLUSH_CTRL_FLUSH_HIER               GENMASK(15, 0)
#define HSCH_FLUSH_CTRL_FLUSH_HIER_SET(x)\
	FIELD_PREP(HSCH_FLUSH_CTRL_FLUSH_HIER, x)
#define HSCH_FLUSH_CTRL_FLUSH_HIER_GET(x)\
	FIELD_GET(HSCH_FLUSH_CTRL_FLUSH_HIER, x)

/*      HSCH:SYSTEM:PORT_MODE */
#define HSCH_PORT_MODE(r)         __REG(TARGET_HSCH, 0, 1, 184000, 0, 1, 312, 8, r, 70, 4)

#define HSCH_PORT_MODE_DEQUEUE_DIS               BIT(4)
#define HSCH_PORT_MODE_DEQUEUE_DIS_SET(x)\
	FIELD_PREP(HSCH_PORT_MODE_DEQUEUE_DIS, x)
#define HSCH_PORT_MODE_DEQUEUE_DIS_GET(x)\
	FIELD_GET(HSCH_PORT_MODE_DEQUEUE_DIS, x)

#define HSCH_PORT_MODE_AGE_DIS                   BIT(3)
#define HSCH_PORT_MODE_AGE_DIS_SET(x)\
	FIELD_PREP(HSCH_PORT_MODE_AGE_DIS, x)
#define HSCH_PORT_MODE_AGE_DIS_GET(x)\
	FIELD_GET(HSCH_PORT_MODE_AGE_DIS, x)

#define HSCH_PORT_MODE_TRUNC_ENA                 BIT(2)
#define HSCH_PORT_MODE_TRUNC_ENA_SET(x)\
	FIELD_PREP(HSCH_PORT_MODE_TRUNC_ENA, x)
#define HSCH_PORT_MODE_TRUNC_ENA_GET(x)\
	FIELD_GET(HSCH_PORT_MODE_TRUNC_ENA, x)

#define HSCH_PORT_MODE_EIR_REMARK_ENA            BIT(1)
#define HSCH_PORT_MODE_EIR_REMARK_ENA_SET(x)\
	FIELD_PREP(HSCH_PORT_MODE_EIR_REMARK_ENA, x)
#define HSCH_PORT_MODE_EIR_REMARK_ENA_GET(x)\
	FIELD_GET(HSCH_PORT_MODE_EIR_REMARK_ENA, x)

#define HSCH_PORT_MODE_CPU_PRIO_MODE             BIT(0)
#define HSCH_PORT_MODE_CPU_PRIO_MODE_SET(x)\
	FIELD_PREP(HSCH_PORT_MODE_CPU_PRIO_MODE, x)
#define HSCH_PORT_MODE_CPU_PRIO_MODE_GET(x)\
	FIELD_GET(HSCH_PORT_MODE_CPU_PRIO_MODE, x)

/*      HSCH:SYSTEM:OUTB_SHARE_ENA */
#define HSCH_OUTB_SHARE_ENA(r)    __REG(TARGET_HSCH, 0, 1, 184000, 0, 1, 312, 288, r, 5, 4)

#define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA       GENMASK(7, 0)
#define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA_SET(x)\
	FIELD_PREP(HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA, x)
#define HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA_GET(x)\
	FIELD_GET(HSCH_OUTB_SHARE_ENA_OUTB_SHARE_ENA, x)

/*      HSCH:MMGT:RESET_CFG */
#define HSCH_RESET_CFG            __REG(TARGET_HSCH, 0, 1, 162368, 0, 1, 16, 8, 0, 1, 4)

#define HSCH_RESET_CFG_CORE_ENA                  BIT(0)
#define HSCH_RESET_CFG_CORE_ENA_SET(x)\
	FIELD_PREP(HSCH_RESET_CFG_CORE_ENA, x)
#define HSCH_RESET_CFG_CORE_ENA_GET(x)\
	FIELD_GET(HSCH_RESET_CFG_CORE_ENA, x)

/*      HSCH:TAS_CONFIG:TAS_STATEMACHINE_CFG */
#define HSCH_TAS_STATEMACHINE_CFG __REG(TARGET_HSCH, 0, 1, 162384, 0, 1, 12, 8, 0, 1, 4)

#define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY    GENMASK(7, 0)
#define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY_SET(x)\
	FIELD_PREP(HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY, x)
#define HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY_GET(x)\
	FIELD_GET(HSCH_TAS_STATEMACHINE_CFG_REVISIT_DLY, x)

/*      LRN:COMMON:COMMON_ACCESS_CTRL */
#define LRN_COMMON_ACCESS_CTRL    __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 0, 0, 1, 4)

#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL GENMASK(21, 20)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL_SET(x)\
	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL, x)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL_GET(x)\
	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_COL, x)

#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE BIT(19)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE_SET(x)\
	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE, x)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE_GET(x)\
	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_TYPE, x)

#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW GENMASK(18, 5)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW_SET(x)\
	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW, x)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW_GET(x)\
	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW, x)

#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD    GENMASK(4, 1)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_SET(x)\
	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD, x)
#define LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_GET(x)\
	FIELD_GET(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD, x)

#define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT BIT(0)
#define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT_SET(x)\
	FIELD_PREP(LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT, x)
#define LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT_GET(x)\
	FIELD_GET(LRN_COMMON_ACCESS_CTRL_MAC_TABLE_ACCESS_SHOT, x)

/*      LRN:COMMON:MAC_ACCESS_CFG_0 */
#define LRN_MAC_ACCESS_CFG_0      __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 4, 0, 1, 4)

#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID       GENMASK(28, 16)
#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID, x)
#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_FID, x)

#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB   GENMASK(15, 0)
#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB, x)
#define LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_0_MAC_ENTRY_MAC_MSB, x)

/*      LRN:COMMON:MAC_ACCESS_CFG_1 */
#define LRN_MAC_ACCESS_CFG_1      __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 8, 0, 1, 4)

/*      LRN:COMMON:MAC_ACCESS_CFG_2 */
#define LRN_MAC_ACCESS_CFG_2      __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 12, 0, 1, 4)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD BIT(28)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_SRC_KILL_FWD, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL BIT(27)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_NXT_LRN_ALL, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU    GENMASK(26, 24)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_QU, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY  BIT(23)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_CPU_COPY, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE BIT(22)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLAN_IGNORE, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR    BIT(21)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_MIRROR, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG  GENMASK(20, 19)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_FLAG, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL GENMASK(18, 17)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_AGE_INTERVAL, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED    BIT(16)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_LOCKED, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD       BIT(15)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_VLD, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE GENMASK(14, 12)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_TYPE, x)

#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR      GENMASK(11, 0)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR, x)
#define LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR, x)

/*      LRN:COMMON:MAC_ACCESS_CFG_3 */
#define LRN_MAC_ACCESS_CFG_3      __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 16, 0, 1, 4)

#define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX GENMASK(10, 0)
#define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX_SET(x)\
	FIELD_PREP(LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX, x)
#define LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX_GET(x)\
	FIELD_GET(LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX, x)

/*      LRN:COMMON:SCAN_NEXT_CFG */
#define LRN_SCAN_NEXT_CFG         __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 20, 0, 1, 4)

#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL GENMASK(21, 19)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL, x)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_FLAG_UPDATE_SEL, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL GENMASK(18, 17)
#define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NXT_LRN_ALL_UPDATE_SEL, x)

#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL    GENMASK(16, 15)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL, x)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_FILTER_SEL, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA BIT(14)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_MOVE_FOUND_ENA, x)

#define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA BIT(13)
#define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA, x)
#define LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_NXT_LRN_ALL_FILTER_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA BIT(12)
#define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_USE_PORT_FILTER_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA BIT(11)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_REMOVE_FOUND_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA BIT(10)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_UNTIL_FOUND_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA BIT(9)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_INC_AGE_BITS_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA BIT(8)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_AGED_ONLY_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA BIT(7)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA, x)
#define LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_NEXT_IGNORE_LOCKED_ENA, x)

#define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK GENMASK(6, 3)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK, x)
#define LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_SCAN_AGE_INTERVAL_MASK, x)

#define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA BIT(2)
#define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA, x)
#define LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_ISDX_LIMIT_IDX_FILTER_ENA, x)

#define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA         BIT(1)
#define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_FID_FILTER_ENA, x)
#define LRN_SCAN_NEXT_CFG_FID_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_FID_FILTER_ENA, x)

#define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA        BIT(0)
#define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA, x)
#define LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_ADDR_FILTER_ENA, x)

/*      LRN:COMMON:SCAN_NEXT_CFG_1 */
#define LRN_SCAN_NEXT_CFG_1       __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 24, 0, 1, 4)

#define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR   GENMASK(30, 16)
#define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR, x)
#define LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_1_PORT_MOVE_NEW_ADDR, x)

#define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK GENMASK(14, 0)
#define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK_SET(x)\
	FIELD_PREP(LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK, x)
#define LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK_GET(x)\
	FIELD_GET(LRN_SCAN_NEXT_CFG_1_SCAN_ENTRY_ADDR_MASK, x)

/*      LRN:COMMON:AUTOAGE_CFG */
#define LRN_AUTOAGE_CFG(r)        __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 36, r, 4, 4)

#define LRN_AUTOAGE_CFG_UNIT_SIZE                GENMASK(29, 28)
#define LRN_AUTOAGE_CFG_UNIT_SIZE_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_UNIT_SIZE, x)
#define LRN_AUTOAGE_CFG_UNIT_SIZE_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_UNIT_SIZE, x)

#define LRN_AUTOAGE_CFG_PERIOD_VAL               GENMASK(27, 0)
#define LRN_AUTOAGE_CFG_PERIOD_VAL_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_PERIOD_VAL, x)
#define LRN_AUTOAGE_CFG_PERIOD_VAL_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_PERIOD_VAL, x)

/*      LRN:COMMON:AUTOAGE_CFG_1 */
#define LRN_AUTOAGE_CFG_1         __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 52, 0, 1, 4)

#define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA     BIT(25)
#define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA, x)
#define LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_PAUSE_AUTO_AGE_ENA, x)

#define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN GENMASK(24, 15)
#define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN, x)
#define LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_CELLS_BETWEEN_ENTRY_SCAN, x)

#define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS        GENMASK(14, 7)
#define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS, x)
#define LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_CLK_PERIOD_01NS, x)

#define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA    BIT(6)
#define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA, x)
#define LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_USE_PORT_FILTER_ENA, x)

#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT     GENMASK(5, 2)
#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT, x)
#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_SHOT, x)

#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT BIT(1)
#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT, x)
#define LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_HW_SCAN_STOP_SHOT, x)

#define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA         BIT(0)
#define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA, x)
#define LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_1_FORCE_IDLE_ENA, x)

/*      LRN:COMMON:AUTOAGE_CFG_2 */
#define LRN_AUTOAGE_CFG_2         __REG(TARGET_LRN, 0, 1, 0, 0, 1, 72, 56, 0, 1, 4)

#define LRN_AUTOAGE_CFG_2_NEXT_ROW               GENMASK(17, 4)
#define LRN_AUTOAGE_CFG_2_NEXT_ROW_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_2_NEXT_ROW, x)
#define LRN_AUTOAGE_CFG_2_NEXT_ROW_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_2_NEXT_ROW, x)

#define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS    GENMASK(3, 0)
#define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS_SET(x)\
	FIELD_PREP(LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS, x)
#define LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS_GET(x)\
	FIELD_GET(LRN_AUTOAGE_CFG_2_SCAN_ONGOING_STATUS, x)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_REGION_CTRL_2_OFF_OUTBOUND_0 */
#define PCEP_RCTRL_2_OUT_0        __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 4, 0, 1, 4)

#define PCEP_RCTRL_2_OUT_0_MSG_CODE              GENMASK(7, 0)
#define PCEP_RCTRL_2_OUT_0_MSG_CODE_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_MSG_CODE, x)
#define PCEP_RCTRL_2_OUT_0_MSG_CODE_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_MSG_CODE, x)

#define PCEP_RCTRL_2_OUT_0_TAG                   GENMASK(15, 8)
#define PCEP_RCTRL_2_OUT_0_TAG_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_TAG, x)
#define PCEP_RCTRL_2_OUT_0_TAG_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_TAG, x)

#define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN     BIT(16)
#define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN, x)
#define PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_TAG_SUBSTITUTE_EN, x)

#define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS           BIT(19)
#define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_FUNC_BYPASS, x)
#define PCEP_RCTRL_2_OUT_0_FUNC_BYPASS_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_FUNC_BYPASS, x)

#define PCEP_RCTRL_2_OUT_0_SNP                   BIT(20)
#define PCEP_RCTRL_2_OUT_0_SNP_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_SNP, x)
#define PCEP_RCTRL_2_OUT_0_SNP_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_SNP, x)

#define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD       BIT(22)
#define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD, x)
#define PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_INHIBIT_PAYLOAD, x)

#define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN  BIT(23)
#define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN, x)
#define PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_HEADER_SUBSTITUTE_EN, x)

#define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE        BIT(28)
#define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE, x)
#define PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_CFG_SHIFT_MODE, x)

#define PCEP_RCTRL_2_OUT_0_INVERT_MODE           BIT(29)
#define PCEP_RCTRL_2_OUT_0_INVERT_MODE_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_INVERT_MODE, x)
#define PCEP_RCTRL_2_OUT_0_INVERT_MODE_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_INVERT_MODE, x)

#define PCEP_RCTRL_2_OUT_0_REGION_EN             BIT(31)
#define PCEP_RCTRL_2_OUT_0_REGION_EN_SET(x)\
	FIELD_PREP(PCEP_RCTRL_2_OUT_0_REGION_EN, x)
#define PCEP_RCTRL_2_OUT_0_REGION_EN_GET(x)\
	FIELD_GET(PCEP_RCTRL_2_OUT_0_REGION_EN, x)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_LWR_BASE_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_LWR_OUT_0       __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 8, 0, 1, 4)

#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW          GENMASK(15, 0)
#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW_SET(x)\
	FIELD_PREP(PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW, x)
#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW_GET(x)\
	FIELD_GET(PCEP_ADDR_LWR_OUT_0_LWR_BASE_HW, x)

#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW          GENMASK(31, 16)
#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW_SET(x)\
	FIELD_PREP(PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW, x)
#define PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW_GET(x)\
	FIELD_GET(PCEP_ADDR_LWR_OUT_0_LWR_BASE_RW, x)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPER_BASE_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_UPR_OUT_0       __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 12, 0, 1, 4)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_LIMIT_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_LIM_OUT_0       __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 16, 0, 1, 4)

#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW        GENMASK(15, 0)
#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW_SET(x)\
	FIELD_PREP(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW, x)
#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW_GET(x)\
	FIELD_GET(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_HW, x)

#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW        GENMASK(31, 16)
#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW_SET(x)\
	FIELD_PREP(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW, x)
#define PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW_GET(x)\
	FIELD_GET(PCEP_ADDR_LIM_OUT_0_LIMIT_ADDR_RW, x)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_LWR_TARGET_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_LWR_TGT_OUT_0   __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 20, 0, 1, 4)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPER_TARGET_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_UPR_TGT_OUT_0   __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 24, 0, 1, 4)

/*      PCIE_DM_EP:PF0_ATU_CAP:IATU_UPPR_LIMIT_ADDR_OFF_OUTBOUND_0 */
#define PCEP_ADDR_UPR_LIM_OUT_0   __REG(TARGET_PCEP, 0, 1, 3145728, 0, 1, 130852, 32, 0, 1, 4)

#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW GENMASK(1, 0)
#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW_SET(x)\
	FIELD_PREP(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW, x)
#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW_GET(x)\
	FIELD_GET(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_RW, x)

#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW GENMASK(31, 2)
#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW_SET(x)\
	FIELD_PREP(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW, x)
#define PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW_GET(x)\
	FIELD_GET(PCEP_ADDR_UPR_LIM_OUT_0_UPPR_LIMIT_ADDR_HW, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
#define PCS10G_BR_PCS_CFG(t)      __REG(TARGET_PCS10G_BR, t, 12, 0, 0, 1, 56, 0, 0, 1, 4)

#define PCS10G_BR_PCS_CFG_PCS_ENA                BIT(31)
#define PCS10G_BR_PCS_CFG_PCS_ENA_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_PCS_ENA, x)
#define PCS10G_BR_PCS_CFG_PCS_ENA_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_PCS_ENA, x)

#define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA       BIT(30)
#define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
#define PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)

#define PCS10G_BR_PCS_CFG_SH_CNT_MAX             GENMASK(29, 24)
#define PCS10G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_SH_CNT_MAX, x)
#define PCS10G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_SH_CNT_MAX, x)

#define PCS10G_BR_PCS_CFG_RX_DATA_FLIP           BIT(18)
#define PCS10G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_DATA_FLIP, x)
#define PCS10G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_RX_DATA_FLIP, x)

#define PCS10G_BR_PCS_CFG_RESYNC_ENA             BIT(15)
#define PCS10G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_RESYNC_ENA, x)
#define PCS10G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_RESYNC_ENA, x)

#define PCS10G_BR_PCS_CFG_LF_GEN_DIS             BIT(14)
#define PCS10G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_LF_GEN_DIS, x)
#define PCS10G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_LF_GEN_DIS, x)

#define PCS10G_BR_PCS_CFG_RX_TEST_MODE           BIT(13)
#define PCS10G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_TEST_MODE, x)
#define PCS10G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_RX_TEST_MODE, x)

#define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE         BIT(12)
#define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_RX_SCR_DISABLE, x)
#define PCS10G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_RX_SCR_DISABLE, x)

#define PCS10G_BR_PCS_CFG_TX_DATA_FLIP           BIT(7)
#define PCS10G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_DATA_FLIP, x)
#define PCS10G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_TX_DATA_FLIP, x)

#define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA       BIT(6)
#define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
#define PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)

#define PCS10G_BR_PCS_CFG_TX_TEST_MODE           BIT(4)
#define PCS10G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_TEST_MODE, x)
#define PCS10G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_TX_TEST_MODE, x)

#define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE         BIT(3)
#define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_CFG_TX_SCR_DISABLE, x)
#define PCS10G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_CFG_TX_SCR_DISABLE, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
#define PCS10G_BR_PCS_SD_CFG(t)   __REG(TARGET_PCS10G_BR, t, 12, 0, 0, 1, 56, 4, 0, 1, 4)

#define PCS10G_BR_PCS_SD_CFG_SD_SEL              BIT(8)
#define PCS10G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_SEL, x)
#define PCS10G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_SEL, x)

#define PCS10G_BR_PCS_SD_CFG_SD_POL              BIT(4)
#define PCS10G_BR_PCS_SD_CFG_SD_POL_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_POL, x)
#define PCS10G_BR_PCS_SD_CFG_SD_POL_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_POL, x)

#define PCS10G_BR_PCS_SD_CFG_SD_ENA              BIT(0)
#define PCS10G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
	FIELD_PREP(PCS10G_BR_PCS_SD_CFG_SD_ENA, x)
#define PCS10G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
	FIELD_GET(PCS10G_BR_PCS_SD_CFG_SD_ENA, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
#define PCS25G_BR_PCS_CFG(t)      __REG(TARGET_PCS25G_BR, t, 8, 0, 0, 1, 56, 0, 0, 1, 4)

#define PCS25G_BR_PCS_CFG_PCS_ENA                BIT(31)
#define PCS25G_BR_PCS_CFG_PCS_ENA_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_PCS_ENA, x)
#define PCS25G_BR_PCS_CFG_PCS_ENA_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_PCS_ENA, x)

#define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA       BIT(30)
#define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
#define PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)

#define PCS25G_BR_PCS_CFG_SH_CNT_MAX             GENMASK(29, 24)
#define PCS25G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_SH_CNT_MAX, x)
#define PCS25G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_SH_CNT_MAX, x)

#define PCS25G_BR_PCS_CFG_RX_DATA_FLIP           BIT(18)
#define PCS25G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_DATA_FLIP, x)
#define PCS25G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_RX_DATA_FLIP, x)

#define PCS25G_BR_PCS_CFG_RESYNC_ENA             BIT(15)
#define PCS25G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_RESYNC_ENA, x)
#define PCS25G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_RESYNC_ENA, x)

#define PCS25G_BR_PCS_CFG_LF_GEN_DIS             BIT(14)
#define PCS25G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_LF_GEN_DIS, x)
#define PCS25G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_LF_GEN_DIS, x)

#define PCS25G_BR_PCS_CFG_RX_TEST_MODE           BIT(13)
#define PCS25G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_TEST_MODE, x)
#define PCS25G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_RX_TEST_MODE, x)

#define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE         BIT(12)
#define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_RX_SCR_DISABLE, x)
#define PCS25G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_RX_SCR_DISABLE, x)

#define PCS25G_BR_PCS_CFG_TX_DATA_FLIP           BIT(7)
#define PCS25G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_DATA_FLIP, x)
#define PCS25G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_TX_DATA_FLIP, x)

#define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA       BIT(6)
#define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
#define PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)

#define PCS25G_BR_PCS_CFG_TX_TEST_MODE           BIT(4)
#define PCS25G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_TEST_MODE, x)
#define PCS25G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_TX_TEST_MODE, x)

#define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE         BIT(3)
#define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_CFG_TX_SCR_DISABLE, x)
#define PCS25G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_CFG_TX_SCR_DISABLE, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
#define PCS25G_BR_PCS_SD_CFG(t)   __REG(TARGET_PCS25G_BR, t, 8, 0, 0, 1, 56, 4, 0, 1, 4)

#define PCS25G_BR_PCS_SD_CFG_SD_SEL              BIT(8)
#define PCS25G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_SEL, x)
#define PCS25G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_SEL, x)

#define PCS25G_BR_PCS_SD_CFG_SD_POL              BIT(4)
#define PCS25G_BR_PCS_SD_CFG_SD_POL_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_POL, x)
#define PCS25G_BR_PCS_SD_CFG_SD_POL_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_POL, x)

#define PCS25G_BR_PCS_SD_CFG_SD_ENA              BIT(0)
#define PCS25G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
	FIELD_PREP(PCS25G_BR_PCS_SD_CFG_SD_ENA, x)
#define PCS25G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
	FIELD_GET(PCS25G_BR_PCS_SD_CFG_SD_ENA, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_CFG */
#define PCS5G_BR_PCS_CFG(t)       __REG(TARGET_PCS5G_BR, t, 13, 0, 0, 1, 56, 0, 0, 1, 4)

#define PCS5G_BR_PCS_CFG_PCS_ENA                 BIT(31)
#define PCS5G_BR_PCS_CFG_PCS_ENA_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_PCS_ENA, x)
#define PCS5G_BR_PCS_CFG_PCS_ENA_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_PCS_ENA, x)

#define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA        BIT(30)
#define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)
#define PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_PMA_LOOPBACK_ENA, x)

#define PCS5G_BR_PCS_CFG_SH_CNT_MAX              GENMASK(29, 24)
#define PCS5G_BR_PCS_CFG_SH_CNT_MAX_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_SH_CNT_MAX, x)
#define PCS5G_BR_PCS_CFG_SH_CNT_MAX_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_SH_CNT_MAX, x)

#define PCS5G_BR_PCS_CFG_RX_DATA_FLIP            BIT(18)
#define PCS5G_BR_PCS_CFG_RX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_DATA_FLIP, x)
#define PCS5G_BR_PCS_CFG_RX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_RX_DATA_FLIP, x)

#define PCS5G_BR_PCS_CFG_RESYNC_ENA              BIT(15)
#define PCS5G_BR_PCS_CFG_RESYNC_ENA_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_RESYNC_ENA, x)
#define PCS5G_BR_PCS_CFG_RESYNC_ENA_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_RESYNC_ENA, x)

#define PCS5G_BR_PCS_CFG_LF_GEN_DIS              BIT(14)
#define PCS5G_BR_PCS_CFG_LF_GEN_DIS_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_LF_GEN_DIS, x)
#define PCS5G_BR_PCS_CFG_LF_GEN_DIS_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_LF_GEN_DIS, x)

#define PCS5G_BR_PCS_CFG_RX_TEST_MODE            BIT(13)
#define PCS5G_BR_PCS_CFG_RX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_TEST_MODE, x)
#define PCS5G_BR_PCS_CFG_RX_TEST_MODE_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_RX_TEST_MODE, x)

#define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE          BIT(12)
#define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_RX_SCR_DISABLE, x)
#define PCS5G_BR_PCS_CFG_RX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_RX_SCR_DISABLE, x)

#define PCS5G_BR_PCS_CFG_TX_DATA_FLIP            BIT(7)
#define PCS5G_BR_PCS_CFG_TX_DATA_FLIP_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_DATA_FLIP, x)
#define PCS5G_BR_PCS_CFG_TX_DATA_FLIP_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_TX_DATA_FLIP, x)

#define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA        BIT(6)
#define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)
#define PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_AN_LINK_CTRL_ENA, x)

#define PCS5G_BR_PCS_CFG_TX_TEST_MODE            BIT(4)
#define PCS5G_BR_PCS_CFG_TX_TEST_MODE_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_TEST_MODE, x)
#define PCS5G_BR_PCS_CFG_TX_TEST_MODE_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_TX_TEST_MODE, x)

#define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE          BIT(3)
#define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_CFG_TX_SCR_DISABLE, x)
#define PCS5G_BR_PCS_CFG_TX_SCR_DISABLE_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_CFG_TX_SCR_DISABLE, x)

/*      PCS_10GBASE_R:PCS_10GBR_CFG:PCS_SD_CFG */
#define PCS5G_BR_PCS_SD_CFG(t)    __REG(TARGET_PCS5G_BR, t, 13, 0, 0, 1, 56, 4, 0, 1, 4)

#define PCS5G_BR_PCS_SD_CFG_SD_SEL               BIT(8)
#define PCS5G_BR_PCS_SD_CFG_SD_SEL_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_SEL, x)
#define PCS5G_BR_PCS_SD_CFG_SD_SEL_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_SEL, x)

#define PCS5G_BR_PCS_SD_CFG_SD_POL               BIT(4)
#define PCS5G_BR_PCS_SD_CFG_SD_POL_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_POL, x)
#define PCS5G_BR_PCS_SD_CFG_SD_POL_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_POL, x)

#define PCS5G_BR_PCS_SD_CFG_SD_ENA               BIT(0)
#define PCS5G_BR_PCS_SD_CFG_SD_ENA_SET(x)\
	FIELD_PREP(PCS5G_BR_PCS_SD_CFG_SD_ENA, x)
#define PCS5G_BR_PCS_SD_CFG_SD_ENA_GET(x)\
	FIELD_GET(PCS5G_BR_PCS_SD_CFG_SD_ENA, x)

/*      PORT_CONF:HW_CFG:DEV5G_MODES */
#define PORT_CONF_DEV5G_MODES     __REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 0, 0, 1, 4)

#define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE      BIT(0)
#define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D0_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE      BIT(1)
#define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D1_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE      BIT(2)
#define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D2_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE      BIT(3)
#define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D3_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE      BIT(4)
#define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D4_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE      BIT(5)
#define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D5_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE      BIT(6)
#define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D6_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE      BIT(7)
#define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D7_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE      BIT(8)
#define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D8_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE      BIT(9)
#define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D9_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE     BIT(10)
#define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D10_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE     BIT(11)
#define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D11_MODE, x)

#define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE     BIT(12)
#define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE, x)
#define PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV5G_MODES_DEV5G_D64_MODE, x)

/*      PORT_CONF:HW_CFG:DEV10G_MODES */
#define PORT_CONF_DEV10G_MODES    __REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 4, 0, 1, 4)

#define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE   BIT(0)
#define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D12_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE   BIT(1)
#define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D13_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE   BIT(2)
#define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D14_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE   BIT(3)
#define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D15_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE   BIT(4)
#define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D48_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE   BIT(5)
#define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D49_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE   BIT(6)
#define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D50_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE   BIT(7)
#define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D51_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE   BIT(8)
#define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D52_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE   BIT(9)
#define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D53_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE   BIT(10)
#define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D54_MODE, x)

#define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE   BIT(11)
#define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE, x)
#define PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV10G_MODES_DEV10G_D55_MODE, x)

/*      PORT_CONF:HW_CFG:DEV25G_MODES */
#define PORT_CONF_DEV25G_MODES    __REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 8, 0, 1, 4)

#define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE   BIT(0)
#define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D56_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE   BIT(1)
#define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D57_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE   BIT(2)
#define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D58_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE   BIT(3)
#define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D59_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE   BIT(4)
#define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D60_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE   BIT(5)
#define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D61_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE   BIT(6)
#define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D62_MODE, x)

#define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE   BIT(7)
#define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE, x)
#define PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE_GET(x)\
	FIELD_GET(PORT_CONF_DEV25G_MODES_DEV25G_D63_MODE, x)

/*      PORT_CONF:HW_CFG:QSGMII_ENA */
#define PORT_CONF_QSGMII_ENA      __REG(TARGET_PORT_CONF, 0, 1, 0, 0, 1, 24, 12, 0, 1, 4)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0        BIT(0)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_0, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_0_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_0, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1        BIT(1)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_1, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_1_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_1, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2        BIT(2)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_2, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_2_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_2, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3        BIT(3)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_3, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_3_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_3, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4        BIT(4)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_4, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_4_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_4, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5        BIT(5)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_5, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_5_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_5, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6        BIT(6)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_6, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_6_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_6, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7        BIT(7)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_7, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_7_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_7, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8        BIT(8)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_8, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_8_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_8, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9        BIT(9)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_9, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_9_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_9, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10       BIT(10)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_10, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_10_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_10, x)

#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11       BIT(11)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11_SET(x)\
	FIELD_PREP(PORT_CONF_QSGMII_ENA_QSGMII_ENA_11, x)
#define PORT_CONF_QSGMII_ENA_QSGMII_ENA_11_GET(x)\
	FIELD_GET(PORT_CONF_QSGMII_ENA_QSGMII_ENA_11, x)

/*      PORT_CONF:USGMII_CFG_STAT:USGMII_CFG */
#define PORT_CONF_USGMII_CFG(g)   __REG(TARGET_PORT_CONF, 0, 1, 72, g, 6, 8, 0, 0, 1, 4)

#define PORT_CONF_USGMII_CFG_BYPASS_SCRAM        BIT(9)
#define PORT_CONF_USGMII_CFG_BYPASS_SCRAM_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_BYPASS_SCRAM, x)
#define PORT_CONF_USGMII_CFG_BYPASS_SCRAM_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_BYPASS_SCRAM, x)

#define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM      BIT(8)
#define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_BYPASS_DESCRAM, x)
#define PORT_CONF_USGMII_CFG_BYPASS_DESCRAM_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_BYPASS_DESCRAM, x)

#define PORT_CONF_USGMII_CFG_FLIP_LANES          BIT(7)
#define PORT_CONF_USGMII_CFG_FLIP_LANES_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_FLIP_LANES, x)
#define PORT_CONF_USGMII_CFG_FLIP_LANES_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_FLIP_LANES, x)

#define PORT_CONF_USGMII_CFG_SHYST_DIS           BIT(6)
#define PORT_CONF_USGMII_CFG_SHYST_DIS_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_SHYST_DIS, x)
#define PORT_CONF_USGMII_CFG_SHYST_DIS_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_SHYST_DIS, x)

#define PORT_CONF_USGMII_CFG_E_DET_ENA           BIT(5)
#define PORT_CONF_USGMII_CFG_E_DET_ENA_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_E_DET_ENA, x)
#define PORT_CONF_USGMII_CFG_E_DET_ENA_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_E_DET_ENA, x)

#define PORT_CONF_USGMII_CFG_USE_I1_ENA          BIT(4)
#define PORT_CONF_USGMII_CFG_USE_I1_ENA_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_USE_I1_ENA, x)
#define PORT_CONF_USGMII_CFG_USE_I1_ENA_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_USE_I1_ENA, x)

#define PORT_CONF_USGMII_CFG_QUAD_MODE           BIT(1)
#define PORT_CONF_USGMII_CFG_QUAD_MODE_SET(x)\
	FIELD_PREP(PORT_CONF_USGMII_CFG_QUAD_MODE, x)
#define PORT_CONF_USGMII_CFG_QUAD_MODE_GET(x)\
	FIELD_GET(PORT_CONF_USGMII_CFG_QUAD_MODE, x)

/*      DEVCPU_PTP:PTP_CFG:PTP_PIN_INTR */
#define PTP_PTP_PIN_INTR          __REG(TARGET_PTP, 0, 1, 320, 0, 1, 16, 0, 0, 1, 4)

#define PTP_PTP_PIN_INTR_INTR_PTP                GENMASK(4, 0)
#define PTP_PTP_PIN_INTR_INTR_PTP_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_INTR_INTR_PTP, x)
#define PTP_PTP_PIN_INTR_INTR_PTP_GET(x)\
	FIELD_GET(PTP_PTP_PIN_INTR_INTR_PTP, x)

/*      DEVCPU_PTP:PTP_CFG:PTP_PIN_INTR_ENA */
#define PTP_PTP_PIN_INTR_ENA      __REG(TARGET_PTP, 0, 1, 320, 0, 1, 16, 4, 0, 1, 4)

#define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA        GENMASK(4, 0)
#define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA, x)
#define PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA_GET(x)\
	FIELD_GET(PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA, x)

/*      DEVCPU_PTP:PTP_CFG:PTP_INTR_IDENT */
#define PTP_PTP_INTR_IDENT        __REG(TARGET_PTP, 0, 1, 320, 0, 1, 16, 8, 0, 1, 4)

#define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT        GENMASK(4, 0)
#define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT_SET(x)\
	FIELD_PREP(PTP_PTP_INTR_IDENT_INTR_PTP_IDENT, x)
#define PTP_PTP_INTR_IDENT_INTR_PTP_IDENT_GET(x)\
	FIELD_GET(PTP_PTP_INTR_IDENT_INTR_PTP_IDENT, x)

/*      DEVCPU_PTP:PTP_CFG:PTP_DOM_CFG */
#define PTP_PTP_DOM_CFG           __REG(TARGET_PTP, 0, 1, 320, 0, 1, 16, 12, 0, 1, 4)

#define PTP_PTP_DOM_CFG_PTP_ENA                  GENMASK(11, 9)
#define PTP_PTP_DOM_CFG_PTP_ENA_SET(x)\
	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_ENA, x)
#define PTP_PTP_DOM_CFG_PTP_ENA_GET(x)\
	FIELD_GET(PTP_PTP_DOM_CFG_PTP_ENA, x)

#define PTP_PTP_DOM_CFG_PTP_HOLD                 GENMASK(8, 6)
#define PTP_PTP_DOM_CFG_PTP_HOLD_SET(x)\
	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_HOLD, x)
#define PTP_PTP_DOM_CFG_PTP_HOLD_GET(x)\
	FIELD_GET(PTP_PTP_DOM_CFG_PTP_HOLD, x)

#define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE           GENMASK(5, 3)
#define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE_SET(x)\
	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_TOD_FREEZE, x)
#define PTP_PTP_DOM_CFG_PTP_TOD_FREEZE_GET(x)\
	FIELD_GET(PTP_PTP_DOM_CFG_PTP_TOD_FREEZE, x)

#define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS           GENMASK(2, 0)
#define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS_SET(x)\
	FIELD_PREP(PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS, x)
#define PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS_GET(x)\
	FIELD_GET(PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS, x)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:CLK_PER_CFG */
#define PTP_CLK_PER_CFG(g, r)     __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 0, r, 2, 4)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_NSEC */
#define PTP_PTP_CUR_NSEC(g)       __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 8, 0, 1, 4)

#define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC            GENMASK(29, 0)
#define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC_SET(x)\
	FIELD_PREP(PTP_PTP_CUR_NSEC_PTP_CUR_NSEC, x)
#define PTP_PTP_CUR_NSEC_PTP_CUR_NSEC_GET(x)\
	FIELD_GET(PTP_PTP_CUR_NSEC_PTP_CUR_NSEC, x)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_NSEC_FRAC */
#define PTP_PTP_CUR_NSEC_FRAC(g)  __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 12, 0, 1, 4)

#define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC  GENMASK(7, 0)
#define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC_SET(x)\
	FIELD_PREP(PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC, x)
#define PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC_GET(x)\
	FIELD_GET(PTP_PTP_CUR_NSEC_FRAC_PTP_CUR_NSEC_FRAC, x)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_SEC_LSB */
#define PTP_PTP_CUR_SEC_LSB(g)    __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 16, 0, 1, 4)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:PTP_CUR_SEC_MSB */
#define PTP_PTP_CUR_SEC_MSB(g)    __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 20, 0, 1, 4)

#define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB      GENMASK(15, 0)
#define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB_SET(x)\
	FIELD_PREP(PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB, x)
#define PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB_GET(x)\
	FIELD_GET(PTP_PTP_CUR_SEC_MSB_PTP_CUR_SEC_MSB, x)

/*      DEVCPU_PTP:PTP_TOD_DOMAINS:NTP_CUR_NSEC */
#define PTP_NTP_CUR_NSEC(g)       __REG(TARGET_PTP, 0, 1, 336, g, 3, 28, 24, 0, 1, 4)

/*      DEVCPU_PTP:PTP_PINS:PTP_PIN_CFG */
#define PTP_PTP_PIN_CFG(g)        __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 0, 0, 1, 4)

#define PTP_PTP_PIN_CFG_PTP_PIN_ACTION           GENMASK(28, 26)
#define PTP_PTP_PIN_CFG_PTP_PIN_ACTION_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_ACTION, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_ACTION_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_ACTION, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_SYNC             GENMASK(25, 24)
#define PTP_PTP_PIN_CFG_PTP_PIN_SYNC_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_SYNC, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_SYNC_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_SYNC, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL          BIT(23)
#define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_INV_POL, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_INV_POL_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_INV_POL, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_SELECT           GENMASK(22, 21)
#define PTP_PTP_PIN_CFG_PTP_PIN_SELECT_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_SELECT, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_SELECT_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_SELECT, x)

#define PTP_PTP_PIN_CFG_PTP_CLK_SELECT           GENMASK(20, 18)
#define PTP_PTP_PIN_CFG_PTP_CLK_SELECT_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_CLK_SELECT, x)
#define PTP_PTP_PIN_CFG_PTP_CLK_SELECT_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_CLK_SELECT, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_DOM              GENMASK(17, 16)
#define PTP_PTP_PIN_CFG_PTP_PIN_DOM_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_DOM, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_DOM_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_DOM, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_OPT              GENMASK(15, 14)
#define PTP_PTP_PIN_CFG_PTP_PIN_OPT_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_OPT, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_OPT_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_OPT, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK     BIT(13)
#define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_EMBEDDED_CLK, x)

#define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS         GENMASK(12, 0)
#define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS_SET(x)\
	FIELD_PREP(PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS, x)
#define PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS_GET(x)\
	FIELD_GET(PTP_PTP_PIN_CFG_PTP_PIN_OUTP_OFS, x)

/*      DEVCPU_PTP:PTP_PINS:PTP_TOD_SEC_MSB */
#define PTP_PTP_TOD_SEC_MSB(g)    __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 4, 0, 1, 4)

#define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB      GENMASK(15, 0)
#define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB_SET(x)\
	FIELD_PREP(PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB, x)
#define PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB_GET(x)\
	FIELD_GET(PTP_PTP_TOD_SEC_MSB_PTP_TOD_SEC_MSB, x)

/*      DEVCPU_PTP:PTP_PINS:PTP_TOD_SEC_LSB */
#define PTP_PTP_TOD_SEC_LSB(g)    __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 8, 0, 1, 4)

/*      DEVCPU_PTP:PTP_PINS:PTP_TOD_NSEC */
#define PTP_PTP_TOD_NSEC(g)       __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 12, 0, 1, 4)

#define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC            GENMASK(29, 0)
#define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC_SET(x)\
	FIELD_PREP(PTP_PTP_TOD_NSEC_PTP_TOD_NSEC, x)
#define PTP_PTP_TOD_NSEC_PTP_TOD_NSEC_GET(x)\
	FIELD_GET(PTP_PTP_TOD_NSEC_PTP_TOD_NSEC, x)

/*      DEVCPU_PTP:PTP_PINS:PTP_TOD_NSEC_FRAC */
#define PTP_PTP_TOD_NSEC_FRAC(g)  __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 16, 0, 1, 4)

#define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC  GENMASK(7, 0)
#define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC_SET(x)\
	FIELD_PREP(PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC, x)
#define PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC_GET(x)\
	FIELD_GET(PTP_PTP_TOD_NSEC_FRAC_PTP_TOD_NSEC_FRAC, x)

/*      DEVCPU_PTP:PTP_PINS:NTP_NSEC */
#define PTP_NTP_NSEC(g)           __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 20, 0, 1, 4)

/*      DEVCPU_PTP:PTP_PINS:PIN_WF_HIGH_PERIOD */
#define PTP_PIN_WF_HIGH_PERIOD(g) __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 24, 0, 1, 4)

#define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH           GENMASK(29, 0)
#define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH_SET(x)\
	FIELD_PREP(PTP_PIN_WF_HIGH_PERIOD_PIN_WFH, x)
#define PTP_PIN_WF_HIGH_PERIOD_PIN_WFH_GET(x)\
	FIELD_GET(PTP_PIN_WF_HIGH_PERIOD_PIN_WFH, x)

/*      DEVCPU_PTP:PTP_PINS:PIN_WF_LOW_PERIOD */
#define PTP_PIN_WF_LOW_PERIOD(g)  __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 28, 0, 1, 4)

#define PTP_PIN_WF_LOW_PERIOD_PIN_WFL            GENMASK(29, 0)
#define PTP_PIN_WF_LOW_PERIOD_PIN_WFL_SET(x)\
	FIELD_PREP(PTP_PIN_WF_LOW_PERIOD_PIN_WFL, x)
#define PTP_PIN_WF_LOW_PERIOD_PIN_WFL_GET(x)\
	FIELD_GET(PTP_PIN_WF_LOW_PERIOD_PIN_WFL, x)

/*      DEVCPU_PTP:PTP_PINS:PIN_IOBOUNCH_DELAY */
#define PTP_PIN_IOBOUNCH_DELAY(g) __REG(TARGET_PTP, 0, 1, 0, g, 5, 64, 32, 0, 1, 4)

#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL  GENMASK(18, 3)
#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL_SET(x)\
	FIELD_PREP(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL, x)
#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL_GET(x)\
	FIELD_GET(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_VAL, x)

#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG  GENMASK(2, 0)
#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG_SET(x)\
	FIELD_PREP(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG, x)
#define PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG_GET(x)\
	FIELD_GET(PTP_PIN_IOBOUNCH_DELAY_PIN_IOBOUNCH_CFG, x)

/*      DEVCPU_PTP:PHASE_DETECTOR_CTRL:PHAD_CTRL */
#define PTP_PHAD_CTRL(g)          __REG(TARGET_PTP, 0, 1, 420, g, 5, 8, 0, 0, 1, 4)

#define PTP_PHAD_CTRL_PHAD_ENA                   BIT(7)
#define PTP_PHAD_CTRL_PHAD_ENA_SET(x)\
	FIELD_PREP(PTP_PHAD_CTRL_PHAD_ENA, x)
#define PTP_PHAD_CTRL_PHAD_ENA_GET(x)\
	FIELD_GET(PTP_PHAD_CTRL_PHAD_ENA, x)

#define PTP_PHAD_CTRL_PHAD_FAILED                BIT(6)
#define PTP_PHAD_CTRL_PHAD_FAILED_SET(x)\
	FIELD_PREP(PTP_PHAD_CTRL_PHAD_FAILED, x)
#define PTP_PHAD_CTRL_PHAD_FAILED_GET(x)\
	FIELD_GET(PTP_PHAD_CTRL_PHAD_FAILED, x)

#define PTP_PHAD_CTRL_REDUCED_RES                GENMASK(5, 3)
#define PTP_PHAD_CTRL_REDUCED_RES_SET(x)\
	FIELD_PREP(PTP_PHAD_CTRL_REDUCED_RES, x)
#define PTP_PHAD_CTRL_REDUCED_RES_GET(x)\
	FIELD_GET(PTP_PHAD_CTRL_REDUCED_RES, x)

#define PTP_PHAD_CTRL_LOCK_ACC                   GENMASK(2, 0)
#define PTP_PHAD_CTRL_LOCK_ACC_SET(x)\
	FIELD_PREP(PTP_PHAD_CTRL_LOCK_ACC, x)
#define PTP_PHAD_CTRL_LOCK_ACC_GET(x)\
	FIELD_GET(PTP_PHAD_CTRL_LOCK_ACC, x)

/*      DEVCPU_PTP:PHASE_DETECTOR_CTRL:PHAD_CYC_STAT */
#define PTP_PHAD_CYC_STAT(g)      __REG(TARGET_PTP, 0, 1, 420, g, 5, 8, 4, 0, 1, 4)

/*      QFWD:SYSTEM:SWITCH_PORT_MODE */
#define QFWD_SWITCH_PORT_MODE(r)  __REG(TARGET_QFWD, 0, 1, 0, 0, 1, 340, 0, r, 70, 4)

#define QFWD_SWITCH_PORT_MODE_PORT_ENA           BIT(19)
#define QFWD_SWITCH_PORT_MODE_PORT_ENA_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_PORT_ENA, x)
#define QFWD_SWITCH_PORT_MODE_PORT_ENA_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_PORT_ENA, x)

#define QFWD_SWITCH_PORT_MODE_FWD_URGENCY        GENMASK(18, 10)
#define QFWD_SWITCH_PORT_MODE_FWD_URGENCY_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_FWD_URGENCY, x)
#define QFWD_SWITCH_PORT_MODE_FWD_URGENCY_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_FWD_URGENCY, x)

#define QFWD_SWITCH_PORT_MODE_YEL_RSRVD          GENMASK(9, 6)
#define QFWD_SWITCH_PORT_MODE_YEL_RSRVD_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_YEL_RSRVD, x)
#define QFWD_SWITCH_PORT_MODE_YEL_RSRVD_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_YEL_RSRVD, x)

#define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE  BIT(5)
#define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE, x)
#define QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_INGRESS_DROP_MODE, x)

#define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING     BIT(4)
#define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING, x)
#define QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_IGR_NO_SHARING, x)

#define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING     BIT(3)
#define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING, x)
#define QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGR_NO_SHARING, x)

#define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE   BIT(2)
#define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE, x)
#define QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGRESS_DROP_MODE, x)

#define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS    BIT(1)
#define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS, x)
#define QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_EGRESS_RSRV_DIS, x)

#define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE      BIT(0)
#define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE_SET(x)\
	FIELD_PREP(QFWD_SWITCH_PORT_MODE_LEARNALL_MORE, x)
#define QFWD_SWITCH_PORT_MODE_LEARNALL_MORE_GET(x)\
	FIELD_GET(QFWD_SWITCH_PORT_MODE_LEARNALL_MORE, x)

/*      QRES:RES_CTRL:RES_CFG */
#define QRES_RES_CFG(g)           __REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 0, 0, 1, 4)

#define QRES_RES_CFG_WM_HIGH                     GENMASK(11, 0)
#define QRES_RES_CFG_WM_HIGH_SET(x)\
	FIELD_PREP(QRES_RES_CFG_WM_HIGH, x)
#define QRES_RES_CFG_WM_HIGH_GET(x)\
	FIELD_GET(QRES_RES_CFG_WM_HIGH, x)

/*      QRES:RES_CTRL:RES_STAT */
#define QRES_RES_STAT(g)          __REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 4, 0, 1, 4)

#define QRES_RES_STAT_MAXUSE                     GENMASK(20, 0)
#define QRES_RES_STAT_MAXUSE_SET(x)\
	FIELD_PREP(QRES_RES_STAT_MAXUSE, x)
#define QRES_RES_STAT_MAXUSE_GET(x)\
	FIELD_GET(QRES_RES_STAT_MAXUSE, x)

/*      QRES:RES_CTRL:RES_STAT_CUR */
#define QRES_RES_STAT_CUR(g)      __REG(TARGET_QRES, 0, 1, 0, g, 5120, 16, 8, 0, 1, 4)

#define QRES_RES_STAT_CUR_INUSE                  GENMASK(20, 0)
#define QRES_RES_STAT_CUR_INUSE_SET(x)\
	FIELD_PREP(QRES_RES_STAT_CUR_INUSE, x)
#define QRES_RES_STAT_CUR_INUSE_GET(x)\
	FIELD_GET(QRES_RES_STAT_CUR_INUSE, x)

/*      DEVCPU_QS:XTR:XTR_GRP_CFG */
#define QS_XTR_GRP_CFG(r)         __REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 0, r, 2, 4)

#define QS_XTR_GRP_CFG_MODE                      GENMASK(3, 2)
#define QS_XTR_GRP_CFG_MODE_SET(x)\
	FIELD_PREP(QS_XTR_GRP_CFG_MODE, x)
#define QS_XTR_GRP_CFG_MODE_GET(x)\
	FIELD_GET(QS_XTR_GRP_CFG_MODE, x)

#define QS_XTR_GRP_CFG_STATUS_WORD_POS           BIT(1)
#define QS_XTR_GRP_CFG_STATUS_WORD_POS_SET(x)\
	FIELD_PREP(QS_XTR_GRP_CFG_STATUS_WORD_POS, x)
#define QS_XTR_GRP_CFG_STATUS_WORD_POS_GET(x)\
	FIELD_GET(QS_XTR_GRP_CFG_STATUS_WORD_POS, x)

#define QS_XTR_GRP_CFG_BYTE_SWAP                 BIT(0)
#define QS_XTR_GRP_CFG_BYTE_SWAP_SET(x)\
	FIELD_PREP(QS_XTR_GRP_CFG_BYTE_SWAP, x)
#define QS_XTR_GRP_CFG_BYTE_SWAP_GET(x)\
	FIELD_GET(QS_XTR_GRP_CFG_BYTE_SWAP, x)

/*      DEVCPU_QS:XTR:XTR_RD */
#define QS_XTR_RD(r)              __REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 8, r, 2, 4)

/*      DEVCPU_QS:XTR:XTR_FLUSH */
#define QS_XTR_FLUSH              __REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 24, 0, 1, 4)

#define QS_XTR_FLUSH_FLUSH                       GENMASK(1, 0)
#define QS_XTR_FLUSH_FLUSH_SET(x)\
	FIELD_PREP(QS_XTR_FLUSH_FLUSH, x)
#define QS_XTR_FLUSH_FLUSH_GET(x)\
	FIELD_GET(QS_XTR_FLUSH_FLUSH, x)

/*      DEVCPU_QS:XTR:XTR_DATA_PRESENT */
#define QS_XTR_DATA_PRESENT       __REG(TARGET_QS, 0, 1, 0, 0, 1, 36, 28, 0, 1, 4)

#define QS_XTR_DATA_PRESENT_DATA_PRESENT         GENMASK(1, 0)
#define QS_XTR_DATA_PRESENT_DATA_PRESENT_SET(x)\
	FIELD_PREP(QS_XTR_DATA_PRESENT_DATA_PRESENT, x)
#define QS_XTR_DATA_PRESENT_DATA_PRESENT_GET(x)\
	FIELD_GET(QS_XTR_DATA_PRESENT_DATA_PRESENT, x)

/*      DEVCPU_QS:INJ:INJ_GRP_CFG */
#define QS_INJ_GRP_CFG(r)         __REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 0, r, 2, 4)

#define QS_INJ_GRP_CFG_MODE                      GENMASK(3, 2)
#define QS_INJ_GRP_CFG_MODE_SET(x)\
	FIELD_PREP(QS_INJ_GRP_CFG_MODE, x)
#define QS_INJ_GRP_CFG_MODE_GET(x)\
	FIELD_GET(QS_INJ_GRP_CFG_MODE, x)

#define QS_INJ_GRP_CFG_BYTE_SWAP                 BIT(0)
#define QS_INJ_GRP_CFG_BYTE_SWAP_SET(x)\
	FIELD_PREP(QS_INJ_GRP_CFG_BYTE_SWAP, x)
#define QS_INJ_GRP_CFG_BYTE_SWAP_GET(x)\
	FIELD_GET(QS_INJ_GRP_CFG_BYTE_SWAP, x)

/*      DEVCPU_QS:INJ:INJ_WR */
#define QS_INJ_WR(r)              __REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 8, r, 2, 4)

/*      DEVCPU_QS:INJ:INJ_CTRL */
#define QS_INJ_CTRL(r)            __REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 16, r, 2, 4)

#define QS_INJ_CTRL_GAP_SIZE                     GENMASK(24, 21)
#define QS_INJ_CTRL_GAP_SIZE_SET(x)\
	FIELD_PREP(QS_INJ_CTRL_GAP_SIZE, x)
#define QS_INJ_CTRL_GAP_SIZE_GET(x)\
	FIELD_GET(QS_INJ_CTRL_GAP_SIZE, x)

#define QS_INJ_CTRL_ABORT                        BIT(20)
#define QS_INJ_CTRL_ABORT_SET(x)\
	FIELD_PREP(QS_INJ_CTRL_ABORT, x)
#define QS_INJ_CTRL_ABORT_GET(x)\
	FIELD_GET(QS_INJ_CTRL_ABORT, x)

#define QS_INJ_CTRL_EOF                          BIT(19)
#define QS_INJ_CTRL_EOF_SET(x)\
	FIELD_PREP(QS_INJ_CTRL_EOF, x)
#define QS_INJ_CTRL_EOF_GET(x)\
	FIELD_GET(QS_INJ_CTRL_EOF, x)

#define QS_INJ_CTRL_SOF                          BIT(18)
#define QS_INJ_CTRL_SOF_SET(x)\
	FIELD_PREP(QS_INJ_CTRL_SOF, x)
#define QS_INJ_CTRL_SOF_GET(x)\
	FIELD_GET(QS_INJ_CTRL_SOF, x)

#define QS_INJ_CTRL_VLD_BYTES                    GENMASK(17, 16)
#define QS_INJ_CTRL_VLD_BYTES_SET(x)\
	FIELD_PREP(QS_INJ_CTRL_VLD_BYTES, x)
#define QS_INJ_CTRL_VLD_BYTES_GET(x)\
	FIELD_GET(QS_INJ_CTRL_VLD_BYTES, x)

/*      DEVCPU_QS:INJ:INJ_STATUS */
#define QS_INJ_STATUS             __REG(TARGET_QS, 0, 1, 36, 0, 1, 40, 24, 0, 1, 4)

#define QS_INJ_STATUS_WMARK_REACHED              GENMASK(5, 4)
#define QS_INJ_STATUS_WMARK_REACHED_SET(x)\
	FIELD_PREP(QS_INJ_STATUS_WMARK_REACHED, x)
#define QS_INJ_STATUS_WMARK_REACHED_GET(x)\
	FIELD_GET(QS_INJ_STATUS_WMARK_REACHED, x)

#define QS_INJ_STATUS_FIFO_RDY                   GENMASK(3, 2)
#define QS_INJ_STATUS_FIFO_RDY_SET(x)\
	FIELD_PREP(QS_INJ_STATUS_FIFO_RDY, x)
#define QS_INJ_STATUS_FIFO_RDY_GET(x)\
	FIELD_GET(QS_INJ_STATUS_FIFO_RDY, x)

#define QS_INJ_STATUS_INJ_IN_PROGRESS            GENMASK(1, 0)
#define QS_INJ_STATUS_INJ_IN_PROGRESS_SET(x)\
	FIELD_PREP(QS_INJ_STATUS_INJ_IN_PROGRESS, x)
#define QS_INJ_STATUS_INJ_IN_PROGRESS_GET(x)\
	FIELD_GET(QS_INJ_STATUS_INJ_IN_PROGRESS, x)

/*      QSYS:PAUSE_CFG:PAUSE_CFG */
#define QSYS_PAUSE_CFG(r)         __REG(TARGET_QSYS, 0, 1, 544, 0, 1, 1128, 0, r, 70, 4)

#define QSYS_PAUSE_CFG_PAUSE_START               GENMASK(25, 14)
#define QSYS_PAUSE_CFG_PAUSE_START_SET(x)\
	FIELD_PREP(QSYS_PAUSE_CFG_PAUSE_START, x)
#define QSYS_PAUSE_CFG_PAUSE_START_GET(x)\
	FIELD_GET(QSYS_PAUSE_CFG_PAUSE_START, x)

#define QSYS_PAUSE_CFG_PAUSE_STOP                GENMASK(13, 2)
#define QSYS_PAUSE_CFG_PAUSE_STOP_SET(x)\
	FIELD_PREP(QSYS_PAUSE_CFG_PAUSE_STOP, x)
#define QSYS_PAUSE_CFG_PAUSE_STOP_GET(x)\
	FIELD_GET(QSYS_PAUSE_CFG_PAUSE_STOP, x)

#define QSYS_PAUSE_CFG_PAUSE_ENA                 BIT(1)
#define QSYS_PAUSE_CFG_PAUSE_ENA_SET(x)\
	FIELD_PREP(QSYS_PAUSE_CFG_PAUSE_ENA, x)
#define QSYS_PAUSE_CFG_PAUSE_ENA_GET(x)\
	FIELD_GET(QSYS_PAUSE_CFG_PAUSE_ENA, x)

#define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA   BIT(0)
#define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA_SET(x)\
	FIELD_PREP(QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA, x)
#define QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA_GET(x)\
	FIELD_GET(QSYS_PAUSE_CFG_AGGRESSIVE_TAILDROP_ENA, x)

/*      QSYS:PAUSE_CFG:ATOP */
#define QSYS_ATOP(r)              __REG(TARGET_QSYS, 0, 1, 544, 0, 1, 1128, 284, r, 70, 4)

#define QSYS_ATOP_ATOP                           GENMASK(11, 0)
#define QSYS_ATOP_ATOP_SET(x)\
	FIELD_PREP(QSYS_ATOP_ATOP, x)
#define QSYS_ATOP_ATOP_GET(x)\
	FIELD_GET(QSYS_ATOP_ATOP, x)

/*      QSYS:PAUSE_CFG:FWD_PRESSURE */
#define QSYS_FWD_PRESSURE(r)      __REG(TARGET_QSYS, 0, 1, 544, 0, 1, 1128, 564, r, 70, 4)

#define QSYS_FWD_PRESSURE_FWD_PRESSURE           GENMASK(11, 1)
#define QSYS_FWD_PRESSURE_FWD_PRESSURE_SET(x)\
	FIELD_PREP(QSYS_FWD_PRESSURE_FWD_PRESSURE, x)
#define QSYS_FWD_PRESSURE_FWD_PRESSURE_GET(x)\
	FIELD_GET(QSYS_FWD_PRESSURE_FWD_PRESSURE, x)

#define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS       BIT(0)
#define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS_SET(x)\
	FIELD_PREP(QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS, x)
#define QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS_GET(x)\
	FIELD_GET(QSYS_FWD_PRESSURE_FWD_PRESSURE_DIS, x)

/*      QSYS:PAUSE_CFG:ATOP_TOT_CFG */
#define QSYS_ATOP_TOT_CFG         __REG(TARGET_QSYS, 0, 1, 544, 0, 1, 1128, 844, 0, 1, 4)

#define QSYS_ATOP_TOT_CFG_ATOP_TOT               GENMASK(11, 0)
#define QSYS_ATOP_TOT_CFG_ATOP_TOT_SET(x)\
	FIELD_PREP(QSYS_ATOP_TOT_CFG_ATOP_TOT, x)
#define QSYS_ATOP_TOT_CFG_ATOP_TOT_GET(x)\
	FIELD_GET(QSYS_ATOP_TOT_CFG_ATOP_TOT, x)

/*      QSYS:CALCFG:CAL_AUTO */
#define QSYS_CAL_AUTO(r)          __REG(TARGET_QSYS, 0, 1, 2304, 0, 1, 40, 0, r, 7, 4)

#define QSYS_CAL_AUTO_CAL_AUTO                   GENMASK(29, 0)
#define QSYS_CAL_AUTO_CAL_AUTO_SET(x)\
	FIELD_PREP(QSYS_CAL_AUTO_CAL_AUTO, x)
#define QSYS_CAL_AUTO_CAL_AUTO_GET(x)\
	FIELD_GET(QSYS_CAL_AUTO_CAL_AUTO, x)

/*      QSYS:CALCFG:CAL_CTRL */
#define QSYS_CAL_CTRL             __REG(TARGET_QSYS, 0, 1, 2304, 0, 1, 40, 36, 0, 1, 4)

#define QSYS_CAL_CTRL_CAL_MODE                   GENMASK(14, 11)
#define QSYS_CAL_CTRL_CAL_MODE_SET(x)\
	FIELD_PREP(QSYS_CAL_CTRL_CAL_MODE, x)
#define QSYS_CAL_CTRL_CAL_MODE_GET(x)\
	FIELD_GET(QSYS_CAL_CTRL_CAL_MODE, x)

#define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE        GENMASK(10, 1)
#define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE_SET(x)\
	FIELD_PREP(QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE, x)
#define QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE_GET(x)\
	FIELD_GET(QSYS_CAL_CTRL_CAL_AUTO_GRANT_RATE, x)

#define QSYS_CAL_CTRL_CAL_AUTO_ERROR             BIT(0)
#define QSYS_CAL_CTRL_CAL_AUTO_ERROR_SET(x)\
	FIELD_PREP(QSYS_CAL_CTRL_CAL_AUTO_ERROR, x)
#define QSYS_CAL_CTRL_CAL_AUTO_ERROR_GET(x)\
	FIELD_GET(QSYS_CAL_CTRL_CAL_AUTO_ERROR, x)

/*      QSYS:RAM_CTRL:RAM_INIT */
#define QSYS_RAM_INIT             __REG(TARGET_QSYS, 0, 1, 2344, 0, 1, 4, 0, 0, 1, 4)

#define QSYS_RAM_INIT_RAM_INIT                   BIT(1)
#define QSYS_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(QSYS_RAM_INIT_RAM_INIT, x)
#define QSYS_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(QSYS_RAM_INIT_RAM_INIT, x)

#define QSYS_RAM_INIT_RAM_CFG_HOOK               BIT(0)
#define QSYS_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(QSYS_RAM_INIT_RAM_CFG_HOOK, x)
#define QSYS_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(QSYS_RAM_INIT_RAM_CFG_HOOK, x)

/*      REW:COMMON:OWN_UPSID */
#define REW_OWN_UPSID(r)          __REG(TARGET_REW, 0, 1, 387264, 0, 1, 1232, 0, r, 3, 4)

#define REW_OWN_UPSID_OWN_UPSID                  GENMASK(4, 0)
#define REW_OWN_UPSID_OWN_UPSID_SET(x)\
	FIELD_PREP(REW_OWN_UPSID_OWN_UPSID, x)
#define REW_OWN_UPSID_OWN_UPSID_GET(x)\
	FIELD_GET(REW_OWN_UPSID_OWN_UPSID, x)

/*      REW:PORT:PORT_VLAN_CFG */
#define REW_PORT_VLAN_CFG(g)      __REG(TARGET_REW, 0, 1, 360448, g, 70, 256, 0, 0, 1, 4)

#define REW_PORT_VLAN_CFG_PORT_PCP               GENMASK(15, 13)
#define REW_PORT_VLAN_CFG_PORT_PCP_SET(x)\
	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_PCP, x)
#define REW_PORT_VLAN_CFG_PORT_PCP_GET(x)\
	FIELD_GET(REW_PORT_VLAN_CFG_PORT_PCP, x)

#define REW_PORT_VLAN_CFG_PORT_DEI               BIT(12)
#define REW_PORT_VLAN_CFG_PORT_DEI_SET(x)\
	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_DEI, x)
#define REW_PORT_VLAN_CFG_PORT_DEI_GET(x)\
	FIELD_GET(REW_PORT_VLAN_CFG_PORT_DEI, x)

#define REW_PORT_VLAN_CFG_PORT_VID               GENMASK(11, 0)
#define REW_PORT_VLAN_CFG_PORT_VID_SET(x)\
	FIELD_PREP(REW_PORT_VLAN_CFG_PORT_VID, x)
#define REW_PORT_VLAN_CFG_PORT_VID_GET(x)\
	FIELD_GET(REW_PORT_VLAN_CFG_PORT_VID, x)

/*      REW:PORT:TAG_CTRL */
#define REW_TAG_CTRL(g)           __REG(TARGET_REW, 0, 1, 360448, g, 70, 256, 132, 0, 1, 4)

#define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED     BIT(13)
#define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED, x)
#define REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_CFG_OBEY_WAS_TAGGED, x)

#define REW_TAG_CTRL_TAG_CFG                     GENMASK(12, 11)
#define REW_TAG_CTRL_TAG_CFG_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_CFG, x)
#define REW_TAG_CTRL_TAG_CFG_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_CFG, x)

#define REW_TAG_CTRL_TAG_TPID_CFG                GENMASK(10, 8)
#define REW_TAG_CTRL_TAG_TPID_CFG_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_TPID_CFG, x)
#define REW_TAG_CTRL_TAG_TPID_CFG_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_TPID_CFG, x)

#define REW_TAG_CTRL_TAG_VID_CFG                 GENMASK(7, 6)
#define REW_TAG_CTRL_TAG_VID_CFG_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_VID_CFG, x)
#define REW_TAG_CTRL_TAG_VID_CFG_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_VID_CFG, x)

#define REW_TAG_CTRL_TAG_PCP_CFG                 GENMASK(5, 3)
#define REW_TAG_CTRL_TAG_PCP_CFG_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_PCP_CFG, x)
#define REW_TAG_CTRL_TAG_PCP_CFG_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_PCP_CFG, x)

#define REW_TAG_CTRL_TAG_DEI_CFG                 GENMASK(2, 0)
#define REW_TAG_CTRL_TAG_DEI_CFG_SET(x)\
	FIELD_PREP(REW_TAG_CTRL_TAG_DEI_CFG, x)
#define REW_TAG_CTRL_TAG_DEI_CFG_GET(x)\
	FIELD_GET(REW_TAG_CTRL_TAG_DEI_CFG, x)

/*      REW:PTP_CTRL:PTP_TWOSTEP_CTRL */
#define REW_PTP_TWOSTEP_CTRL      __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 0, 0, 1, 4)

#define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA        BIT(12)
#define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)
#define REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_OVWR_ENA, x)

#define REW_PTP_TWOSTEP_CTRL_PTP_NXT             BIT(11)
#define REW_PTP_TWOSTEP_CTRL_PTP_NXT_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_NXT, x)
#define REW_PTP_TWOSTEP_CTRL_PTP_NXT_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_NXT, x)

#define REW_PTP_TWOSTEP_CTRL_PTP_VLD             BIT(10)
#define REW_PTP_TWOSTEP_CTRL_PTP_VLD_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_VLD, x)
#define REW_PTP_TWOSTEP_CTRL_PTP_VLD_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_VLD, x)

#define REW_PTP_TWOSTEP_CTRL_STAMP_TX            BIT(9)
#define REW_PTP_TWOSTEP_CTRL_STAMP_TX_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_STAMP_TX, x)
#define REW_PTP_TWOSTEP_CTRL_STAMP_TX_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_STAMP_TX, x)

#define REW_PTP_TWOSTEP_CTRL_STAMP_PORT          GENMASK(8, 1)
#define REW_PTP_TWOSTEP_CTRL_STAMP_PORT_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_STAMP_PORT, x)
#define REW_PTP_TWOSTEP_CTRL_STAMP_PORT_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_STAMP_PORT, x)

#define REW_PTP_TWOSTEP_CTRL_PTP_OVFL            BIT(0)
#define REW_PTP_TWOSTEP_CTRL_PTP_OVFL_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_CTRL_PTP_OVFL, x)
#define REW_PTP_TWOSTEP_CTRL_PTP_OVFL_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_CTRL_PTP_OVFL, x)

/*      REW:PTP_CTRL:PTP_TWOSTEP_STAMP */
#define REW_PTP_TWOSTEP_STAMP     __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 4, 0, 1, 4)

#define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC         GENMASK(29, 0)
#define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_STAMP_STAMP_NSEC, x)
#define REW_PTP_TWOSTEP_STAMP_STAMP_NSEC_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_STAMP_STAMP_NSEC, x)

/*      REW:PTP_CTRL:PTP_TWOSTEP_STAMP_SUBNS */
#define REW_PTP_TWOSTEP_STAMP_SUBNS __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 8, 0, 1, 4)

#define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC GENMASK(7, 0)
#define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC_SET(x)\
	FIELD_PREP(REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC, x)
#define REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC_GET(x)\
	FIELD_GET(REW_PTP_TWOSTEP_STAMP_SUBNS_STAMP_SUB_NSEC, x)

/*      REW:PTP_CTRL:PTP_RSRV_NOT_ZERO */
#define REW_PTP_RSRV_NOT_ZERO     __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 12, 0, 1, 4)

/*      REW:PTP_CTRL:PTP_RSRV_NOT_ZERO1 */
#define REW_PTP_RSRV_NOT_ZERO1    __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 16, 0, 1, 4)

/*      REW:PTP_CTRL:PTP_RSRV_NOT_ZERO2 */
#define REW_PTP_RSRV_NOT_ZERO2    __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 20, 0, 1, 4)

#define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2 GENMASK(5, 0)
#define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2_SET(x)\
	FIELD_PREP(REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2, x)
#define REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2_GET(x)\
	FIELD_GET(REW_PTP_RSRV_NOT_ZERO2_PTP_RSRV_NOT_ZERO2, x)

/*      REW:PTP_CTRL:PTP_GEN_STAMP_FMT */
#define REW_PTP_GEN_STAMP_FMT(r)  __REG(TARGET_REW, 0, 1, 378368, 0, 1, 40, 24, r, 4, 4)

#define REW_PTP_GEN_STAMP_FMT_RT_OFS             GENMASK(6, 2)
#define REW_PTP_GEN_STAMP_FMT_RT_OFS_SET(x)\
	FIELD_PREP(REW_PTP_GEN_STAMP_FMT_RT_OFS, x)
#define REW_PTP_GEN_STAMP_FMT_RT_OFS_GET(x)\
	FIELD_GET(REW_PTP_GEN_STAMP_FMT_RT_OFS, x)

#define REW_PTP_GEN_STAMP_FMT_RT_FMT             GENMASK(1, 0)
#define REW_PTP_GEN_STAMP_FMT_RT_FMT_SET(x)\
	FIELD_PREP(REW_PTP_GEN_STAMP_FMT_RT_FMT, x)
#define REW_PTP_GEN_STAMP_FMT_RT_FMT_GET(x)\
	FIELD_GET(REW_PTP_GEN_STAMP_FMT_RT_FMT, x)

/*      REW:RAM_CTRL:RAM_INIT */
#define REW_RAM_INIT              __REG(TARGET_REW, 0, 1, 378696, 0, 1, 4, 0, 0, 1, 4)

#define REW_RAM_INIT_RAM_INIT                    BIT(1)
#define REW_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(REW_RAM_INIT_RAM_INIT, x)
#define REW_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(REW_RAM_INIT_RAM_INIT, x)

#define REW_RAM_INIT_RAM_CFG_HOOK                BIT(0)
#define REW_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(REW_RAM_INIT_RAM_CFG_HOOK, x)
#define REW_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(REW_RAM_INIT_RAM_CFG_HOOK, x)

/*      VCAP_SUPER:VCAP_CORE_CFG:VCAP_UPDATE_CTRL */
#define VCAP_SUPER_CTRL           __REG(TARGET_VCAP_SUPER, 0, 1, 0, 0, 1, 8, 0, 0, 1, 4)

#define VCAP_SUPER_CTRL_UPDATE_CMD               GENMASK(24, 22)
#define VCAP_SUPER_CTRL_UPDATE_CMD_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_CMD, x)
#define VCAP_SUPER_CTRL_UPDATE_CMD_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_CMD, x)

#define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS         BIT(21)
#define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS, x)
#define VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ENTRY_DIS, x)

#define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS        BIT(20)
#define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ACTION_DIS, x)
#define VCAP_SUPER_CTRL_UPDATE_ACTION_DIS_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ACTION_DIS, x)

#define VCAP_SUPER_CTRL_UPDATE_CNT_DIS           BIT(19)
#define VCAP_SUPER_CTRL_UPDATE_CNT_DIS_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_CNT_DIS, x)
#define VCAP_SUPER_CTRL_UPDATE_CNT_DIS_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_CNT_DIS, x)

#define VCAP_SUPER_CTRL_UPDATE_ADDR              GENMASK(18, 3)
#define VCAP_SUPER_CTRL_UPDATE_ADDR_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_ADDR, x)
#define VCAP_SUPER_CTRL_UPDATE_ADDR_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_ADDR, x)

#define VCAP_SUPER_CTRL_UPDATE_SHOT              BIT(2)
#define VCAP_SUPER_CTRL_UPDATE_SHOT_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_UPDATE_SHOT, x)
#define VCAP_SUPER_CTRL_UPDATE_SHOT_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_UPDATE_SHOT, x)

#define VCAP_SUPER_CTRL_CLEAR_CACHE              BIT(1)
#define VCAP_SUPER_CTRL_CLEAR_CACHE_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_CLEAR_CACHE, x)
#define VCAP_SUPER_CTRL_CLEAR_CACHE_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_CLEAR_CACHE, x)

#define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN           BIT(0)
#define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN_SET(x)\
	FIELD_PREP(VCAP_SUPER_CTRL_MV_TRAFFIC_IGN, x)
#define VCAP_SUPER_CTRL_MV_TRAFFIC_IGN_GET(x)\
	FIELD_GET(VCAP_SUPER_CTRL_MV_TRAFFIC_IGN, x)

/*      VCAP_SUPER:VCAP_CORE_CFG:VCAP_MV_CFG */
#define VCAP_SUPER_CFG            __REG(TARGET_VCAP_SUPER, 0, 1, 0, 0, 1, 8, 4, 0, 1, 4)

#define VCAP_SUPER_CFG_MV_NUM_POS                GENMASK(31, 16)
#define VCAP_SUPER_CFG_MV_NUM_POS_SET(x)\
	FIELD_PREP(VCAP_SUPER_CFG_MV_NUM_POS, x)
#define VCAP_SUPER_CFG_MV_NUM_POS_GET(x)\
	FIELD_GET(VCAP_SUPER_CFG_MV_NUM_POS, x)

#define VCAP_SUPER_CFG_MV_SIZE                   GENMASK(15, 0)
#define VCAP_SUPER_CFG_MV_SIZE_SET(x)\
	FIELD_PREP(VCAP_SUPER_CFG_MV_SIZE, x)
#define VCAP_SUPER_CFG_MV_SIZE_GET(x)\
	FIELD_GET(VCAP_SUPER_CFG_MV_SIZE, x)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_ENTRY_DAT */
#define VCAP_SUPER_VCAP_ENTRY_DAT(r) __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 0, r, 64, 4)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_MASK_DAT */
#define VCAP_SUPER_VCAP_MASK_DAT(r) __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 256, r, 64, 4)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_ACTION_DAT */
#define VCAP_SUPER_VCAP_ACTION_DAT(r) __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 512, r, 64, 4)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_CNT_DAT */
#define VCAP_SUPER_VCAP_CNT_DAT(r) __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 768, r, 32, 4)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_CNT_FW_DAT */
#define VCAP_SUPER_VCAP_CNT_FW_DAT __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 896, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CORE_CACHE:VCAP_TG_DAT */
#define VCAP_SUPER_VCAP_TG_DAT    __REG(TARGET_VCAP_SUPER, 0, 1, 8, 0, 1, 904, 900, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CORE_MAP:VCAP_CORE_IDX */
#define VCAP_SUPER_IDX            __REG(TARGET_VCAP_SUPER, 0, 1, 912, 0, 1, 8, 0, 0, 1, 4)

#define VCAP_SUPER_IDX_CORE_IDX                  GENMASK(3, 0)
#define VCAP_SUPER_IDX_CORE_IDX_SET(x)\
	FIELD_PREP(VCAP_SUPER_IDX_CORE_IDX, x)
#define VCAP_SUPER_IDX_CORE_IDX_GET(x)\
	FIELD_GET(VCAP_SUPER_IDX_CORE_IDX, x)

/*      VCAP_SUPER:VCAP_CORE_MAP:VCAP_CORE_MAP */
#define VCAP_SUPER_MAP            __REG(TARGET_VCAP_SUPER, 0, 1, 912, 0, 1, 8, 4, 0, 1, 4)

#define VCAP_SUPER_MAP_CORE_MAP                  GENMASK(2, 0)
#define VCAP_SUPER_MAP_CORE_MAP_SET(x)\
	FIELD_PREP(VCAP_SUPER_MAP_CORE_MAP, x)
#define VCAP_SUPER_MAP_CORE_MAP_GET(x)\
	FIELD_GET(VCAP_SUPER_MAP_CORE_MAP, x)

/*      VCAP_SUPER:VCAP_CONST:VCAP_VER */
#define VCAP_SUPER_VCAP_VER       __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 0, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ENTRY_WIDTH */
#define VCAP_SUPER_ENTRY_WIDTH    __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 4, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ENTRY_CNT */
#define VCAP_SUPER_ENTRY_CNT      __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 8, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ENTRY_SWCNT */
#define VCAP_SUPER_ENTRY_SWCNT    __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 12, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ENTRY_TG_WIDTH */
#define VCAP_SUPER_ENTRY_TG_WIDTH __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 16, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ACTION_DEF_CNT */
#define VCAP_SUPER_ACTION_DEF_CNT __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 20, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:ACTION_WIDTH */
#define VCAP_SUPER_ACTION_WIDTH   __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 24, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:CNT_WIDTH */
#define VCAP_SUPER_CNT_WIDTH      __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 28, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:CORE_CNT */
#define VCAP_SUPER_CORE_CNT       __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 32, 0, 1, 4)

/*      VCAP_SUPER:VCAP_CONST:IF_CNT */
#define VCAP_SUPER_IF_CNT         __REG(TARGET_VCAP_SUPER, 0, 1, 924, 0, 1, 40, 36, 0, 1, 4)

/*      VCAP_SUPER:RAM_CTRL:RAM_INIT */
#define VCAP_SUPER_RAM_INIT       __REG(TARGET_VCAP_SUPER, 0, 1, 1120, 0, 1, 4, 0, 0, 1, 4)

#define VCAP_SUPER_RAM_INIT_RAM_INIT             BIT(1)
#define VCAP_SUPER_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(VCAP_SUPER_RAM_INIT_RAM_INIT, x)
#define VCAP_SUPER_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(VCAP_SUPER_RAM_INIT_RAM_INIT, x)

#define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK         BIT(0)
#define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK, x)
#define VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(VCAP_SUPER_RAM_INIT_RAM_CFG_HOOK, x)

/*      VOP:RAM_CTRL:RAM_INIT */
#define VOP_RAM_INIT              __REG(TARGET_VOP, 0, 1, 279176, 0, 1, 4, 0, 0, 1, 4)

#define VOP_RAM_INIT_RAM_INIT                    BIT(1)
#define VOP_RAM_INIT_RAM_INIT_SET(x)\
	FIELD_PREP(VOP_RAM_INIT_RAM_INIT, x)
#define VOP_RAM_INIT_RAM_INIT_GET(x)\
	FIELD_GET(VOP_RAM_INIT_RAM_INIT, x)

#define VOP_RAM_INIT_RAM_CFG_HOOK                BIT(0)
#define VOP_RAM_INIT_RAM_CFG_HOOK_SET(x)\
	FIELD_PREP(VOP_RAM_INIT_RAM_CFG_HOOK, x)
#define VOP_RAM_INIT_RAM_CFG_HOOK_GET(x)\
	FIELD_GET(VOP_RAM_INIT_RAM_CFG_HOOK, x)

/*      XQS:SYSTEM:STAT_CFG */
#define XQS_STAT_CFG              __REG(TARGET_XQS, 0, 1, 6768, 0, 1, 872, 860, 0, 1, 4)

#define XQS_STAT_CFG_STAT_CLEAR_SHOT             GENMASK(21, 18)
#define XQS_STAT_CFG_STAT_CLEAR_SHOT_SET(x)\
	FIELD_PREP(XQS_STAT_CFG_STAT_CLEAR_SHOT, x)
#define XQS_STAT_CFG_STAT_CLEAR_SHOT_GET(x)\
	FIELD_GET(XQS_STAT_CFG_STAT_CLEAR_SHOT, x)

#define XQS_STAT_CFG_STAT_VIEW                   GENMASK(17, 5)
#define XQS_STAT_CFG_STAT_VIEW_SET(x)\
	FIELD_PREP(XQS_STAT_CFG_STAT_VIEW, x)
#define XQS_STAT_CFG_STAT_VIEW_GET(x)\
	FIELD_GET(XQS_STAT_CFG_STAT_VIEW, x)

#define XQS_STAT_CFG_STAT_SRV_PKT_ONLY           BIT(4)
#define XQS_STAT_CFG_STAT_SRV_PKT_ONLY_SET(x)\
	FIELD_PREP(XQS_STAT_CFG_STAT_SRV_PKT_ONLY, x)
#define XQS_STAT_CFG_STAT_SRV_PKT_ONLY_GET(x)\
	FIELD_GET(XQS_STAT_CFG_STAT_SRV_PKT_ONLY, x)

#define XQS_STAT_CFG_STAT_WRAP_DIS               GENMASK(3, 0)
#define XQS_STAT_CFG_STAT_WRAP_DIS_SET(x)\
	FIELD_PREP(XQS_STAT_CFG_STAT_WRAP_DIS, x)
#define XQS_STAT_CFG_STAT_WRAP_DIS_GET(x)\
	FIELD_GET(XQS_STAT_CFG_STAT_WRAP_DIS, x)

/*      XQS:QLIMIT_SHR:QLIMIT_SHR_TOP_CFG */
#define XQS_QLIMIT_SHR_TOP_CFG(g) __REG(TARGET_XQS, 0, 1, 7936, g, 4, 48, 0, 0, 1, 4)

#define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP    GENMASK(14, 0)
#define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP_SET(x)\
	FIELD_PREP(XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP, x)
#define XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP_GET(x)\
	FIELD_GET(XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP, x)

/*      XQS:QLIMIT_SHR:QLIMIT_SHR_ATOP_CFG */
#define XQS_QLIMIT_SHR_ATOP_CFG(g) __REG(TARGET_XQS, 0, 1, 7936, g, 4, 48, 4, 0, 1, 4)

#define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP  GENMASK(14, 0)
#define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP_SET(x)\
	FIELD_PREP(XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP, x)
#define XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP_GET(x)\
	FIELD_GET(XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP, x)

/*      XQS:QLIMIT_SHR:QLIMIT_SHR_CTOP_CFG */
#define XQS_QLIMIT_SHR_CTOP_CFG(g) __REG(TARGET_XQS, 0, 1, 7936, g, 4, 48, 8, 0, 1, 4)

#define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP  GENMASK(14, 0)
#define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP_SET(x)\
	FIELD_PREP(XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP, x)
#define XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP_GET(x)\
	FIELD_GET(XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP, x)

/*      XQS:QLIMIT_SHR:QLIMIT_SHR_QLIM_CFG */
#define XQS_QLIMIT_SHR_QLIM_CFG(g) __REG(TARGET_XQS, 0, 1, 7936, g, 4, 48, 12, 0, 1, 4)

#define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM  GENMASK(14, 0)
#define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM_SET(x)\
	FIELD_PREP(XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM, x)
#define XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM_GET(x)\
	FIELD_GET(XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM, x)

/*      XQS:STAT:CNT */
#define XQS_CNT(g)                __REG(TARGET_XQS, 0, 1, 0, g, 1024, 4, 0, 0, 1, 4)

#endif /* _SPARX5_MAIN_REGS_H_ */
