[lantiq] move files/ -> files-3.3/
[openwrt.git] / target / linux / lantiq / files-3.3 / arch / mips / include / asm / mach-lantiq / svip / es_reg.h
1 /******************************************************************************
2
3   Copyright (c) 2007
4   Infineon Technologies AG
5   St. Martin Strasse 53; 81669 Munich, Germany
6
7   Any use of this Software is subject to the conclusion of a respective
8   License Agreement. Without such a License Agreement no rights to the
9   Software are granted.
10
11  ******************************************************************************/
12
13 #ifndef __ES_REG_H
14 #define __ES_REG_H
15
16 #define es_r32(reg) ltq_r32(&es->reg)
17 #define es_w32(val, reg) ltq_w32(val, &es->reg)
18 #define es_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &es->reg)
19
20 /** ES register structure */
21 struct svip_reg_es {
22         volatile unsigned long  ps;  /*  0x0000 */
23         volatile unsigned long  p0_ctl;  /*  0x0004 */
24         volatile unsigned long  p1_ctl;  /*  0x0008 */
25         volatile unsigned long  p2_ctl;  /*  0x000C */
26         volatile unsigned long  p0_vlan;  /*  0x0010 */
27         volatile unsigned long  p1_vlan;  /*  0x0014 */
28         volatile unsigned long  p2_vlan;  /*  0x0018 */
29         volatile unsigned long  reserved1[1];  /*  0x001C */
30         volatile unsigned long  p0_inctl;  /*  0x0020 */
31         volatile unsigned long  p1_inctl;  /*  0x0024 */
32         volatile unsigned long  p2_inctl;  /*  0x0028 */
33         volatile unsigned long  reserved2[1];  /*  0x002C */
34         volatile unsigned long  p0_ecs_q32;  /*  0x0030 */
35         volatile unsigned long  p0_ecs_q10;  /*  0x0034 */
36         volatile unsigned long  p0_ecw_q32;  /*  0x0038 */
37         volatile unsigned long  p0_ecw_q10;  /*  0x003C */
38         volatile unsigned long  p1_ecs_q32;  /*  0x0040 */
39         volatile unsigned long  p1_ecs_q10;  /*  0x0044 */
40         volatile unsigned long  p1_ecw_q32;  /*  0x0048 */
41         volatile unsigned long  p1_ecw_q10;  /*  0x004C */
42         volatile unsigned long  p2_ecs_q32;  /*  0x0050 */
43         volatile unsigned long  p2_ecs_q10;  /*  0x0054 */
44         volatile unsigned long  p2_ecw_q32;  /*  0x0058 */
45         volatile unsigned long  p2_ecw_q10;  /*  0x005C */
46         volatile unsigned long  int_ena;  /*  0x0060 */
47         volatile unsigned long  int_st;  /*  0x0064 */
48         volatile unsigned long  sw_gctl0;  /*  0x0068 */
49         volatile unsigned long  sw_gctl1;  /*  0x006C */
50         volatile unsigned long  arp;  /*  0x0070 */
51         volatile unsigned long  strm_ctl;  /*  0x0074 */
52         volatile unsigned long  rgmii_ctl;  /*  0x0078 */
53         volatile unsigned long  prt_1p;  /*  0x007C */
54         volatile unsigned long  gbkt_szbs;  /*  0x0080 */
55         volatile unsigned long  gbkt_szebs;  /*  0x0084 */
56         volatile unsigned long  bf_th;  /*  0x0088 */
57         volatile unsigned long  pmac_hd_ctl;  /*  0x008C */
58         volatile unsigned long  pmac_sa1;  /*  0x0090 */
59         volatile unsigned long  pmac_sa2;  /*  0x0094 */
60         volatile unsigned long  pmac_da1;  /*  0x0098 */
61         volatile unsigned long  pmac_da2;  /*  0x009C */
62         volatile unsigned long  pmac_vlan;  /*  0x00A0 */
63         volatile unsigned long  pmac_tx_ipg;  /*  0x00A4 */
64         volatile unsigned long  pmac_rx_ipg;  /*  0x00A8 */
65         volatile unsigned long  adr_tb_ctl0;  /*  0x00AC */
66         volatile unsigned long  adr_tb_ctl1;  /*  0x00B0 */
67         volatile unsigned long  adr_tb_ctl2;  /*  0x00B4 */
68         volatile unsigned long  adr_tb_st0;  /*  0x00B8 */
69         volatile unsigned long  adr_tb_st1;  /*  0x00BC */
70         volatile unsigned long  adr_tb_st2;  /*  0x00C0 */
71         volatile unsigned long  rmon_ctl;  /*  0x00C4 */
72         volatile unsigned long  rmon_st;  /*  0x00C8 */
73         volatile unsigned long  mdio_ctl;  /*  0x00CC */
74         volatile unsigned long  mdio_data;  /*  0x00D0 */
75         volatile unsigned long  tp_flt_act;  /*  0x00D4 */
76         volatile unsigned long  prtcl_flt_act;  /*  0x00D8 */
77         volatile unsigned long  reserved4[9];  /*  0xdc */
78         volatile unsigned long  vlan_flt0;  /*  0x0100 */
79         volatile unsigned long  vlan_flt1;  /*  0x0104 */
80         volatile unsigned long  vlan_flt2;  /*  0x0108 */
81         volatile unsigned long  vlan_flt3;  /*  0x010C */
82         volatile unsigned long  vlan_flt4;  /*  0x0110 */
83         volatile unsigned long  vlan_flt5;  /*  0x0114 */
84         volatile unsigned long  vlan_flt6;  /*  0x0118 */
85         volatile unsigned long  vlan_flt7;  /*  0x011C */
86         volatile unsigned long  vlan_flt8;  /*  0x0120 */
87         volatile unsigned long  vlan_flt9;  /*  0x0124 */
88         volatile unsigned long  vlan_flt10;  /*  0x0128 */
89         volatile unsigned long  vlan_flt11;  /*  0x012C */
90         volatile unsigned long  vlan_flt12;  /*  0x0130 */
91         volatile unsigned long  vlan_flt13;  /*  0x0134 */
92         volatile unsigned long  vlan_flt14;  /*  0x0138 */
93         volatile unsigned long  vlan_flt15;  /*  0x013C */
94         volatile unsigned long  tp_flt10;  /*  0x0140 */
95         volatile unsigned long  tp_flt32;  /*  0x0144 */
96         volatile unsigned long  tp_flt54;  /*  0x0148 */
97         volatile unsigned long  tp_flt76;  /*  0x014C */
98         volatile unsigned long  dfsrv_map0;  /*  0x0150 */
99         volatile unsigned long  dfsrv_map1;  /*  0x0154 */
100         volatile unsigned long  dfsrv_map2;  /*  0x0158 */
101         volatile unsigned long  dfsrv_map3;  /*  0x015C */
102         volatile unsigned long  tcp_pf0;  /*  0x0160 */
103         volatile unsigned long  tcp_pf1;  /*  0x0164 */
104         volatile unsigned long  tcp_pf2;  /*  0x0168 */
105         volatile unsigned long  tcp_pf3;  /*  0x016C */
106         volatile unsigned long  tcp_pf4;  /*  0x0170 */
107         volatile unsigned long  tcp_pf5;  /*  0x0174 */
108         volatile unsigned long  tcp_pf6;  /*  0x0178 */
109         volatile unsigned long  tcp_pf7;  /*  0x017C */
110         volatile unsigned long  ra_03_00;  /*  0x0180 */
111         volatile unsigned long  ra_07_04;  /*  0x0184 */
112         volatile unsigned long  ra_0b_08;  /*  0x0188 */
113         volatile unsigned long  ra_0f_0c;  /*  0x018C */
114         volatile unsigned long  ra_13_10;  /*  0x0190 */
115         volatile unsigned long  ra_17_14;  /*  0x0194 */
116         volatile unsigned long  ra_1b_18;  /*  0x0198 */
117         volatile unsigned long  ra_1f_1c;  /*  0x019C */
118         volatile unsigned long  ra_23_20;  /*  0x01A0 */
119         volatile unsigned long  ra_27_24;  /*  0x01A4 */
120         volatile unsigned long  ra_2b_28;  /*  0x01A8 */
121         volatile unsigned long  ra_2f_2c;  /*  0x01AC */
122         volatile unsigned long  prtcl_f0;  /*  0x01B0 */
123         volatile unsigned long  prtcl_f1;  /*  0x01B4 */
124 };
125
126 /*******************************************************************************
127  * ES
128  ******************************************************************************/
129 #define LTQ_ES_PS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0000))
130 #define LTQ_ES_P0_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0004))
131 #define LTQ_ES_P1_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0008))
132 #define LTQ_ES_P2_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x000C))
133 #define LTQ_ES_P0_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0010))
134 #define LTQ_ES_P1_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0014))
135 #define LTQ_ES_P2_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0010))
136 #define LTQ_ES_P0_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0020))
137 #define LTQ_ES_P1_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0024))
138 #define LTQ_ES_P2_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0028))
139 #define LTQ_ES_P0_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
140 #define LTQ_ES_P0_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
141 #define LTQ_ES_P0_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
142 #define LTQ_ES_P0_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
143 #define LTQ_ES_P1_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
144 #define LTQ_ES_P1_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
145 #define LTQ_ES_P1_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
146 #define LTQ_ES_P1_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
147 #define LTQ_ES_P2_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
148 #define LTQ_ES_P2_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
149 #define LTQ_ES_P2_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
150 #define LTQ_ES_P2_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
151 #define LTQ_ES_INT_ENA_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0060))
152 #define LTQ_ES_INT_ST_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0064))
153 #define LTQ_ES_SW_GCTL0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0068))
154 #define LTQ_ES_SW_GCTL1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x006C))
155 #define LTQ_ES_ARP_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0070))
156 #define LTQ_ES_STRM_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0074))
157 #define LTQ_ES_RGMII_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0078))
158 #define LTQ_ES_PRT_1P_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x007C))
159 #define LTQ_ES_GBKT_SZBS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0080))
160 #define LTQ_ES_GBKT_SZEBS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0084))
161 #define LTQ_ES_BF_TH_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0088))
162 #define LTQ_ES_PMAC_HD_CTL   ((volatile unsigned int*)(LTQ_ES_BASE + 0x008C))
163 #define LTQ_ES_PMAC_SA1   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0090))
164 #define LTQ_ES_PMAC_SA2   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0094))
165 #define LTQ_ES_PMAC_DA1   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0098))
166 #define LTQ_ES_PMAC_DA2   ((volatile unsigned int*)(LTQ_ES_BASE + 0x009C))
167 #define LTQ_ES_PMAC_VLAN   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A0))
168 #define LTQ_ES_PMAC_TX_IPG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A4))
169 #define LTQ_ES_PMAC_RX_IPG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A8))
170 #define LTQ_ES_ADR_TB_CTL0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00AC))
171 #define LTQ_ES_ADR_TB_CTL1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B0))
172 #define LTQ_ES_ADR_TB_CTL2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B4))
173 #define LTQ_ES_ADR_TB_ST0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B8))
174 #define LTQ_ES_ADR_TB_ST1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00BC))
175 #define LTQ_ES_ADR_TB_ST2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C0))
176 #define LTQ_ES_RMON_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C4))
177 #define LTQ_ES_RMON_ST_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C8))
178 #define LTQ_ES_MDIO_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00CC))
179 #define LTQ_ES_MDIO_DATA_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D0))
180 #define LTQ_ES_TP_FLT_ACT_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D4))
181 #define LTQ_ES_PRTCL_FLT_ACT_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D8))
182 #define LTQ_ES_VLAN_FLT0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0100))
183 #define LTQ_ES_VLAN_FLT1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0104))
184 #define LTQ_ES_VLAN_FLT2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0108))
185 #define LTQ_ES_VLAN_FLT3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x010C))
186 #define LTQ_ES_VLAN_FLT4_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0110))
187 #define LTQ_ES_VLAN_FLT5_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0114))
188 #define LTQ_ES_VLAN_FLT6_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0118))
189 #define LTQ_ES_VLAN_FLT7_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x011C))
190 #define LTQ_ES_VLAN_FLT8_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0120))
191 #define LTQ_ES_VLAN_FLT9_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0124))
192 #define LTQ_ES_VLAN_FLT10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0128))
193 #define LTQ_ES_VLAN_FLT11_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x012C))
194 #define LTQ_ES_VLAN_FLT12_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0130))
195 #define LTQ_ES_VLAN_FLT13_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0134))
196 #define LTQ_ES_VLAN_FLT14_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0138))
197 #define LTQ_ES_VLAN_FLT15_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x013C))
198 #define LTQ_ES_TP_FLT10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0140))
199 #define LTQ_ES_TP_FLT32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0144))
200 #define LTQ_ES_TP_FLT54_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0148))
201 #define LTQ_ES_TP_FLT76_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x014C))
202 #define LTQ_ES_DFSRV_MAP0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0150))
203 #define LTQ_ES_DFSRV_MAP1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0154))
204 #define LTQ_ES_DFSRV_MAP2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0158))
205 #define LTQ_ES_DFSRV_MAP3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x015C))
206 #define LTQ_ES_TCP_PF0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0160))
207 #define LTQ_ES_TCP_PF1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0164))
208 #define LTQ_ES_TCP_PF2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0168))
209 #define LTQ_ES_TCP_PF3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x016C))
210 #define LTQ_ES_TCP_PF4_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0170))
211 #define LTQ_ES_TCP_PF5_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0174))
212 #define LTQ_ES_TCP_PF6_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0178))
213 #define LTQ_ES_TCP_PF7_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x017C))
214 #define LTQ_ES_RA_03_00_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0180))
215 #define LTQ_ES_RA_07_04_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0184))
216 #define LTQ_ES_RA_0B_08_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0188))
217 #define LTQ_ES_RA_0F_0C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x018C))
218 #define LTQ_ES_RA_13_10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0190))
219 #define LTQ_ES_RA_17_14_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0194))
220 #define LTQ_ES_RA_1B_18_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0198))
221 #define LTQ_ES_RA_1F_1C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x019C))
222 #define LTQ_ES_RA_23_20_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A0))
223 #define LTQ_ES_RA_27_24_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A4))
224 #define LTQ_ES_RA_2B_28_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A8))
225 #define LTQ_ES_RA_2F_2C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01AC))
226 #define LTQ_ES_PRTCL_F0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01B0))
227 #define LTQ_ES_PRTCL_F1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01B4))
228
229 /*******************************************************************************
230  * Port Status Register
231  ******************************************************************************/
232
233 /* Port 1 Flow Control Status (12) */
234 #define LTQ_ES_PS_REG_P1FCS   (0x1 << 12)
235 #define LTQ_ES_PS_REG_P1FCS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1FCS) >> 12) & 0x1)
236 /* Port 1 Duplex Status (11) */
237 #define LTQ_ES_PS_REG_P1DS   (0x1 << 11)
238 #define LTQ_ES_PS_REG_P1DS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1DS) >> 11) & 0x1)
239 /* Port 1 Speed High Status (10) */
240 #define LTQ_ES_PS_REG_P1SHS   (0x1 << 10)
241 #define LTQ_ES_PS_REG_P1SHS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1SHS) >> 10) & 0x1)
242 /* Port 1 Speed Status (9) */
243 #define LTQ_ES_PS_REG_P1SS   (0x1 << 9)
244 #define LTQ_ES_PS_REG_P1SS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1SS) >> 9) & 0x1)
245 /* Port 1 Link Status (8) */
246 #define LTQ_ES_PS_REG_P1LS   (0x1 << 8)
247 #define LTQ_ES_PS_REG_P1LS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1LS) >> 8) & 0x1)
248 /* Port 0 Flow Control Status (4) */
249 #define LTQ_ES_PS_REG_P0FCS   (0x1 << 4)
250 #define LTQ_ES_PS_REG_P0FCS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0FCS) >> 4) & 0x1)
251 /* Port 0 Duplex Status (3) */
252 #define LTQ_ES_PS_REG_P0DS   (0x1 << 3)
253 #define LTQ_ES_PS_REG_P0DS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0DS) >> 3) & 0x1)
254 /* Port 0 Speed High Status (2) */
255 #define LTQ_ES_PS_REG_P0SHS   (0x1 << 2)
256 #define LTQ_ES_PS_REG_P0SHS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0SHS) >> 2) & 0x1)
257 /* Port 0 Speed Status (1) */
258 #define LTQ_ES_PS_REG_P0SS   (0x1 << 1)
259 #define LTQ_ES_PS_REG_P0SS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0SS) >> 1) & 0x1)
260 /* Port 0 Link Status (0) */
261 #define LTQ_ES_PS_REG_P0LS   (0x1)
262 #define LTQ_ES_PS_REG_P0LS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0LS) >> 0) & 0x1)
263
264 /*******************************************************************************
265  * P0 Control Register
266  ******************************************************************************/
267
268 /* STP/RSTP port state (31:30) */
269 #define LTQ_ES_P0_CTL_REG_SPS   (0x3 << 30)
270 #define LTQ_ES_P0_CTL_REG_SPS_VAL(val)   (((val) & 0x3) << 30)
271 #define LTQ_ES_P0_CTL_REG_SPS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_SPS) >> 30) & 0x3)
272 #define LTQ_ES_P0_CTL_REG_SPS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_SPS) | (((val) & 0x3) << 30))
273 /* TCP/UDP PRIEN (29) */
274 #define LTQ_ES_P0_CTL_REG_TCPE   (0x1 << 29)
275 #define LTQ_ES_P0_CTL_REG_TCPE_VAL(val)   (((val) & 0x1) << 29)
276 #define LTQ_ES_P0_CTL_REG_TCPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_TCPE) >> 29) & 0x1)
277 #define LTQ_ES_P0_CTL_REG_TCPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_TCPE) | (((val) & 0x1) << 29))
278 /*  IP over TCP/UDP (28) */
279 #define LTQ_ES_P0_CTL_REG_IPOVTU   (0x1 << 28)
280 #define LTQ_ES_P0_CTL_REG_IPOVTU_VAL(val)   (((val) & 0x1) << 28)
281 #define LTQ_ES_P0_CTL_REG_IPOVTU_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPOVTU) >> 28) & 0x1)
282 #define LTQ_ES_P0_CTL_REG_IPOVTU_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPOVTU) | (((val) & 0x1) << 28))
283 /* VLAN Priority Enable (27) */
284 #define LTQ_ES_P0_CTL_REG_VPE   (0x1 << 27)
285 #define LTQ_ES_P0_CTL_REG_VPE_VAL(val)   (((val) & 0x1) << 27)
286 #define LTQ_ES_P0_CTL_REG_VPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_VPE) >> 27) & 0x1)
287 #define LTQ_ES_P0_CTL_REG_VPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_VPE) | (((val) & 0x1) << 27))
288 /* Service Priority Enable (26) */
289 #define LTQ_ES_P0_CTL_REG_SPE   (0x1 << 26)
290 #define LTQ_ES_P0_CTL_REG_SPE_VAL(val)   (((val) & 0x1) << 26)
291 #define LTQ_ES_P0_CTL_REG_SPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_SPE) >> 26) & 0x1)
292 #define LTQ_ES_P0_CTL_REG_SPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_SPE) | (((val) & 0x1) << 26))
293 /* IP over VLAN PRI (25) */
294 #define LTQ_ES_P0_CTL_REG_IPVLAN   (0x1 << 25)
295 #define LTQ_ES_P0_CTL_REG_IPVLAN_VAL(val)   (((val) & 0x1) << 25)
296 #define LTQ_ES_P0_CTL_REG_IPVLAN_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPVLAN) >> 25) & 0x1)
297 #define LTQ_ES_P0_CTL_REG_IPVLAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPVLAN) | (((val) & 0x1) << 25))
298 /* Ether Type Priority Enable (24) */
299 #define LTQ_ES_P0_CTL_REG_TPE   (0x1 << 24)
300 #define LTQ_ES_P0_CTL_REG_TPE_VAL(val)   (((val) & 0x1) << 24)
301 #define LTQ_ES_P0_CTL_REG_TPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_TPE) >> 24) & 0x1)
302 #define LTQ_ES_P0_CTL_REG_TPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_TPE) | (((val) & 0x1) << 24))
303 /* Force Link Up (18) */
304 #define LTQ_ES_P0_CTL_REG_FLP   (0x1 << 18)
305 #define LTQ_ES_P0_CTL_REG_FLP_VAL(val)   (((val) & 0x1) << 18)
306 #define LTQ_ES_P0_CTL_REG_FLP_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_FLP) >> 18) & 0x1)
307 #define LTQ_ES_P0_CTL_REG_FLP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_FLP) | (((val) & 0x1) << 18))
308 /* Force Link Down (17) */
309 #define LTQ_ES_P0_CTL_REG_FLD   (0x1 << 17)
310 #define LTQ_ES_P0_CTL_REG_FLD_VAL(val)   (((val) & 0x1) << 17)
311 #define LTQ_ES_P0_CTL_REG_FLD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_FLD) >> 17) & 0x1)
312 #define LTQ_ES_P0_CTL_REG_FLD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_FLD) | (((val) & 0x1) << 17))
313 /* Ratio Mode for WFQ (16) */
314 #define LTQ_ES_P0_CTL_REG_RMWFQ   (0x1 << 16)
315 #define LTQ_ES_P0_CTL_REG_RMWFQ_VAL(val)   (((val) & 0x1) << 16)
316 #define LTQ_ES_P0_CTL_REG_RMWFQ_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_RMWFQ) >> 16) & 0x1)
317 #define LTQ_ES_P0_CTL_REG_RMWFQ_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_RMWFQ) | (((val) & 0x1) << 16))
318 /* Aging Disable (15) */
319 #define LTQ_ES_P0_CTL_REG_AD   (0x1 << 15)
320 #define LTQ_ES_P0_CTL_REG_AD_VAL(val)   (((val) & 0x1) << 15)
321 #define LTQ_ES_P0_CTL_REG_AD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_AD) >> 15) & 0x1)
322 #define LTQ_ES_P0_CTL_REG_AD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_AD) | (((val) & 0x1) << 15))
323 /* Learning Disable (14) */
324 #define LTQ_ES_P0_CTL_REG_LD   (0x1 << 14)
325 #define LTQ_ES_P0_CTL_REG_LD_VAL(val)   (((val) & 0x1) << 14)
326 #define LTQ_ES_P0_CTL_REG_LD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_LD) >> 14) & 0x1)
327 #define LTQ_ES_P0_CTL_REG_LD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_LD) | (((val) & 0x1) << 14))
328 /* Maximum Number of Addresses (12:8) */
329 #define LTQ_ES_P0_CTL_REG_MNA024   (0x1f << 8)
330 #define LTQ_ES_P0_CTL_REG_MNA024_VAL(val)   (((val) & 0x1f) << 8)
331 #define LTQ_ES_P0_CTL_REG_MNA024_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_MNA024) >> 8) & 0x1f)
332 #define LTQ_ES_P0_CTL_REG_MNA024_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_MNA024) | (((val) & 0x1f) << 8))
333 /* PPPOE Port Only (7) */
334 #define LTQ_ES_P0_CTL_REG_PPPOEP   (0x1 << 7)
335 #define LTQ_ES_P0_CTL_REG_PPPOEP_VAL(val)   (((val) & 0x1) << 7)
336 #define LTQ_ES_P0_CTL_REG_PPPOEP_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PPPOEP) >> 7) & 0x1)
337 #define LTQ_ES_P0_CTL_REG_PPPOEP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PPPOEP) | (((val) & 0x1) << 7))
338 /* PPPOE Manage (6) */
339 #define LTQ_ES_P0_CTL_REG_PM   (0x1 << 6)
340 #define LTQ_ES_P0_CTL_REG_PM_VAL(val)   (((val) & 0x1) << 6)
341 #define LTQ_ES_P0_CTL_REG_PM_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PM) >> 6) & 0x1)
342 #define LTQ_ES_P0_CTL_REG_PM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PM) | (((val) & 0x1) << 6))
343 /* Port Mirror Option (5:4) */
344 #define LTQ_ES_P0_CTL_REG_IPMO   (0x3 << 4)
345 #define LTQ_ES_P0_CTL_REG_IPMO_VAL(val)   (((val) & 0x3) << 4)
346 #define LTQ_ES_P0_CTL_REG_IPMO_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPMO) >> 4) & 0x3)
347 #define LTQ_ES_P0_CTL_REG_IPMO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPMO) | (((val) & 0x3) << 4))
348 /* 802.1x Port Authorized state (3:2) */
349 #define LTQ_ES_P0_CTL_REG_PAS   (0x3 << 2)
350 #define LTQ_ES_P0_CTL_REG_PAS_VAL(val)   (((val) & 0x3) << 2)
351 #define LTQ_ES_P0_CTL_REG_PAS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PAS) >> 2) & 0x3)
352 #define LTQ_ES_P0_CTL_REG_PAS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PAS) | (((val) & 0x3) << 2))
353 /* Drop Scheme for voilation 802.1x (1) */
354 #define LTQ_ES_P0_CTL_REG_DSV8021X   (0x1 << 1)
355 #define LTQ_ES_P0_CTL_REG_DSV8021X_VAL(val)   (((val) & 0x1) << 1)
356 #define LTQ_ES_P0_CTL_REG_DSV8021X_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_DSV8021X) >> 1) & 0x1)
357 #define LTQ_ES_P0_CTL_REG_DSV8021X_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_DSV8021X) | (((val) & 0x1) << 1))
358 /* ByPass Mode for Output (0) */
359 #define LTQ_ES_P0_CTL_REG_BYPASS   (0x1)
360 #define LTQ_ES_P0_CTL_REG_BYPASS_VAL(val)   (((val) & 0x1) << 0)
361 #define LTQ_ES_P0_CTL_REG_BYPASS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_BYPASS) >> 0) & 0x1)
362 #define LTQ_ES_P0_CTL_REG_BYPASS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_BYPASS) | (((val) & 0x1) << 0))
363
364 /*******************************************************************************
365  * Port 0 VLAN Control Register
366  ******************************************************************************/
367
368 /* Default FID (31:30) */
369 #define LTQ_ES_P0_VLAN_REG_DFID   (0x3 << 30)
370 #define LTQ_ES_P0_VLAN_REG_DFID_VAL(val)   (((val) & 0x3) << 30)
371 #define LTQ_ES_P0_VLAN_REG_DFID_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_DFID) >> 30) & 0x3)
372 #define LTQ_ES_P0_VLAN_REG_DFID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_DFID) | (((val) & 0x3) << 30))
373 /* Tagged Base VLAN Enable (29) */
374 #define LTQ_ES_P0_VLAN_REG_TBVE   (0x1 << 29)
375 #define LTQ_ES_P0_VLAN_REG_TBVE_VAL(val)   (((val) & 0x1) << 29)
376 #define LTQ_ES_P0_VLAN_REG_TBVE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_TBVE) >> 29) & 0x1)
377 #define LTQ_ES_P0_VLAN_REG_TBVE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_TBVE) | (((val) & 0x1) << 29))
378 /* Input Force No TAG Enable (28) */
379 #define LTQ_ES_P0_VLAN_REG_IFNTE   (0x1 << 28)
380 #define LTQ_ES_P0_VLAN_REG_IFNTE_VAL(val)   (((val) & 0x1) << 28)
381 #define LTQ_ES_P0_VLAN_REG_IFNTE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_IFNTE) >> 28) & 0x1)
382 #define LTQ_ES_P0_VLAN_REG_IFNTE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_IFNTE) | (((val) & 0x1) << 28))
383 /* VID Check with the VID table (27) */
384 #define LTQ_ES_P0_VLAN_REG_VC   (0x1 << 27)
385 #define LTQ_ES_P0_VLAN_REG_VC_VAL(val)   (((val) & 0x1) << 27)
386 #define LTQ_ES_P0_VLAN_REG_VC_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VC) >> 27) & 0x1)
387 #define LTQ_ES_P0_VLAN_REG_VC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VC) | (((val) & 0x1) << 27))
388 /* VLAN Security Disable (26) */
389 #define LTQ_ES_P0_VLAN_REG_VSD   (0x1 << 26)
390 #define LTQ_ES_P0_VLAN_REG_VSD_VAL(val)   (((val) & 0x1) << 26)
391 #define LTQ_ES_P0_VLAN_REG_VSD_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VSD) >> 26) & 0x1)
392 #define LTQ_ES_P0_VLAN_REG_VSD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VSD) | (((val) & 0x1) << 26))
393 /* Admit Only VLAN_Tagged Packet (25) */
394 #define LTQ_ES_P0_VLAN_REG_AOVTP   (0x1 << 25)
395 #define LTQ_ES_P0_VLAN_REG_AOVTP_VAL(val)   (((val) & 0x1) << 25)
396 #define LTQ_ES_P0_VLAN_REG_AOVTP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_AOVTP) >> 25) & 0x1)
397 #define LTQ_ES_P0_VLAN_REG_AOVTP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_AOVTP) | (((val) & 0x1) << 25))
398 /* VLAN Member Check Enable (24) */
399 #define LTQ_ES_P0_VLAN_REG_VMCE   (0x1 << 24)
400 #define LTQ_ES_P0_VLAN_REG_VMCE_VAL(val)   (((val) & 0x1) << 24)
401 #define LTQ_ES_P0_VLAN_REG_VMCE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VMCE) >> 24) & 0x1)
402 #define LTQ_ES_P0_VLAN_REG_VMCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VMCE) | (((val) & 0x1) << 24))
403 /* Reserved (23:19) */
404 #define LTQ_ES_P0_VLAN_REG_RES   (0x1f << 19)
405 #define LTQ_ES_P0_VLAN_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_RES) >> 19) & 0x1f)
406 /* Default VLAN Port Map (18:16) */
407 #define LTQ_ES_P0_VLAN_REG_DVPM   (0x7 << 16)
408 #define LTQ_ES_P0_VLAN_REG_DVPM_VAL(val)   (((val) & 0x7) << 16)
409 #define LTQ_ES_P0_VLAN_REG_DVPM_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_DVPM) >> 16) & 0x7)
410 #define LTQ_ES_P0_VLAN_REG_DVPM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_DVPM) | (((val) & 0x7) << 16))
411 /* Port Priority (15:14) */
412 #define LTQ_ES_P0_VLAN_REG_PP   (0x3 << 14)
413 #define LTQ_ES_P0_VLAN_REG_PP_VAL(val)   (((val) & 0x3) << 14)
414 #define LTQ_ES_P0_VLAN_REG_PP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PP) >> 14) & 0x3)
415 #define LTQ_ES_P0_VLAN_REG_PP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PP) | (((val) & 0x3) << 14))
416 /* Port Priority Enable (13) */
417 #define LTQ_ES_P0_VLAN_REG_PPE   (0x1 << 13)
418 #define LTQ_ES_P0_VLAN_REG_PPE_VAL(val)   (((val) & 0x1) << 13)
419 #define LTQ_ES_P0_VLAN_REG_PPE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PPE) >> 13) & 0x1)
420 #define LTQ_ES_P0_VLAN_REG_PPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PPE) | (((val) & 0x1) << 13))
421 /* Portbase VLAN tag member for Port 0 (12) */
422 #define LTQ_ES_P0_VLAN_REG_PVTAGMP   (0x1 << 12)
423 #define LTQ_ES_P0_VLAN_REG_PVTAGMP_VAL(val)   (((val) & 0x1) << 12)
424 #define LTQ_ES_P0_VLAN_REG_PVTAGMP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PVTAGMP) >> 12) & 0x1)
425 #define LTQ_ES_P0_VLAN_REG_PVTAGMP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PVTAGMP) | (((val) & 0x1) << 12))
426 /* PVID (11:0) */
427 #define LTQ_ES_P0_VLAN_REG_PVID   (0xfff)
428 #define LTQ_ES_P0_VLAN_REG_PVID_VAL(val)   (((val) & 0xfff) << 0)
429 #define LTQ_ES_P0_VLAN_REG_PVID_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PVID) >> 0) & 0xfff)
430 #define LTQ_ES_P0_VLAN_REG_PVID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PVID) | (((val) & 0xfff) << 0))
431
432 /*******************************************************************************
433  * Port 0 Ingress Control Register
434  ******************************************************************************/
435
436 /* Reserved  (31:13) */
437 #define LTQ_ES_P0_INCTL_REG_RES   (0x7ffff << 13)
438 #define LTQ_ES_P0_INCTL_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_RES) >> 13) & 0x7ffff)
439 /* Port 0 Ingress/Egress Timer Tick T selection (12:11) */
440 #define LTQ_ES_P0_INCTL_REG_P0ITT   (0x3 << 11)
441 #define LTQ_ES_P0_INCTL_REG_P0ITT_VAL(val)   (((val) & 0x3) << 11)
442 #define LTQ_ES_P0_INCTL_REG_P0ITT_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_P0ITT) >> 11) & 0x3)
443 #define LTQ_ES_P0_INCTL_REG_P0ITT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_INCTL_REG_P0ITT) | (((val) & 0x3) << 11))
444 /* Port 0 Igress Token R (10:0) */
445 #define LTQ_ES_P0_INCTL_REG_P0ITR   (0x7ff)
446 #define LTQ_ES_P0_INCTL_REG_P0ITR_VAL(val)   (((val) & 0x7ff) << 0)
447 #define LTQ_ES_P0_INCTL_REG_P0ITR_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_P0ITR) >> 0) & 0x7ff)
448 #define LTQ_ES_P0_INCTL_REG_P0ITR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_INCTL_REG_P0ITR) | (((val) & 0x7ff) << 0))
449
450 /*******************************************************************************
451  * Port 0 Egress Control for Strict Q32 Register
452  ******************************************************************************/
453
454 /* Port 0 Egress Token R for Strict Priority Q3 (26:16) */
455 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR   (0x7ff << 16)
456 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_VAL(val)   (((val) & 0x7ff) << 16)
457 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR) >> 16) & 0x7ff)
458 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR) | (((val) & 0x7ff) << 16))
459 /* Port 0 Egress Token R for Strict Priority Q2 (10:0) */
460 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR   (0x7ff)
461 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_VAL(val)   (((val) & 0x7ff) << 0)
462 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR) >> 0) & 0x7ff)
463 #define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR) | (((val) & 0x7ff) << 0))
464
465 /*******************************************************************************
466  * Port 0 Egress Control for Strict Q10 Register
467  ******************************************************************************/
468
469 /* Reserved  (31:27) */
470 #define LTQ_ES_P0_ECS_Q10_REG_RES   (0x1f << 27)
471 #define LTQ_ES_P0_ECS_Q10_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_RES) >> 27) & 0x1f)
472 /* Port 0 Egress Token R for Strict Priority Q1 (26:16) */
473 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR   (0x7ff << 16)
474 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_VAL(val)   (((val) & 0x7ff) << 16)
475 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR) >> 16) & 0x7ff)
476 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR) | (((val) & 0x7ff) << 16))
477 /* Port 0 Egress Token R for Strict Priority Q0 (10:0) */
478 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR   (0x7ff)
479 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_VAL(val)   (((val) & 0x7ff) << 0)
480 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR) >> 0) & 0x7ff)
481 #define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR) | (((val) & 0x7ff) << 0))
482
483 /*******************************************************************************
484  * Port 0 Egress Control for WFQ Q32 Register
485  ******************************************************************************/
486
487 /* Reserved  (31:27) */
488 #define LTQ_ES_P0_ECW_Q32_REG_RES   (0x1f << 27)
489 #define LTQ_ES_P0_ECW_Q32_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_RES) >> 27) & 0x1f)
490 /* Port 0 Egress Token R for WFQ Q3 (26:16) */
491 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR   (0x7ff << 16)
492 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_VAL(val)   (((val) & 0x7ff) << 16)
493 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR) >> 16) & 0x7ff)
494 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR) | (((val) & 0x7ff) << 16))
495 /* Port 0 Egress Token R for WFQ Q2 (10:0) */
496 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR   (0x7ff)
497 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_VAL(val)   (((val) & 0x7ff) << 0)
498 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR) >> 0) & 0x7ff)
499 #define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR) | (((val) & 0x7ff) << 0))
500
501 /*******************************************************************************
502  * Port 0 Egress Control for WFQ Q10 Register
503  ******************************************************************************/
504
505 /* Reserved  (31:27) */
506 #define LTQ_ES_P0_ECW_Q10_REG_RES   (0x1f << 27)
507 #define LTQ_ES_P0_ECW_Q10_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_RES) >> 27) & 0x1f)
508 /* Port 0 Egress Token R for WFQ Q1 (26:16) */
509 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR   (0x7ff << 16)
510 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_VAL(val)   (((val) & 0x7ff) << 16)
511 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR) >> 16) & 0x7ff)
512 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR) | (((val) & 0x7ff) << 16))
513 /* Port 0 Egress Token R for WFQ Q0 (10:0) */
514 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR   (0x7ff)
515 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_VAL(val)   (((val) & 0x7ff) << 0)
516 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR) >> 0) & 0x7ff)
517 #define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR) | (((val) & 0x7ff) << 0))
518
519 /*******************************************************************************
520  * Interrupt Enable Register
521  ******************************************************************************/
522
523 /* Reserved (31:8) */
524 #define LTQ_ES_INT_ENA_REG_RES   (0xffffff << 8)
525 #define LTQ_ES_INT_ENA_REG_RES_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_RES) >> 8) & 0xffffff)
526 /* Data Buffer is Full Interrupt Enable (7) */
527 #define LTQ_ES_INT_ENA_REG_DBFIE   (0x1 << 7)
528 #define LTQ_ES_INT_ENA_REG_DBFIE_VAL(val)   (((val) & 0x1) << 7)
529 #define LTQ_ES_INT_ENA_REG_DBFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_DBFIE) >> 7) & 0x1)
530 #define LTQ_ES_INT_ENA_REG_DBFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_DBFIE) | (((val) & 0x1) << 7))
531 /* Data Buffer is nearly Full Interrupt Enable (6) */
532 #define LTQ_ES_INT_ENA_REG_DBNFIE   (0x1 << 6)
533 #define LTQ_ES_INT_ENA_REG_DBNFIE_VAL(val)   (((val) & 0x1) << 6)
534 #define LTQ_ES_INT_ENA_REG_DBNFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_DBNFIE) >> 6) & 0x1)
535 #define LTQ_ES_INT_ENA_REG_DBNFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_DBNFIE) | (((val) & 0x1) << 6))
536 /* Learning Table Full Interrupt Enable (5) */
537 #define LTQ_ES_INT_ENA_REG_LTFIE   (0x1 << 5)
538 #define LTQ_ES_INT_ENA_REG_LTFIE_VAL(val)   (((val) & 0x1) << 5)
539 #define LTQ_ES_INT_ENA_REG_LTFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_LTFIE) >> 5) & 0x1)
540 #define LTQ_ES_INT_ENA_REG_LTFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_LTFIE) | (((val) & 0x1) << 5))
541 /* Leaning Table Access Done Interrupt Enable (4) */
542 #define LTQ_ES_INT_ENA_REG_LTADIE   (0x1 << 4)
543 #define LTQ_ES_INT_ENA_REG_LTADIE_VAL(val)   (((val) & 0x1) << 4)
544 #define LTQ_ES_INT_ENA_REG_LTADIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_LTADIE) >> 4) & 0x1)
545 #define LTQ_ES_INT_ENA_REG_LTADIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_LTADIE) | (((val) & 0x1) << 4))
546 /* Port Security Violation Interrupt Enable (3:1) */
547 #define LTQ_ES_INT_ENA_REG_PSVIE   (0x7 << 1)
548 #define LTQ_ES_INT_ENA_REG_PSVIE_VAL(val)   (((val) & 0x7) << 1)
549 #define LTQ_ES_INT_ENA_REG_PSVIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_PSVIE) >> 1) & 0x7)
550 #define LTQ_ES_INT_ENA_REG_PSVIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_PSVIE) | (((val) & 0x7) << 1))
551 /* Port Status Change Interrupt Enable (0) */
552 #define LTQ_ES_INT_ENA_REG_PSCIE   (0x1)
553 #define LTQ_ES_INT_ENA_REG_PSCIE_VAL(val)   (((val) & 0x1) << 0)
554 #define LTQ_ES_INT_ENA_REG_PSCIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_PSCIE) >> 0) & 0x1)
555 #define LTQ_ES_INT_ENA_REG_PSCIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_PSCIE) | (((val) & 0x1) << 0))
556
557 /*******************************************************************************
558  * Interrupt Status Register
559  ******************************************************************************/
560
561 /* Reserved (31:8) */
562 #define LTQ_ES_INT_ST_REG_RES   (0xffffff << 8)
563 #define LTQ_ES_INT_ST_REG_RES_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_RES) >> 8) & 0xffffff)
564 /* Data Buffer is Full (7) */
565 #define LTQ_ES_INT_ST_REG_DBF   (0x1 << 7)
566 #define LTQ_ES_INT_ST_REG_DBF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_DBF) >> 7) & 0x1)
567 /* Data Buffer is nearly Full (6) */
568 #define LTQ_ES_INT_ST_REG_DBNF   (0x1 << 6)
569 #define LTQ_ES_INT_ST_REG_DBNF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_DBNF) >> 6) & 0x1)
570 /* Learning Table Full (5) */
571 #define LTQ_ES_INT_ST_REG_LTF   (0x1 << 5)
572 #define LTQ_ES_INT_ST_REG_LTF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_LTF) >> 5) & 0x1)
573 /* Leaning Table Access Done (4) */
574 #define LTQ_ES_INT_ST_REG_LTAD   (0x1 << 4)
575 #define LTQ_ES_INT_ST_REG_LTAD_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_LTAD) >> 4) & 0x1)
576 /* Port Security Violation (3:1) */
577 #define LTQ_ES_INT_ST_REG_PSV   (0x7 << 1)
578 #define LTQ_ES_INT_ST_REG_PSV_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_PSV) >> 1) & 0x7)
579 /* Port Status Change (0) */
580 #define LTQ_ES_INT_ST_REG_PSC   (0x1)
581 #define LTQ_ES_INT_ST_REG_PSC_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_PSC) >> 0) & 0x1)
582
583 /*******************************************************************************
584  * Switch Global Control Register 0
585  ******************************************************************************/
586
587 /* Switch Enable (31) */
588 #define LTQ_ES_SW_GCTL0_REG_SE   (0x1 << 31)
589 #define LTQ_ES_SW_GCTL0_REG_SE_VAL(val)   (((val) & 0x1) << 31)
590 #define LTQ_ES_SW_GCTL0_REG_SE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_SE) >> 31) & 0x1)
591 #define LTQ_ES_SW_GCTL0_REG_SE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_SE) | (((val) & 0x1) << 31))
592 /* CRC Check Disable (30) */
593 #define LTQ_ES_SW_GCTL0_REG_ICRCCD   (0x1 << 30)
594 #define LTQ_ES_SW_GCTL0_REG_ICRCCD_VAL(val)   (((val) & 0x1) << 30)
595 #define LTQ_ES_SW_GCTL0_REG_ICRCCD_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_ICRCCD) >> 30) & 0x1)
596 #define LTQ_ES_SW_GCTL0_REG_ICRCCD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_ICRCCD) | (((val) & 0x1) << 30))
597 /* Replace VID0 (28) */
598 #define LTQ_ES_SW_GCTL0_REG_RVID0   (0x1 << 28)
599 #define LTQ_ES_SW_GCTL0_REG_RVID0_VAL(val)   (((val) & 0x1) << 28)
600 #define LTQ_ES_SW_GCTL0_REG_RVID0_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVID0) >> 28) & 0x1)
601 #define LTQ_ES_SW_GCTL0_REG_RVID0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVID0) | (((val) & 0x1) << 28))
602 /* Replace VID1 (27) */
603 #define LTQ_ES_SW_GCTL0_REG_RVID1   (0x1 << 27)
604 #define LTQ_ES_SW_GCTL0_REG_RVID1_VAL(val)   (((val) & 0x1) << 27)
605 #define LTQ_ES_SW_GCTL0_REG_RVID1_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVID1) >> 27) & 0x1)
606 #define LTQ_ES_SW_GCTL0_REG_RVID1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVID1) | (((val) & 0x1) << 27))
607 /* Replace VIDFFF (26) */
608 #define LTQ_ES_SW_GCTL0_REG_RVIDFFF   (0x1 << 26)
609 #define LTQ_ES_SW_GCTL0_REG_RVIDFFF_VAL(val)   (((val) & 0x1) << 26)
610 #define LTQ_ES_SW_GCTL0_REG_RVIDFFF_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVIDFFF) >> 26) & 0x1)
611 #define LTQ_ES_SW_GCTL0_REG_RVIDFFF_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVIDFFF) | (((val) & 0x1) << 26))
612 /* Priority Change Rule (25) */
613 #define LTQ_ES_SW_GCTL0_REG_PCR   (0x1 << 25)
614 #define LTQ_ES_SW_GCTL0_REG_PCR_VAL(val)   (((val) & 0x1) << 25)
615 #define LTQ_ES_SW_GCTL0_REG_PCR_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PCR) >> 25) & 0x1)
616 #define LTQ_ES_SW_GCTL0_REG_PCR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PCR) | (((val) & 0x1) << 25))
617 /* Priority Change Enable (24) */
618 #define LTQ_ES_SW_GCTL0_REG_PCE   (0x1 << 24)
619 #define LTQ_ES_SW_GCTL0_REG_PCE_VAL(val)   (((val) & 0x1) << 24)
620 #define LTQ_ES_SW_GCTL0_REG_PCE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PCE) >> 24) & 0x1)
621 #define LTQ_ES_SW_GCTL0_REG_PCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PCE) | (((val) & 0x1) << 24))
622 /* Transmit Short IPG Enable (23) */
623 #define LTQ_ES_SW_GCTL0_REG_TSIPGE   (0x1 << 23)
624 #define LTQ_ES_SW_GCTL0_REG_TSIPGE_VAL(val)   (((val) & 0x1) << 23)
625 #define LTQ_ES_SW_GCTL0_REG_TSIPGE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_TSIPGE) >> 23) & 0x1)
626 #define LTQ_ES_SW_GCTL0_REG_TSIPGE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_TSIPGE) | (((val) & 0x1) << 23))
627 /* PHY Base Address (22) */
628 #define LTQ_ES_SW_GCTL0_REG_PHYBA   (0x1 << 22)
629 #define LTQ_ES_SW_GCTL0_REG_PHYBA_VAL(val)   (((val) & 0x1) << 22)
630 #define LTQ_ES_SW_GCTL0_REG_PHYBA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PHYBA) >> 22) & 0x1)
631 #define LTQ_ES_SW_GCTL0_REG_PHYBA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PHYBA) | (((val) & 0x1) << 22))
632 /* Drop Packet When Excessive Collision Happen (21) */
633 #define LTQ_ES_SW_GCTL0_REG_DPWECH   (0x1 << 21)
634 #define LTQ_ES_SW_GCTL0_REG_DPWECH_VAL(val)   (((val) & 0x1) << 21)
635 #define LTQ_ES_SW_GCTL0_REG_DPWECH_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DPWECH) >> 21) & 0x1)
636 #define LTQ_ES_SW_GCTL0_REG_DPWECH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DPWECH) | (((val) & 0x1) << 21))
637 /* Aging Timer Select (20:18) */
638 #define LTQ_ES_SW_GCTL0_REG_ATS   (0x7 << 18)
639 #define LTQ_ES_SW_GCTL0_REG_ATS_VAL(val)   (((val) & 0x7) << 18)
640 #define LTQ_ES_SW_GCTL0_REG_ATS_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_ATS) >> 18) & 0x7)
641 #define LTQ_ES_SW_GCTL0_REG_ATS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_ATS) | (((val) & 0x7) << 18))
642 /* Mirror CRC Also (17) */
643 #define LTQ_ES_SW_GCTL0_REG_MCA   (0x1 << 17)
644 #define LTQ_ES_SW_GCTL0_REG_MCA_VAL(val)   (((val) & 0x1) << 17)
645 #define LTQ_ES_SW_GCTL0_REG_MCA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MCA) >> 17) & 0x1)
646 #define LTQ_ES_SW_GCTL0_REG_MCA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MCA) | (((val) & 0x1) << 17))
647 /* Mirror RXER Also (16) */
648 #define LTQ_ES_SW_GCTL0_REG_MRA   (0x1 << 16)
649 #define LTQ_ES_SW_GCTL0_REG_MRA_VAL(val)   (((val) & 0x1) << 16)
650 #define LTQ_ES_SW_GCTL0_REG_MRA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MRA) >> 16) & 0x1)
651 #define LTQ_ES_SW_GCTL0_REG_MRA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MRA) | (((val) & 0x1) << 16))
652 /* Mirror PAUSE Also (15) */
653 #define LTQ_ES_SW_GCTL0_REG_MPA   (0x1 << 15)
654 #define LTQ_ES_SW_GCTL0_REG_MPA_VAL(val)   (((val) & 0x1) << 15)
655 #define LTQ_ES_SW_GCTL0_REG_MPA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MPA) >> 15) & 0x1)
656 #define LTQ_ES_SW_GCTL0_REG_MPA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MPA) | (((val) & 0x1) << 15))
657 /* Mirror Long Also (14) */
658 #define LTQ_ES_SW_GCTL0_REG_MLA   (0x1 << 14)
659 #define LTQ_ES_SW_GCTL0_REG_MLA_VAL(val)   (((val) & 0x1) << 14)
660 #define LTQ_ES_SW_GCTL0_REG_MLA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MLA) >> 14) & 0x1)
661 #define LTQ_ES_SW_GCTL0_REG_MLA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MLA) | (((val) & 0x1) << 14))
662 /* Mirror Short Also (13) */
663 #define LTQ_ES_SW_GCTL0_REG_MSA   (0x1 << 13)
664 #define LTQ_ES_SW_GCTL0_REG_MSA_VAL(val)   (((val) & 0x1) << 13)
665 #define LTQ_ES_SW_GCTL0_REG_MSA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MSA) >> 13) & 0x1)
666 #define LTQ_ES_SW_GCTL0_REG_MSA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MSA) | (((val) & 0x1) << 13))
667 /* Sniffer port number (12:11) */
668 #define LTQ_ES_SW_GCTL0_REG_SNIFFPN   (0x3 << 11)
669 #define LTQ_ES_SW_GCTL0_REG_SNIFFPN_VAL(val)   (((val) & 0x3) << 11)
670 #define LTQ_ES_SW_GCTL0_REG_SNIFFPN_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_SNIFFPN) >> 11) & 0x3)
671 #define LTQ_ES_SW_GCTL0_REG_SNIFFPN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_SNIFFPN) | (((val) & 0x3) << 11))
672 /* Max Packet Length (MAXPKTLEN) (9:8) */
673 #define LTQ_ES_SW_GCTL0_REG_MPL   (0x3 << 8)
674 #define LTQ_ES_SW_GCTL0_REG_MPL_VAL(val)   (((val) & 0x3) << 8)
675 #define LTQ_ES_SW_GCTL0_REG_MPL_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MPL) >> 8) & 0x3)
676 #define LTQ_ES_SW_GCTL0_REG_MPL_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MPL) | (((val) & 0x3) << 8))
677 /* Discard Mode (Drop scheme for Packets Classified as Q3) (7:6) */
678 #define LTQ_ES_SW_GCTL0_REG_DMQ3   (0x3 << 6)
679 #define LTQ_ES_SW_GCTL0_REG_DMQ3_VAL(val)   (((val) & 0x3) << 6)
680 #define LTQ_ES_SW_GCTL0_REG_DMQ3_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ3) >> 6) & 0x3)
681 #define LTQ_ES_SW_GCTL0_REG_DMQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ3) | (((val) & 0x3) << 6))
682 /* Discard Mode (Drop scheme for Packets Classified as Q2) (5:4) */
683 #define LTQ_ES_SW_GCTL0_REG_DMQ2   (0x3 << 4)
684 #define LTQ_ES_SW_GCTL0_REG_DMQ2_VAL(val)   (((val) & 0x3) << 4)
685 #define LTQ_ES_SW_GCTL0_REG_DMQ2_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ2) >> 4) & 0x3)
686 #define LTQ_ES_SW_GCTL0_REG_DMQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ2) | (((val) & 0x3) << 4))
687 /* Discard Mode (Drop scheme for Packets Classified as Q1) (3:2) */
688 #define LTQ_ES_SW_GCTL0_REG_DMQ1   (0x3 << 2)
689 #define LTQ_ES_SW_GCTL0_REG_DMQ1_VAL(val)   (((val) & 0x3) << 2)
690 #define LTQ_ES_SW_GCTL0_REG_DMQ1_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ1) >> 2) & 0x3)
691 #define LTQ_ES_SW_GCTL0_REG_DMQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ1) | (((val) & 0x3) << 2))
692 /* Discard Mode (Drop scheme for Packets Classified as Q0) (1:0) */
693 #define LTQ_ES_SW_GCTL0_REG_DMQ0   (0x3)
694 #define LTQ_ES_SW_GCTL0_REG_DMQ0_VAL(val)   (((val) & 0x3) << 0)
695 #define LTQ_ES_SW_GCTL0_REG_DMQ0_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ0) >> 0) & 0x3)
696 #define LTQ_ES_SW_GCTL0_REG_DMQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ0) | (((val) & 0x3) << 0))
697
698 /*******************************************************************************
699  * Switch Global Control Register 1
700  ******************************************************************************/
701
702 /* BIST Done (27) */
703 #define LTQ_ES_SW_GCTL1_REG_BISTDN   (0x1 << 27)
704 #define LTQ_ES_SW_GCTL1_REG_BISTDN_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_BISTDN) >> 27) & 0x1)
705 /* Enable drop scheme of TX and RX (26) */
706 #define LTQ_ES_SW_GCTL1_REG_EDSTX   (0x1 << 26)
707 #define LTQ_ES_SW_GCTL1_REG_EDSTX_VAL(val)   (((val) & 0x1) << 26)
708 #define LTQ_ES_SW_GCTL1_REG_EDSTX_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_EDSTX) >> 26) & 0x1)
709 #define LTQ_ES_SW_GCTL1_REG_EDSTX_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_EDSTX) | (((val) & 0x1) << 26))
710 /* Congestion threshold for TX queue (25:24) */
711 #define LTQ_ES_SW_GCTL1_REG_CTTX   (0x3 << 24)
712 #define LTQ_ES_SW_GCTL1_REG_CTTX_VAL(val)   (((val) & 0x3) << 24)
713 #define LTQ_ES_SW_GCTL1_REG_CTTX_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_CTTX) >> 24) & 0x3)
714 #define LTQ_ES_SW_GCTL1_REG_CTTX_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_CTTX) | (((val) & 0x3) << 24))
715 /* Input Jam Threshold (23:21) */
716 #define LTQ_ES_SW_GCTL1_REG_IJT   (0x7 << 21)
717 #define LTQ_ES_SW_GCTL1_REG_IJT_VAL(val)   (((val) & 0x7) << 21)
718 #define LTQ_ES_SW_GCTL1_REG_IJT_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_IJT) >> 21) & 0x7)
719 #define LTQ_ES_SW_GCTL1_REG_IJT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_IJT) | (((val) & 0x7) << 21))
720 /* Do not Identify VLAN after SNAP (20) */
721 #define LTQ_ES_SW_GCTL1_REG_DIVS   (0x1 << 20)
722 #define LTQ_ES_SW_GCTL1_REG_DIVS_VAL(val)   (((val) & 0x1) << 20)
723 #define LTQ_ES_SW_GCTL1_REG_DIVS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIVS) >> 20) & 0x1)
724 #define LTQ_ES_SW_GCTL1_REG_DIVS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIVS) | (((val) & 0x1) << 20))
725 /* Do not Identify IPV6 in PPPOE (19) */
726 #define LTQ_ES_SW_GCTL1_REG_DII6P   (0x1 << 19)
727 #define LTQ_ES_SW_GCTL1_REG_DII6P_VAL(val)   (((val) & 0x1) << 19)
728 #define LTQ_ES_SW_GCTL1_REG_DII6P_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DII6P) >> 19) & 0x1)
729 #define LTQ_ES_SW_GCTL1_REG_DII6P_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DII6P) | (((val) & 0x1) << 19))
730 /* Do not Identify IP in PPPOE after SNAP (18) */
731 #define LTQ_ES_SW_GCTL1_REG_DIIPS   (0x1 << 18)
732 #define LTQ_ES_SW_GCTL1_REG_DIIPS_VAL(val)   (((val) & 0x1) << 18)
733 #define LTQ_ES_SW_GCTL1_REG_DIIPS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIIPS) >> 18) & 0x1)
734 #define LTQ_ES_SW_GCTL1_REG_DIIPS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIIPS) | (((val) & 0x1) << 18))
735 /* Do not Identify Ether-Type = 0x0800, IP VER = 6 as IPV6 packets (17) */
736 #define LTQ_ES_SW_GCTL1_REG_DIE   (0x1 << 17)
737 #define LTQ_ES_SW_GCTL1_REG_DIE_VAL(val)   (((val) & 0x1) << 17)
738 #define LTQ_ES_SW_GCTL1_REG_DIE_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIE) >> 17) & 0x1)
739 #define LTQ_ES_SW_GCTL1_REG_DIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIE) | (((val) & 0x1) << 17))
740 /* Do not Identify IP in PPPOE (16) */
741 #define LTQ_ES_SW_GCTL1_REG_DIIP   (0x1 << 16)
742 #define LTQ_ES_SW_GCTL1_REG_DIIP_VAL(val)   (((val) & 0x1) << 16)
743 #define LTQ_ES_SW_GCTL1_REG_DIIP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIIP) >> 16) & 0x1)
744 #define LTQ_ES_SW_GCTL1_REG_DIIP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIIP) | (((val) & 0x1) << 16))
745 /* Do not Identify SNAP (15) */
746 #define LTQ_ES_SW_GCTL1_REG_DIS   (0x1 << 15)
747 #define LTQ_ES_SW_GCTL1_REG_DIS_VAL(val)   (((val) & 0x1) << 15)
748 #define LTQ_ES_SW_GCTL1_REG_DIS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIS) >> 15) & 0x1)
749 #define LTQ_ES_SW_GCTL1_REG_DIS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIS) | (((val) & 0x1) << 15))
750 /* Unicast Portmap (14:12) */
751 #define LTQ_ES_SW_GCTL1_REG_UP   (0x7 << 12)
752 #define LTQ_ES_SW_GCTL1_REG_UP_VAL(val)   (((val) & 0x7) << 12)
753 #define LTQ_ES_SW_GCTL1_REG_UP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_UP) >> 12) & 0x7)
754 #define LTQ_ES_SW_GCTL1_REG_UP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_UP) | (((val) & 0x7) << 12))
755 /* Broadcast Portmap (10:8) */
756 #define LTQ_ES_SW_GCTL1_REG_BP   (0x7 << 8)
757 #define LTQ_ES_SW_GCTL1_REG_BP_VAL(val)   (((val) & 0x7) << 8)
758 #define LTQ_ES_SW_GCTL1_REG_BP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_BP) >> 8) & 0x7)
759 #define LTQ_ES_SW_GCTL1_REG_BP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_BP) | (((val) & 0x7) << 8))
760 /* Multicast Portmap (6:4) */
761 #define LTQ_ES_SW_GCTL1_REG_MP   (0x7 << 4)
762 #define LTQ_ES_SW_GCTL1_REG_MP_VAL(val)   (((val) & 0x7) << 4)
763 #define LTQ_ES_SW_GCTL1_REG_MP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_MP) >> 4) & 0x7)
764 #define LTQ_ES_SW_GCTL1_REG_MP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_MP) | (((val) & 0x7) << 4))
765 /* Reserve Portmap (2:0) */
766 #define LTQ_ES_SW_GCTL1_REG_RP   (0x7)
767 #define LTQ_ES_SW_GCTL1_REG_RP_VAL(val)   (((val) & 0x7) << 0)
768 #define LTQ_ES_SW_GCTL1_REG_RP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_RP) >> 0) & 0x7)
769 #define LTQ_ES_SW_GCTL1_REG_RP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_RP) | (((val) & 0x7) << 0))
770
771 /*******************************************************************************
772  * ARP/RARP Register
773  ******************************************************************************/
774
775 /* MAC Control Action (15:14) */
776 #define LTQ_ES_ARP_REG_MACA   (0x3 << 14)
777 #define LTQ_ES_ARP_REG_MACA_VAL(val)   (((val) & 0x3) << 14)
778 #define LTQ_ES_ARP_REG_MACA_GET(val)   ((((val) & LTQ_ES_ARP_REG_MACA) >> 14) & 0x3)
779 #define LTQ_ES_ARP_REG_MACA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_MACA) | (((val) & 0x3) << 14))
780 /* Unicast packet Treated as Cross_VLAN packet (13) */
781 #define LTQ_ES_ARP_REG_UPT   (0x1 << 13)
782 #define LTQ_ES_ARP_REG_UPT_VAL(val)   (((val) & 0x1) << 13)
783 #define LTQ_ES_ARP_REG_UPT_GET(val)   ((((val) & LTQ_ES_ARP_REG_UPT) >> 13) & 0x1)
784 #define LTQ_ES_ARP_REG_UPT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_UPT) | (((val) & 0x1) << 13))
785 /* RARP Packet Treated as Cross_VLAN Packet (12) */
786 #define LTQ_ES_ARP_REG_RPT   (0x1 << 12)
787 #define LTQ_ES_ARP_REG_RPT_VAL(val)   (((val) & 0x1) << 12)
788 #define LTQ_ES_ARP_REG_RPT_GET(val)   ((((val) & LTQ_ES_ARP_REG_RPT) >> 12) & 0x1)
789 #define LTQ_ES_ARP_REG_RPT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RPT) | (((val) & 0x1) << 12))
790 /* RARP/ARP Packet Action (11:10) */
791 #define LTQ_ES_ARP_REG_RAPA   (0x3 << 10)
792 #define LTQ_ES_ARP_REG_RAPA_VAL(val)   (((val) & 0x3) << 10)
793 #define LTQ_ES_ARP_REG_RAPA_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPA) >> 10) & 0x3)
794 #define LTQ_ES_ARP_REG_RAPA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPA) | (((val) & 0x3) << 10))
795 /* RARP/ARP Packet Priority Enable (9) */
796 #define LTQ_ES_ARP_REG_RAPPE   (0x1 << 9)
797 #define LTQ_ES_ARP_REG_RAPPE_VAL(val)   (((val) & 0x1) << 9)
798 #define LTQ_ES_ARP_REG_RAPPE_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPPE) >> 9) & 0x1)
799 #define LTQ_ES_ARP_REG_RAPPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPPE) | (((val) & 0x1) << 9))
800 /* RARP/ARP Packet Priority (8:7) */
801 #define LTQ_ES_ARP_REG_RAPP   (0x3 << 7)
802 #define LTQ_ES_ARP_REG_RAPP_VAL(val)   (((val) & 0x3) << 7)
803 #define LTQ_ES_ARP_REG_RAPP_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPP) >> 7) & 0x3)
804 #define LTQ_ES_ARP_REG_RAPP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPP) | (((val) & 0x3) << 7))
805 /* RARP/ARP Packet Output Tag Handle (6:5) */
806 #define LTQ_ES_ARP_REG_RAPOTH   (0x3 << 5)
807 #define LTQ_ES_ARP_REG_RAPOTH_VAL(val)   (((val) & 0x3) << 5)
808 #define LTQ_ES_ARP_REG_RAPOTH_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPOTH) >> 5) & 0x3)
809 #define LTQ_ES_ARP_REG_RAPOTH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPOTH) | (((val) & 0x3) << 5))
810 /* ARP Packet Treated as Cross _ VLAN Packet (4) */
811 #define LTQ_ES_ARP_REG_APT   (0x1 << 4)
812 #define LTQ_ES_ARP_REG_APT_VAL(val)   (((val) & 0x1) << 4)
813 #define LTQ_ES_ARP_REG_APT_GET(val)   ((((val) & LTQ_ES_ARP_REG_APT) >> 4) & 0x1)
814 #define LTQ_ES_ARP_REG_APT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_APT) | (((val) & 0x1) << 4))
815 /* RARP/ARP Packet Treated as Management Packet (3) */
816 #define LTQ_ES_ARP_REG_RAPTM   (0x1 << 3)
817 #define LTQ_ES_ARP_REG_RAPTM_VAL(val)   (((val) & 0x1) << 3)
818 #define LTQ_ES_ARP_REG_RAPTM_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPTM) >> 3) & 0x1)
819 #define LTQ_ES_ARP_REG_RAPTM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPTM) | (((val) & 0x1) << 3))
820 /* RARP/ARP Packet Treated as Span Packet (2) */
821 #define LTQ_ES_ARP_REG_TAPTS   (0x1 << 2)
822 #define LTQ_ES_ARP_REG_TAPTS_VAL(val)   (((val) & 0x1) << 2)
823 #define LTQ_ES_ARP_REG_TAPTS_GET(val)   ((((val) & LTQ_ES_ARP_REG_TAPTS) >> 2) & 0x1)
824 #define LTQ_ES_ARP_REG_TAPTS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TAPTS) | (((val) & 0x1) << 2))
825 /* Trap ARP Packet (1) */
826 #define LTQ_ES_ARP_REG_TAP   (0x1 << 1)
827 #define LTQ_ES_ARP_REG_TAP_VAL(val)   (((val) & 0x1) << 1)
828 #define LTQ_ES_ARP_REG_TAP_GET(val)   ((((val) & LTQ_ES_ARP_REG_TAP) >> 1) & 0x1)
829 #define LTQ_ES_ARP_REG_TAP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TAP) | (((val) & 0x1) << 1))
830 /* Trap RARP Packet (0) */
831 #define LTQ_ES_ARP_REG_TRP   (0x1)
832 #define LTQ_ES_ARP_REG_TRP_VAL(val)   (((val) & 0x1) << 0)
833 #define LTQ_ES_ARP_REG_TRP_GET(val)   ((((val) & LTQ_ES_ARP_REG_TRP) >> 0) & 0x1)
834 #define LTQ_ES_ARP_REG_TRP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TRP) | (((val) & 0x1) << 0))
835
836 /*******************************************************************************
837  * Storm control Register
838  ******************************************************************************/
839
840 /* Reserved (31:29) */
841 #define LTQ_ES_STRM_CTL_REG_RES   (0x7 << 29)
842 #define LTQ_ES_STRM_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_RES) >> 29) & 0x7)
843 /* 10M Threshold (28:16) */
844 #define LTQ_ES_STRM_CTL_REG_STORM_10_TH   (0x1fff << 16)
845 #define LTQ_ES_STRM_CTL_REG_STORM_10_TH_VAL(val)   (((val) & 0x1fff) << 16)
846 #define LTQ_ES_STRM_CTL_REG_STORM_10_TH_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_10_TH) >> 16) & 0x1fff)
847 #define LTQ_ES_STRM_CTL_REG_STORM_10_TH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_10_TH) | (((val) & 0x1fff) << 16))
848 /* Storm Enable for Broadcast Packets (15) */
849 #define LTQ_ES_STRM_CTL_REG_STORM_B   (0x1 << 15)
850 #define LTQ_ES_STRM_CTL_REG_STORM_B_VAL(val)   (((val) & 0x1) << 15)
851 #define LTQ_ES_STRM_CTL_REG_STORM_B_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_B) >> 15) & 0x1)
852 #define LTQ_ES_STRM_CTL_REG_STORM_B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_B) | (((val) & 0x1) << 15))
853 /* Storm Enable for Multicast Packets (14) */
854 #define LTQ_ES_STRM_CTL_REG_STORM_M   (0x1 << 14)
855 #define LTQ_ES_STRM_CTL_REG_STORM_M_VAL(val)   (((val) & 0x1) << 14)
856 #define LTQ_ES_STRM_CTL_REG_STORM_M_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_M) >> 14) & 0x1)
857 #define LTQ_ES_STRM_CTL_REG_STORM_M_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_M) | (((val) & 0x1) << 14))
858 /* Storm Enable for Un-learned Unicast Packets (13) */
859 #define LTQ_ES_STRM_CTL_REG_STORM_U   (0x1 << 13)
860 #define LTQ_ES_STRM_CTL_REG_STORM_U_VAL(val)   (((val) & 0x1) << 13)
861 #define LTQ_ES_STRM_CTL_REG_STORM_U_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_U) >> 13) & 0x1)
862 #define LTQ_ES_STRM_CTL_REG_STORM_U_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_U) | (((val) & 0x1) << 13))
863 /* 100M Threshold (12:0) */
864 #define LTQ_ES_STRM_CTL_REG_STORM_100_TH   (0x1fff)
865 #define LTQ_ES_STRM_CTL_REG_STORM_100_TH_VAL(val)   (((val) & 0x1fff) << 0)
866 #define LTQ_ES_STRM_CTL_REG_STORM_100_TH_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_100_TH) >> 0) & 0x1fff)
867 #define LTQ_ES_STRM_CTL_REG_STORM_100_TH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_100_TH) | (((val) & 0x1fff) << 0))
868
869 /*******************************************************************************
870  * RGMII/GMII Port Control Register
871  ******************************************************************************/
872
873 /* Management Clock Select (31:24) */
874 #define LTQ_ES_RGMII_CTL_REG_MCS   (0xff << 24)
875 #define LTQ_ES_RGMII_CTL_REG_MCS_VAL(val)   (((val) & 0xff) << 24)
876 #define LTQ_ES_RGMII_CTL_REG_MCS_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_MCS) >> 24) & 0xff)
877 #define LTQ_ES_RGMII_CTL_REG_MCS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_MCS) | (((val) & 0xff) << 24))
878 /* Interface Selection (19:18) */
879 #define LTQ_ES_RGMII_CTL_REG_IS   (0x3 << 18)
880 #define LTQ_ES_RGMII_CTL_REG_IS_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_IS) >> 18) & 0x3)
881 /* Port 1 RGMII Rx Clock Delay (17:16) */
882 #define LTQ_ES_RGMII_CTL_REG_P1RDLY   (0x3 << 16)
883 #define LTQ_ES_RGMII_CTL_REG_P1RDLY_VAL(val)   (((val) & 0x3) << 16)
884 #define LTQ_ES_RGMII_CTL_REG_P1RDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1RDLY) >> 16) & 0x3)
885 #define LTQ_ES_RGMII_CTL_REG_P1RDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1RDLY) | (((val) & 0x3) << 16))
886 /* Port 1 RGMII Tx Clock Delay (15:14) */
887 #define LTQ_ES_RGMII_CTL_REG_P1TDLY   (0x3 << 14)
888 #define LTQ_ES_RGMII_CTL_REG_P1TDLY_VAL(val)   (((val) & 0x3) << 14)
889 #define LTQ_ES_RGMII_CTL_REG_P1TDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1TDLY) >> 14) & 0x3)
890 #define LTQ_ES_RGMII_CTL_REG_P1TDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1TDLY) | (((val) & 0x3) << 14))
891 /* Port 1 Speed (13:12) */
892 #define LTQ_ES_RGMII_CTL_REG_P1SPD   (0x3 << 12)
893 #define LTQ_ES_RGMII_CTL_REG_P1SPD_VAL(val)   (((val) & 0x3) << 12)
894 #define LTQ_ES_RGMII_CTL_REG_P1SPD_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1SPD) >> 12) & 0x3)
895 #define LTQ_ES_RGMII_CTL_REG_P1SPD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1SPD) | (((val) & 0x3) << 12))
896 /* Port 1 Duplex mode (11) */
897 #define LTQ_ES_RGMII_CTL_REG_P1DUP   (0x1 << 11)
898 #define LTQ_ES_RGMII_CTL_REG_P1DUP_VAL(val)   (((val) & 0x1) << 11)
899 #define LTQ_ES_RGMII_CTL_REG_P1DUP_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1DUP) >> 11) & 0x1)
900 #define LTQ_ES_RGMII_CTL_REG_P1DUP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1DUP) | (((val) & 0x1) << 11))
901 /* Port 1 Flow Control Enable (10) */
902 #define LTQ_ES_RGMII_CTL_REG_P1FCE   (0x1 << 10)
903 #define LTQ_ES_RGMII_CTL_REG_P1FCE_VAL(val)   (((val) & 0x1) << 10)
904 #define LTQ_ES_RGMII_CTL_REG_P1FCE_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1FCE) >> 10) & 0x1)
905 #define LTQ_ES_RGMII_CTL_REG_P1FCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1FCE) | (((val) & 0x1) << 10))
906 /* Port 0 RGMII Rx Clock Delay (7:6) */
907 #define LTQ_ES_RGMII_CTL_REG_P0RDLY   (0x3 << 6)
908 #define LTQ_ES_RGMII_CTL_REG_P0RDLY_VAL(val)   (((val) & 0x3) << 6)
909 #define LTQ_ES_RGMII_CTL_REG_P0RDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0RDLY) >> 6) & 0x3)
910 #define LTQ_ES_RGMII_CTL_REG_P0RDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0RDLY) | (((val) & 0x3) << 6))
911 /* Port 0 RGMII Tx Clock Delay (5:4) */
912 #define LTQ_ES_RGMII_CTL_REG_P0TDLY   (0x3 << 4)
913 #define LTQ_ES_RGMII_CTL_REG_P0TDLY_VAL(val)   (((val) & 0x3) << 4)
914 #define LTQ_ES_RGMII_CTL_REG_P0TDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0TDLY) >> 4) & 0x3)
915 #define LTQ_ES_RGMII_CTL_REG_P0TDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0TDLY) | (((val) & 0x3) << 4))
916 /* Port 0 Speed (3:2) */
917 #define LTQ_ES_RGMII_CTL_REG_P0SPD   (0x3 << 2)
918 #define LTQ_ES_RGMII_CTL_REG_P0SPD_VAL(val)   (((val) & 0x3) << 2)
919 #define LTQ_ES_RGMII_CTL_REG_P0SPD_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0SPD) >> 2) & 0x3)
920 #define LTQ_ES_RGMII_CTL_REG_P0SPD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0SPD) | (((val) & 0x3) << 2))
921 /* Port 0 Duplex mode (1) */
922 #define LTQ_ES_RGMII_CTL_REG_P0DUP   (0x1 << 1)
923 #define LTQ_ES_RGMII_CTL_REG_P0DUP_VAL(val)   (((val) & 0x1) << 1)
924 #define LTQ_ES_RGMII_CTL_REG_P0DUP_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0DUP) >> 1) & 0x1)
925 #define LTQ_ES_RGMII_CTL_REG_P0DUP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0DUP) | (((val) & 0x1) << 1))
926 /* Port 0 Flow Control Enable (0) */
927 #define LTQ_ES_RGMII_CTL_REG_P0FCE   (0x1)
928 #define LTQ_ES_RGMII_CTL_REG_P0FCE_VAL(val)   (((val) & 0x1) << 0)
929 #define LTQ_ES_RGMII_CTL_REG_P0FCE_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0FCE) >> 0) & 0x1)
930 #define LTQ_ES_RGMII_CTL_REG_P0FCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0FCE) | (((val) & 0x1) << 0))
931
932 /*******************************************************************************
933  * 802.1p Priority Map Register
934  ******************************************************************************/
935
936 /* Priority Queue 7 (15:14) */
937 #define LTQ_ES_PRT_1P_REG_1PPQ7   (0x3 << 14)
938 #define LTQ_ES_PRT_1P_REG_1PPQ7_VAL(val)   (((val) & 0x3) << 14)
939 #define LTQ_ES_PRT_1P_REG_1PPQ7_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ7) >> 14) & 0x3)
940 #define LTQ_ES_PRT_1P_REG_1PPQ7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ7) | (((val) & 0x3) << 14))
941 /* Priority Queue 6 (13:12) */
942 #define LTQ_ES_PRT_1P_REG_1PPQ6   (0x3 << 12)
943 #define LTQ_ES_PRT_1P_REG_1PPQ6_VAL(val)   (((val) & 0x3) << 12)
944 #define LTQ_ES_PRT_1P_REG_1PPQ6_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ6) >> 12) & 0x3)
945 #define LTQ_ES_PRT_1P_REG_1PPQ6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ6) | (((val) & 0x3) << 12))
946 /* Priority Queue 5 (11:10) */
947 #define LTQ_ES_PRT_1P_REG_1PPQ5   (0x3 << 10)
948 #define LTQ_ES_PRT_1P_REG_1PPQ5_VAL(val)   (((val) & 0x3) << 10)
949 #define LTQ_ES_PRT_1P_REG_1PPQ5_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ5) >> 10) & 0x3)
950 #define LTQ_ES_PRT_1P_REG_1PPQ5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ5) | (((val) & 0x3) << 10))
951 /* Priority Queue 4 (9:8) */
952 #define LTQ_ES_PRT_1P_REG_1PPQ4   (0x3 << 8)
953 #define LTQ_ES_PRT_1P_REG_1PPQ4_VAL(val)   (((val) & 0x3) << 8)
954 #define LTQ_ES_PRT_1P_REG_1PPQ4_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ4) >> 8) & 0x3)
955 #define LTQ_ES_PRT_1P_REG_1PPQ4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ4) | (((val) & 0x3) << 8))
956 /* Priority Queue 3 (7:6) */
957 #define LTQ_ES_PRT_1P_REG_1PPQ3   (0x3 << 6)
958 #define LTQ_ES_PRT_1P_REG_1PPQ3_VAL(val)   (((val) & 0x3) << 6)
959 #define LTQ_ES_PRT_1P_REG_1PPQ3_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ3) >> 6) & 0x3)
960 #define LTQ_ES_PRT_1P_REG_1PPQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ3) | (((val) & 0x3) << 6))
961 /* Priority Queue 2 (5:4) */
962 #define LTQ_ES_PRT_1P_REG_1PPQ2   (0x3 << 4)
963 #define LTQ_ES_PRT_1P_REG_1PPQ2_VAL(val)   (((val) & 0x3) << 4)
964 #define LTQ_ES_PRT_1P_REG_1PPQ2_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ2) >> 4) & 0x3)
965 #define LTQ_ES_PRT_1P_REG_1PPQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ2) | (((val) & 0x3) << 4))
966 /* Priority Queue 1 (3:2) */
967 #define LTQ_ES_PRT_1P_REG_1PPQ1   (0x3 << 2)
968 #define LTQ_ES_PRT_1P_REG_1PPQ1_VAL(val)   (((val) & 0x3) << 2)
969 #define LTQ_ES_PRT_1P_REG_1PPQ1_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ1) >> 2) & 0x3)
970 #define LTQ_ES_PRT_1P_REG_1PPQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ1) | (((val) & 0x3) << 2))
971 /* Priority Queue 0 (1:0) */
972 #define LTQ_ES_PRT_1P_REG_1PPQ0   (0x3)
973 #define LTQ_ES_PRT_1P_REG_1PPQ0_VAL(val)   (((val) & 0x3) << 0)
974 #define LTQ_ES_PRT_1P_REG_1PPQ0_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ0) >> 0) & 0x3)
975 #define LTQ_ES_PRT_1P_REG_1PPQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ0) | (((val) & 0x3) << 0))
976
977 /*******************************************************************************
978  * Global Bucket Size Base counter
979  ******************************************************************************/
980
981 /* Reserved (31:18) */
982 #define LTQ_ES_GBKT_SZBS_REG_REV   (0x3fff << 18)
983 #define LTQ_ES_GBKT_SZBS_REG_REV_GET(val)   ((((val) & LTQ_ES_GBKT_SZBS_REG_REV) >> 18) & 0x3fff)
984 /* Base[17:0] (17:0) */
985 #define LTQ_ES_GBKT_SZBS_REG_BASE17_0   (0x3ffff)
986 #define LTQ_ES_GBKT_SZBS_REG_BASE17_0_VAL(val)   (((val) & 0x3ffff) << 0)
987 #define LTQ_ES_GBKT_SZBS_REG_BASE17_0_GET(val)   ((((val) & LTQ_ES_GBKT_SZBS_REG_BASE17_0) >> 0) & 0x3ffff)
988 #define LTQ_ES_GBKT_SZBS_REG_BASE17_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_GBKT_SZBS_REG_BASE17_0) | (((val) & 0x3ffff) << 0))
989
990 /*******************************************************************************
991  * Global Bucket Size Extend Base Counter
992  ******************************************************************************/
993
994 /* Reserved (31:18) */
995 #define LTQ_ES_GBKT_SZEBS_REG_REV   (0x3fff << 18)
996 #define LTQ_ES_GBKT_SZEBS_REG_REV_GET(val)   ((((val) & LTQ_ES_GBKT_SZEBS_REG_REV) >> 18) & 0x3fff)
997 /* Extend Base[17:0] (17:0) */
998 #define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0   (0x3ffff)
999 #define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_VAL(val)   (((val) & 0x3ffff) << 0)
1000 #define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_GET(val)   ((((val) & LTQ_ES_GBKT_SZEBS_REG_EBASE17_0) >> 0) & 0x3ffff)
1001 #define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_GBKT_SZEBS_REG_EBASE17_0) | (((val) & 0x3ffff) << 0))
1002
1003 /*******************************************************************************
1004  * Buffer Threshold Register
1005  ******************************************************************************/
1006
1007 /* Port Unfull Offset 3 (31:30) */
1008 #define LTQ_ES_BF_TH_REG_PUO3   (0x3 << 30)
1009 #define LTQ_ES_BF_TH_REG_PUO3_VAL(val)   (((val) & 0x3) << 30)
1010 #define LTQ_ES_BF_TH_REG_PUO3_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO3) >> 30) & 0x3)
1011 #define LTQ_ES_BF_TH_REG_PUO3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO3) | (((val) & 0x3) << 30))
1012 /* Port Unfull Offset 2 (29:28) */
1013 #define LTQ_ES_BF_TH_REG_PUO2   (0x3 << 28)
1014 #define LTQ_ES_BF_TH_REG_PUO2_VAL(val)   (((val) & 0x3) << 28)
1015 #define LTQ_ES_BF_TH_REG_PUO2_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO2) >> 28) & 0x3)
1016 #define LTQ_ES_BF_TH_REG_PUO2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO2) | (((val) & 0x3) << 28))
1017 /* Port Unfull Offset 1 (27:26) */
1018 #define LTQ_ES_BF_TH_REG_PUO1   (0x3 << 26)
1019 #define LTQ_ES_BF_TH_REG_PUO1_VAL(val)   (((val) & 0x3) << 26)
1020 #define LTQ_ES_BF_TH_REG_PUO1_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO1) >> 26) & 0x3)
1021 #define LTQ_ES_BF_TH_REG_PUO1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO1) | (((val) & 0x3) << 26))
1022 /* Port Unfull Offset 0 (25:24) */
1023 #define LTQ_ES_BF_TH_REG_PUO0   (0x3 << 24)
1024 #define LTQ_ES_BF_TH_REG_PUO0_VAL(val)   (((val) & 0x3) << 24)
1025 #define LTQ_ES_BF_TH_REG_PUO0_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO0) >> 24) & 0x3)
1026 #define LTQ_ES_BF_TH_REG_PUO0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO0) | (((val) & 0x3) << 24))
1027 /* Port Full Offset 3 (23:22) */
1028 #define LTQ_ES_BF_TH_REG_PFO3   (0x3 << 22)
1029 #define LTQ_ES_BF_TH_REG_PFO3_VAL(val)   (((val) & 0x3) << 22)
1030 #define LTQ_ES_BF_TH_REG_PFO3_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO3) >> 22) & 0x3)
1031 #define LTQ_ES_BF_TH_REG_PFO3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO3) | (((val) & 0x3) << 22))
1032 /* Port Full Offset 2 (21:20) */
1033 #define LTQ_ES_BF_TH_REG_PFO2   (0x3 << 20)
1034 #define LTQ_ES_BF_TH_REG_PFO2_VAL(val)   (((val) & 0x3) << 20)
1035 #define LTQ_ES_BF_TH_REG_PFO2_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO2) >> 20) & 0x3)
1036 #define LTQ_ES_BF_TH_REG_PFO2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO2) | (((val) & 0x3) << 20))
1037 /* Port Full Offset 1 (19:18) */
1038 #define LTQ_ES_BF_TH_REG_PFO1   (0x3 << 18)
1039 #define LTQ_ES_BF_TH_REG_PFO1_VAL(val)   (((val) & 0x3) << 18)
1040 #define LTQ_ES_BF_TH_REG_PFO1_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO1) >> 18) & 0x3)
1041 #define LTQ_ES_BF_TH_REG_PFO1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO1) | (((val) & 0x3) << 18))
1042 /* Port Full Offset 0 (17:16) */
1043 #define LTQ_ES_BF_TH_REG_PFO0   (0x3 << 16)
1044 #define LTQ_ES_BF_TH_REG_PFO0_VAL(val)   (((val) & 0x3) << 16)
1045 #define LTQ_ES_BF_TH_REG_PFO0_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO0) >> 16) & 0x3)
1046 #define LTQ_ES_BF_TH_REG_PFO0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO0) | (((val) & 0x3) << 16))
1047 /* Reserved (15:14) */
1048 #define LTQ_ES_BF_TH_REG_RES   (0x3 << 14)
1049 #define LTQ_ES_BF_TH_REG_RES_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_RES) >> 14) & 0x3)
1050 /* Total Low Add (13) */
1051 #define LTQ_ES_BF_TH_REG_TLA   (0x1 << 13)
1052 #define LTQ_ES_BF_TH_REG_TLA_VAL(val)   (((val) & 0x1) << 13)
1053 #define LTQ_ES_BF_TH_REG_TLA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_TLA) >> 13) & 0x1)
1054 #define LTQ_ES_BF_TH_REG_TLA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_TLA) | (((val) & 0x1) << 13))
1055 /* Total High Add (12) */
1056 #define LTQ_ES_BF_TH_REG_THA   (0x1 << 12)
1057 #define LTQ_ES_BF_TH_REG_THA_VAL(val)   (((val) & 0x1) << 12)
1058 #define LTQ_ES_BF_TH_REG_THA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_THA) >> 12) & 0x1)
1059 #define LTQ_ES_BF_TH_REG_THA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_THA) | (((val) & 0x1) << 12))
1060 /* Total Low Offset (11:10) */
1061 #define LTQ_ES_BF_TH_REG_TLO   (0x3 << 10)
1062 #define LTQ_ES_BF_TH_REG_TLO_VAL(val)   (((val) & 0x3) << 10)
1063 #define LTQ_ES_BF_TH_REG_TLO_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_TLO) >> 10) & 0x3)
1064 #define LTQ_ES_BF_TH_REG_TLO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_TLO) | (((val) & 0x3) << 10))
1065 /* Total High Offset (9:8) */
1066 #define LTQ_ES_BF_TH_REG_THO   (0x3 << 8)
1067 #define LTQ_ES_BF_TH_REG_THO_VAL(val)   (((val) & 0x3) << 8)
1068 #define LTQ_ES_BF_TH_REG_THO_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_THO) >> 8) & 0x3)
1069 #define LTQ_ES_BF_TH_REG_THO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_THO) | (((val) & 0x3) << 8))
1070 /* Port Unfull Add (7:4) */
1071 #define LTQ_ES_BF_TH_REG_PUA   (0xf << 4)
1072 #define LTQ_ES_BF_TH_REG_PUA_VAL(val)   (((val) & 0xf) << 4)
1073 #define LTQ_ES_BF_TH_REG_PUA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUA) >> 4) & 0xf)
1074 #define LTQ_ES_BF_TH_REG_PUA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUA) | (((val) & 0xf) << 4))
1075 /* Port Full Add (3:0) */
1076 #define LTQ_ES_BF_TH_REG_PFA   (0xf)
1077 #define LTQ_ES_BF_TH_REG_PFA_VAL(val)   (((val) & 0xf) << 0)
1078 #define LTQ_ES_BF_TH_REG_PFA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFA) >> 0) & 0xf)
1079 #define LTQ_ES_BF_TH_REG_PFA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFA) | (((val) & 0xf) << 0))
1080
1081 /*******************************************************************************
1082  * PMAC Header Control Register
1083  ******************************************************************************/
1084
1085 /* Reserved (31:22) */
1086 #define LTQ_ES_PMAC_HD_CTL_RES   (0x3ff << 22)
1087 #define LTQ_ES_PMAC_HD_CTL_RES_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RES) >> 22) & 0x3ff)
1088 /* Remove Layer-2 Header from Packets Going from PMAC to DMA (21) */
1089 #define LTQ_ES_PMAC_HD_CTL_RL2   (0x1 << 21)
1090 #define LTQ_ES_PMAC_HD_CTL_RL2_VAL(val)   (((val) & 0x1) << 21)
1091 #define LTQ_ES_PMAC_HD_CTL_RL2_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RL2) >> 21) & 0x1)
1092 #define LTQ_ES_PMAC_HD_CTL_RL2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_RL2) | (((val) & 0x1) << 21))
1093 /* Remove CRC from Packets Going from PMAC to DMA (20) */
1094 #define LTQ_ES_PMAC_HD_CTL_RC   (0x1 << 20)
1095 #define LTQ_ES_PMAC_HD_CTL_RC_VAL(val)   (((val) & 0x1) << 20)
1096 #define LTQ_ES_PMAC_HD_CTL_RC_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RC) >> 20) & 0x1)
1097 #define LTQ_ES_PMAC_HD_CTL_RC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_RC) | (((val) & 0x1) << 20))
1098 /* Status Header for Packets from PMAC to DMA (19) */
1099 #define LTQ_ES_PMAC_HD_CTL_AS   (0x1 << 19)
1100 #define LTQ_ES_PMAC_HD_CTL_AS_VAL(val)   (((val) & 0x1) << 19)
1101 #define LTQ_ES_PMAC_HD_CTL_AS_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_AS) >> 19) & 0x1)
1102 #define LTQ_ES_PMAC_HD_CTL_AS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_AS) | (((val) & 0x1) << 19))
1103 /* Add CRC for packets from DMA to PMAC (18) */
1104 #define LTQ_ES_PMAC_HD_CTL_AC   (0x1 << 18)
1105 #define LTQ_ES_PMAC_HD_CTL_AC_VAL(val)   (((val) & 0x1) << 18)
1106 #define LTQ_ES_PMAC_HD_CTL_AC_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_AC) >> 18) & 0x1)
1107 #define LTQ_ES_PMAC_HD_CTL_AC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_AC) | (((val) & 0x1) << 18))
1108 /* Contains the length/type value to the added to packets from DMA to PMAC (17:2) */
1109 #define LTQ_ES_PMAC_HD_CTL_TYPE_LEN   (0xffff << 2)
1110 #define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_VAL(val)   (((val) & 0xffff) << 2)
1111 #define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_TYPE_LEN) >> 2) & 0xffff)
1112 #define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_TYPE_LEN) | (((val) & 0xffff) << 2))
1113 /* Add TAG to Packets from DMA to PMAC (1) */
1114 #define LTQ_ES_PMAC_HD_CTL_TAG   (0x1 << 1)
1115 #define LTQ_ES_PMAC_HD_CTL_TAG_VAL(val)   (((val) & 0x1) << 1)
1116 #define LTQ_ES_PMAC_HD_CTL_TAG_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_TAG) >> 1) & 0x1)
1117 #define LTQ_ES_PMAC_HD_CTL_TAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_TAG) | (((val) & 0x1) << 1))
1118 /* ADD Header to Packets from DMA to PMAC (0) */
1119 #define LTQ_ES_PMAC_HD_CTL_ADD   (0x1)
1120 #define LTQ_ES_PMAC_HD_CTL_ADD_VAL(val)   (((val) & 0x1) << 0)
1121 #define LTQ_ES_PMAC_HD_CTL_ADD_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_ADD) >> 0) & 0x1)
1122 #define LTQ_ES_PMAC_HD_CTL_ADD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_ADD) | (((val) & 0x1) << 0))
1123
1124 /*******************************************************************************
1125  * PMAC Source Address Register 1
1126  ******************************************************************************/
1127
1128 /* Source Address to be inserted as a part of the Ethernet header. (15:0) */
1129 #define LTQ_ES_PMAC_SA1_SA_47_32   (0xffff)
1130 #define LTQ_ES_PMAC_SA1_SA_47_32_VAL(val)   (((val) & 0xffff) << 0)
1131 #define LTQ_ES_PMAC_SA1_SA_47_32_GET(val)   ((((val) & LTQ_ES_PMAC_SA1_SA_47_32) >> 0) & 0xffff)
1132 #define LTQ_ES_PMAC_SA1_SA_47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_SA1_SA_47_32) | (((val) & 0xffff) << 0))
1133
1134 /*******************************************************************************
1135  * PMAC Source Address Register 2
1136  ******************************************************************************/
1137
1138 /* Source Address (31:0) */
1139 #define LTQ_ES_PMAC_SA2_SA_31_0   (0xFFFFFFFFL)
1140 #define LTQ_ES_PMAC_SA2_SA_31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1141 #define LTQ_ES_PMAC_SA2_SA_31_0_GET(val)   ((((val) & LTQ_ES_PMAC_SA2_SA_31_0) >> 0) & 0xFFFFFFFFL)
1142 #define LTQ_ES_PMAC_SA2_SA_31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_SA2_SA_31_0) | (((val) & 0xFFFFFFFFL) << 0))
1143
1144 /*******************************************************************************
1145  * PMAC Destination Address Register 1
1146  ******************************************************************************/
1147
1148 /* Destination Address (15:0) */
1149 #define LTQ_ES_PMAC_DA1_DA_47_32   (0xffff)
1150 #define LTQ_ES_PMAC_DA1_DA_47_32_VAL(val)   (((val) & 0xffff) << 0)
1151 #define LTQ_ES_PMAC_DA1_DA_47_32_GET(val)   ((((val) & LTQ_ES_PMAC_DA1_DA_47_32) >> 0) & 0xffff)
1152 #define LTQ_ES_PMAC_DA1_DA_47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_DA1_DA_47_32) | (((val) & 0xffff) << 0))
1153
1154 /*******************************************************************************
1155  * PMAC Destination Address Register 2
1156  ******************************************************************************/
1157
1158 /* Destination Address to be inserted as a part of the Ethernet header. (31:0) */
1159 #define LTQ_ES_PMAC_DA2_DA_31_0   (0xFFFFFFFFL)
1160 #define LTQ_ES_PMAC_DA2_DA_31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1161 #define LTQ_ES_PMAC_DA2_DA_31_0_GET(val)   ((((val) & LTQ_ES_PMAC_DA2_DA_31_0) >> 0) & 0xFFFFFFFFL)
1162 #define LTQ_ES_PMAC_DA2_DA_31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_DA2_DA_31_0) | (((val) & 0xFFFFFFFFL) << 0))
1163
1164 /*******************************************************************************
1165  * PMAC VLAN Register
1166  ******************************************************************************/
1167
1168 /* Priority to be inserted as a part of VLAN tag (15:13) */
1169 #define LTQ_ES_PMAC_VLAN_PRI   (0x7 << 13)
1170 #define LTQ_ES_PMAC_VLAN_PRI_VAL(val)   (((val) & 0x7) << 13)
1171 #define LTQ_ES_PMAC_VLAN_PRI_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_PRI) >> 13) & 0x7)
1172 #define LTQ_ES_PMAC_VLAN_PRI_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_PRI) | (((val) & 0x7) << 13))
1173 /* CFI bit to be inserted as a part of VLAN tag (12) */
1174 #define LTQ_ES_PMAC_VLAN_CFI   (0x1 << 12)
1175 #define LTQ_ES_PMAC_VLAN_CFI_VAL(val)   (((val) & 0x1) << 12)
1176 #define LTQ_ES_PMAC_VLAN_CFI_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_CFI) >> 12) & 0x1)
1177 #define LTQ_ES_PMAC_VLAN_CFI_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_CFI) | (((val) & 0x1) << 12))
1178 /* VLAN ID to be inserted as a part of VLAN tag (11:0) */
1179 #define LTQ_ES_PMAC_VLAN_VLAN_ID   (0xfff)
1180 #define LTQ_ES_PMAC_VLAN_VLAN_ID_VAL(val)   (((val) & 0xfff) << 0)
1181 #define LTQ_ES_PMAC_VLAN_VLAN_ID_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_VLAN_ID) >> 0) & 0xfff)
1182 #define LTQ_ES_PMAC_VLAN_VLAN_ID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_VLAN ID) | (((val) & 0xfff) << 0))
1183
1184 /*******************************************************************************
1185  * PMAC TX IPG Counter Register
1186  ******************************************************************************/
1187
1188 /* IPG Counter (7:0) */
1189 #define LTQ_ES_PMAC_TX_IPG_IPG_CNT   (0xff)
1190 #define LTQ_ES_PMAC_TX_IPG_IPG_CNT_VAL(val)   (((val) & 0xff) << 0)
1191 #define LTQ_ES_PMAC_TX_IPG_IPG_CNT_GET(val)   ((((val) & LTQ_ES_PMAC_TX_IPG_IPG_CNT) >> 0) & 0xff)
1192 #define LTQ_ES_PMAC_TX_IPG_IPG_CNT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_TX_IPG_IPG_CNT) | (((val) & 0xff) << 0))
1193
1194 /*******************************************************************************
1195  * PMAC RX IPG Counter Register
1196  ******************************************************************************/
1197
1198 /* IPG Counter (7:0) */
1199 #define LTQ_ES_PMAC_RX_IPG_IPG_CNT   (0xff)
1200 #define LTQ_ES_PMAC_RX_IPG_IPG_CNT_VAL(val)   (((val) & 0xff) << 0)
1201 #define LTQ_ES_PMAC_RX_IPG_IPG_CNT_GET(val)   ((((val) & LTQ_ES_PMAC_RX_IPG_IPG_CNT) >> 0) & 0xff)
1202 #define LTQ_ES_PMAC_RX_IPG_IPG_CNT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_RX_IPG_IPG_CNT) | (((val) & 0xff) << 0))
1203
1204 /*******************************************************************************
1205  * Address Table Control 0 Register
1206  ******************************************************************************/
1207
1208 /* Address [31:0] (31:0) */
1209 #define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0   (0xFFFFFFFFL)
1210 #define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1211 #define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0) >> 0) & 0xFFFFFFFFL)
1212 #define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0) | (((val) & 0xFFFFFFFFL) << 0))
1213
1214 /*******************************************************************************
1215  * Address Table Control 1 Register
1216  ******************************************************************************/
1217
1218 /* Port Map (22:20) */
1219 #define LTQ_ES_ADR_TB_CTL1_REG_PMAP   (0x7 << 20)
1220 #define LTQ_ES_ADR_TB_CTL1_REG_PMAP_VAL(val)   (((val) & 0x7) << 20)
1221 #define LTQ_ES_ADR_TB_CTL1_REG_PMAP_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_PMAP) >> 20) & 0x7)
1222 #define LTQ_ES_ADR_TB_CTL1_REG_PMAP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_PMAP) | (((val) & 0x7) << 20))
1223 /* FID group (17:16) */
1224 #define LTQ_ES_ADR_TB_CTL1_REG_FID   (0x3 << 16)
1225 #define LTQ_ES_ADR_TB_CTL1_REG_FID_VAL(val)   (((val) & 0x3) << 16)
1226 #define LTQ_ES_ADR_TB_CTL1_REG_FID_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_FID) >> 16) & 0x3)
1227 #define LTQ_ES_ADR_TB_CTL1_REG_FID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_FID) | (((val) & 0x3) << 16))
1228 /* Address [47:32] (15:0) */
1229 #define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32   (0xffff)
1230 #define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_VAL(val)   (((val) & 0xffff) << 0)
1231 #define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32) >> 0) & 0xffff)
1232 #define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32) | (((val) & 0xffff) << 0))
1233
1234 /*******************************************************************************
1235  * Address Table Control 2 Register
1236  ******************************************************************************/
1237
1238 /* Command (22:20) */
1239 #define LTQ_ES_ADR_TB_CTL2_REG_CMD   (0x7 << 20)
1240 #define LTQ_ES_ADR_TB_CTL2_REG_CMD_VAL(val)   (((val) & 0x7) << 20)
1241 #define LTQ_ES_ADR_TB_CTL2_REG_CMD_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_CMD) >> 20) & 0x7)
1242 #define LTQ_ES_ADR_TB_CTL2_REG_CMD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_CMD) | (((val) & 0x7) << 20))
1243 /* Access Control (19:16) */
1244 #define LTQ_ES_ADR_TB_CTL2_REG_AC   (0xf << 16)
1245 #define LTQ_ES_ADR_TB_CTL2_REG_AC_VAL(val)   (((val) & 0xf) << 16)
1246 #define LTQ_ES_ADR_TB_CTL2_REG_AC_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_AC) >> 16) & 0xf)
1247 #define LTQ_ES_ADR_TB_CTL2_REG_AC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_AC) | (((val) & 0xf) << 16))
1248 /* Info Type: Static address (12) */
1249 #define LTQ_ES_ADR_TB_CTL2_REG_INFOT   (0x1 << 12)
1250 #define LTQ_ES_ADR_TB_CTL2_REG_INFOT_VAL(val)   (((val) & 0x1) << 12)
1251 #define LTQ_ES_ADR_TB_CTL2_REG_INFOT_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_INFOT) >> 12) & 0x1)
1252 #define LTQ_ES_ADR_TB_CTL2_REG_INFOT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_INFOT) | (((val) & 0x1) << 12))
1253 /* Info_Ctrl/Age Timer (10:0) */
1254 #define LTQ_ES_ADR_TB_CTL2_REG_ITAT   (0x7ff)
1255 #define LTQ_ES_ADR_TB_CTL2_REG_ITAT_VAL(val)   (((val) & 0x7ff) << 0)
1256 #define LTQ_ES_ADR_TB_CTL2_REG_ITAT_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_ITAT) >> 0) & 0x7ff)
1257 #define LTQ_ES_ADR_TB_CTL2_REG_ITAT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_ITAT) | (((val) & 0x7ff) << 0))
1258
1259 /*******************************************************************************
1260  * Address Table Status 0 Register
1261  ******************************************************************************/
1262
1263 /* Address [31:0] (31:0) */
1264 #define LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0   (0xFFFFFFFFL)
1265 #define LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0) >> 0) & 0xFFFFFFFFL)
1266
1267 /*******************************************************************************
1268  * Address Table Status 1 Register
1269  ******************************************************************************/
1270
1271 /* Port Map (22:20) */
1272 #define LTQ_ES_ADR_TB_ST1_REG_PMAPS   (0x7 << 20)
1273 #define LTQ_ES_ADR_TB_ST1_REG_PMAPS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_PMAPS) >> 20) & 0x7)
1274 /* FID group (17:16) */
1275 #define LTQ_ES_ADR_TB_ST1_REG_FIDS   (0x3 << 16)
1276 #define LTQ_ES_ADR_TB_ST1_REG_FIDS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_FIDS) >> 16) & 0x3)
1277 /* Address [47:32] (15:0) */
1278 #define LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32   (0xffff)
1279 #define LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32) >> 0) & 0xffff)
1280
1281 /*******************************************************************************
1282  * Address Table Status 2 Register
1283  ******************************************************************************/
1284
1285 /* Busy (31) */
1286 #define LTQ_ES_ADR_TB_ST2_REG_BUSY   (0x1 << 31)
1287 #define LTQ_ES_ADR_TB_ST2_REG_BUSY_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_BUSY) >> 31) & 0x1)
1288 /* Result (30:28) */
1289 #define LTQ_ES_ADR_TB_ST2_REG_RSLT   (0x7 << 28)
1290 #define LTQ_ES_ADR_TB_ST2_REG_RSLT_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_RSLT) >> 28) & 0x7)
1291 /* Command (22:20) */
1292 #define LTQ_ES_ADR_TB_ST2_REG_CMD   (0x7 << 20)
1293 #define LTQ_ES_ADR_TB_ST2_REG_CMD_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_CMD) >> 20) & 0x7)
1294 /* Access Control (19:16) */
1295 #define LTQ_ES_ADR_TB_ST2_REG_AC   (0xf << 16)
1296 #define LTQ_ES_ADR_TB_ST2_REG_AC_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_AC) >> 16) & 0xf)
1297 /* Bad Status (14) */
1298 #define LTQ_ES_ADR_TB_ST2_REG_BAD   (0x1 << 14)
1299 #define LTQ_ES_ADR_TB_ST2_REG_BAD_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_BAD) >> 14) & 0x1)
1300 /* Occupy (13) */
1301 #define LTQ_ES_ADR_TB_ST2_REG_OCP   (0x1 << 13)
1302 #define LTQ_ES_ADR_TB_ST2_REG_OCP_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_OCP) >> 13) & 0x1)
1303 /* Info Type: Static address (12) */
1304 #define LTQ_ES_ADR_TB_ST2_REG_INFOTS   (0x1 << 12)
1305 #define LTQ_ES_ADR_TB_ST2_REG_INFOTS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_INFOTS) >> 12) & 0x1)
1306 /* Info_Ctrl/Age Timer Status (10:0) */
1307 #define LTQ_ES_ADR_TB_ST2_REG_ITATS   (0x7ff)
1308 #define LTQ_ES_ADR_TB_ST2_REG_ITATS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_ITATS) >> 0) & 0x7ff)
1309
1310 /*******************************************************************************
1311  * RMON Counter Control Register
1312  ******************************************************************************/
1313
1314 /* Reserved (31:12) */
1315 #define LTQ_ES_RMON_CTL_REG_RES   (0xfffff << 12)
1316 #define LTQ_ES_RMON_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_RES) >> 12) & 0xfffff)
1317 /* Busy/Access Start (11) */
1318 #define LTQ_ES_RMON_CTL_REG_BAS   (0x1 << 11)
1319 #define LTQ_ES_RMON_CTL_REG_BAS_VAL(val)   (((val) & 0x1) << 11)
1320 #define LTQ_ES_RMON_CTL_REG_BAS_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_BAS) >> 11) & 0x1)
1321 #define LTQ_ES_RMON_CTL_REG_BAS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_BAS) | (((val) & 0x1) << 11))
1322 /* Command for access counter (10:9) */
1323 #define LTQ_ES_RMON_CTL_REG_CAC   (0x3 << 9)
1324 #define LTQ_ES_RMON_CTL_REG_CAC_VAL(val)   (((val) & 0x3) << 9)
1325 #define LTQ_ES_RMON_CTL_REG_CAC_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_CAC) >> 9) & 0x3)
1326 #define LTQ_ES_RMON_CTL_REG_CAC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_CAC) | (((val) & 0x3) << 9))
1327 /* Port (8:6) */
1328 #define LTQ_ES_RMON_CTL_REG_PORTC   (0x7 << 6)
1329 #define LTQ_ES_RMON_CTL_REG_PORTC_VAL(val)   (((val) & 0x7) << 6)
1330 #define LTQ_ES_RMON_CTL_REG_PORTC_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_PORTC) >> 6) & 0x7)
1331 #define LTQ_ES_RMON_CTL_REG_PORTC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_PORTC) | (((val) & 0x7) << 6))
1332 /* Counter Offset (5:0) */
1333 #define LTQ_ES_RMON_CTL_REG_OFFSET   (0x3f)
1334 #define LTQ_ES_RMON_CTL_REG_OFFSET_VAL(val)   (((val) & 0x3f) << 0)
1335 #define LTQ_ES_RMON_CTL_REG_OFFSET_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_OFFSET) >> 0) & 0x3f)
1336 #define LTQ_ES_RMON_CTL_REG_OFFSET_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_OFFSET) | (((val) & 0x3f) << 0))
1337
1338 /*******************************************************************************
1339  * RMON Counter Status Register
1340  ******************************************************************************/
1341
1342 /* Counter [31:0] or Counter[63:32] for byte count (31:0) */
1343 #define LTQ_ES_RMON_ST_REG_COUNTER   (0xFFFFFFFFL)
1344 #define LTQ_ES_RMON_ST_REG_COUNTER_GET(val)   ((((val) & LTQ_ES_RMON_ST_REG_COUNTER) >> 0) & 0xFFFFFFFFL)
1345
1346 /*******************************************************************************
1347  * MDIO Indirect Access Control
1348  ******************************************************************************/
1349
1350 /* The Write Data to the MDIO register (31:16) */
1351 #define LTQ_ES_MDIO_CTL_REG_WD   (0xffff << 16)
1352 #define LTQ_ES_MDIO_CTL_REG_WD_VAL(val)   (((val) & 0xffff) << 16)
1353 #define LTQ_ES_MDIO_CTL_REG_WD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_WD) >> 16) & 0xffff)
1354 #define LTQ_ES_MDIO_CTL_REG_WD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_WD) | (((val) & 0xffff) << 16))
1355 /* Busy state (15) */
1356 #define LTQ_ES_MDIO_CTL_REG_MBUSY   (0x1 << 15)
1357 #define LTQ_ES_MDIO_CTL_REG_MBUSY_VAL(val)   (((val) & 0x1) << 15)
1358 #define LTQ_ES_MDIO_CTL_REG_MBUSY_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_MBUSY) >> 15) & 0x1)
1359 #define LTQ_ES_MDIO_CTL_REG_MBUSY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_MBUSY) | (((val) & 0x1) << 15))
1360 /* Reserved (14:12) */
1361 #define LTQ_ES_MDIO_CTL_REG_RES   (0x7 << 12)
1362 #define LTQ_ES_MDIO_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_RES) >> 12) & 0x7)
1363 /* Operation Code (11:10) */
1364 #define LTQ_ES_MDIO_CTL_REG_OP   (0x3 << 10)
1365 #define LTQ_ES_MDIO_CTL_REG_OP_VAL(val)   (((val) & 0x3) << 10)
1366 #define LTQ_ES_MDIO_CTL_REG_OP_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_OP) >> 10) & 0x3)
1367 #define LTQ_ES_MDIO_CTL_REG_OP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_OP) | (((val) & 0x3) << 10))
1368 /* PHY Address (9:5) */
1369 #define LTQ_ES_MDIO_CTL_REG_PHYAD   (0x1f << 5)
1370 #define LTQ_ES_MDIO_CTL_REG_PHYAD_VAL(val)   (((val) & 0x1f) << 5)
1371 #define LTQ_ES_MDIO_CTL_REG_PHYAD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_PHYAD) >> 5) & 0x1f)
1372 #define LTQ_ES_MDIO_CTL_REG_PHYAD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_PHYAD) | (((val) & 0x1f) << 5))
1373 /* Register Address (4:0) */
1374 #define LTQ_ES_MDIO_CTL_REG_REGAD   (0x1f)
1375 #define LTQ_ES_MDIO_CTL_REG_REGAD_VAL(val)   (((val) & 0x1f) << 0)
1376 #define LTQ_ES_MDIO_CTL_REG_REGAD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_REGAD) >> 0) & 0x1f)
1377 #define LTQ_ES_MDIO_CTL_REG_REGAD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_REGAD) | (((val) & 0x1f) << 0))
1378
1379 /*******************************************************************************
1380  * MDIO Indirect Read Data
1381  ******************************************************************************/
1382
1383 /* Reserved (31:16) */
1384 #define LTQ_ES_MDIO_DATA_REG_RES   (0xffff << 16)
1385 #define LTQ_ES_MDIO_DATA_REG_RES_GET(val)   ((((val) & LTQ_ES_MDIO_DATA_REG_RES) >> 16) & 0xffff)
1386 /* The Read Data (15:0) */
1387 #define LTQ_ES_MDIO_DATA_REG_RD   (0xffff)
1388 #define LTQ_ES_MDIO_DATA_REG_RD_GET(val)   ((((val) & LTQ_ES_MDIO_DATA_REG_RD) >> 0) & 0xffff)
1389
1390 /*******************************************************************************
1391  * Type Filter Action
1392  ******************************************************************************/
1393
1394 /* Destination Queue for Type Filter 7 (31:30) */
1395 #define LTQ_ES_TP_FLT_ACT_REG_QATF7   (0x3 << 30)
1396 #define LTQ_ES_TP_FLT_ACT_REG_QATF7_VAL(val)   (((val) & 0x3) << 30)
1397 #define LTQ_ES_TP_FLT_ACT_REG_QATF7_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QATF7) >> 30) & 0x3)
1398 #define LTQ_ES_TP_FLT_ACT_REG_QATF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QATF7) | (((val) & 0x3) << 30))
1399 /* Destination Queue for Type Filter 6 (29:28) */
1400 #define LTQ_ES_TP_FLT_ACT_REG_QATF6   (0x3 << 28)
1401 #define LTQ_ES_TP_FLT_ACT_REG_QATF6_VAL(val)   (((val) & 0x3) << 28)
1402 #define LTQ_ES_TP_FLT_ACT_REG_QATF6_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QATF6) >> 28) & 0x3)
1403 #define LTQ_ES_TP_FLT_ACT_REG_QATF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QATF6) | (((val) & 0x3) << 28))
1404 /* Destination Queue for Type Filter 5 (27:26) */
1405 #define LTQ_ES_TP_FLT_ACT_REG_QTF5   (0x3 << 26)
1406 #define LTQ_ES_TP_FLT_ACT_REG_QTF5_VAL(val)   (((val) & 0x3) << 26)
1407 #define LTQ_ES_TP_FLT_ACT_REG_QTF5_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF5) >> 26) & 0x3)
1408 #define LTQ_ES_TP_FLT_ACT_REG_QTF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF5) | (((val) & 0x3) << 26))
1409 /* Destination Queue for Type Filter 4 (25:24) */
1410 #define LTQ_ES_TP_FLT_ACT_REG_QTF4   (0x3 << 24)
1411 #define LTQ_ES_TP_FLT_ACT_REG_QTF4_VAL(val)   (((val) & 0x3) << 24)
1412 #define LTQ_ES_TP_FLT_ACT_REG_QTF4_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF4) >> 24) & 0x3)
1413 #define LTQ_ES_TP_FLT_ACT_REG_QTF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF4) | (((val) & 0x3) << 24))
1414 /* Destination Queue for Type Filter 3 (23:22) */
1415 #define LTQ_ES_TP_FLT_ACT_REG_QTF3   (0x3 << 22)
1416 #define LTQ_ES_TP_FLT_ACT_REG_QTF3_VAL(val)   (((val) & 0x3) << 22)
1417 #define LTQ_ES_TP_FLT_ACT_REG_QTF3_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF3) >> 22) & 0x3)
1418 #define LTQ_ES_TP_FLT_ACT_REG_QTF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF3) | (((val) & 0x3) << 22))
1419 /* Destination Queue for Type Filter 2 (21:20) */
1420 #define LTQ_ES_TP_FLT_ACT_REG_QTF2   (0x3 << 20)
1421 #define LTQ_ES_TP_FLT_ACT_REG_QTF2_VAL(val)   (((val) & 0x3) << 20)
1422 #define LTQ_ES_TP_FLT_ACT_REG_QTF2_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF2) >> 20) & 0x3)
1423 #define LTQ_ES_TP_FLT_ACT_REG_QTF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF2) | (((val) & 0x3) << 20))
1424 /* Destination Queue for Type Filter 1 (19:18) */
1425 #define LTQ_ES_TP_FLT_ACT_REG_QTF1   (0x3 << 18)
1426 #define LTQ_ES_TP_FLT_ACT_REG_QTF1_VAL(val)   (((val) & 0x3) << 18)
1427 #define LTQ_ES_TP_FLT_ACT_REG_QTF1_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF1) >> 18) & 0x3)
1428 #define LTQ_ES_TP_FLT_ACT_REG_QTF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF1) | (((val) & 0x3) << 18))
1429 /* Destination Queue for Type Filter 0 (17:16) */
1430 #define LTQ_ES_TP_FLT_ACT_REG_QTF0   (0x3 << 16)
1431 #define LTQ_ES_TP_FLT_ACT_REG_QTF0_VAL(val)   (((val) & 0x3) << 16)
1432 #define LTQ_ES_TP_FLT_ACT_REG_QTF0_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF0) >> 16) & 0x3)
1433 #define LTQ_ES_TP_FLT_ACT_REG_QTF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF0) | (((val) & 0x3) << 16))
1434 /* Action for Type Filter 7 (15:14) */
1435 #define LTQ_ES_TP_FLT_ACT_REG_ATF7   (0x3 << 14)
1436 #define LTQ_ES_TP_FLT_ACT_REG_ATF7_VAL(val)   (((val) & 0x3) << 14)
1437 #define LTQ_ES_TP_FLT_ACT_REG_ATF7_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF7) >> 14) & 0x3)
1438 #define LTQ_ES_TP_FLT_ACT_REG_ATF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF7) | (((val) & 0x3) << 14))
1439 /* Action for Type Filter 6 (13:12) */
1440 #define LTQ_ES_TP_FLT_ACT_REG_ATF6   (0x3 << 12)
1441 #define LTQ_ES_TP_FLT_ACT_REG_ATF6_VAL(val)   (((val) & 0x3) << 12)
1442 #define LTQ_ES_TP_FLT_ACT_REG_ATF6_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF6) >> 12) & 0x3)
1443 #define LTQ_ES_TP_FLT_ACT_REG_ATF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF6) | (((val) & 0x3) << 12))
1444 /* Action for Type Filter 5 (11:10) */
1445 #define LTQ_ES_TP_FLT_ACT_REG_ATF5   (0x3 << 10)
1446 #define LTQ_ES_TP_FLT_ACT_REG_ATF5_VAL(val)   (((val) & 0x3) << 10)
1447 #define LTQ_ES_TP_FLT_ACT_REG_ATF5_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF5) >> 10) & 0x3)
1448 #define LTQ_ES_TP_FLT_ACT_REG_ATF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF5) | (((val) & 0x3) << 10))
1449 /* Action for Type Filter 4 (9:8) */
1450 #define LTQ_ES_TP_FLT_ACT_REG_ATF4   (0x3 << 8)
1451 #define LTQ_ES_TP_FLT_ACT_REG_ATF4_VAL(val)   (((val) & 0x3) << 8)
1452 #define LTQ_ES_TP_FLT_ACT_REG_ATF4_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF4) >> 8) & 0x3)
1453 #define LTQ_ES_TP_FLT_ACT_REG_ATF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF4) | (((val) & 0x3) << 8))
1454 /* Action for Type Filter 3 (7:6) */
1455 #define LTQ_ES_TP_FLT_ACT_REG_ATF3   (0x3 << 6)
1456 #define LTQ_ES_TP_FLT_ACT_REG_ATF3_VAL(val)   (((val) & 0x3) << 6)
1457 #define LTQ_ES_TP_FLT_ACT_REG_ATF3_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF3) >> 6) & 0x3)
1458 #define LTQ_ES_TP_FLT_ACT_REG_ATF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF3) | (((val) & 0x3) << 6))
1459 /* Action for Type Filter 2 (5:4) */
1460 #define LTQ_ES_TP_FLT_ACT_REG_ATF2   (0x3 << 4)
1461 #define LTQ_ES_TP_FLT_ACT_REG_ATF2_VAL(val)   (((val) & 0x3) << 4)
1462 #define LTQ_ES_TP_FLT_ACT_REG_ATF2_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF2) >> 4) & 0x3)
1463 #define LTQ_ES_TP_FLT_ACT_REG_ATF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF2) | (((val) & 0x3) << 4))
1464 /* Action for Type Filter 1 (3:2) */
1465 #define LTQ_ES_TP_FLT_ACT_REG_ATF1   (0x3 << 2)
1466 #define LTQ_ES_TP_FLT_ACT_REG_ATF1_VAL(val)   (((val) & 0x3) << 2)
1467 #define LTQ_ES_TP_FLT_ACT_REG_ATF1_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF1) >> 2) & 0x3)
1468 #define LTQ_ES_TP_FLT_ACT_REG_ATF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF1) | (((val) & 0x3) << 2))
1469 /* Action for Type Filter 0 (1:0) */
1470 #define LTQ_ES_TP_FLT_ACT_REG_ATF0   (0x3)
1471 #define LTQ_ES_TP_FLT_ACT_REG_ATF0_VAL(val)   (((val) & 0x3) << 0)
1472 #define LTQ_ES_TP_FLT_ACT_REG_ATF0_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF0) >> 0) & 0x3)
1473 #define LTQ_ES_TP_FLT_ACT_REG_ATF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF0) | (((val) & 0x3) << 0))
1474
1475 /*******************************************************************************
1476  * Protocol Filter Action
1477  ******************************************************************************/
1478
1479 /* Action for Protocol Filter 7 (15:14) */
1480 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF7   (0x3 << 14)
1481 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_VAL(val)   (((val) & 0x3) << 14)
1482 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF7) >> 14) & 0x3)
1483 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF7) | (((val) & 0x3) << 14))
1484 /* Action for Protocol Filter 6 (13:12) */
1485 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF6   (0x3 << 12)
1486 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_VAL(val)   (((val) & 0x3) << 12)
1487 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF6) >> 12) & 0x3)
1488 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF6) | (((val) & 0x3) << 12))
1489 /* Action for Protocol Filter 5 (11:10) */
1490 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF5   (0x3 << 10)
1491 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_VAL(val)   (((val) & 0x3) << 10)
1492 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF5) >> 10) & 0x3)
1493 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF5) | (((val) & 0x3) << 10))
1494 /* Action for Protocol Filter 4 (9:8) */
1495 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF4   (0x3 << 8)
1496 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_VAL(val)   (((val) & 0x3) << 8)
1497 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF4) >> 8) & 0x3)
1498 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF4) | (((val) & 0x3) << 8))
1499 /* Action for Protocol Filter 3 (7:6) */
1500 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF3   (0x3 << 6)
1501 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_VAL(val)   (((val) & 0x3) << 6)
1502 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF3) >> 6) & 0x3)
1503 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF3) | (((val) & 0x3) << 6))
1504 /* Action for Protocol Filter 2 (5:4) */
1505 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF2   (0x3 << 4)
1506 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_VAL(val)   (((val) & 0x3) << 4)
1507 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF2) >> 4) & 0x3)
1508 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF2) | (((val) & 0x3) << 4))
1509 /* Action for Protocol Filter 1 (3:2) */
1510 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF1   (0x3 << 2)
1511 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_VAL(val)   (((val) & 0x3) << 2)
1512 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF1) >> 2) & 0x3)
1513 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF1) | (((val) & 0x3) << 2))
1514 /* Action for Protocol Filter 0 (1:0) */
1515 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF0   (0x3)
1516 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_VAL(val)   (((val) & 0x3) << 0)
1517 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF0) >> 0) & 0x3)
1518 #define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF0) | (((val) & 0x3) << 0))
1519
1520 /*******************************************************************************
1521  * VLAN Filter 0
1522  ******************************************************************************/
1523
1524 /* Res (31:24) */
1525 #define LTQ_ES_VLAN_FLT0_REG_RES   (0xff << 24)
1526 #define LTQ_ES_VLAN_FLT0_REG_RES_VAL(val)   (((val) & 0xff) << 24)
1527 #define LTQ_ES_VLAN_FLT0_REG_RES_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_RES) >> 24) & 0xff)
1528 #define LTQ_ES_VLAN_FLT0_REG_RES_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_RES) | (((val) & 0xff) << 24))
1529 /* FID (23:22) */
1530 #define LTQ_ES_VLAN_FLT0_REG_FID   (0x3 << 22)
1531 #define LTQ_ES_VLAN_FLT0_REG_FID_VAL(val)   (((val) & 0x3) << 22)
1532 #define LTQ_ES_VLAN_FLT0_REG_FID_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_FID) >> 22) & 0x3)
1533 #define LTQ_ES_VLAN_FLT0_REG_FID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_FID) | (((val) & 0x3) << 22))
1534 /* Tagged Member (21:19) */
1535 #define LTQ_ES_VLAN_FLT0_REG_TM   (0x7 << 19)
1536 #define LTQ_ES_VLAN_FLT0_REG_TM_VAL(val)   (((val) & 0x7) << 19)
1537 #define LTQ_ES_VLAN_FLT0_REG_TM_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_TM) >> 19) & 0x7)
1538 #define LTQ_ES_VLAN_FLT0_REG_TM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_TM) | (((val) & 0x7) << 19))
1539 /* Member (18:16) */
1540 #define LTQ_ES_VLAN_FLT0_REG_M   (0x7 << 16)
1541 #define LTQ_ES_VLAN_FLT0_REG_M_VAL(val)   (((val) & 0x7) << 16)
1542 #define LTQ_ES_VLAN_FLT0_REG_M_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_M) >> 16) & 0x7)
1543 #define LTQ_ES_VLAN_FLT0_REG_M_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_M) | (((val) & 0x7) << 16))
1544 /* VLAN_Valid (15) */
1545 #define LTQ_ES_VLAN_FLT0_REG_VV   (0x1 << 15)
1546 #define LTQ_ES_VLAN_FLT0_REG_VV_VAL(val)   (((val) & 0x1) << 15)
1547 #define LTQ_ES_VLAN_FLT0_REG_VV_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VV) >> 15) & 0x1)
1548 #define LTQ_ES_VLAN_FLT0_REG_VV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VV) | (((val) & 0x1) << 15))
1549 /* VLAN PRI (14:12) */
1550 #define LTQ_ES_VLAN_FLT0_REG_VP   (0x7 << 12)
1551 #define LTQ_ES_VLAN_FLT0_REG_VP_VAL(val)   (((val) & 0x7) << 12)
1552 #define LTQ_ES_VLAN_FLT0_REG_VP_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VP) >> 12) & 0x7)
1553 #define LTQ_ES_VLAN_FLT0_REG_VP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VP) | (((val) & 0x7) << 12))
1554 /* VID (11:0) */
1555 #define LTQ_ES_VLAN_FLT0_REG_VID   (0xfff)
1556 #define LTQ_ES_VLAN_FLT0_REG_VID_VAL(val)   (((val) & 0xfff) << 0)
1557 #define LTQ_ES_VLAN_FLT0_REG_VID_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VID) >> 0) & 0xfff)
1558 #define LTQ_ES_VLAN_FLT0_REG_VID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VID) | (((val) & 0xfff) << 0))
1559
1560 /*******************************************************************************
1561  * Type Filter 10
1562  ******************************************************************************/
1563
1564 /* Value 1 Compared with Ether-Type (31:16) */
1565 #define LTQ_ES_TP_FLT10_REG_VCET1   (0xffff << 16)
1566 #define LTQ_ES_TP_FLT10_REG_VCET1_VAL(val)   (((val) & 0xffff) << 16)
1567 #define LTQ_ES_TP_FLT10_REG_VCET1_GET(val)   ((((val) & LTQ_ES_TP_FLT10_REG_VCET1) >> 16) & 0xffff)
1568 #define LTQ_ES_TP_FLT10_REG_VCET1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT10_REG_VCET1) | (((val) & 0xffff) << 16))
1569 /* Value 0 Compared with Ether-Type (15:0) */
1570 #define LTQ_ES_TP_FLT10_REG_VCET0   (0xffff)
1571 #define LTQ_ES_TP_FLT10_REG_VCET0_VAL(val)   (((val) & 0xffff) << 0)
1572 #define LTQ_ES_TP_FLT10_REG_VCET0_GET(val)   ((((val) & LTQ_ES_TP_FLT10_REG_VCET0) >> 0) & 0xffff)
1573 #define LTQ_ES_TP_FLT10_REG_VCET0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT10_REG_VCET0) | (((val) & 0xffff) << 0))
1574
1575 /*******************************************************************************
1576  * DiffServMapping 0
1577  ******************************************************************************/
1578
1579 /* Priority Queue F (31:30) */
1580 #define LTQ_ES_DFSRV_MAP0_REG_PQF   (0x3 << 30)
1581 #define LTQ_ES_DFSRV_MAP0_REG_PQF_VAL(val)   (((val) & 0x3) << 30)
1582 #define LTQ_ES_DFSRV_MAP0_REG_PQF_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQF) >> 30) & 0x3)
1583 #define LTQ_ES_DFSRV_MAP0_REG_PQF_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQF) | (((val) & 0x3) << 30))
1584 /* Priority Queue E (29:28) */
1585 #define LTQ_ES_DFSRV_MAP0_REG_PQE   (0x3 << 28)
1586 #define LTQ_ES_DFSRV_MAP0_REG_PQE_VAL(val)   (((val) & 0x3) << 28)
1587 #define LTQ_ES_DFSRV_MAP0_REG_PQE_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQE) >> 28) & 0x3)
1588 #define LTQ_ES_DFSRV_MAP0_REG_PQE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQE) | (((val) & 0x3) << 28))
1589 /* Priority Queue D (27:26) */
1590 #define LTQ_ES_DFSRV_MAP0_REG_PQD   (0x3 << 26)
1591 #define LTQ_ES_DFSRV_MAP0_REG_PQD_VAL(val)   (((val) & 0x3) << 26)
1592 #define LTQ_ES_DFSRV_MAP0_REG_PQD_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQD) >> 26) & 0x3)
1593 #define LTQ_ES_DFSRV_MAP0_REG_PQD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQD) | (((val) & 0x3) << 26))
1594 /* Priority Queue C (25:24) */
1595 #define LTQ_ES_DFSRV_MAP0_REG_PQC   (0x3 << 24)
1596 #define LTQ_ES_DFSRV_MAP0_REG_PQC_VAL(val)   (((val) & 0x3) << 24)
1597 #define LTQ_ES_DFSRV_MAP0_REG_PQC_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQC) >> 24) & 0x3)
1598 #define LTQ_ES_DFSRV_MAP0_REG_PQC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQC) | (((val) & 0x3) << 24))
1599 /* Priority Queue B (23:22) */
1600 #define LTQ_ES_DFSRV_MAP0_REG_PQB   (0x3 << 22)
1601 #define LTQ_ES_DFSRV_MAP0_REG_PQB_VAL(val)   (((val) & 0x3) << 22)
1602 #define LTQ_ES_DFSRV_MAP0_REG_PQB_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQB) >> 22) & 0x3)
1603 #define LTQ_ES_DFSRV_MAP0_REG_PQB_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQB) | (((val) & 0x3) << 22))
1604 /* Priority Queue A (21:20) */
1605 #define LTQ_ES_DFSRV_MAP0_REG_PQA   (0x3 << 20)
1606 #define LTQ_ES_DFSRV_MAP0_REG_PQA_VAL(val)   (((val) & 0x3) << 20)
1607 #define LTQ_ES_DFSRV_MAP0_REG_PQA_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQA) >> 20) & 0x3)
1608 #define LTQ_ES_DFSRV_MAP0_REG_PQA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQA) | (((val) & 0x3) << 20))
1609 /* Priority Queue 9 (19:18) */
1610 #define LTQ_ES_DFSRV_MAP0_REG_PQ9   (0x3 << 18)
1611 #define LTQ_ES_DFSRV_MAP0_REG_PQ9_VAL(val)   (((val) & 0x3) << 18)
1612 #define LTQ_ES_DFSRV_MAP0_REG_PQ9_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ9) >> 18) & 0x3)
1613 #define LTQ_ES_DFSRV_MAP0_REG_PQ9_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ9) | (((val) & 0x3) << 18))
1614 /* Priority Queue 8 (17:16) */
1615 #define LTQ_ES_DFSRV_MAP0_REG_PQ8   (0x3 << 16)
1616 #define LTQ_ES_DFSRV_MAP0_REG_PQ8_VAL(val)   (((val) & 0x3) << 16)
1617 #define LTQ_ES_DFSRV_MAP0_REG_PQ8_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ8) >> 16) & 0x3)
1618 #define LTQ_ES_DFSRV_MAP0_REG_PQ8_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ8) | (((val) & 0x3) << 16))
1619 /* Priority Queue 7 (15:14) */
1620 #define LTQ_ES_DFSRV_MAP0_REG_PQ7   (0x3 << 14)
1621 #define LTQ_ES_DFSRV_MAP0_REG_PQ7_VAL(val)   (((val) & 0x3) << 14)
1622 #define LTQ_ES_DFSRV_MAP0_REG_PQ7_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ7) >> 14) & 0x3)
1623 #define LTQ_ES_DFSRV_MAP0_REG_PQ7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ7) | (((val) & 0x3) << 14))
1624 /* Priority Queue 6 (13:12) */
1625 #define LTQ_ES_DFSRV_MAP0_REG_PQ6   (0x3 << 12)
1626 #define LTQ_ES_DFSRV_MAP0_REG_PQ6_VAL(val)   (((val) & 0x3) << 12)
1627 #define LTQ_ES_DFSRV_MAP0_REG_PQ6_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ6) >> 12) & 0x3)
1628 #define LTQ_ES_DFSRV_MAP0_REG_PQ6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ6) | (((val) & 0x3) << 12))
1629 /* Priority Queue 5 (11:10) */
1630 #define LTQ_ES_DFSRV_MAP0_REG_PQ5   (0x3 << 10)
1631 #define LTQ_ES_DFSRV_MAP0_REG_PQ5_VAL(val)   (((val) & 0x3) << 10)
1632 #define LTQ_ES_DFSRV_MAP0_REG_PQ5_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ5) >> 10) & 0x3)
1633 #define LTQ_ES_DFSRV_MAP0_REG_PQ5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ5) | (((val) & 0x3) << 10))
1634 /* Priority Queue 4 (9:8) */
1635 #define LTQ_ES_DFSRV_MAP0_REG_PQ4   (0x3 << 8)
1636 #define LTQ_ES_DFSRV_MAP0_REG_PQ4_VAL(val)   (((val) & 0x3) << 8)
1637 #define LTQ_ES_DFSRV_MAP0_REG_PQ4_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ4) >> 8) & 0x3)
1638 #define LTQ_ES_DFSRV_MAP0_REG_PQ4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ4) | (((val) & 0x3) << 8))
1639 /* Priority Queue 3 (7:6) */
1640 #define LTQ_ES_DFSRV_MAP0_REG_PQ3   (0x3 << 6)
1641 #define LTQ_ES_DFSRV_MAP0_REG_PQ3_VAL(val)   (((val) & 0x3) << 6)
1642 #define LTQ_ES_DFSRV_MAP0_REG_PQ3_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ3) >> 6) & 0x3)
1643 #define LTQ_ES_DFSRV_MAP0_REG_PQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ3) | (((val) & 0x3) << 6))
1644 /* Priority Queue 2 (5:4) */
1645 #define LTQ_ES_DFSRV_MAP0_REG_PQ2   (0x3 << 4)
1646 #define LTQ_ES_DFSRV_MAP0_REG_PQ2_VAL(val)   (((val) & 0x3) << 4)
1647 #define LTQ_ES_DFSRV_MAP0_REG_PQ2_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ2) >> 4) & 0x3)
1648 #define LTQ_ES_DFSRV_MAP0_REG_PQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ2) | (((val) & 0x3) << 4))
1649 /* Priority Queue 1 (3:2) */
1650 #define LTQ_ES_DFSRV_MAP0_REG_PQ1   (0x3 << 2)
1651 #define LTQ_ES_DFSRV_MAP0_REG_PQ1_VAL(val)   (((val) & 0x3) << 2)
1652 #define LTQ_ES_DFSRV_MAP0_REG_PQ1_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ1) >> 2) & 0x3)
1653 #define LTQ_ES_DFSRV_MAP0_REG_PQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ1) | (((val) & 0x3) << 2))
1654 /* Priority Queue 0 (1:0) */
1655 #define LTQ_ES_DFSRV_MAP0_REG_PQ0   (0x3)
1656 #define LTQ_ES_DFSRV_MAP0_REG_PQ0_VAL(val)   (((val) & 0x3) << 0)
1657 #define LTQ_ES_DFSRV_MAP0_REG_PQ0_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ0) >> 0) & 0x3)
1658 #define LTQ_ES_DFSRV_MAP0_REG_PQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ0) | (((val) & 0x3) << 0))
1659
1660 /*******************************************************************************
1661  * DiffServMapping 1
1662  ******************************************************************************/
1663
1664 /* Priority Queue 1F (31:30) */
1665 #define LTQ_ES_DFSRV_MAP1_REG_PQ1F   (0x3 << 30)
1666 #define LTQ_ES_DFSRV_MAP1_REG_PQ1F_VAL(val)   (((val) & 0x3) << 30)
1667 #define LTQ_ES_DFSRV_MAP1_REG_PQ1F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1F) >> 30) & 0x3)
1668 #define LTQ_ES_DFSRV_MAP1_REG_PQ1F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1F) | (((val) & 0x3) << 30))
1669 /* Priority Queue 1E (29:28) */
1670 #define LTQ_ES_DFSRV_MAP1_REG_PQ1E   (0x3 << 28)
1671 #define LTQ_ES_DFSRV_MAP1_REG_PQ1E_VAL(val)   (((val) & 0x3) << 28)
1672 #define LTQ_ES_DFSRV_MAP1_REG_PQ1E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1E) >> 28) & 0x3)
1673 #define LTQ_ES_DFSRV_MAP1_REG_PQ1E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1E) | (((val) & 0x3) << 28))
1674 /* Priority Queue 1D (27:26) */
1675 #define LTQ_ES_DFSRV_MAP1_REG_PQ1D   (0x3 << 26)
1676 #define LTQ_ES_DFSRV_MAP1_REG_PQ1D_VAL(val)   (((val) & 0x3) << 26)
1677 #define LTQ_ES_DFSRV_MAP1_REG_PQ1D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1D) >> 26) & 0x3)
1678 #define LTQ_ES_DFSRV_MAP1_REG_PQ1D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1D) | (((val) & 0x3) << 26))
1679 /* Priority Queue 1C (25:24) */
1680 #define LTQ_ES_DFSRV_MAP1_REG_PQ1C   (0x3 << 24)
1681 #define LTQ_ES_DFSRV_MAP1_REG_PQ1C_VAL(val)   (((val) & 0x3) << 24)
1682 #define LTQ_ES_DFSRV_MAP1_REG_PQ1C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1C) >> 24) & 0x3)
1683 #define LTQ_ES_DFSRV_MAP1_REG_PQ1C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1C) | (((val) & 0x3) << 24))
1684 /* Priority Queue 1B (23:22) */
1685 #define LTQ_ES_DFSRV_MAP1_REG_PQ1B   (0x3 << 22)
1686 #define LTQ_ES_DFSRV_MAP1_REG_PQ1B_VAL(val)   (((val) & 0x3) << 22)
1687 #define LTQ_ES_DFSRV_MAP1_REG_PQ1B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1B) >> 22) & 0x3)
1688 #define LTQ_ES_DFSRV_MAP1_REG_PQ1B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1B) | (((val) & 0x3) << 22))
1689 /* Priority Queue 1A (21:20) */
1690 #define LTQ_ES_DFSRV_MAP1_REG_PQ1A   (0x3 << 20)
1691 #define LTQ_ES_DFSRV_MAP1_REG_PQ1A_VAL(val)   (((val) & 0x3) << 20)
1692 #define LTQ_ES_DFSRV_MAP1_REG_PQ1A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1A) >> 20) & 0x3)
1693 #define LTQ_ES_DFSRV_MAP1_REG_PQ1A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1A) | (((val) & 0x3) << 20))
1694 /* Priority Queue 19 (19:18) */
1695 #define LTQ_ES_DFSRV_MAP1_REG_PQ19   (0x3 << 18)
1696 #define LTQ_ES_DFSRV_MAP1_REG_PQ19_VAL(val)   (((val) & 0x3) << 18)
1697 #define LTQ_ES_DFSRV_MAP1_REG_PQ19_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ19) >> 18) & 0x3)
1698 #define LTQ_ES_DFSRV_MAP1_REG_PQ19_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ19) | (((val) & 0x3) << 18))
1699 /* Priority Queue 18 (17:16) */
1700 #define LTQ_ES_DFSRV_MAP1_REG_PQ18   (0x3 << 16)
1701 #define LTQ_ES_DFSRV_MAP1_REG_PQ18_VAL(val)   (((val) & 0x3) << 16)
1702 #define LTQ_ES_DFSRV_MAP1_REG_PQ18_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ18) >> 16) & 0x3)
1703 #define LTQ_ES_DFSRV_MAP1_REG_PQ18_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ18) | (((val) & 0x3) << 16))
1704 /* Priority Queue 17 (15:14) */
1705 #define LTQ_ES_DFSRV_MAP1_REG_PQ17   (0x3 << 14)
1706 #define LTQ_ES_DFSRV_MAP1_REG_PQ17_VAL(val)   (((val) & 0x3) << 14)
1707 #define LTQ_ES_DFSRV_MAP1_REG_PQ17_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ17) >> 14) & 0x3)
1708 #define LTQ_ES_DFSRV_MAP1_REG_PQ17_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ17) | (((val) & 0x3) << 14))
1709 /* Priority Queue 16 (13:12) */
1710 #define LTQ_ES_DFSRV_MAP1_REG_PQ16   (0x3 << 12)
1711 #define LTQ_ES_DFSRV_MAP1_REG_PQ16_VAL(val)   (((val) & 0x3) << 12)
1712 #define LTQ_ES_DFSRV_MAP1_REG_PQ16_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ16) >> 12) & 0x3)
1713 #define LTQ_ES_DFSRV_MAP1_REG_PQ16_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ16) | (((val) & 0x3) << 12))
1714 /* Priority Queue 15 (11:10) */
1715 #define LTQ_ES_DFSRV_MAP1_REG_PQ15   (0x3 << 10)
1716 #define LTQ_ES_DFSRV_MAP1_REG_PQ15_VAL(val)   (((val) & 0x3) << 10)
1717 #define LTQ_ES_DFSRV_MAP1_REG_PQ15_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ15) >> 10) & 0x3)
1718 #define LTQ_ES_DFSRV_MAP1_REG_PQ15_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ15) | (((val) & 0x3) << 10))
1719 /* Priority Queue 14 (9:8) */
1720 #define LTQ_ES_DFSRV_MAP1_REG_PQ14   (0x3 << 8)
1721 #define LTQ_ES_DFSRV_MAP1_REG_PQ14_VAL(val)   (((val) & 0x3) << 8)
1722 #define LTQ_ES_DFSRV_MAP1_REG_PQ14_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ14) >> 8) & 0x3)
1723 #define LTQ_ES_DFSRV_MAP1_REG_PQ14_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ14) | (((val) & 0x3) << 8))
1724 /* Priority Queue 13 (7:6) */
1725 #define LTQ_ES_DFSRV_MAP1_REG_PQ13   (0x3 << 6)
1726 #define LTQ_ES_DFSRV_MAP1_REG_PQ13_VAL(val)   (((val) & 0x3) << 6)
1727 #define LTQ_ES_DFSRV_MAP1_REG_PQ13_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ13) >> 6) & 0x3)
1728 #define LTQ_ES_DFSRV_MAP1_REG_PQ13_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ13) | (((val) & 0x3) << 6))
1729 /* Priority Queue 12 (5:4) */
1730 #define LTQ_ES_DFSRV_MAP1_REG_PQ12   (0x3 << 4)
1731 #define LTQ_ES_DFSRV_MAP1_REG_PQ12_VAL(val)   (((val) & 0x3) << 4)
1732 #define LTQ_ES_DFSRV_MAP1_REG_PQ12_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ12) >> 4) & 0x3)
1733 #define LTQ_ES_DFSRV_MAP1_REG_PQ12_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ12) | (((val) & 0x3) << 4))
1734 /* Priority Queue 11 (3:2) */
1735 #define LTQ_ES_DFSRV_MAP1_REG_PQ11   (0x3 << 2)
1736 #define LTQ_ES_DFSRV_MAP1_REG_PQ11_VAL(val)   (((val) & 0x3) << 2)
1737 #define LTQ_ES_DFSRV_MAP1_REG_PQ11_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ11) >> 2) & 0x3)
1738 #define LTQ_ES_DFSRV_MAP1_REG_PQ11_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ11) | (((val) & 0x3) << 2))
1739 /* Priority Queue 10 (1:0) */
1740 #define LTQ_ES_DFSRV_MAP1_REG_PQ10   (0x3)
1741 #define LTQ_ES_DFSRV_MAP1_REG_PQ10_VAL(val)   (((val) & 0x3) << 0)
1742 #define LTQ_ES_DFSRV_MAP1_REG_PQ10_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ10) >> 0) & 0x3)
1743 #define LTQ_ES_DFSRV_MAP1_REG_PQ10_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ10) | (((val) & 0x3) << 0))
1744
1745 /*******************************************************************************
1746  * DiffServMapping 2
1747  ******************************************************************************/
1748
1749 /* Priority Queue 2F (31:30) */
1750 #define LTQ_ES_DFSRV_MAP2_REG_PQ2F   (0x3 << 30)
1751 #define LTQ_ES_DFSRV_MAP2_REG_PQ2F_VAL(val)   (((val) & 0x3) << 30)
1752 #define LTQ_ES_DFSRV_MAP2_REG_PQ2F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2F) >> 30) & 0x3)
1753 #define LTQ_ES_DFSRV_MAP2_REG_PQ2F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2F) | (((val) & 0x3) << 30))
1754 /* Priority Queue 2E (29:28) */
1755 #define LTQ_ES_DFSRV_MAP2_REG_PQ2E   (0x3 << 28)
1756 #define LTQ_ES_DFSRV_MAP2_REG_PQ2E_VAL(val)   (((val) & 0x3) << 28)
1757 #define LTQ_ES_DFSRV_MAP2_REG_PQ2E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2E) >> 28) & 0x3)
1758 #define LTQ_ES_DFSRV_MAP2_REG_PQ2E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2E) | (((val) & 0x3) << 28))
1759 /* Priority Queue 2D (27:26) */
1760 #define LTQ_ES_DFSRV_MAP2_REG_PQ2D   (0x3 << 26)
1761 #define LTQ_ES_DFSRV_MAP2_REG_PQ2D_VAL(val)   (((val) & 0x3) << 26)
1762 #define LTQ_ES_DFSRV_MAP2_REG_PQ2D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2D) >> 26) & 0x3)
1763 #define LTQ_ES_DFSRV_MAP2_REG_PQ2D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2D) | (((val) & 0x3) << 26))
1764 /* Priority Queue 2C (25:24) */
1765 #define LTQ_ES_DFSRV_MAP2_REG_PQ2C   (0x3 << 24)
1766 #define LTQ_ES_DFSRV_MAP2_REG_PQ2C_VAL(val)   (((val) & 0x3) << 24)
1767 #define LTQ_ES_DFSRV_MAP2_REG_PQ2C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2C) >> 24) & 0x3)
1768 #define LTQ_ES_DFSRV_MAP2_REG_PQ2C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2C) | (((val) & 0x3) << 24))
1769 /* Priority Queue 2B (23:22) */
1770 #define LTQ_ES_DFSRV_MAP2_REG_PQ2B   (0x3 << 22)
1771 #define LTQ_ES_DFSRV_MAP2_REG_PQ2B_VAL(val)   (((val) & 0x3) << 22)
1772 #define LTQ_ES_DFSRV_MAP2_REG_PQ2B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2B) >> 22) & 0x3)
1773 #define LTQ_ES_DFSRV_MAP2_REG_PQ2B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2B) | (((val) & 0x3) << 22))
1774 /* Priority Queue 2A (21:20) */
1775 #define LTQ_ES_DFSRV_MAP2_REG_PQ2A   (0x3 << 20)
1776 #define LTQ_ES_DFSRV_MAP2_REG_PQ2A_VAL(val)   (((val) & 0x3) << 20)
1777 #define LTQ_ES_DFSRV_MAP2_REG_PQ2A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2A) >> 20) & 0x3)
1778 #define LTQ_ES_DFSRV_MAP2_REG_PQ2A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2A) | (((val) & 0x3) << 20))
1779 /* Priority Queue 29 (19:18) */
1780 #define LTQ_ES_DFSRV_MAP2_REG_PQ29   (0x3 << 18)
1781 #define LTQ_ES_DFSRV_MAP2_REG_PQ29_VAL(val)   (((val) & 0x3) << 18)
1782 #define LTQ_ES_DFSRV_MAP2_REG_PQ29_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ29) >> 18) & 0x3)
1783 #define LTQ_ES_DFSRV_MAP2_REG_PQ29_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ29) | (((val) & 0x3) << 18))
1784 /* Priority Queue 28 (17:16) */
1785 #define LTQ_ES_DFSRV_MAP2_REG_PQ28   (0x3 << 16)
1786 #define LTQ_ES_DFSRV_MAP2_REG_PQ28_VAL(val)   (((val) & 0x3) << 16)
1787 #define LTQ_ES_DFSRV_MAP2_REG_PQ28_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ28) >> 16) & 0x3)
1788 #define LTQ_ES_DFSRV_MAP2_REG_PQ28_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ28) | (((val) & 0x3) << 16))
1789 /* Priority Queue 27 (15:14) */
1790 #define LTQ_ES_DFSRV_MAP2_REG_PQ27   (0x3 << 14)
1791 #define LTQ_ES_DFSRV_MAP2_REG_PQ27_VAL(val)   (((val) & 0x3) << 14)
1792 #define LTQ_ES_DFSRV_MAP2_REG_PQ27_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ27) >> 14) & 0x3)
1793 #define LTQ_ES_DFSRV_MAP2_REG_PQ27_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ27) | (((val) & 0x3) << 14))
1794 /* Priority Queue 26 (13:12) */
1795 #define LTQ_ES_DFSRV_MAP2_REG_PQ26   (0x3 << 12)
1796 #define LTQ_ES_DFSRV_MAP2_REG_PQ26_VAL(val)   (((val) & 0x3) << 12)
1797 #define LTQ_ES_DFSRV_MAP2_REG_PQ26_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ26) >> 12) & 0x3)
1798 #define LTQ_ES_DFSRV_MAP2_REG_PQ26_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ26) | (((val) & 0x3) << 12))
1799 /* Priority Queue 25 (11:10) */
1800 #define LTQ_ES_DFSRV_MAP2_REG_PQ25   (0x3 << 10)
1801 #define LTQ_ES_DFSRV_MAP2_REG_PQ25_VAL(val)   (((val) & 0x3) << 10)
1802 #define LTQ_ES_DFSRV_MAP2_REG_PQ25_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ25) >> 10) & 0x3)
1803 #define LTQ_ES_DFSRV_MAP2_REG_PQ25_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ25) | (((val) & 0x3) << 10))
1804 /* Priority Queue 24 (9:8) */
1805 #define LTQ_ES_DFSRV_MAP2_REG_PQ24   (0x3 << 8)
1806 #define LTQ_ES_DFSRV_MAP2_REG_PQ24_VAL(val)   (((val) & 0x3) << 8)
1807 #define LTQ_ES_DFSRV_MAP2_REG_PQ24_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ24) >> 8) & 0x3)
1808 #define LTQ_ES_DFSRV_MAP2_REG_PQ24_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ24) | (((val) & 0x3) << 8))
1809 /* Priority Queue 23 (7:6) */
1810 #define LTQ_ES_DFSRV_MAP2_REG_PQ23   (0x3 << 6)
1811 #define LTQ_ES_DFSRV_MAP2_REG_PQ23_VAL(val)   (((val) & 0x3) << 6)
1812 #define LTQ_ES_DFSRV_MAP2_REG_PQ23_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ23) >> 6) & 0x3)
1813 #define LTQ_ES_DFSRV_MAP2_REG_PQ23_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ23) | (((val) & 0x3) << 6))
1814 /* Priority Queue 22 (5:4) */
1815 #define LTQ_ES_DFSRV_MAP2_REG_PQ22   (0x3 << 4)
1816 #define LTQ_ES_DFSRV_MAP2_REG_PQ22_VAL(val)   (((val) & 0x3) << 4)
1817 #define LTQ_ES_DFSRV_MAP2_REG_PQ22_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ22) >> 4) & 0x3)
1818 #define LTQ_ES_DFSRV_MAP2_REG_PQ22_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ22) | (((val) & 0x3) << 4))
1819 /* Priority Queue 21 (3:2) */
1820 #define LTQ_ES_DFSRV_MAP2_REG_PQ21   (0x3 << 2)
1821 #define LTQ_ES_DFSRV_MAP2_REG_PQ21_VAL(val)   (((val) & 0x3) << 2)
1822 #define LTQ_ES_DFSRV_MAP2_REG_PQ21_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ21) >> 2) & 0x3)
1823 #define LTQ_ES_DFSRV_MAP2_REG_PQ21_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ21) | (((val) & 0x3) << 2))
1824 /* Priority Queue 20 (1:0) */
1825 #define LTQ_ES_DFSRV_MAP2_REG_PQ20   (0x3)
1826 #define LTQ_ES_DFSRV_MAP2_REG_PQ20_VAL(val)   (((val) & 0x3) << 0)
1827 #define LTQ_ES_DFSRV_MAP2_REG_PQ20_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ20) >> 0) & 0x3)
1828 #define LTQ_ES_DFSRV_MAP2_REG_PQ20_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ20) | (((val) & 0x3) << 0))
1829
1830 /*******************************************************************************
1831  * DiffServMapping 3
1832  ******************************************************************************/
1833
1834 /* Priority Queue 3F (31:30) */
1835 #define LTQ_ES_DFSRV_MAP3_REG_PQ3F   (0x3 << 30)
1836 #define LTQ_ES_DFSRV_MAP3_REG_PQ3F_VAL(val)   (((val) & 0x3) << 30)
1837 #define LTQ_ES_DFSRV_MAP3_REG_PQ3F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3F) >> 30) & 0x3)
1838 #define LTQ_ES_DFSRV_MAP3_REG_PQ3F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3F) | (((val) & 0x3) << 30))
1839 /* Priority Queue 3E (29:28) */
1840 #define LTQ_ES_DFSRV_MAP3_REG_PQ3E   (0x3 << 28)
1841 #define LTQ_ES_DFSRV_MAP3_REG_PQ3E_VAL(val)   (((val) & 0x3) << 28)
1842 #define LTQ_ES_DFSRV_MAP3_REG_PQ3E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3E) >> 28) & 0x3)
1843 #define LTQ_ES_DFSRV_MAP3_REG_PQ3E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3E) | (((val) & 0x3) << 28))
1844 /* Priority Queue 3D (27:26) */
1845 #define LTQ_ES_DFSRV_MAP3_REG_PQ3D   (0x3 << 26)
1846 #define LTQ_ES_DFSRV_MAP3_REG_PQ3D_VAL(val)   (((val) & 0x3) << 26)
1847 #define LTQ_ES_DFSRV_MAP3_REG_PQ3D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3D) >> 26) & 0x3)
1848 #define LTQ_ES_DFSRV_MAP3_REG_PQ3D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3D) | (((val) & 0x3) << 26))
1849 /* Priority Queue 3C (25:24) */
1850 #define LTQ_ES_DFSRV_MAP3_REG_PQ3C   (0x3 << 24)
1851 #define LTQ_ES_DFSRV_MAP3_REG_PQ3C_VAL(val)   (((val) & 0x3) << 24)
1852 #define LTQ_ES_DFSRV_MAP3_REG_PQ3C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3C) >> 24) & 0x3)
1853 #define LTQ_ES_DFSRV_MAP3_REG_PQ3C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3C) | (((val) & 0x3) << 24))
1854 /* Priority Queue 3B (23:22) */
1855 #define LTQ_ES_DFSRV_MAP3_REG_PQ3B   (0x3 << 22)
1856 #define LTQ_ES_DFSRV_MAP3_REG_PQ3B_VAL(val)   (((val) & 0x3) << 22)
1857 #define LTQ_ES_DFSRV_MAP3_REG_PQ3B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3B) >> 22) & 0x3)
1858 #define LTQ_ES_DFSRV_MAP3_REG_PQ3B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3B) | (((val) & 0x3) << 22))
1859 /* Priority Queue 3A (21:20) */
1860 #define LTQ_ES_DFSRV_MAP3_REG_PQ3A   (0x3 << 20)
1861 #define LTQ_ES_DFSRV_MAP3_REG_PQ3A_VAL(val)   (((val) & 0x3) << 20)
1862 #define LTQ_ES_DFSRV_MAP3_REG_PQ3A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3A) >> 20) & 0x3)
1863 #define LTQ_ES_DFSRV_MAP3_REG_PQ3A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3A) | (((val) & 0x3) << 20))
1864 /* Priority Queue 39 (19:18) */
1865 #define LTQ_ES_DFSRV_MAP3_REG_PQ39   (0x3 << 18)
1866 #define LTQ_ES_DFSRV_MAP3_REG_PQ39_VAL(val)   (((val) & 0x3) << 18)
1867 #define LTQ_ES_DFSRV_MAP3_REG_PQ39_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ39) >> 18) & 0x3)
1868 #define LTQ_ES_DFSRV_MAP3_REG_PQ39_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ39) | (((val) & 0x3) << 18))
1869 /* Priority Queue 38 (17:16) */
1870 #define LTQ_ES_DFSRV_MAP3_REG_PQ38   (0x3 << 16)
1871 #define LTQ_ES_DFSRV_MAP3_REG_PQ38_VAL(val)   (((val) & 0x3) << 16)
1872 #define LTQ_ES_DFSRV_MAP3_REG_PQ38_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ38) >> 16) & 0x3)
1873 #define LTQ_ES_DFSRV_MAP3_REG_PQ38_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ38) | (((val) & 0x3) << 16))
1874 /* Priority Queue 37 (15:14) */
1875 #define LTQ_ES_DFSRV_MAP3_REG_PQ37   (0x3 << 14)
1876 #define LTQ_ES_DFSRV_MAP3_REG_PQ37_VAL(val)   (((val) & 0x3) << 14)
1877 #define LTQ_ES_DFSRV_MAP3_REG_PQ37_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ37) >> 14) & 0x3)
1878 #define LTQ_ES_DFSRV_MAP3_REG_PQ37_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ37) | (((val) & 0x3) << 14))
1879 /* Priority Queue 36 (13:12) */
1880 #define LTQ_ES_DFSRV_MAP3_REG_PQ36   (0x3 << 12)
1881 #define LTQ_ES_DFSRV_MAP3_REG_PQ36_VAL(val)   (((val) & 0x3) << 12)
1882 #define LTQ_ES_DFSRV_MAP3_REG_PQ36_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ36) >> 12) & 0x3)
1883 #define LTQ_ES_DFSRV_MAP3_REG_PQ36_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ36) | (((val) & 0x3) << 12))
1884 /* Priority Queue 35 (11:10) */
1885 #define LTQ_ES_DFSRV_MAP3_REG_PQ35   (0x3 << 10)
1886 #define LTQ_ES_DFSRV_MAP3_REG_PQ35_VAL(val)   (((val) & 0x3) << 10)
1887 #define LTQ_ES_DFSRV_MAP3_REG_PQ35_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ35) >> 10) & 0x3)
1888 #define LTQ_ES_DFSRV_MAP3_REG_PQ35_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ35) | (((val) & 0x3) << 10))
1889 /* Priority Queue 34 (9:8) */
1890 #define LTQ_ES_DFSRV_MAP3_REG_PQ34   (0x3 << 8)
1891 #define LTQ_ES_DFSRV_MAP3_REG_PQ34_VAL(val)   (((val) & 0x3) << 8)
1892 #define LTQ_ES_DFSRV_MAP3_REG_PQ34_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ34) >> 8) & 0x3)
1893 #define LTQ_ES_DFSRV_MAP3_REG_PQ34_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ34) | (((val) & 0x3) << 8))
1894 /* Priority Queue 33 (7:6) */
1895 #define LTQ_ES_DFSRV_MAP3_REG_PQ33   (0x3 << 6)
1896 #define LTQ_ES_DFSRV_MAP3_REG_PQ33_VAL(val)   (((val) & 0x3) << 6)
1897 #define LTQ_ES_DFSRV_MAP3_REG_PQ33_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ33) >> 6) & 0x3)
1898 #define LTQ_ES_DFSRV_MAP3_REG_PQ33_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ33) | (((val) & 0x3) << 6))
1899 /* Priority Queue 32 (5:4) */
1900 #define LTQ_ES_DFSRV_MAP3_REG_PQ32   (0x3 << 4)
1901 #define LTQ_ES_DFSRV_MAP3_REG_PQ32_VAL(val)   (((val) & 0x3) << 4)
1902 #define LTQ_ES_DFSRV_MAP3_REG_PQ32_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ32) >> 4) & 0x3)
1903 #define LTQ_ES_DFSRV_MAP3_REG_PQ32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ32) | (((val) & 0x3) << 4))
1904 /* Priority Queue 31 (3:2) */
1905 #define LTQ_ES_DFSRV_MAP3_REG_PQ31   (0x3 << 2)
1906 #define LTQ_ES_DFSRV_MAP3_REG_PQ31_VAL(val)   (((val) & 0x3) << 2)
1907 #define LTQ_ES_DFSRV_MAP3_REG_PQ31_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ31) >> 2) & 0x3)
1908 #define LTQ_ES_DFSRV_MAP3_REG_PQ31_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ31) | (((val) & 0x3) << 2))
1909 /* Priority Queue 30 (1:0) */
1910 #define LTQ_ES_DFSRV_MAP3_REG_PQ30   (0x3)
1911 #define LTQ_ES_DFSRV_MAP3_REG_PQ30_VAL(val)   (((val) & 0x3) << 0)
1912 #define LTQ_ES_DFSRV_MAP3_REG_PQ30_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ30) >> 0) & 0x3)
1913 #define LTQ_ES_DFSRV_MAP3_REG_PQ30_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ30) | (((val) & 0x3) << 0))
1914
1915 /*******************************************************************************
1916  * TCP/UDP Port Filter 0
1917  ******************************************************************************/
1918
1919 /* Reserved (31:30) */
1920 #define LTQ_ES_TCP_PF0_REG_RES   (0x3 << 30)
1921 #define LTQ_ES_TCP_PF0_REG_RES_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_RES) >> 30) & 0x3)
1922 /* Action for TCP/UDP Port Filter 0 (29:28) */
1923 #define LTQ_ES_TCP_PF0_REG_ATUF0   (0x3 << 28)
1924 #define LTQ_ES_TCP_PF0_REG_ATUF0_VAL(val)   (((val) & 0x3) << 28)
1925 #define LTQ_ES_TCP_PF0_REG_ATUF0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_ATUF0) >> 28) & 0x3)
1926 #define LTQ_ES_TCP_PF0_REG_ATUF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_ATUF0) | (((val) & 0x3) << 28))
1927 /* TCP/UDP PRI for TCP/UDP Port Filter 0 (27:26) */
1928 #define LTQ_ES_TCP_PF0_REG_TUPF0   (0x3 << 26)
1929 #define LTQ_ES_TCP_PF0_REG_TUPF0_VAL(val)   (((val) & 0x3) << 26)
1930 #define LTQ_ES_TCP_PF0_REG_TUPF0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_TUPF0) >> 26) & 0x3)
1931 #define LTQ_ES_TCP_PF0_REG_TUPF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_TUPF0) | (((val) & 0x3) << 26))
1932 /* Compare TCP/UDP Source Port or Destination Port (25:24) */
1933 #define LTQ_ES_TCP_PF0_REG_COMP0   (0x3 << 24)
1934 #define LTQ_ES_TCP_PF0_REG_COMP0_VAL(val)   (((val) & 0x3) << 24)
1935 #define LTQ_ES_TCP_PF0_REG_COMP0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_COMP0) >> 24) & 0x3)
1936 #define LTQ_ES_TCP_PF0_REG_COMP0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_COMP0) | (((val) & 0x3) << 24))
1937 /* Port Range in TCP/UDP (23:16) */
1938 #define LTQ_ES_TCP_PF0_REG_PRANGE0   (0xff << 16)
1939 #define LTQ_ES_TCP_PF0_REG_PRANGE0_VAL(val)   (((val) & 0xff) << 16)
1940 #define LTQ_ES_TCP_PF0_REG_PRANGE0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_PRANGE0) >> 16) & 0xff)
1941 #define LTQ_ES_TCP_PF0_REG_PRANGE0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_PRANGE0) | (((val) & 0xff) << 16))
1942 /* Base Port number 0 (15:0) */
1943 #define LTQ_ES_TCP_PF0_REG_BASEPT0   (0xffff)
1944 #define LTQ_ES_TCP_PF0_REG_BASEPT0_VAL(val)   (((val) & 0xffff) << 0)
1945 #define LTQ_ES_TCP_PF0_REG_BASEPT0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_BASEPT0) >> 0) & 0xffff)
1946 #define LTQ_ES_TCP_PF0_REG_BASEPT0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_BASEPT0) | (((val) & 0xffff) << 0))
1947
1948 /*******************************************************************************
1949  * Reserved DA(0180C2000003~0180C2000000) control register
1950  ******************************************************************************/
1951
1952 /* Valid bit for 0180C2000003 (31) */
1953 #define LTQ_ES_RA_03_00_REG_RA03_VALID   (0x1 << 31)
1954 #define LTQ_ES_RA_03_00_REG_RA03_VALID_VAL(val)   (((val) & 0x1) << 31)
1955 #define LTQ_ES_RA_03_00_REG_RA03_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_VALID) >> 31) & 0x1)
1956 #define LTQ_ES_RA_03_00_REG_RA03_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_VALID) | (((val) & 0x1) << 31))
1957 /* Span bit for 0180C2000003 (30) */
1958 #define LTQ_ES_RA_03_00_REG_RA03_SPAN   (0x1 << 30)
1959 #define LTQ_ES_RA_03_00_REG_RA03_SPAN_VAL(val)   (((val) & 0x1) << 30)
1960 #define LTQ_ES_RA_03_00_REG_RA03_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_SPAN) >> 30) & 0x1)
1961 #define LTQ_ES_RA_03_00_REG_RA03_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_SPAN) | (((val) & 0x1) << 30))
1962 /* Management bit for 0180C2000003 (29) */
1963 #define LTQ_ES_RA_03_00_REG_RA03_MG   (0x1 << 29)
1964 #define LTQ_ES_RA_03_00_REG_RA03_MG_VAL(val)   (((val) & 0x1) << 29)
1965 #define LTQ_ES_RA_03_00_REG_RA03_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_MG) >> 29) & 0x1)
1966 #define LTQ_ES_RA_03_00_REG_RA03_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_MG) | (((val) & 0x1) << 29))
1967 /* Cross_VLAN bit for 0180C2000003 (28) */
1968 #define LTQ_ES_RA_03_00_REG_RA03_CV   (0x1 << 28)
1969 #define LTQ_ES_RA_03_00_REG_RA03_CV_VAL(val)   (((val) & 0x1) << 28)
1970 #define LTQ_ES_RA_03_00_REG_RA03_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_CV) >> 28) & 0x1)
1971 #define LTQ_ES_RA_03_00_REG_RA03_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_CV) | (((val) & 0x1) << 28))
1972 /* TXTAG bit for 0180C2000003 (27:26) */
1973 #define LTQ_ES_RA_03_00_REG_RA03_TXTAG   (0x3 << 26)
1974 #define LTQ_ES_RA_03_00_REG_RA03_TXTAG_VAL(val)   (((val) & 0x3) << 26)
1975 #define LTQ_ES_RA_03_00_REG_RA03_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_TXTAG) >> 26) & 0x3)
1976 #define LTQ_ES_RA_03_00_REG_RA03_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_TXTAG) | (((val) & 0x3) << 26))
1977 /* Action bit for 0180C2000003 (25:24) */
1978 #define LTQ_ES_RA_03_00_REG_RA03_ACT   (0x3 << 24)
1979 #define LTQ_ES_RA_03_00_REG_RA03_ACT_VAL(val)   (((val) & 0x3) << 24)
1980 #define LTQ_ES_RA_03_00_REG_RA03_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_ACT) >> 24) & 0x3)
1981 #define LTQ_ES_RA_03_00_REG_RA03_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_ACT) | (((val) & 0x3) << 24))
1982 /* Valid bit for 0180C2000002 (23) */
1983 #define LTQ_ES_RA_03_00_REG_RA02_VALID   (0x1 << 23)
1984 #define LTQ_ES_RA_03_00_REG_RA02_VALID_VAL(val)   (((val) & 0x1) << 23)
1985 #define LTQ_ES_RA_03_00_REG_RA02_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_VALID) >> 23) & 0x1)
1986 #define LTQ_ES_RA_03_00_REG_RA02_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_VALID) | (((val) & 0x1) << 23))
1987 /* Span bit for 0180C2000002 (22) */
1988 #define LTQ_ES_RA_03_00_REG_RA02_SPAN   (0x1 << 22)
1989 #define LTQ_ES_RA_03_00_REG_RA02_SPAN_VAL(val)   (((val) & 0x1) << 22)
1990 #define LTQ_ES_RA_03_00_REG_RA02_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_SPAN) >> 22) & 0x1)
1991 #define LTQ_ES_RA_03_00_REG_RA02_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_SPAN) | (((val) & 0x1) << 22))
1992 /* Management bit for 0180C2000002 (21) */
1993 #define LTQ_ES_RA_03_00_REG_RA02_MG   (0x1 << 21)
1994 #define LTQ_ES_RA_03_00_REG_RA02_MG_VAL(val)   (((val) & 0x1) << 21)
1995 #define LTQ_ES_RA_03_00_REG_RA02_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_MG) >> 21) & 0x1)
1996 #define LTQ_ES_RA_03_00_REG_RA02_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_MG) | (((val) & 0x1) << 21))
1997 /* Cross_VLAN bit for 0180C2000002 (20) */
1998 #define LTQ_ES_RA_03_00_REG_RA02_CV   (0x1 << 20)
1999 #define LTQ_ES_RA_03_00_REG_RA02_CV_VAL(val)   (((val) & 0x1) << 20)
2000 #define LTQ_ES_RA_03_00_REG_RA02_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_CV) >> 20) & 0x1)
2001 #define LTQ_ES_RA_03_00_REG_RA02_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_CV) | (((val) & 0x1) << 20))
2002 /* TXTAG bit for 0180C2000002 (19:18) */
2003 #define LTQ_ES_RA_03_00_REG_RA02_TXTAG   (0x3 << 18)
2004 #define LTQ_ES_RA_03_00_REG_RA02_TXTAG_VAL(val)   (((val) & 0x3) << 18)
2005 #define LTQ_ES_RA_03_00_REG_RA02_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_TXTAG) >> 18) & 0x3)
2006 #define LTQ_ES_RA_03_00_REG_RA02_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_TXTAG) | (((val) & 0x3) << 18))
2007 /* Action bit for 0180C2000002 (17:16) */
2008 #define LTQ_ES_RA_03_00_REG_RA02_ACT   (0x3 << 16)
2009 #define LTQ_ES_RA_03_00_REG_RA02_ACT_VAL(val)   (((val) & 0x3) << 16)
2010 #define LTQ_ES_RA_03_00_REG_RA02_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_ACT) >> 16) & 0x3)
2011 #define LTQ_ES_RA_03_00_REG_RA02_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_ACT) | (((val) & 0x3) << 16))
2012 /* Valid bit for 0180C2000001 (15) */
2013 #define LTQ_ES_RA_03_00_REG_RA01_VALID   (0x1 << 15)
2014 #define LTQ_ES_RA_03_00_REG_RA01_VALID_VAL(val)   (((val) & 0x1) << 15)
2015 #define LTQ_ES_RA_03_00_REG_RA01_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_VALID) >> 15) & 0x1)
2016 #define LTQ_ES_RA_03_00_REG_RA01_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_VALID) | (((val) & 0x1) << 15))
2017 /* Span bit for 0180C2000001 (14) */
2018 #define LTQ_ES_RA_03_00_REG_RA01_SPAN   (0x1 << 14)
2019 #define LTQ_ES_RA_03_00_REG_RA01_SPAN_VAL(val)   (((val) & 0x1) << 14)
2020 #define LTQ_ES_RA_03_00_REG_RA01_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_SPAN) >> 14) & 0x1)
2021 #define LTQ_ES_RA_03_00_REG_RA01_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_SPAN) | (((val) & 0x1) << 14))
2022 /* Management bit for 0180C2000001 (13) */
2023 #define LTQ_ES_RA_03_00_REG_RA01_MG   (0x1 << 13)
2024 #define LTQ_ES_RA_03_00_REG_RA01_MG_VAL(val)   (((val) & 0x1) << 13)
2025 #define LTQ_ES_RA_03_00_REG_RA01_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_MG) >> 13) & 0x1)
2026 #define LTQ_ES_RA_03_00_REG_RA01_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_MG) | (((val) & 0x1) << 13))
2027 /* Cross_VLAN bit for 0180C2000001 (12) */
2028 #define LTQ_ES_RA_03_00_REG_RA01_CV   (0x1 << 12)
2029 #define LTQ_ES_RA_03_00_REG_RA01_CV_VAL(val)   (((val) & 0x1) << 12)
2030 #define LTQ_ES_RA_03_00_REG_RA01_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_CV) >> 12) & 0x1)
2031 #define LTQ_ES_RA_03_00_REG_RA01_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_CV) | (((val) & 0x1) << 12))
2032 /* TXTAG bit for 0180C2000001 (11:10) */
2033 #define LTQ_ES_RA_03_00_REG_RA01_TXTAG   (0x3 << 10)
2034 #define LTQ_ES_RA_03_00_REG_RA01_TXTAG_VAL(val)   (((val) & 0x3) << 10)
2035 #define LTQ_ES_RA_03_00_REG_RA01_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_TXTAG) >> 10) & 0x3)
2036 #define LTQ_ES_RA_03_00_REG_RA01_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_TXTAG) | (((val) & 0x3) << 10))
2037 /* Action bit for 0180C2000001 (9:8) */
2038 #define LTQ_ES_RA_03_00_REG_RA01_ACT   (0x3 << 8)
2039 #define LTQ_ES_RA_03_00_REG_RA01_ACT_VAL(val)   (((val) & 0x3) << 8)
2040 #define LTQ_ES_RA_03_00_REG_RA01_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_ACT) >> 8) & 0x3)
2041 #define LTQ_ES_RA_03_00_REG_RA01_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_ACT) | (((val) & 0x3) << 8))
2042 /* Valid bit for 0180C2000000 (7) */
2043 #define LTQ_ES_RA_03_00_REG_RA00_VALID   (0x1 << 7)
2044 #define LTQ_ES_RA_03_00_REG_RA00_VALID_VAL(val)   (((val) & 0x1) << 7)
2045 #define LTQ_ES_RA_03_00_REG_RA00_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_VALID) >> 7) & 0x1)
2046 #define LTQ_ES_RA_03_00_REG_RA00_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_VALID) | (((val) & 0x1) << 7))
2047 /* Span bit for 0180C2000000 (6) */
2048 #define LTQ_ES_RA_03_00_REG_RA00_SPAN   (0x1 << 6)
2049 #define LTQ_ES_RA_03_00_REG_RA00_SPAN_VAL(val)   (((val) & 0x1) << 6)
2050 #define LTQ_ES_RA_03_00_REG_RA00_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_SPAN) >> 6) & 0x1)
2051 #define LTQ_ES_RA_03_00_REG_RA00_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_SPAN) | (((val) & 0x1) << 6))
2052 /* Management bit for 0180C2000000 (5) */
2053 #define LTQ_ES_RA_03_00_REG_RA00_MG   (0x1 << 5)
2054 #define LTQ_ES_RA_03_00_REG_RA00_MG_VAL(val)   (((val) & 0x1) << 5)
2055 #define LTQ_ES_RA_03_00_REG_RA00_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_MG) >> 5) & 0x1)
2056 #define LTQ_ES_RA_03_00_REG_RA00_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_MG) | (((val) & 0x1) << 5))
2057 /* Cross_VLAN bit for 0180C2000000 (4) */
2058 #define LTQ_ES_RA_03_00_REG_RA00_CV   (0x1 << 4)
2059 #define LTQ_ES_RA_03_00_REG_RA00_CV_VAL(val)   (((val) & 0x1) << 4)
2060 #define LTQ_ES_RA_03_00_REG_RA00_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_CV) >> 4) & 0x1)
2061 #define LTQ_ES_RA_03_00_REG_RA00_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_CV) | (((val) & 0x1) << 4))
2062 /* TXTAG bit for 0180C2000000 (3:2) */
2063 #define LTQ_ES_RA_03_00_REG_RA00_TXTAG   (0x3 << 2)
2064 #define LTQ_ES_RA_03_00_REG_RA00_TXTAG_VAL(val)   (((val) & 0x3) << 2)
2065 #define LTQ_ES_RA_03_00_REG_RA00_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_TXTAG) >> 2) & 0x3)
2066 #define LTQ_ES_RA_03_00_REG_RA00_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_TXTAG) | (((val) & 0x3) << 2))
2067 /* Action bit for 0180C2000000 (1:0) */
2068 #define LTQ_ES_RA_03_00_REG_RA00_ACT   (0x3)
2069 #define LTQ_ES_RA_03_00_REG_RA00_ACT_VAL(val)   (((val) & 0x3) << 0)
2070 #define LTQ_ES_RA_03_00_REG_RA00_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_ACT) >> 0) & 0x3)
2071 #define LTQ_ES_RA_03_00_REG_RA00_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_ACT) | (((val) & 0x3) << 0))
2072
2073 /*******************************************************************************
2074  * Protocol Filter 0
2075  ******************************************************************************/
2076
2077 /* Value Compared with Protocol in IP Header (31:24) */
2078 #define LTQ_ES_PRTCL_F0_REG_PFR3   (0xff << 24)
2079 #define LTQ_ES_PRTCL_F0_REG_PFR3_VAL(val)   (((val) & 0xff) << 24)
2080 #define LTQ_ES_PRTCL_F0_REG_PFR3_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR3) >> 24) & 0xff)
2081 #define LTQ_ES_PRTCL_F0_REG_PFR3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR3) | (((val) & 0xff) << 24))
2082 /* Value Compared with Protocol in IP Header (23:16) */
2083 #define LTQ_ES_PRTCL_F0_REG_PFR2   (0xff << 16)
2084 #define LTQ_ES_PRTCL_F0_REG_PFR2_VAL(val)   (((val) & 0xff) << 16)
2085 #define LTQ_ES_PRTCL_F0_REG_PFR2_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR2) >> 16) & 0xff)
2086 #define LTQ_ES_PRTCL_F0_REG_PFR2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR2) | (((val) & 0xff) << 16))
2087 /* Value Compared with Protocol in IP Header (15:8) */
2088 #define LTQ_ES_PRTCL_F0_REG_PFR1   (0xff << 8)
2089 #define LTQ_ES_PRTCL_F0_REG_PFR1_VAL(val)   (((val) & 0xff) << 8)
2090 #define LTQ_ES_PRTCL_F0_REG_PFR1_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR1) >> 8) & 0xff)
2091 #define LTQ_ES_PRTCL_F0_REG_PFR1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR1) | (((val) & 0xff) << 8))
2092 /* Value Compared with Protocol in IP Header (7:0) */
2093 #define LTQ_ES_PRTCL_F0_REG_PFR0   (0xff)
2094 #define LTQ_ES_PRTCL_F0_REG_PFR0_VAL(val)   (((val) & 0xff) << 0)
2095 #define LTQ_ES_PRTCL_F0_REG_PFR0_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR0) >> 0) & 0xff)
2096 #define LTQ_ES_PRTCL_F0_REG_PFR0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR0) | (((val) & 0xff) << 0))
2097
2098 #endif