cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ocelot_ana.h (39017B)


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