1*4882a593Smuzhiyun /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Microsemi Ocelot Switch driver 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2017 Microsemi Corporation 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef _MSCC_OCELOT_QSYS_H_ 9*4882a593Smuzhiyun #define _MSCC_OCELOT_QSYS_H_ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #define QSYS_PORT_MODE_RSZ 0x4 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define QSYS_PORT_MODE_DEQUEUE_DIS BIT(1) 14*4882a593Smuzhiyun #define QSYS_PORT_MODE_DEQUEUE_LATE BIT(0) 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_TX_GREEN_CNT_MODE BIT(5) 17*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_TX_YELLOW_CNT_MODE BIT(4) 18*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_DROP_GREEN_CNT_MODE BIT(3) 19*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_DROP_YELLOW_CNT_MODE BIT(2) 20*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_DROP_COUNT_ONCE BIT(1) 21*4882a593Smuzhiyun #define QSYS_STAT_CNT_CFG_DROP_COUNT_EGRESS BIT(0) 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #define QSYS_EEE_CFG_RSZ 0x4 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #define QSYS_EEE_THRES_EEE_HIGH_BYTES(x) (((x) << 8) & GENMASK(15, 8)) 26*4882a593Smuzhiyun #define QSYS_EEE_THRES_EEE_HIGH_BYTES_M GENMASK(15, 8) 27*4882a593Smuzhiyun #define QSYS_EEE_THRES_EEE_HIGH_BYTES_X(x) (((x) & GENMASK(15, 8)) >> 8) 28*4882a593Smuzhiyun #define QSYS_EEE_THRES_EEE_HIGH_FRAMES(x) ((x) & GENMASK(7, 0)) 29*4882a593Smuzhiyun #define QSYS_EEE_THRES_EEE_HIGH_FRAMES_M GENMASK(7, 0) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #define QSYS_SW_STATUS_RSZ 0x4 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #define QSYS_EXT_CPU_CFG_EXT_CPU_PORT(x) (((x) << 8) & GENMASK(12, 8)) 34*4882a593Smuzhiyun #define QSYS_EXT_CPU_CFG_EXT_CPU_PORT_M GENMASK(12, 8) 35*4882a593Smuzhiyun #define QSYS_EXT_CPU_CFG_EXT_CPU_PORT_X(x) (((x) & GENMASK(12, 8)) >> 8) 36*4882a593Smuzhiyun #define QSYS_EXT_CPU_CFG_EXT_CPUQ_MSK(x) ((x) & GENMASK(7, 0)) 37*4882a593Smuzhiyun #define QSYS_EXT_CPU_CFG_EXT_CPUQ_MSK_M GENMASK(7, 0) 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #define QSYS_QMAP_GSZ 0x4 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #define QSYS_QMAP_SE_BASE(x) (((x) << 5) & GENMASK(12, 5)) 42*4882a593Smuzhiyun #define QSYS_QMAP_SE_BASE_M GENMASK(12, 5) 43*4882a593Smuzhiyun #define QSYS_QMAP_SE_BASE_X(x) (((x) & GENMASK(12, 5)) >> 5) 44*4882a593Smuzhiyun #define QSYS_QMAP_SE_IDX_SEL(x) (((x) << 2) & GENMASK(4, 2)) 45*4882a593Smuzhiyun #define QSYS_QMAP_SE_IDX_SEL_M GENMASK(4, 2) 46*4882a593Smuzhiyun #define QSYS_QMAP_SE_IDX_SEL_X(x) (((x) & GENMASK(4, 2)) >> 2) 47*4882a593Smuzhiyun #define QSYS_QMAP_SE_INP_SEL(x) ((x) & GENMASK(1, 0)) 48*4882a593Smuzhiyun #define QSYS_QMAP_SE_INP_SEL_M GENMASK(1, 0) 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #define QSYS_ISDX_SGRP_GSZ 0x4 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun #define QSYS_TIMED_FRAME_ENTRY_GSZ 0x4 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_CANCEL_SLOT(x) (((x) << 9) & GENMASK(18, 9)) 55*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_CANCEL_SLOT_M GENMASK(18, 9) 56*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_CANCEL_SLOT_X(x) (((x) & GENMASK(18, 9)) >> 9) 57*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_CANCEL_1SHOT BIT(8) 58*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_SLOT_MODE_MC BIT(7) 59*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_ENTRY_FAST_CNT(x) ((x) & GENMASK(6, 0)) 60*4882a593Smuzhiyun #define QSYS_TFRM_MISC_TIMED_ENTRY_FAST_CNT_M GENMASK(6, 0) 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun #define QSYS_RED_PROFILE_RSZ 0x4 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #define QSYS_RED_PROFILE_WM_RED_LOW(x) (((x) << 8) & GENMASK(15, 8)) 65*4882a593Smuzhiyun #define QSYS_RED_PROFILE_WM_RED_LOW_M GENMASK(15, 8) 66*4882a593Smuzhiyun #define QSYS_RED_PROFILE_WM_RED_LOW_X(x) (((x) & GENMASK(15, 8)) >> 8) 67*4882a593Smuzhiyun #define QSYS_RED_PROFILE_WM_RED_HIGH(x) ((x) & GENMASK(7, 0)) 68*4882a593Smuzhiyun #define QSYS_RED_PROFILE_WM_RED_HIGH_M GENMASK(7, 0) 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun #define QSYS_RES_CFG_GSZ 0x8 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #define QSYS_RES_STAT_GSZ 0x8 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #define QSYS_RES_STAT_INUSE(x) (((x) << 12) & GENMASK(23, 12)) 75*4882a593Smuzhiyun #define QSYS_RES_STAT_INUSE_M GENMASK(23, 12) 76*4882a593Smuzhiyun #define QSYS_RES_STAT_INUSE_X(x) (((x) & GENMASK(23, 12)) >> 12) 77*4882a593Smuzhiyun #define QSYS_RES_STAT_MAXUSE(x) ((x) & GENMASK(11, 0)) 78*4882a593Smuzhiyun #define QSYS_RES_STAT_MAXUSE_M GENMASK(11, 0) 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun #define QSYS_EVENTS_CORE_EV_FDC(x) (((x) << 2) & GENMASK(4, 2)) 81*4882a593Smuzhiyun #define QSYS_EVENTS_CORE_EV_FDC_M GENMASK(4, 2) 82*4882a593Smuzhiyun #define QSYS_EVENTS_CORE_EV_FDC_X(x) (((x) & GENMASK(4, 2)) >> 2) 83*4882a593Smuzhiyun #define QSYS_EVENTS_CORE_EV_FRD(x) ((x) & GENMASK(1, 0)) 84*4882a593Smuzhiyun #define QSYS_EVENTS_CORE_EV_FRD_M GENMASK(1, 0) 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_0_RSZ 0x4 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_1_RSZ 0x4 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_2_RSZ 0x4 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_3_RSZ 0x4 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_4_RSZ 0x4 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_5_RSZ 0x4 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_6_RSZ 0x4 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun #define QSYS_QMAXSDU_CFG_7_RSZ 0x4 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_RSZ 0x4 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_P_QUEUES(x) ((x) & GENMASK(7, 0)) 105*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_P_QUEUES_M GENMASK(7, 0) 106*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_MM_ADD_FRAG_SIZE(x) (((x) << 8) & GENMASK(9, 8)) 107*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_MM_ADD_FRAG_SIZE_M GENMASK(9, 8) 108*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_MM_ADD_FRAG_SIZE_X(x) (((x) & GENMASK(9, 8)) >> 8) 109*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_STRICT_IPG(x) (((x) << 12) & GENMASK(13, 12)) 110*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_STRICT_IPG_M GENMASK(13, 12) 111*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_STRICT_IPG_X(x) (((x) & GENMASK(13, 12)) >> 12) 112*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_HOLD_ADVANCE(x) (((x) << 16) & GENMASK(31, 16)) 113*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_HOLD_ADVANCE_M GENMASK(31, 16) 114*4882a593Smuzhiyun #define QSYS_PREEMPTION_CFG_HOLD_ADVANCE_X(x) (((x) & GENMASK(31, 16)) >> 16) 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun #define QSYS_CIR_CFG_GSZ 0x80 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun #define QSYS_CIR_CFG_CIR_RATE(x) (((x) << 6) & GENMASK(20, 6)) 119*4882a593Smuzhiyun #define QSYS_CIR_CFG_CIR_RATE_M GENMASK(20, 6) 120*4882a593Smuzhiyun #define QSYS_CIR_CFG_CIR_RATE_X(x) (((x) & GENMASK(20, 6)) >> 6) 121*4882a593Smuzhiyun #define QSYS_CIR_CFG_CIR_BURST(x) ((x) & GENMASK(5, 0)) 122*4882a593Smuzhiyun #define QSYS_CIR_CFG_CIR_BURST_M GENMASK(5, 0) 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #define QSYS_EIR_CFG_GSZ 0x80 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_RATE(x) (((x) << 7) & GENMASK(21, 7)) 127*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_RATE_M GENMASK(21, 7) 128*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_RATE_X(x) (((x) & GENMASK(21, 7)) >> 7) 129*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_BURST(x) (((x) << 1) & GENMASK(6, 1)) 130*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_BURST_M GENMASK(6, 1) 131*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_BURST_X(x) (((x) & GENMASK(6, 1)) >> 1) 132*4882a593Smuzhiyun #define QSYS_EIR_CFG_EIR_MARK_ENA BIT(0) 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun #define QSYS_SE_CFG_GSZ 0x80 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_DWRR_CNT(x) (((x) << 6) & GENMASK(9, 6)) 137*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_DWRR_CNT_M GENMASK(9, 6) 138*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_DWRR_CNT_X(x) (((x) & GENMASK(9, 6)) >> 6) 139*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_RR_ENA BIT(5) 140*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_AVB_ENA BIT(4) 141*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_FRM_MODE(x) (((x) << 2) & GENMASK(3, 2)) 142*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_FRM_MODE_M GENMASK(3, 2) 143*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_FRM_MODE_X(x) (((x) & GENMASK(3, 2)) >> 2) 144*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_EXC_ENA BIT(1) 145*4882a593Smuzhiyun #define QSYS_SE_CFG_SE_EXC_FWD BIT(0) 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun #define QSYS_SE_DWRR_CFG_GSZ 0x80 148*4882a593Smuzhiyun #define QSYS_SE_DWRR_CFG_RSZ 0x4 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun #define QSYS_SE_CONNECT_GSZ 0x80 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_IDX(x) (((x) << 17) & GENMASK(24, 17)) 153*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_IDX_M GENMASK(24, 17) 154*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_IDX_X(x) (((x) & GENMASK(24, 17)) >> 17) 155*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_IDX(x) (((x) << 9) & GENMASK(16, 9)) 156*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_IDX_M GENMASK(16, 9) 157*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_IDX_X(x) (((x) & GENMASK(16, 9)) >> 9) 158*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_CON(x) (((x) << 5) & GENMASK(8, 5)) 159*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_CON_M GENMASK(8, 5) 160*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_OUTP_CON_X(x) (((x) & GENMASK(8, 5)) >> 5) 161*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_CNT(x) (((x) << 1) & GENMASK(4, 1)) 162*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_CNT_M GENMASK(4, 1) 163*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_INP_CNT_X(x) (((x) & GENMASK(4, 1)) >> 1) 164*4882a593Smuzhiyun #define QSYS_SE_CONNECT_SE_TERMINAL BIT(0) 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_GSZ 0x80 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_PRIO(x) (((x) << 11) & GENMASK(13, 11)) 169*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_PRIO_M GENMASK(13, 11) 170*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_PRIO_X(x) (((x) & GENMASK(13, 11)) >> 11) 171*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_SPORT(x) (((x) << 7) & GENMASK(10, 7)) 172*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_SPORT_M GENMASK(10, 7) 173*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_SPORT_X(x) (((x) & GENMASK(10, 7)) >> 7) 174*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_DPORT(x) (((x) << 3) & GENMASK(6, 3)) 175*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_DPORT_M GENMASK(6, 3) 176*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_DPORT_X(x) (((x) & GENMASK(6, 3)) >> 3) 177*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_PRIO_ENA BIT(2) 178*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_SPORT_ENA BIT(1) 179*4882a593Smuzhiyun #define QSYS_SE_DLB_SENSE_SE_DLB_DPORT_ENA BIT(0) 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun #define QSYS_CIR_STATE_GSZ 0x80 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun #define QSYS_CIR_STATE_CIR_LVL(x) (((x) << 4) & GENMASK(25, 4)) 184*4882a593Smuzhiyun #define QSYS_CIR_STATE_CIR_LVL_M GENMASK(25, 4) 185*4882a593Smuzhiyun #define QSYS_CIR_STATE_CIR_LVL_X(x) (((x) & GENMASK(25, 4)) >> 4) 186*4882a593Smuzhiyun #define QSYS_CIR_STATE_SHP_TIME(x) ((x) & GENMASK(3, 0)) 187*4882a593Smuzhiyun #define QSYS_CIR_STATE_SHP_TIME_M GENMASK(3, 0) 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun #define QSYS_EIR_STATE_GSZ 0x80 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun #define QSYS_SE_STATE_GSZ 0x80 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun #define QSYS_SE_STATE_SE_OUTP_LVL(x) (((x) << 1) & GENMASK(2, 1)) 194*4882a593Smuzhiyun #define QSYS_SE_STATE_SE_OUTP_LVL_M GENMASK(2, 1) 195*4882a593Smuzhiyun #define QSYS_SE_STATE_SE_OUTP_LVL_X(x) (((x) & GENMASK(2, 1)) >> 1) 196*4882a593Smuzhiyun #define QSYS_SE_STATE_SE_WAS_YEL BIT(0) 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_SE_CONNECT_VLD BIT(8) 199*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_FRM_ADJ(x) (((x) << 3) & GENMASK(7, 3)) 200*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_FRM_ADJ_M GENMASK(7, 3) 201*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_FRM_ADJ_X(x) (((x) & GENMASK(7, 3)) >> 3) 202*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_LEAK_DIS BIT(2) 203*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_QSHP_EXC_ENA BIT(1) 204*4882a593Smuzhiyun #define QSYS_HSCH_MISC_CFG_PFC_BYP_UPD BIT(0) 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_RSZ 0x4 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_ENABLE BIT(0) 209*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_LINK_SPEED(x) (((x) << 4) & GENMASK(5, 4)) 210*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_LINK_SPEED_M GENMASK(5, 4) 211*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_LINK_SPEED_X(x) (((x) & GENMASK(5, 4)) >> 4) 212*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_INIT_GATE_STATE(x) (((x) << 8) & GENMASK(15, 8)) 213*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_INIT_GATE_STATE_M GENMASK(15, 8) 214*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_INIT_GATE_STATE_X(x) (((x) & GENMASK(15, 8)) >> 8) 215*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_SCH_TRAFFIC_QUEUES(x) (((x) << 16) & GENMASK(23, 16)) 216*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_SCH_TRAFFIC_QUEUES_M GENMASK(23, 16) 217*4882a593Smuzhiyun #define QSYS_TAG_CONFIG_SCH_TRAFFIC_QUEUES_X(x) (((x) & GENMASK(23, 16)) >> 16) 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun #define QSYS_TAS_PARAM_CFG_CTRL_PORT_NUM(x) ((x) & GENMASK(7, 0)) 220*4882a593Smuzhiyun #define QSYS_TAS_PARAM_CFG_CTRL_PORT_NUM_M GENMASK(7, 0) 221*4882a593Smuzhiyun #define QSYS_TAS_PARAM_CFG_CTRL_ALWAYS_GUARD_BAND_SCH_Q BIT(8) 222*4882a593Smuzhiyun #define QSYS_TAS_PARAM_CFG_CTRL_CONFIG_CHANGE BIT(16) 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun #define QSYS_PORT_MAX_SDU_RSZ 0x4 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun #define QSYS_PARAM_CFG_REG_3_BASE_TIME_SEC_MSB(x) ((x) & GENMASK(15, 0)) 227*4882a593Smuzhiyun #define QSYS_PARAM_CFG_REG_3_BASE_TIME_SEC_MSB_M GENMASK(15, 0) 228*4882a593Smuzhiyun #define QSYS_PARAM_CFG_REG_3_LIST_LENGTH(x) (((x) << 16) & GENMASK(31, 16)) 229*4882a593Smuzhiyun #define QSYS_PARAM_CFG_REG_3_LIST_LENGTH_M GENMASK(31, 16) 230*4882a593Smuzhiyun #define QSYS_PARAM_CFG_REG_3_LIST_LENGTH_X(x) (((x) & GENMASK(31, 16)) >> 16) 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun #define QSYS_GCL_CFG_REG_1_GCL_ENTRY_NUM(x) ((x) & GENMASK(5, 0)) 233*4882a593Smuzhiyun #define QSYS_GCL_CFG_REG_1_GCL_ENTRY_NUM_M GENMASK(5, 0) 234*4882a593Smuzhiyun #define QSYS_GCL_CFG_REG_1_GATE_STATE(x) (((x) << 8) & GENMASK(15, 8)) 235*4882a593Smuzhiyun #define QSYS_GCL_CFG_REG_1_GATE_STATE_M GENMASK(15, 8) 236*4882a593Smuzhiyun #define QSYS_GCL_CFG_REG_1_GATE_STATE_X(x) (((x) & GENMASK(15, 8)) >> 8) 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_3_BASE_TIME_SEC_MSB(x) ((x) & GENMASK(15, 0)) 239*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_3_BASE_TIME_SEC_MSB_M GENMASK(15, 0) 240*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_3_LIST_LENGTH(x) (((x) << 16) & GENMASK(31, 16)) 241*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_3_LIST_LENGTH_M GENMASK(31, 16) 242*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_3_LIST_LENGTH_X(x) (((x) & GENMASK(31, 16)) >> 16) 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_CFG_CHG_TIME_SEC_MSB(x) ((x) & GENMASK(15, 0)) 245*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_CFG_CHG_TIME_SEC_MSB_M GENMASK(15, 0) 246*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_OPER_GATE_STATE(x) (((x) << 16) & GENMASK(23, 16)) 247*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_OPER_GATE_STATE_M GENMASK(23, 16) 248*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_OPER_GATE_STATE_X(x) (((x) & GENMASK(23, 16)) >> 16) 249*4882a593Smuzhiyun #define QSYS_PARAM_STATUS_REG_8_CONFIG_PENDING BIT(24) 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun #define QSYS_GCL_STATUS_REG_1_GCL_ENTRY_NUM(x) ((x) & GENMASK(5, 0)) 252*4882a593Smuzhiyun #define QSYS_GCL_STATUS_REG_1_GCL_ENTRY_NUM_M GENMASK(5, 0) 253*4882a593Smuzhiyun #define QSYS_GCL_STATUS_REG_1_GATE_STATE(x) (((x) << 8) & GENMASK(15, 8)) 254*4882a593Smuzhiyun #define QSYS_GCL_STATUS_REG_1_GATE_STATE_M GENMASK(15, 8) 255*4882a593Smuzhiyun #define QSYS_GCL_STATUS_REG_1_GATE_STATE_X(x) (((x) & GENMASK(15, 8)) >> 8) 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun #endif 258