OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [arm/] [xscale/] [pxa2x0/] [v2_0/] [include/] [hal_pxa2x0.h] - Blame information for rev 454

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
//==========================================================================
2
//
3
//      hal_pxa2x0.h
4
//
5
//      HAL misc board support definitions for PXA250/210
6
//
7
//==========================================================================
8
//####ECOSGPLCOPYRIGHTBEGIN####
9
// -------------------------------------------
10
// This file is part of eCos, the Embedded Configurable Operating System.
11
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12
//
13
// eCos is free software; you can redistribute it and/or modify it under
14
// the terms of the GNU General Public License as published by the Free
15
// Software Foundation; either version 2 or (at your option) any later version.
16
//
17
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
// for more details.
21
//
22
// You should have received a copy of the GNU General Public License along
23
// with eCos; if not, write to the Free Software Foundation, Inc.,
24
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
//
26
// As a special exception, if other files instantiate templates or use macros
27
// or inline functions from this file, or you compile this file and link it
28
// with other works to produce a work based on this file, this file does not
29
// by itself cause the resulting work to be covered by the GNU General Public
30
// License. However the source code for this file must still be made available
31
// in accordance with section (3) of the GNU General Public License.
32
//
33
// This exception does not invalidate any other reasons why a work based on
34
// this file might be covered by the GNU General Public License.
35
//
36
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
// at http://sources.redhat.com/ecos/ecos-license/
38
// -------------------------------------------
39
//####ECOSGPLCOPYRIGHTEND####
40
//==========================================================================
41
//#####DESCRIPTIONBEGIN####
42
//
43
// Author(s):    <knud.woehler@microplex.de>
44
// Date:         2003-01-06
45
//
46
//####DESCRIPTIONEND####
47
//
48
//==========================================================================
49
#ifndef CYGONCE_HAL_ARM_PXA2X0_H
50
#define CYGONCE_HAL_ARM_PXA2X0_H
51
 
52
#include <pkgconf/system.h>
53
#include <cyg/hal/hal_xscale.h>
54
 
55
#ifdef __ASSEMBLER__
56
#define PXA2X0_REGISTER(a)      (a)
57
#else
58
#define PXA2X0_REGISTER(a)      ((volatile unsigned long *)(a))
59
#endif
60
 
61
// Memory layout
62
#define PXA2X0_CS0_BASE                         (0x00000000)
63
#define PXA2X0_CS1_BASE                         (0x04000000)
64
#define PXA2X0_CS2_BASE                         (0x08000000)
65
#define PXA2X0_CS3_BASE                         (0x0c000000)
66
#define PXA2X0_CS4_BASE                         (0x10000000)
67
#define PXA2X0_CS5_BASE                         (0x14000000)
68
 
69
#define PXA2X0_PCMCIA0_BASE                     (0x20000000)
70
#define PXA2X0_PCMCIA1_BASE                     (0x30000000)
71
 
72
#define PXA2X0_PERIPHERALS_BASE         (0x40000000)
73
#define PXA2X0_LCD_BASE                         (0x44000000)
74
#define PXA2X0_MEMORY_CTL_BASE          (0x48000000)
75
 
76
#define PXA2X0_RAM_BANK0_BASE           (0xA0000000)
77
#define PXA2X0_RAM_BANK1_BASE           (0xA4000000)
78
#define PXA2X0_RAM_BANK2_BASE           (0xA8000000)
79
#define PXA2X0_RAM_BANK3_BASE           (0xAc000000)
80
 
81
#define PXA2X0_CACHE_FLUSH_BASE         (0xc0000000)
82
 
83
#define DCACHE_FLUSH_AREA                       0xc0000000
84
 
85
// DMA Controller
86
#define PXA2X0_DMA_CTL_BASE                     ( PXA2X0_PERIPHERALS_BASE + 0x0000000 )
87
#define PXA2X0_DCSR0                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0000 )
88
#define PXA2X0_DCSR1                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0004 )
89
#define PXA2X0_DCSR2                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0008 )
90
#define PXA2X0_DCSR3                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x000c )
91
#define PXA2X0_DCSR4                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0010 )
92
#define PXA2X0_DCSR5                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0014 )
93
#define PXA2X0_DCSR6                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0018 )
94
#define PXA2X0_DCSR7                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x001c )
95
#define PXA2X0_DCSR8                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0020 )
96
#define PXA2X0_DCSR9                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0024 )
97
#define PXA2X0_DCSR10                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0028 )
98
#define PXA2X0_DCSR11                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x002c )
99
#define PXA2X0_DCSR12                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0030 )
100
#define PXA2X0_DCSR13                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0034 )
101
#define PXA2X0_DCSR14                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0038 )
102
#define PXA2X0_DCSR15                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x003c )
103
#define PXA2X0_DINT                                     PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x00f0 )
104
#define PXA2X0_DRCMR0                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0100 )
105
#define PXA2X0_DRCMR1                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0104 )
106
#define PXA2X0_DRCMR2                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0108 )
107
#define PXA2X0_DRCMR3                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x010c )
108
#define PXA2X0_DRCMR4                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0110 )
109
#define PXA2X0_DRCMR5                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0114 )
110
#define PXA2X0_DRCMR6                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0118 )
111
#define PXA2X0_DRCMR7                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x011c )
112
#define PXA2X0_DRCMR8                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0120 )
113
#define PXA2X0_DRCMR9                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0124 )
114
#define PXA2X0_DRCMR10                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0128 )
115
#define PXA2X0_DRCMR11                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x012c )
116
#define PXA2X0_DRCMR12                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0130 )
117
#define PXA2X0_DRCMR13                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0134 )
118
#define PXA2X0_DRCMR14                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0138 )
119
#define PXA2X0_DRCMR15                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x013c )
120
#define PXA2X0_DRCMR16                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0140 )
121
#define PXA2X0_DRCMR17                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0144 )
122
#define PXA2X0_DRCMR18                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0148 )
123
#define PXA2X0_DRCMR19                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x014c )
124
#define PXA2X0_DRCMR20                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0150 )
125
#define PXA2X0_DRCMR21                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0154 )
126
#define PXA2X0_DRCMR22                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0158 )
127
#define PXA2X0_DRCMR23                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x015c )
128
#define PXA2X0_DRCMR24                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0160 )
129
#define PXA2X0_DRCMR25                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0164 )
130
#define PXA2X0_DRCMR26                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0168 )
131
#define PXA2X0_DRCMR27                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x016c )
132
#define PXA2X0_DRCMR28                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0170 )
133
#define PXA2X0_DRCMR29                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0174 )
134
#define PXA2X0_DRCMR30                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0178 )
135
#define PXA2X0_DRCMR31                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x017c )
136
#define PXA2X0_DRCMR32                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0180 )
137
#define PXA2X0_DRCMR33                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0184 )
138
#define PXA2X0_DRCMR34                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0188 )
139
#define PXA2X0_DRCMR35                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x018c )
140
#define PXA2X0_DRCMR36                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0190 )
141
#define PXA2X0_DRCMR37                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0194 )
142
#define PXA2X0_DRCMR38                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0198 )
143
#define PXA2X0_DRCMR39                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x019c )
144
#define PXA2X0_DDADR0                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0200 )
145
#define PXA2X0_DSADR0                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0204 )
146
#define PXA2X0_DTADR0                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0208 )
147
#define PXA2X0_DCMD0                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x020c )
148
#define PXA2X0_DDADR1                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0210 )
149
#define PXA2X0_DSADR1                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0214 )
150
#define PXA2X0_DTADR1                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0218 )
151
#define PXA2X0_DCMD1                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x021c )
152
#define PXA2X0_DDADR2                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0220 )
153
#define PXA2X0_DSADR2                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0224 )
154
#define PXA2X0_DTADR2                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0228 )
155
#define PXA2X0_DCMD2                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x022c )
156
#define PXA2X0_DDADR3                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0230 )
157
#define PXA2X0_DSADR3                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0234 )
158
#define PXA2X0_DTADR3                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0238 )
159
#define PXA2X0_DCMD3                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x023c )
160
#define PXA2X0_DDADR4                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0240 )
161
#define PXA2X0_DSADR4                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0244 )
162
#define PXA2X0_DTADR4                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0248 )
163
#define PXA2X0_DCMD4                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x024c )
164
#define PXA2X0_DDADR5                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0250 )
165
#define PXA2X0_DSADR5                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0254 )
166
#define PXA2X0_DTADR5                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0258 )
167
#define PXA2X0_DCMD5                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x025c )
168
#define PXA2X0_DDADR6                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0260 )
169
#define PXA2X0_DSADR6                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0264 )
170
#define PXA2X0_DTADR6                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0268 )
171
#define PXA2X0_DCMD6                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x026c )
172
#define PXA2X0_DDADR7                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0270 )
173
#define PXA2X0_DSADR7                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0274 )
174
#define PXA2X0_DTADR7                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0278 )
175
#define PXA2X0_DCMD7                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x027c )
176
#define PXA2X0_DDADR8                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0280 )
177
#define PXA2X0_DSADR8                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0284 )
178
#define PXA2X0_DTADR8                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0288 )
179
#define PXA2X0_DCMD8                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x028c )
180
#define PXA2X0_DDADR9                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0290 )
181
#define PXA2X0_DSADR9                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0294 )
182
#define PXA2X0_DTADR9                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x0298 )
183
#define PXA2X0_DCMD9                            PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x029c )
184
#define PXA2X0_DDADR10                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02a0 )
185
#define PXA2X0_DSADR10                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02a4 )
186
#define PXA2X0_DTADR10                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02a8 )
187
#define PXA2X0_DCMD10                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02ac )
188
#define PXA2X0_DDADR11                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02b0 )
189
#define PXA2X0_DSADR11                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02b4 )
190
#define PXA2X0_DTADR11                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02b8 )
191
#define PXA2X0_DCMD11                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02bc )
192
#define PXA2X0_DDADR12                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02c0 )
193
#define PXA2X0_DSADR12                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02c4 )
194
#define PXA2X0_DTADR12                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02c8 )
195
#define PXA2X0_DCMD12                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02cc )
196
#define PXA2X0_DDADR13                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02d0 )
197
#define PXA2X0_DSADR13                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02d4 )
198
#define PXA2X0_DTADR13                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02d8 )
199
#define PXA2X0_DCMD13                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02dc )
200
#define PXA2X0_DDADR14                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02e0 )
201
#define PXA2X0_DSADR14                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02e4 )
202
#define PXA2X0_DTADR14                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02e8 )
203
#define PXA2X0_DCMD14                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02ec )
204
#define PXA2X0_DDADR15                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02f0 )
205
#define PXA2X0_DSADR15                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02f4 )
206
#define PXA2X0_DTADR15                          PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02f8 )
207
#define PXA2X0_DCMD15                           PXA2X0_REGISTER( PXA2X0_DMA_CTL_BASE+0x02fc )
208
 
209
// Full Function UART
210
#define PXA2X0_FFUART_BASE                      ( PXA2X0_PERIPHERALS_BASE + 0x0100000 )
211
#define PXA2X0_FFRBR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0000 )
212
#define PXA2X0_FFTHR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0000 )
213
#define PXA2X0_FFIER                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0004 )
214
#define PXA2X0_FFIIR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0008 )
215
#define PXA2X0_FFFCR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0008 )
216
#define PXA2X0_FFLCR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x000c )
217
#define PXA2X0_FFMCR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0010 )
218
#define PXA2X0_FFLSR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0014 )
219
#define PXA2X0_FFMSR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0018 )
220
#define PXA2X0_FFSPR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x001c )
221
#define PXA2X0_FFISR                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0020 )
222
#define PXA2X0_FFDLL                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0000 )
223
#define PXA2X0_FFDLH                            PXA2X0_REGISTER( PXA2X0_FFUART_BASE+0x0004 )
224
 
225
// Bluetooth UART
226
#define PXA2X0_BTUART_BASE                      ( PXA2X0_PERIPHERALS_BASE + 0x0200000 )
227
#define PXA2X0_BTRBR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0000 )
228
#define PXA2X0_BTTHR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0000 )
229
#define PXA2X0_BTIER                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0004 )
230
#define PXA2X0_BTIIR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0008 )
231
#define PXA2X0_BTFCR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0008 )
232
#define PXA2X0_BTLCR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x000c )
233
#define PXA2X0_BTMCR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0010 )
234
#define PXA2X0_BTLSR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0014 )
235
#define PXA2X0_BTMSR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0018 )
236
#define PXA2X0_BTSPR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x001c )
237
#define PXA2X0_BTISR                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0020 )
238
#define PXA2X0_BTDLL                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0000 )
239
#define PXA2X0_BTDLH                            PXA2X0_REGISTER( PXA2X0_BTUART_BASE+0x0004 )
240
 
241
// I2C
242
#define PXA2X0_I2C_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x0300000 )
243
#define PXA2X0_IBMR                                     PXA2X0_REGISTER( PXA2X0_I2C_BASE+0x1680 )
244
#define PXA2X0_IDBR                                     PXA2X0_REGISTER( PXA2X0_I2C_BASE+0x1688 )
245
#define PXA2X0_ICR                                      PXA2X0_REGISTER( PXA2X0_I2C_BASE+0x1690 )
246
#define PXA2X0_ISR                                      PXA2X0_REGISTER( PXA2X0_I2C_BASE+0x1698 )
247
#define PXA2X0_ISAR                                     PXA2X0_REGISTER( PXA2X0_I2C_BASE+0x16a0 )
248
 
249
 
250
// I2S
251
#define PXA2X0_I2S_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x0400000 )
252
#define PXA2X0_SACR0                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0000 )
253
#define PXA2X0_SACR1                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0004 )
254
#define PXA2X0_SASR0                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x000c )
255
#define PXA2X0_SAIMR                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0014 )
256
#define PXA2X0_SAICR                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0018 )
257
#define PXA2X0_SADIV                            PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0060 )
258
#define PXA2X0_SADR                                     PXA2X0_REGISTER( PXA2X0_I2S_BASE+0x0080 )
259
 
260
// AC97
261
#define PXA2X0_AC97_BASE                        ( PXA2X0_PERIPHERALS_BASE + 0x0500000 )
262
#define PXA2X0_POCR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0000 )
263
#define PXA2X0_PICR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0004 )
264
#define PXA2X0_MCCR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0008 )
265
#define PXA2X0_GCR                                      PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x000c )
266
#define PXA2X0_POSR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0010 )
267
#define PXA2X0_PISR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0014 )
268
#define PXA2X0_MCSR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0018 )
269
#define PXA2X0_GSR                                      PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x001c )
270
#define PXA2X0_CAR                                      PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0020 )
271
#define PXA2X0_PCDR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0040 )
272
#define PXA2X0_MCDR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0060 )
273
#define PXA2X0_MOCR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0100 )
274
#define PXA2X0_MICR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0108 )
275
#define PXA2X0_MOSR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0110 )
276
#define PXA2X0_MISR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0118 )
277
#define PXA2X0_MODR                                     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0140 )
278
#define PXA2X0_AC97_PRIM_AUDIO_BASE     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0200 )
279
#define PXA2X0_AC97_SEC_AUDIO_BASE      PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0300 )
280
#define PXA2X0_AC97_PRIM_MODEM_BASE     PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0400 )
281
#define PXA2X0_AC97_SEC_MODEM_BASE      PXA2X0_REGISTER( PXA2X0_AC97_BASE+0x0500 )
282
 
283
// UDC
284
#define PXA2X0_UDC_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x0600000 )
285
#define PXA2X0_UDCCR                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0000 )
286
#define PXA2X0_UDCCS0                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0010 )
287
#define PXA2X0_UDCCS1                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0014 )
288
#define PXA2X0_UDCCS2                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0018 )
289
#define PXA2X0_UDCCS3                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x001c )
290
#define PXA2X0_UDCCS4                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0020 )
291
#define PXA2X0_UDCCS5                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0024 )
292
#define PXA2X0_UDCCS6                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0028 )
293
#define PXA2X0_UDCCS7                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x002c )
294
#define PXA2X0_UDCCS8                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0030 )
295
#define PXA2X0_UDCCS9                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0034 )
296
#define PXA2X0_UDCCS10                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0038 )
297
#define PXA2X0_UDCCS11                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x003c )
298
#define PXA2X0_UDCCS12                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0040 )
299
#define PXA2X0_UDCCS13                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0044 )
300
#define PXA2X0_UDCCS14                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0048 )
301
#define PXA2X0_UDCCS15                          PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x004c )
302
#define PXA2X0_UFNRH                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0060 )
303
#define PXA2X0_UFNRL                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0064 )
304
#define PXA2X0_UBCR2                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0068 )
305
#define PXA2X0_UBCR4                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x006c )
306
#define PXA2X0_UBCR7                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0070 )
307
#define PXA2X0_UBCR9                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0074 )
308
#define PXA2X0_UBCR12                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0078 )
309
#define PXA2X0_UBCR14                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x007c )
310
#define PXA2X0_UDDR0                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0080 )
311
#define PXA2X0_UDDR1                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0100 )
312
#define PXA2X0_UDDR2                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0180 )
313
#define PXA2X0_UDDR3                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0200 )
314
#define PXA2X0_UDDR4                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0400 )
315
#define PXA2X0_UDDR5                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x00a0 )
316
#define PXA2X0_UDDR6                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0600 )
317
#define PXA2X0_UDDR7                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0680 )
318
#define PXA2X0_UDDR8                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0700 )
319
#define PXA2X0_UDDR9                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0900 )
320
#define PXA2X0_UDDR10                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x00c0 )
321
#define PXA2X0_UDDR11                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0b00 )
322
#define PXA2X0_UDDR12                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0b80 )
323
#define PXA2X0_UDDR13                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0c00 )
324
#define PXA2X0_UDDR14                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0e00 )
325
#define PXA2X0_UDDR15                           PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x00e0 )
326
#define PXA2X0_UICR0                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0050 )
327
#define PXA2X0_UICR1                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0054 )
328
#define PXA2X0_USIR0                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x0058 )
329
#define PXA2X0_USIR1                            PXA2X0_REGISTER( PXA2X0_UDC_BASE+0x005c )
330
 
331
// Standard UART
332
#define PXA2X0_STUART_BASE                      ( PXA2X0_PERIPHERALS_BASE + 0x0700000 )
333
#define PXA2X0_STRBR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0000 )
334
#define PXA2X0_STTHR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0000 )
335
#define PXA2X0_STIER                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0004 )
336
#define PXA2X0_STIIR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0008 )
337
#define PXA2X0_STFCR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0008 )
338
#define PXA2X0_STLCR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x000c )
339
#define PXA2X0_STMCR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0010 )
340
#define PXA2X0_STLSR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0014 )
341
#define PXA2X0_STMSR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0018 )
342
#define PXA2X0_STSPR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x001c )
343
#define PXA2X0_STISR                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0020 )
344
#define PXA2X0_STDLL                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0000 )
345
#define PXA2X0_STDLH                            PXA2X0_REGISTER( PXA2X0_STUART_BASE+0x0004 )
346
 
347
// ICP
348
#define PXA2X0_ICP_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x0800000 )
349
#define PXA2X0_ICCR0                            PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x0000 )
350
#define PXA2X0_ICCR1                            PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x0004 )
351
#define PXA2X0_ICCR2                            PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x0008 )
352
#define PXA2X0_ICDR                                     PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x000c )
353
#define PXA2X0_ICSR0                            PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x0014 )
354
#define PXA2X0_ICSR1                            PXA2X0_REGISTER( PXA2X0_ICP_BASE+0x0018 )
355
 
356
// RTC
357
#define PXA2X0_RTC_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x0900000 )
358
#define PXA2X0_RCNR                                     PXA2X0_REGISTER( PXA2X0_RTC_BASE+0x0000 )
359
#define PXA2X0_RTAR                                     PXA2X0_REGISTER( PXA2X0_RTC_BASE+0x0004 )
360
#define PXA2X0_RTSR                                     PXA2X0_REGISTER( PXA2X0_RTC_BASE+0x0008 )
361
#define PXA2X0_RTTR                                     PXA2X0_REGISTER( PXA2X0_RTC_BASE+0x000c )
362
 
363
// OS Timer
364
#define PXA2X0_OSTIMER_BASE                     ( PXA2X0_PERIPHERALS_BASE + 0x0a00000 )
365
#define PXA2X0_OSMR0                            PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0000 )
366
#define PXA2X0_OSMR1                            PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0004 )
367
#define PXA2X0_OSMR2                            PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0008 )
368
#define PXA2X0_OSMR3                            PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x000c )
369
#define PXA2X0_OSCR                                     PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0010 )
370
#define PXA2X0_OSSR                                     PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0014 )
371
#define PXA2X0_OWER                                     PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x0018 )
372
#define PXA2X0_OIER                                     PXA2X0_REGISTER( PXA2X0_OSTIMER_BASE+0x001c )
373
 
374
#define PXA2X0_OSSR_TIMER0                      (0x1 << 0)
375
#define PXA2X0_OSSR_TIMER1                      (0x1 << 1)
376
#define PXA2X0_OSSR_TIMER2                      (0x1 << 2)
377
#define PXA2X0_OSSR_TIMER3                      (0x1 << 3)
378
 
379
#define PXA2X0_OIER_TIMER0                      (0x1 << 0)
380
#define PXA2X0_OIER_TIMER1                      (0x1 << 1)
381
#define PXA2X0_OIER_TIMER2                      (0x1 << 2)
382
#define PXA2X0_OIER_TIMER3                      (0x1 << 3)
383
 
384
#define PXA2X0_OWER_WME                         (0x1 << 0)
385
 
386
// PWM 0
387
#define PXA2X0_PWM0_BASE                        ( PXA2X0_PERIPHERALS_BASE + 0x0b00000 )
388
#define PXA2X0_PWM_CTRL0                        PXA2X0_REGISTER( PXA2X0_PWM0_BASE+0x0000 )
389
#define PXA2X0_PWM_PWDUTY0                      PXA2X0_REGISTER( PXA2X0_PWM0_BASE+0x0004 )
390
#define PXA2X0_PWM_PERVAL0                      PXA2X0_REGISTER( PXA2X0_PWM0_BASE+0x0008 )
391
 
392
// PWM 1
393
#define PXA2X0_PWM1_BASE                        ( PXA2X0_PERIPHERALS_BASE + 0x0c00000 )
394
#define PXA2X0_PWM_CTRL1                        PXA2X0_REGISTER( PXA2X0_PWM1_BASE+0x0000 )
395
#define PXA2X0_PWM_PWDUTY1                      PXA2X0_REGISTER( PXA2X0_PWM1_BASE+0x0004 )
396
#define PXA2X0_PWM_PERVAL1                      PXA2X0_REGISTER( PXA2X0_PWM1_BASE+0x0008 )
397
 
398
// Interrupt Control
399
#define PXA2X0_IC_BASE                          ( PXA2X0_PERIPHERALS_BASE + 0x0d00000 )
400
#define PXA2X0_ICIP                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x0000 )
401
#define PXA2X0_ICMR                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x0004 )
402
#define PXA2X0_ICLR                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x0008 )
403
#define PXA2X0_ICFP                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x000c )
404
#define PXA2X0_ICPR                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x0010 )
405
#define PXA2X0_ICCR                                     PXA2X0_REGISTER( PXA2X0_IC_BASE+0x0014 )
406
 
407
// GPIO
408
#define PXA2X0_GPIO_BASE                        ( PXA2X0_PERIPHERALS_BASE + 0x0e00000 )
409
#define PXA2X0_GPLR0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0000 )
410
#define PXA2X0_GPLR1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0004 )
411
#define PXA2X0_GPLR2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0008 )
412
#define PXA2X0_GPDR0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x000c )
413
#define PXA2X0_GPDR1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0010 )
414
#define PXA2X0_GPDR2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0014 )
415
#define PXA2X0_GPSR0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0018 )
416
#define PXA2X0_GPSR1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x001c )
417
#define PXA2X0_GPSR2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0020 )
418
#define PXA2X0_GPCR0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0024 )
419
#define PXA2X0_GPCR1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0028 )
420
#define PXA2X0_GPCR2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x002c )
421
#define PXA2X0_GRER0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0030 )
422
#define PXA2X0_GRER1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0034 )
423
#define PXA2X0_GRER2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0038 )
424
#define PXA2X0_GFER0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x003c )
425
#define PXA2X0_GFER1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0040 )
426
#define PXA2X0_GFER2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0044 )
427
#define PXA2X0_GEDR0                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0048 )
428
#define PXA2X0_GEDR1                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x004c )
429
#define PXA2X0_GEDR2                            PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0050 )
430
#define PXA2X0_GAFR0_L                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0054 )
431
#define PXA2X0_GAFR0_U                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0058 )
432
#define PXA2X0_GAFR1_L                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x005c )
433
#define PXA2X0_GAFR1_U                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0060 )
434
#define PXA2X0_GAFR2_L                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0064 )
435
#define PXA2X0_GAFR2_U                          PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0068 )
436
 
437
// Power Manager and Reset Control
438
#define PXA2X0_PM_BASE                          ( PXA2X0_PERIPHERALS_BASE + 0x0f00000 )
439
#define PXA2X0_PMCR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0000 )
440
#define PXA2X0_PSSR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0004 )
441
#define PXA2X0_PSPR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0008 )
442
#define PXA2X0_PWER                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x000c )
443
#define PXA2X0_PRER                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0010 )
444
#define PXA2X0_PFER                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0014 )
445
#define PXA2X0_PEDR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0018 )
446
#define PXA2X0_PCFR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x001c )
447
#define PXA2X0_PGSR0                            PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0020 )
448
#define PXA2X0_PGSR1                            PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0024 )
449
#define PXA2X0_PGSR2                            PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0028 )
450
#define PXA2X0_RCSR                                     PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0030 )
451
 
452
// SSP
453
#define PXA2X0_SSP_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x1000000 )
454
#define PXA2X0_SSCR0                            PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0000 )
455
#define PXA2X0_SSCR1                            PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0004 )
456
#define PXA2X0_SSSR                                     PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0008 )
457
#define PXA2X0_SSITR                            PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x000c )
458
#define PXA2X0_SSDR                                     PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0010 )
459
 
460
// MMC Controller
461
#define PXA2X0_MMC_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x1100000 )
462
#define PXA2X0_MMC_STRPCL                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0000 )
463
#define PXA2X0_MMC_STAT                         PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0004 )
464
#define PXA2X0_MMC_CLKRT                        PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0008 )
465
#define PXA2X0_MMC_SPI                          PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x000c )
466
#define PXA2X0_MMC_CMDAT                        PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0010 )
467
#define PXA2X0_MMC_RESTO                        PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0014 )
468
#define PXA2X0_MMC_RDTO                         PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0018 )
469
#define PXA2X0_MMC_BLKLEN                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x001c )
470
#define PXA2X0_MMC_NOB                          PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0020 )
471
#define PXA2X0_MMC_PRTBUF                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0024 )
472
#define PXA2X0_MMC_I_MASK                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0028 )
473
#define PXA2X0_MMC_I_REG                        PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x002c )
474
#define PXA2X0_MMC_CMD                          PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0030 )
475
#define PXA2X0_MMC_ARGH                         PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0034 )
476
#define PXA2X0_MMC_ARGL                         PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0038 )
477
#define PXA2X0_MMC_RES                          PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x003c )
478
#define PXA2X0_MMC_RXFIFO                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0040 )
479
#define PXA2X0_MMC_TXFIFO                       PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0044 )
480
 
481
// Clocks Manager
482
#define PXA2X0_CLK_BASE                         ( PXA2X0_PERIPHERALS_BASE + 0x1300000 )
483
#define PXA2X0_CCCR                                     PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0000 )
484
#define PXA2X0_CKEN                                     PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0004 )
485
#define PXA2X0_CSCC                                     PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0008 )
486
        //      Memory Clock
487
#define PXA2X0_CCCR_L09 (0x1f)
488
#define PXA2X0_CCCR_L27 (0x01)
489
#define PXA2X0_CCCR_L32 (0x02)
490
#define PXA2X0_CCCR_L36 (0x03)
491
#define PXA2X0_CCCR_L40 (0x04)
492
#define PXA2X0_CCCR_L45 (0x05)
493
        //      Memory-to-Run-Mode multiplier
494
#define PXA2X0_CCCR_M1  (0x1 << 5)
495
#define PXA2X0_CCCR_M2  (0x2 << 5)
496
#define PXA2X0_CCCR_M4  (0x3 << 5)
497
        //      Run-Mode-to-Turbo-Mode multiplier
498
#define PXA2X0_CCCR_N10 (0x2 << 7)      // N=1.0
499
#define PXA2X0_CCCR_N15 (0x3 << 7)      // N=1.5
500
#define PXA2X0_CCCR_N20 (0x4 << 7)      // N=2.0
501
#define PXA2X0_CCCR_N25 (0x5 << 7)      // N=2.5
502
#define PXA2X0_CCCR_N30 (0x6 << 7)      // N=3.0
503
 
504
 
505
// LCD Controller
506
#define PXA2X0_LCCR0                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0000 )
507
#define PXA2X0_LCCR1                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0004 )
508
#define PXA2X0_LCCR2                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0008 )
509
#define PXA2X0_LCCR3                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x000c )
510
#define PXA2X0_FDADR0                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0200 )
511
#define PXA2X0_FSADR0                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0204 )
512
#define PXA2X0_FIDR0                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0208 )
513
#define PXA2X0_LDCMD0                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x020c )
514
#define PXA2X0_FDADR1                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0210 )
515
#define PXA2X0_FSADR1                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0214 )
516
#define PXA2X0_FIDR1                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0218 )
517
#define PXA2X0_LDCMD1                           PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x021c )
518
#define PXA2X0_FBR0                                     PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0020 )
519
#define PXA2X0_FBR1                                     PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0024 )
520
#define PXA2X0_LCSR                                     PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0038 )
521
#define PXA2X0_LIIDR                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x003c )
522
#define PXA2X0_TRGBR                            PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0040 )
523
#define PXA2X0_TCR                                      PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0044 )
524
 
525
// Memory Controller
526
#define PXA2X0_MDCNFG                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0000 )
527
#define PXA2X0_MDREFR                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0004 )
528
#define PXA2X0_MSC0                                     PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0008 )
529
#define PXA2X0_MSC1                                     PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x000c )
530
#define PXA2X0_MSC2                                     PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0010 )
531
#define PXA2X0_MECR                                     PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0014 )
532
#define PXA2X0_SXCNFG                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x001c )
533
#define PXA2X0_SXMRS                            PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0024 )
534
#define PXA2X0_MCMEM0                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0028 )
535
#define PXA2X0_MCMEM1                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x002c )
536
#define PXA2X0_MCATT0                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0030 )
537
#define PXA2X0_MCATT1                           PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0034 )
538
#define PXA2X0_MCIO0                            PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0038 )
539
#define PXA2X0_MCIO1                            PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x003c )
540
#define PXA2X0_MDMRS                            PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0040 )
541
#define PXA2X0_BOOT_DEF                         PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0044 )
542
 
543
// UART definitions
544
//      Register offsets
545
#define PXA2X0_UART_RBR                         ( 0x0000 )      // Receive Buffer Register
546
#define PXA2X0_UART_THR                         ( 0x0000 )      // Transmit Hold Register
547
#define PXA2X0_UART_IER                         ( 0x0004 )      // Interrupt Enable Register
548
#define PXA2X0_UART_IIR                         ( 0x0008 )      // Interrupt ID Register
549
#define PXA2X0_UART_FCR                         ( 0x0008 )
550
#define PXA2X0_UART_LCR                         ( 0x000c )
551
#define PXA2X0_UART_MCR                         ( 0x0010 )
552
#define PXA2X0_UART_LSR                         ( 0x0014 )
553
#define PXA2X0_UART_MSR                         ( 0x0018 )
554
#define PXA2X0_UART_SPR                         ( 0x001c )
555
#define PXA2X0_UART_ISR                         ( 0x0020 )
556
#define PXA2X0_UART_DLL                         ( 0x0000 )
557
#define PXA2X0_UART_DLH                         ( 0x0004 )
558
 
559
 
560
// The interrupt enable register bits.
561
#define PXA2X0_UART_IER_RAVIE   0x01            // enable received data available irq
562
#define PXA2X0_UART_IER_TIE             0x02            // enable transmit data request interrupt
563
#define PXA2X0_UART_IER_RLSE    0x04            // enable receiver line status irq
564
#define PXA2X0_UART_IER_MIE             0x08            // enable modem status interrupt
565
#define PXA2X0_UART_IER_RTOIE   0x10            // enable Rx timeout interrupt
566
#define PXA2X0_UART_IER_NRZE    0x20            // enable NRZ coding
567
#define PXA2X0_UART_IER_UUE             0x40            // enable the UART unit
568
#define PXA2X0_UART_IER_DMAE    0x80            // enable DMA requests
569
 
570
// The interrupt identification register bits.
571
#define PXA2X0_UART_IIR_IP              0x01            // 0 if interrupt pending
572
#define PXA2X0_UART_Tx                  0x02
573
#define PXA2X0_UART_Rx                  0x04
574
#define PXA2X0_UART_IIR_ID_MASK 0xff            // mask for interrupt ID bits
575
 
576
// The line status register bits.
577
#define PXA2X0_UART_LSR_DR      0x01                    // data ready
578
#define PXA2X0_UART_LSR_OE      0x02                    // overrun error
579
#define PXA2X0_UART_LSR_PE      0x04                    // parity error
580
#define PXA2X0_UART_LSR_FE      0x08                    // framing error
581
#define PXA2X0_UART_LSR_BI      0x10                    // break interrupt
582
#define PXA2X0_UART_LSR_THRE    0x20                    // transmitter holding register empty
583
#define PXA2X0_UART_LSR_TEMT    0x40                    // transmitter holding and Tx shift registers empty
584
#define PXA2X0_UART_LSR_ERR     0x80                    // any error condition (FIFOE)
585
 
586
// The modem status register bits.
587
#define PXA2X0_UART_MSR_DCTS    0x01                    // delta clear to send
588
#define PXA2X0_UART_MSR_DDSR    0x02                    // delta data set ready
589
#define PXA2X0_UART_MSR_TERI    0x04                    // trailing edge ring indicator
590
#define PXA2X0_UART_MSR_DDCD    0x08                    // delta data carrier detect
591
#define PXA2X0_UART_MSR_CTS             0x10                    // clear to send
592
#define PXA2X0_UART_MSR_DSR             0x20                    // data set ready
593
#define PXA2X0_UART_MSR_RI              0x40                    // ring indicator
594
#define PXA2X0_UART_MSR_DCD             0x80                    // data carrier detect
595
 
596
// The line control register bits.
597
#define PXA2X0_UART_LCR_WLS0    0x01                    // word length select bit 0
598
#define PXA2X0_UART_LCR_WLS1    0x02                    // word length select bit 1
599
#define PXA2X0_UART_LCR_STB             0x04                    // number of stop bits
600
#define PXA2X0_UART_LCR_PEN             0x08                    // parity enable
601
#define PXA2X0_UART_LCR_EPS             0x10                    // even parity select
602
#define PXA2X0_UART_LCR_SP              0x20                    // stick parity
603
#define PXA2X0_UART_LCR_SB              0x40                    // set break
604
#define PXA2X0_UART_LCR_DLAB    0x80                    // divisor latch access bit
605
 
606
// The FIFO control register
607
#define PXA2X0_UART_FCR_FCR0    0x01                    // enable xmit and rcvr fifos
608
#define PXA2X0_UART_FCR_FCR1    0x02                    // clear RCVR FIFO
609
#define PXA2X0_UART_FCR_FCR2    0x04                    // clear XMIT FIFO
610
#define PXA2X0_UART_FCR_ITL0    0x40                    // Interrupt trigger level (ITL) bit 0
611
#define PXA2X0_UART_FCR_ITL1    0x80                    // Interrupt trigger level (ITL) bit 1
612
#define PXA2X0_UART_FCR_ITL_1BYTE   0x00                // i byte triggers interrupt
613
 
614
#define PXA2X0_UART_BAUD_RATE_DIVISOR(x)         ((14745600/(16*(x))))
615
 
616
#endif // CYGONCE_HAL_ARM_PXA2X0_H
617
// EOF hal_pxa2x0.h
618
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.