fix maintainer flag
[openwrt/openwrt.git] / package / uboot-lantiq / files / include / asm-mips / ar9.h
1 /*
2 * (C) Copyright 2010
3 * Ralph Hempel
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24 /***********************************************************************/
25 /* Module : PMU register address and bits */
26 /***********************************************************************/
27 #define AR9_PMU (0xBF102000)
28 /* PMU Power down Control Register */
29 #define AR9_PMU_PWDCR ((volatile u32*)(AR9_PMU + 0x001C))
30 /* PMU Status Register */
31 #define AR9_PMU_SR ((volatile u32*)(AR9_PMU + 0x0020))
32 /** DMA block */
33 #define AR9_PMU_DMA (1<<5)
34 #define AR9_PMU_SDIO (1<<16)
35 #define AR9_PMU_USB0 (1<<6)
36 #define AR9_PMU_USB0_P (1<<0)
37 #define AR9_PMU_SWITCH (1<<28)
38
39
40 /***********************************************************************/
41 /* Module : RCU register address and bits */
42 /***********************************************************************/
43 #define AR9_RCU_BASE_ADDR (0xBF203000)
44 #define AR9_RCU_RST_REQ ((volatile u32*)(AR9_RCU_BASE_ADDR + 0x0010))
45 #define AR9_RCU_RST_STAT ((volatile u32*)(AR9_RCU_BASE_ADDR + 0x0014))
46 #define AR9_RST_ALL (1 << 30)
47
48 /*** Reset Request Register Bits ***/
49 #define AR9_RCU_RST_REQ_SRST (1 << 30)
50 #define AR9_RCU_RST_REQ_ARC_JTAG (1 << 20)
51 #define AR9_RCU_RST_REQ_PCI (1 << 13)
52 #define AR9_RCU_RST_REQ_AFE (1 << 11)
53 #define AR9_RCU_RST_REQ_SDIO (1 << 19)
54 #define AR9_RCU_RST_REQ_DMA (1 << 9)
55 #define AR9_RCU_RST_REQ_PPE (1 << 8)
56 #define AR9_RCU_RST_REQ_DFE (1 << 7)
57
58 /***********************************************************************/
59 /* Module : GPIO register address and bits */
60 /***********************************************************************/
61 #define AR9_GPIO (0xBE100B00)
62 /***Port 0 Data Output Register (0010H)***/
63 #define AR9_GPIO_P0_OUT ((volatile u32 *)(AR9_GPIO+ 0x0010))
64 /***Port 1 Data Output Register (0040H)***/
65 #define AR9_GPIO_P1_OUT ((volatile u32 *)(AR9_GPIO+ 0x0040))
66 /***Port 2 Data Output Register (0070H)***/
67 #define AR9_GPIO_P2_OUT ((volatile u32 *)(AR9_GPIO+ 0x0070))
68 /***Port 3 Data Output Register (00A0H)***/
69 #define AR9_GPIO_P3_OUT ((volatile u32 *)(AR9_GPIO+ 0x00A0))
70 /***Port 0 Data Input Register (0014H)***/
71 #define AR9_GPIO_P0_IN ((volatile u32 *)(AR9_GPIO+ 0x0014))
72 /***Port 1 Data Input Register (0044H)***/
73 #define AR9_GPIO_P1_IN ((volatile u32 *)(AR9_GPIO+ 0x0044))
74 /***Port 2 Data Input Register (0074H)***/
75 #define AR9_GPIO_P2_IN ((volatile u32 *)(AR9_GPIO+ 0x0074))
76 /***Port 3 Data Input Register (00A4H)***/
77 #define AR9_GPIO_P3_IN ((volatile u32 *)(AR9_GPIO+ 0x00A4))
78 /***Port 0 Direction Register (0018H)***/
79 #define AR9_GPIO_P0_DIR ((volatile u32 *)(AR9_GPIO+ 0x0018))
80 /***Port 1 Direction Register (0048H)***/
81 #define AR9_GPIO_P1_DIR ((volatile u32 *)(AR9_GPIO+ 0x0048))
82 /***Port 2 Direction Register (0078H)***/
83 #define AR9_GPIO_P2_DIR ((volatile u32 *)(AR9_GPIO+ 0x0078))
84 /***Port 3 Direction Register (0048H)***/
85 #define AR9_GPIO_P3_DIR ((volatile u32 *)(AR9_GPIO+ 0x00A8))
86 /***Port 0 Alternate Function Select Register 0 (001C H) ***/
87 #define AR9_GPIO_P0_ALTSEL0 ((volatile u32 *)(AR9_GPIO+ 0x001C))
88 /***Port 1 Alternate Function Select Register 0 (004C H) ***/
89 #define AR9_GPIO_P1_ALTSEL0 ((volatile u32 *)(AR9_GPIO+ 0x004C))
90 /***Port 2 Alternate Function Select Register 0 (007C H) ***/
91 #define AR9_GPIO_P2_ALTSEL0 ((volatile u32 *)(AR9_GPIO+ 0x007C))
92 /***Port 3 Alternate Function Select Register 0 (00AC H) ***/
93 #define AR9_GPIO_P3_ALTSEL0 ((volatile u32 *)(AR9_GPIO+ 0x00AC))
94 /***Port 0 Alternate Function Select Register 1 (0020 H) ***/
95 #define AR9_GPIO_P0_ALTSEL1 ((volatile u32 *)(AR9_GPIO+ 0x0020))
96 /***Port 1 Alternate Function Select Register 0 (0050 H) ***/
97 #define AR9_GPIO_P1_ALTSEL1 ((volatile u32 *)(AR9_GPIO+ 0x0050))
98 /***Port 2 Alternate Function Select Register 0 (0080 H) ***/
99 #define AR9_GPIO_P2_ALTSEL1 ((volatile u32 *)(AR9_GPIO+ 0x0080))
100 /***Port 3 Alternate Function Select Register 0 (0064 H) ***/
101 #define AR9_GPIO_P3_ALTSEL1 ((volatile u32 *)(AR9_GPIO+ 0x0064))
102 /***Port 0 Open Drain Control Register (0024H)***/
103 #define AR9_GPIO_P0_OD ((volatile u32 *)(AR9_GPIO+ 0x0024))
104 /***Port 1 Open Drain Control Register (0054H)***/
105 #define AR9_GPIO_P1_OD ((volatile u32 *)(AR9_GPIO+ 0x0054))
106 /***Port 2 Open Drain Control Register (0084H)***/
107 #define AR9_GPIO_P2_OD ((volatile u32 *)(AR9_GPIO+ 0x0084))
108 /***Port 3 Open Drain Control Register (0034H)***/
109 #define AR9_GPIO_P3_OD ((volatile u32 *)(AR9_GPIO+ 0x0034))
110 /***Port 0 Input Schmitt-Trigger Off Register (0028 H) ***/
111 #define AR9_GPIO_P0_STOFF ((volatile u32 *)(AR9_GPIO+ 0x0028))
112 /***Port 1 Input Schmitt-Trigger Off Register (0058 H) ***/
113 #define AR9_GPIO_P1_STOFF ((volatile u32 *)(AR9_GPIO+ 0x0058))
114 /***Port 2 Input Schmitt-Trigger Off Register (0088 H) ***/
115 #define AR9_GPIO_P2_STOFF ((volatile u32 *)(AR9_GPIO+ 0x0088))
116 /***Port 3 Input Schmitt-Trigger Off Register (0094 H) ***/
117 //#define AR9_GPIO_P3_STOFF ((volatile u32 *)(AR9_GPIO+ 0x0094))
118 /***Port 0 Pull Up/Pull Down Select Register (002C H)***/
119 #define AR9_GPIO_P0_PUDSEL ((volatile u32 *)(AR9_GPIO+ 0x002C))
120 /***Port 1 Pull Up/Pull Down Select Register (005C H)***/
121 #define AR9_GPIO_P1_PUDSEL ((volatile u32 *)(AR9_GPIO+ 0x005C))
122 /***Port 2 Pull Up/Pull Down Select Register (008C H)***/
123 #define AR9_GPIO_P2_PUDSEL ((volatile u32 *)(AR9_GPIO+ 0x008C))
124 /***Port 3 Pull Up/Pull Down Select Register (0038 H)***/
125 #define AR9_GPIO_P3_PUDSEL ((volatile u32 *)(AR9_GPIO+ 0x0038))
126 /***Port 0 Pull Up Device Enable Register (0030 H)***/
127 #define AR9_GPIO_P0_PUDEN ((volatile u32 *)(AR9_GPIO+ 0x0030))
128 /***Port 1 Pull Up Device Enable Register (0060 H)***/
129 #define AR9_GPIO_P1_PUDEN ((volatile u32 *)(AR9_GPIO+ 0x0060))
130 /***Port 2 Pull Up Device Enable Register (0090 H)***/
131 #define AR9_GPIO_P2_PUDEN ((volatile u32 *)(AR9_GPIO+ 0x0090))
132 /***Port 3 Pull Up Device Enable Register (003c H)***/
133 #define AR9_GPIO_P3_PUDEN ((volatile u32 *)(AR9_GPIO+ 0x003C))
134
135 /***********************************************************************/
136 /* Module : CGU register address and bits */
137 /***********************************************************************/
138 #define AR9_CGU (0xBF103000)
139 /***CGU Clock PLL0 ***/
140 #define AR9_CGU_PLL0_CFG ((volatile u32*)(AR9_CGU+ 0x0004))
141 /***CGU Clock PLL1 ***/
142 #define AR9_CGU_PLL1_CFG ((volatile u32*)(AR9_CGU+ 0x0008))
143 /***CGU Clock SYS Mux Register***/
144 #define AR9_CGU_SYS ((volatile u32*)(AR9_CGU+ 0x0010))
145 /***CGU Interface Clock Control Register***/
146 #define AR9_CGU_IFCCR ((volatile u32*)(AR9_CGU+ 0x0018))
147 /***CGU PCI Clock Control Register**/
148 #define AR9_CGU_PCICR ((volatile u32*)(AR9_CGU+ 0x0034))
149 #define CLOCK_60M 60000000
150 #define CLOCK_83M 83333333
151 #define CLOCK_111M 111111111
152 #define CLOCK_133M 133333333
153 #define CLOCK_166M 166666667
154 #define CLOCK_196M 196666667
155 #define CLOCK_333M 333333333
156 #define CLOCK_366M 366666667
157 #define CLOCK_500M 500000000
158
159 /***********************************************************************/
160 /* Module : MPS register address and bits */
161 /***********************************************************************/
162 #define AR9_MPS (KSEG1+0x1F107000)
163 #define AR9_MPS_CHIPID ((volatile u32*)(AR9_MPS + 0x0344))
164 #define AR9_MPS_CHIPID_VERSION_GET(value) (((value) >> 28) & ((1 << 4) - 1))
165 #define AR9_MPS_CHIPID_PARTNUM_GET(value) (((value) >> 12) & ((1 << 16) - 1))
166 #define AR9_MPS_CHIPID_MANID_GET(value) (((value) >> 1) & ((1 << 10) - 1))
167
168 /***********************************************************************/
169 /* Module : EBU register address and bits */
170 /***********************************************************************/
171 #define AR9_EBU (0xBE105300)
172
173 #define AR9_EBU_CLC ((volatile u32*)(AR9_EBU+ 0x0000))
174 #define AR9_EBU_CLC_DISS (1 << 1)
175 #define AR9_EBU_CLC_DISR (1 << 0)
176
177 #define AR9_EBU_ID ((volatile u32*)(AR9_EBU+ 0x0008))
178
179 /***EBU Global Control Register***/
180 #define AR9_EBU_CON ((volatile u32*)(AR9_EBU+ 0x0010))
181 #define AR9_EBU_CON_DTACS (value) (((( 1 << 3) - 1) & (value)) << 20)
182 #define AR9_EBU_CON_DTARW (value) (((( 1 << 3) - 1) & (value)) << 16)
183 #define AR9_EBU_CON_TOUTC (value) (((( 1 << 8) - 1) & (value)) << 8)
184 #define AR9_EBU_CON_ARBMODE (value) (((( 1 << 2) - 1) & (value)) << 6)
185 #define AR9_EBU_CON_ARBSYNC (1 << 5)
186 //#define AR9_EBU_CON_1 (1 << 3)
187
188 /***EBU Address Select Register 0***/
189 #define AR9_EBU_ADDSEL0 ((volatile u32*)(AR9_EBU + 0x0020))
190 /***EBU Address Select Register 1***/
191 #define AR9_EBU_ADDSEL1 ((volatile u32*)(AR9_EBU + 0x0024))
192 /***EBU Address Select Register 2***/
193 #define AR9_EBU_ADDSEL2 ((volatile u32*)(AR9_EBU + 0x0028))
194 /***EBU Address Select Register 3***/
195 #define AR9_EBU_ADDSEL3 ((volatile u32*)(AR9_EBU + 0x002C))
196 #define AR9_EBU_ADDSEL_BASE (value) (((( 1 << 20) - 1) & (value)) << 12)
197 #define AR9_EBU_ADDSEL_MASK (value) (((( 1 << 4) - 1) & (value)) << 4)
198 #define AR9_EBU_ADDSEL_MIRRORE (1 << 1)
199 #define AR9_EBU_ADDSEL_REGEN (1 << 0)
200
201 /***EBU Bus Configuration Register 0***/
202 #define AR9_EBU_BUSCON0 ((volatile u32*)(AR9_EBU+ 0x0060))
203 #define AR9_EBU_BUSCON0_WRDIS (1 << 31)
204 #define AR9_EBU_BUSCON0_ADSWP (value) (1 << 30)
205 #define AR9_EBU_BUSCON0_PG_EN (value) (1 << 29)
206 #define AR9_EBU_BUSCON0_AGEN (value) (((( 1 << 3) - 1) & (value)) << 24)
207 #define AR9_EBU_BUSCON0_SETUP (1 << 22)
208 #define AR9_EBU_BUSCON0_WAIT (value) (((( 1 << 2) - 1) & (value)) << 20)
209 #define AR9_EBU_BUSCON0_WAITINV (1 << 19)
210 #define AR9_EBU_BUSCON0_VN_EN (1 << 18)
211 #define AR9_EBU_BUSCON0_PORTW (value) (((( 1 << 2) - 1) & (value)) << 16)
212 #define AR9_EBU_BUSCON0_ALEC (value) (((( 1 << 2) - 1) & (value)) << 14)
213 #define AR9_EBU_BUSCON0_BCGEN (value) (((( 1 << 2) - 1) & (value)) << 12)
214 #define AR9_EBU_BUSCON0_WAITWDC (value) (((( 1 << 4) - 1) & (value)) << 8)
215 #define AR9_EBU_BUSCON0_WAITRRC (value) (((( 1 << 2) - 1) & (value)) << 6)
216 #define AR9_EBU_BUSCON0_HOLDC (value) (((( 1 << 2) - 1) & (value)) << 4)
217 #define AR9_EBU_BUSCON0_RECOVC (value) (((( 1 << 2) - 1) & (value)) << 2)
218 #define AR9_EBU_BUSCON0_CMULT (value) (((( 1 << 2) - 1) & (value)) << 0)
219
220 /***EBU Bus Configuration Register 1***/
221 #define AR9_EBU_BUSCON1 ((volatile u32*)(AR9_EBU+ 0x0064))
222 #define AR9_EBU_BUSCON1_WRDIS (1 << 31)
223 #define AR9_EBU_BUSCON1_ALEC (value) (((( 1 << 2) - 1) & (value)) << 29)
224 #define AR9_EBU_BUSCON1_BCGEN (value) (((( 1 << 2) - 1) & (value)) << 27)
225 #define AR9_EBU_BUSCON1_AGEN (value) (((( 1 << 2) - 1) & (value)) << 24)
226 #define AR9_EBU_BUSCON1_CMULTR (value) (((( 1 << 2) - 1) & (value)) << 22)
227 #define AR9_EBU_BUSCON1_WAIT (value) (((( 1 << 2) - 1) & (value)) << 20)
228 #define AR9_EBU_BUSCON1_WAITINV (1 << 19)
229 #define AR9_EBU_BUSCON1_SETUP (1 << 18)
230 #define AR9_EBU_BUSCON1_PORTW (value) (((( 1 << 2) - 1) & (value)) << 16)
231 #define AR9_EBU_BUSCON1_WAITRDC (value) (((( 1 << 7) - 1) & (value)) << 9)
232 #define AR9_EBU_BUSCON1_WAITWRC (value) (((( 1 << 3) - 1) & (value)) << 6)
233 #define AR9_EBU_BUSCON1_HOLDC (value) (((( 1 << 2) - 1) & (value)) << 4)
234 #define AR9_EBU_BUSCON1_RECOVC (value) (((( 1 << 2) - 1) & (value)) << 2)
235 #define AR9_EBU_BUSCON1_CMULT (value) (((( 1 << 2) - 1) & (value)) << 0)
236
237 /***EBU Bus Configuration Register 2***/
238 #define AR9_EBU_BUSCON2 ((volatile u32*)(AR9_EBU+ 0x0068))
239 #define AR9_EBU_BUSCON2_WRDIS (1 << 31)
240 #define AR9_EBU_BUSCON2_ALEC (value) (((( 1 << 2) - 1) & (value)) << 29)
241 #define AR9_EBU_BUSCON2_BCGEN (value) (((( 1 << 2) - 1) & (value)) << 27)
242 #define AR9_EBU_BUSCON2_AGEN (value) (((( 1 << 2) - 1) & (value)) << 24)
243 #define AR9_EBU_BUSCON2_CMULTR (value) (((( 1 << 2) - 1) & (value)) << 22)
244 #define AR9_EBU_BUSCON2_WAIT (value) (((( 1 << 2) - 1) & (value)) << 20)
245 #define AR9_EBU_BUSCON2_WAITINV (1 << 19)
246 #define AR9_EBU_BUSCON2_SETUP (1 << 18)
247 #define AR9_EBU_BUSCON2_PORTW (value) (((( 1 << 2) - 1) & (value)) << 16)
248 #define AR9_EBU_BUSCON2_WAITRDC (value) (((( 1 << 7) - 1) & (value)) << 9)
249 #define AR9_EBU_BUSCON2_WAITWRC (value) (((( 1 << 3) - 1) & (value)) << 6)
250 #define AR9_EBU_BUSCON2_HOLDC (value) (((( 1 << 2) - 1) & (value)) << 4)
251 #define AR9_EBU_BUSCON2_RECOVC (value) (((( 1 << 2) - 1) & (value)) << 2)
252 #define AR9_EBU_BUSCON2_CMULT (value) (((( 1 << 2) - 1) & (value)) << 0)
253
254 /***EBU Bus Configuration Register 2***/
255 #define AR9_EBU_BUSCON3 ((volatile u32*)(AR9_EBU+ 0x006C))
256 #define AR9_EBU_BUSCON3_WRDIS (1 << 31)
257 #define AR9_EBU_BUSCON3_ADSWP (value) (1 << 30)
258 #define AR9_EBU_BUSCON3_PG_EN (value) (1 << 29)
259 #define AR9_EBU_BUSCON3_AGEN (value) (((( 1 << 3) - 1) & (value)) << 24)
260 #define AR9_EBU_BUSCON3_SETUP (1 << 22)
261 #define AR9_EBU_BUSCON3_WAIT (value) (((( 1 << 2) - 1) & (value)) << 20)
262 #define AR9_EBU_BUSCON3_WAITINV (1 << 19)
263 #define AR9_EBU_BUSCON3_VN_EN (1 << 18)
264 #define AR9_EBU_BUSCON3_PORTW (value) (((( 1 << 2) - 1) & (value)) << 16)
265 #define AR9_EBU_BUSCON3_ALEC (value) (((( 1 << 2) - 1) & (value)) << 14)
266 #define AR9_EBU_BUSCON3_BCGEN (value) (((( 1 << 2) - 1) & (value)) << 12)
267 #define AR9_EBU_BUSCON3_WAITWDC (value) (((( 1 << 4) - 1) & (value)) << 8)
268 #define AR9_EBU_BUSCON3_WAITRRC (value) (((( 1 << 2) - 1) & (value)) << 6)
269 #define AR9_EBU_BUSCON3_HOLDC (value) (((( 1 << 2) - 1) & (value)) << 4)
270 #define AR9_EBU_BUSCON3_RECOVC (value) (((( 1 << 2) - 1) & (value)) << 2)
271 #define AR9_EBU_BUSCON3_CMULT (value) (((( 1 << 2) - 1) & (value)) << 0)
272
273 /***********************************************************************/
274 /* Module : SDRAM register address and bits */
275 /***********************************************************************/
276 #define AR9_SDRAM (0xBF800000)
277
278 /***********************************************************************/
279 /* Module : ASC0 register address and bits */
280 /***********************************************************************/
281 #define AR9_ASC0 (KSEG1 | 0x1E100400)
282 #define AR9_ASC0_TBUF ((volatile u32*)(AR9_ASC0 + 0x0020))
283 #define AR9_ASC0_RBUF ((volatile u32*)(AR9_ASC0 + 0x0024))
284 #define AR9_ASC0_FSTAT ((volatile u32*)(AR9_ASC0 + 0x0048))
285
286 /***********************************************************************/
287 /* Module : ASC1 register address and bits */
288 /***********************************************************************/
289 #define AR9_ASC1 (KSEG1 | 0x1E100C00)
290 #define AR9_ASC1_TBUF ((volatile u32*)(AR9_ASC1 + 0x0020))
291 #define AR9_ASC1_RBUF ((volatile u32*)(AR9_ASC1 + 0x0024))
292 #define AR9_ASC1_FSTAT ((volatile u32*)(AR9_ASC1 + 0x0048))
293
294 /***********************************************************************/
295 /* Module : DMA register address and bits */
296 /***********************************************************************/
297 #define AR9_DMA_OFFSET (0xBE104100)
298 /***********************************************************************/
299 #define AR9_DMA_CLC ((volatile u32*)(AR9_DMA_OFFSET + 0x0000))
300 #define AR9_DMA_ID ((volatile u32*)(AR9_DMA_OFFSET + 0x0008))
301 #define AR9_DMA_CTRL (volatile u32*)(AR9_DMA_BASE + 0x10)
302
303 /** DMA Port Select Register */
304 #define AR9_DMA_PS ((volatile u32*)(AR9_DMA_OFFSET + 0x0040))
305 /** DMA Port Control Register */
306 #define AR9_DMA_PCTRL ((volatile u32*)(AR9_DMA_OFFSET + 0x0044))
307 #define AR9_DMA_IRNEN ((volatile u32*)(AR9_DMA_OFFSET + 0x00F4))
308 #define AR9_DMA_IRNCR ((volatile u32*)(AR9_DMA_OFFSET + 0x00F8))
309 #define AR9_DMA_IRNICR ((volatile u32*)(AR9_DMA_OFFSET + 0x00FC))
310
311 #define AR9_DMA_CS ((volatile u32*)(AR9_DMA_OFFSET + 0x0018))
312 #define AR9_DMA_CCTRL ((volatile u32*)(AR9_DMA_OFFSET + 0x001C))
313 #define AR9_DMA_CDBA ((volatile u32*)(AR9_DMA_OFFSET + 0x0020))
314 #define AR9_DMA_CIE ((volatile u32*)(AR9_DMA_OFFSET + 0x002C))
315 #define AR9_DMA_CIS ((volatile u32*)(AR9_DMA_OFFSET + 0x0028))
316 #define AR9_DMA_CDLEN ((volatile u32*)(AR9_DMA_OFFSET + 0x0024))
317 #define AR9_DMA_CPOLL ((volatile u32*)(AR9_DMA_OFFSET + 0x0014))
318
319 /***********************************************************************/
320 /* Module : GPORT switch register */
321 /***********************************************************************/
322 #define AR9_SW (0xBE108000)
323 #define AR9_SW_PS (AR9_SW + 0x000)
324 #define AR9_SW_P0_CTL (AR9_SW + 0x004)
325 #define AR9_SW_P1_CTL (AR9_SW + 0x008)
326 #define AR9_SW_P2_CTL (AR9_SW + 0x00C)
327 #define AR9_SW_P0_VLAN (AR9_SW + 0x010)
328 #define AR9_SW_P1_VLAN (AR9_SW + 0x014)
329 #define AR9_SW_P2_VLAN (AR9_SW + 0x018)
330 #define AR9_SW_P0_INCTL (AR9_SW + 0x020)
331 #define AR9_SW_P1_INCTL (AR9_SW + 0x024)
332 #define AR9_SW_P2_INCTL (AR9_SW + 0x028)
333 #define AR9_SW_DF_PORTMAP (AR9_SW + 0x02C)
334 #define AR9_SW_P0_ECS_Q32 (AR9_SW + 0x030)
335 #define AR9_SW_P0_ECS_Q10 (AR9_SW + 0x034)
336 #define AR9_SW_P0_ECW_Q32 (AR9_SW + 0x038)
337 #define AR9_SW_P0_ECW_Q10 (AR9_SW + 0x03C)
338 #define AR9_SW_P1_ECS_Q32 (AR9_SW + 0x040)
339 #define AR9_SW_P1_ECS_Q10 (AR9_SW + 0x044)
340 #define AR9_SW_P1_ECW_Q32 (AR9_SW + 0x048)
341 #define AR9_SW_P1_ECW_Q10 (AR9_SW + 0x04C)
342 #define AR9_SW_P2_ECS_Q32 (AR9_SW + 0x050)
343 #define AR9_SW_P2_ECS_Q10 (AR9_SW + 0x054)
344 #define AR9_SW_P2_ECW_Q32 (AR9_SW + 0x058)
345 #define AR9_SW_P2_ECW_Q10 (AR9_SW + 0x05C)
346 #define AR9_SW_INT_ENA (AR9_SW + 0x060)
347 #define AR9_SW_INT_ST (AR9_SW + 0x064)
348 #define AR9_SW_GCTL0 (AR9_SW + 0x068)
349 #define AR9_SW_GCTL1 (AR9_SW + 0x06C)
350 #define AR9_SW_ARP (AR9_SW + 0x070)
351 #define AR9_SW_STRM_CTL (AR9_SW + 0x074)
352 #define AR9_SW_RGMII_CTL (AR9_SW + 0x078)
353 #define AR9_SW_1P_PRT (AR9_SW + 0x07C)
354 #define AR9_SW_GBKT_SZBS (AR9_SW + 0x080)
355 #define AR9_SW_GBKT_SZEBS (AR9_SW + 0x084)
356 #define AR9_SW_BF_TH (AR9_SW + 0x088)
357 #define AR9_SW_PMAC_HD_CTL (AR9_SW + 0x08C)
358 #define AR9_SW_PMAC_SA1 (AR9_SW + 0x090)
359 #define AR9_SW_PMAC_SA2 (AR9_SW + 0x094)
360 #define AR9_SW_PMAC_DA1 (AR9_SW + 0x098)
361 #define AR9_SW_PMAC_DA2 (AR9_SW + 0x09C)
362 #define AR9_SW_PMAC_VLAN (AR9_SW + 0x0A0)
363 #define AR9_SW_PMAC_TX_IPG (AR9_SW + 0x0A4)
364 #define AR9_SW_PMAC_RX_IPG (AR9_SW + 0x0A8)
365 #define AR9_SW_ADR_TB_CTL0 (AR9_SW + 0x0AC)
366 #define AR9_SW_ADR_TB_CTL1 (AR9_SW + 0x0B0)
367 #define AR9_SW_ADR_TB_CTL2 (AR9_SW + 0x0B4)
368 #define AR9_SW_ADR_TB_ST0 (AR9_SW + 0x0B8)
369 #define AR9_SW_ADR_TB_ST1 (AR9_SW + 0x0BC)
370 #define AR9_SW_ADR_TB_ST2 (AR9_SW + 0x0C0)
371 #define AR9_SW_RMON_CTL (AR9_SW + 0x0C4)
372 #define AR9_SW_RMON_ST (AR9_SW + 0x0C8)
373 #define AR9_SW_MDIO_CTL (AR9_SW + 0x0CC)
374 #define AR9_SW_MDIO_DATA (AR9_SW + 0x0D0)
375 #define AR9_SW_TP_FLT_ACT (AR9_SW + 0x0D4)
376 #define AR9_SW_PRTCL_FLT_ACT (AR9_SW + 0x0D8)
377 #define AR9_SW_VLAN_FLT0 (AR9_SW + 0x100)
378 #define AR9_SW_VLAN_FLT1 (AR9_SW + 0x104)
379 #define AR9_SW_VLAN_FLT2 (AR9_SW + 0x108)
380 #define AR9_SW_VLAN_FLT3 (AR9_SW + 0x10C)
381 #define AR9_SW_VLAN_FLT4 (AR9_SW + 0x110)
382 #define AR9_SW_VLAN_FLT5 (AR9_SW + 0x114)
383 #define AR9_SW_VLAN_FLT6 (AR9_SW + 0x118)
384 #define AR9_SW_VLAN_FLT7 (AR9_SW + 0x11C)
385 #define AR9_SW_VLAN_FLT8 (AR9_SW + 0x120)
386 #define AR9_SW_VLAN_FLT9 (AR9_SW + 0x124)
387 #define AR9_SW_VLAN_FLT10 (AR9_SW + 0x128)
388 #define AR9_SW_VLAN_FLT11 (AR9_SW + 0x12C)
389 #define AR9_SW_VLAN_FLT12 (AR9_SW + 0x130)
390 #define AR9_SW_VLAN_FLT13 (AR9_SW + 0x134)
391 #define AR9_SW_VLAN_FLT14 (AR9_SW + 0x138)
392 #define AR9_SW_VLAN_FLT15 (AR9_SW + 0x13C)
393 #define AR9_SW_TP_FLT10 (AR9_SW + 0x140)
394 #define AR9_SW_TP_FLT32 (AR9_SW + 0x144)
395 #define AR9_SW_TP_FLT54 (AR9_SW + 0x148)
396 #define AR9_SW_TP_FLT76 (AR9_SW + 0x14C)
397 #define AR9_SW_DFSRV_MAP0 (AR9_SW + 0x150)
398 #define AR9_SW_DFSRV_MAP1 (AR9_SW + 0x154)
399 #define AR9_SW_DFSRV_MAP2 (AR9_SW + 0x158)
400 #define AR9_SW_DFSRV_MAP3 (AR9_SW + 0x15C)
401 #define AR9_SW_TCP_PF0 (AR9_SW + 0x160)
402 #define AR9_SW_TCP_PF1 (AR9_SW + 0x164)
403 #define AR9_SW_TCP_PF2 (AR9_SW + 0x168)
404 #define AR9_SW_TCP_PF3 (AR9_SW + 0x16C)
405 #define AR9_SW_TCP_PF4 (AR9_SW + 0x170)
406 #define AR9_SW_TCP_PF5 (AR9_SW + 0x174)
407 #define AR9_SW_TCP_PF6 (AR9_SW + 0x178)
408 #define AR9_SW_TCP_PF7 (AR9_SW + 0x17C)
409 #define AR9_SW_RA_03_00 (AR9_SW + 0x180)
410 #define AR9_SW_RA_07_04 (AR9_SW + 0x184)
411 #define AR9_SW_RA_0B_08 (AR9_SW + 0x188)
412 #define AR9_SW_RA_0F_0C (AR9_SW + 0x18C)
413 #define AR9_SW_RA_13_10 (AR9_SW + 0x190)
414 #define AR9_SW_RA_17_14 (AR9_SW + 0x194)
415 #define AR9_SW_RA_1B_18 (AR9_SW + 0x198)
416 #define AR9_SW_RA_1F_1C (AR9_SW + 0x19C)
417 #define AR9_SW_RA_23_20 (AR9_SW + 0x1A0)
418 #define AR9_SW_RA_27_24 (AR9_SW + 0x1A4)
419 #define AR9_SW_RA_2B_28 (AR9_SW + 0x1A8)
420 #define AR9_SW_RA_2F_2C (AR9_SW + 0x1AC)
421 #define AR9_SW_F0 (AR9_SW + 0x1B0)
422 #define AR9_SW_F1 (AR9_SW + 0x1B4)
423
424 #define REG32(addr) *((volatile u32 *)(addr))