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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [pxa2x0/] [current/] [include/] [hal_pxa2x0.h] - Blame information for rev 786

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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