xref: /OK3568_Linux_fs/kernel/include/soc/mscc/ocelot_qsys.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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