source: trunk/package/uboot-lantiq/files/include/asm-mips/ar9.h @ 20606

Last change on this file since 20606 was 20606, checked in by ralph, 7 years ago

[uboot-lantiq] add preliminary AR9 support
attention: if caches enabled the network is broken
attention: the network of the flash image doesn't work because of enabled caches

File size: 21.7 KB
Line 
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))
Note: See TracBrowser for help on using the repository browser.