Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1126 | savelij | 1 | ifndef __mcf5208inc ; avoid multiple inclusion |
2 | __mcf5208inc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | |||
7 | ;**************************************************************************** |
||
8 | ;* * |
||
9 | ;* AS 1.42 - File MCF5208.INC * |
||
10 | ;* * |
||
11 | ;* Contains SFR and Bit Definitions for ColdFire MCF5208 * |
||
12 | ;* * |
||
13 | ;**************************************************************************** |
||
14 | |||
15 | MBAR equ $fc000000 |
||
16 | |||
17 | ;---------------------------------------------------------------------------- |
||
18 | ; Clock Module |
||
19 | |||
20 | MBAR_CLK equ MBAR+$9000 |
||
21 | |||
22 | PODR equ MBAR_CLK+0 ; PLL Output Divider Register (8b) |
||
23 | BUSDIV cffield PODR,0,4 ; Divider for generating the internal bus frequency |
||
24 | CPUDIV cffield PODR,4,4 ; Divider for generating the core frequency |
||
25 | PCR equ MBAR_CLK+2 ; PLL Control Register (8b) |
||
26 | DITHEN cfbit PCR,7 ; Dithering enable bit |
||
27 | DITHDEV cffield PCR,0,3 ; Dither Deviation |
||
28 | PMDR equ MBAR_CLK+4 ; PLL Modulation Divider Register (8b) |
||
29 | MODDIV cffield PMDR,0,8 ; Dither Modulation Divider |
||
30 | PFDR equ MBAR_CLK+6 ; PLL Feedback Divider Register (8b) |
||
31 | MFD cffield PFDR,0,8 ; Feedback Bits |
||
32 | |||
33 | ;---------------------------------------------------------------------------- |
||
34 | ; Power Management |
||
35 | |||
36 | WCR equ MBAR+$40013 ; Wakeup Control Register (8b) |
||
37 | ENBWCR cfbit WCR,7 ; Enable low-power mode entry |
||
38 | PRILVL cffield WCR,0,3 ; Exit low-power mode interrupt priority level |
||
39 | PPMSR0 equ MBAR+$4002c ; Peripheral Power Management Set Register 0 (8b) |
||
40 | SAMCD cfbit PPMSR0,6 ; Set all module clock disables |
||
41 | SMCD cffield PPMSR0,0,6 ; Set module clock disable |
||
42 | PPMCR0 equ MBAR+$4002d ; Peripheral Power Management Clear Register 0 (8b) |
||
43 | CAMCD cfbit PPMCR0,6 ; Clear all module clock disables |
||
44 | CMCD cffield PPMCR0,0,6 ; Clear module clock disable |
||
45 | PPMHR0 equ MBAR+$40030 ; Peripheral Power Management High Register 0 (32b) |
||
46 | CD42 cfbit PPMHR0,10 ; PIT 0 |
||
47 | CD41 cfbit PPMHR0,9 ; PIT 1 |
||
48 | CD40 cfbit PPMHR0,8 ; Edge Port |
||
49 | CD36 cfbit PPMHR0,4 ; On-chip Watchdog Timer |
||
50 | CD35 cfbit PPMHR0,3 ; PLL |
||
51 | CD34 cfbit PPMHR0,2 ; CCM, Reset Controller, Power Management |
||
52 | CD33 cfbit PPMHR0,1 ; GPIO Module |
||
53 | CD32 cfbit PPMHR0,0 ; SDRAM Controller |
||
54 | PPMLR0 equ MBAR+$40034 ; Peripheral Power Management Low Register 0 (32b) |
||
55 | CD31 cfbit PPMLR0,31 ; DMA Timer 3 |
||
56 | CD30 cfbit PPMLR0,30 ; DMA Timer 2 |
||
57 | CD29 cfbit PPMLR0,29 ; DMA Timer 1 |
||
58 | CD28 cfbit PPMLR0,28 ; DMA Timer 0 |
||
59 | CD26 cfbit PPMLR0,26 ; UART2 |
||
60 | CD25 cfbit PPMLR0,25 ; UART1 |
||
61 | CD24 cfbit PPMLR0,24 ; UART0 |
||
62 | CD23 cfbit PPMLR0,23 ; QSPI |
||
63 | CD22 cfbit PPMLR0,22 ; I2C |
||
64 | CD21 cfbit PPMLR0,21 ; IACK |
||
65 | CD18 cfbit PPMLR0,18 ; Interrupt Controller |
||
66 | CD17 cfbit PPMLR0,17 ; eDMA Controller |
||
67 | CD12 cfbit PPMLR0,12 ; FEC |
||
68 | CD2 cfbit PPMLR0,2 ; FlexBus |
||
69 | LPCR equ MBAR+$a0007 ; Low-Power Control Register (8b) |
||
70 | LPMD cffield LPCR,6,2 ; Low-power mode select |
||
71 | FWKUP cfbit LPCR,5 ; Fast wake-up |
||
72 | STPMD cffield LPCR,3,2 ; FB_CLK stop mode bits |
||
73 | MISCCR equ MBAR+$a0010 ; Miscellaneous Control Register (16b) |
||
74 | PLLLOCK cfbit MISCCR,13 ; PLL lock status |
||
75 | LIMP cfbit MISCCR,12 ; Limp mode enable |
||
76 | LPDIV cffield MISCCR,0,4 ; Low power divider |
||
77 | |||
78 | ;---------------------------------------------------------------------------- |
||
79 | ; Chip Configuration Module |
||
80 | |||
81 | MBAR_CCM equ MBAR+$a0000 |
||
82 | CCR equ MBAR_CCM+$0 ; Chip Configuration Register (16b) |
||
83 | CSC cfbit CCR,9 ; Chip select configuration field |
||
84 | OSCFREQ cfbit CCR,7 ; Oscillator frequency |
||
85 | LIMP cfbit CCR,6 ; Limp mode |
||
86 | LOAD cfbit CCR,5 ; Pad driver load |
||
87 | BOOTPS cffield CCR,3,2 ; Boot port size |
||
88 | OSCMODE cfbit CCR,2 ; Oscillator clock mode |
||
89 | PLLMODE cfbit CCR,1 ; PLL clock mode |
||
90 | RCON equ MBAR_CCM+$4 ; Reset Configuration Register (16b) |
||
91 | CSC cfbit RCON,9 ; Chip select configuration field |
||
92 | OSCFREQ cfbit RCON,7 ; Oscillator frequency |
||
93 | LIMP cfbit RCON,6 ; Limp mode |
||
94 | LOAD cfbit RCON,5 ; Pad driver load |
||
95 | BOOTPS cffield RCON,3,2 ; Boot port size |
||
96 | OSCMODE cfbit RCON,2 ; Oscillator clock mode |
||
97 | PLLMODE cfbit RCON,1 ; PLL clock mode |
||
98 | CIR equ MBAR_CCM+$a ; Chip Identification Register (16b) |
||
99 | PIN cffield CIR,8,8 ; Part identification number |
||
100 | PRN cffield CIR,0,8 ; Part revision number |
||
101 | |||
102 | ;---------------------------------------------------------------------------- |
||
103 | ; Reset Controller Module |
||
104 | |||
105 | MBAR_RCM equ MBAR+$a0000 |
||
106 | RCR equ MBAR_RCM+0 ; Reset Control Register (8b) |
||
107 | SOFTRST cfbit RCR,7 ; Allows software to request a reset |
||
108 | FRCRSTOUT cfbit RCR,6 ; Allows software to assert or negate the external /RSTOUT pin |
||
109 | RSR equ MBAR_RCM+1 ; Reset Status Register (8b) |
||
110 | SOFT cfbit RSR,5 ; Software reset flag |
||
111 | WDRCHIP cfbit RSR,4 ; On-chip watchdog timer reset flag |
||
112 | POR cfbit RSR,3 ; Power-on reset flag |
||
113 | EXT cfbit RSR,2 ; External reset flag |
||
114 | WDRCORE cfbit RSR,1 ; Core watchdog timer reset flag |
||
115 | LOL cfbit RSR,0 ; Loss-of-lock reset flag |
||
116 | |||
117 | ;---------------------------------------------------------------------------- |
||
118 | ; System Control Module |
||
119 | |||
120 | MBAR_SCM equ MBAR+$0000 |
||
121 | |||
122 | __defprot macro {INTLABEL},Reg,Startbit |
||
123 | __LABEL__ cffield Reg,Startbit,4 |
||
124 | __LABEL__.MTR cfbit Reg,Startbit+0 ; Master trusted for read |
||
125 | __LABEL__.MTW cfbit Reg,Startbit+1 ; Master trusted for writes |
||
126 | __LABEL__.MPL cfbit Reg,Startbit+2 ; Master privilege level |
||
127 | endm |
||
128 | MPR equ MBAR_SCM+$00 ; Master Privilege Register (32b) |
||
129 | MPROT0 __defprot MBAR_SCM,28 ; ColdFire Core: |
||
130 | MPROT1 __defprot MBAR_SCM,24 ; eDMA Controller: |
||
131 | MPROT2 __defprot MBAR_SCM,20 ; FEC: |
||
132 | |||
133 | __defpacr macro {INTLABEL},Reg,Startbit |
||
134 | __LABEL__ cffield Reg,Startbit,4 |
||
135 | __LABEL__.TP cfbit Reg,Startbit+0 ; Trusted Protect |
||
136 | __LABEL__.WP cfbit Reg,Startbit+1 ; Write protect |
||
137 | __LABEL__.SP cfbit Reg,Startbit+2 ; Supervisor protect. |
||
138 | endm |
||
139 | PACRA equ MBAR_SCM+$20 ; Peripheral Access Control Register A (32b) |
||
140 | PACR0 __defpacr PACRA,28 ; SCM (MPR & PACRs) |
||
141 | PACR1 __defpacr PACRA,24 ; Cross-Bar Switch |
||
142 | PACR2 __defpacr PACRA,20 ; FlexBus |
||
143 | PACRB equ MBAR_SCM+$24 ; Peripheral Access Control Register B (32b) |
||
144 | PACR12 __defpacr PACRB,12 ; FEC |
||
145 | PACRC equ MBAR_SCM+$28 ; Peripheral Access Control Register C (32b) |
||
146 | PACR16 __defpacr PACRC,28 ; SCM (CWT & Core Fault Registers |
||
147 | PACR17 __defpacr PACRC,24 ; eDMA Controller |
||
148 | PACR18 __defpacr PACRC,20 ; Interrupt Controller 0 |
||
149 | PACR21 __defpacr PACRC,8 ; Interrupt Controller IACK |
||
150 | PACR22 __defpacr PACRC,4 ; I2C |
||
151 | PACR23 __defpacr PACRC,0 ; QSPI |
||
152 | PACRD equ MBAR_SCM+$2C ; Peripheral Access Control Register D (32b) |
||
153 | PACR24 __defpacr PACRD,28 ; UART0 |
||
154 | PACR25 __defpacr PACRD,24 ; UART1 |
||
155 | PACR26 __defpacr PACRD,20 ; UART2 |
||
156 | PACR28 __defpacr PACRD,12 ; DMA Timer 0 |
||
157 | PACR29 __defpacr PACRD,8 ; DMA Timer 1 |
||
158 | PACR30 __defpacr PACRD,4 ; DMA Timer 2 |
||
159 | PACR31 __defpacr PACRD,0 ; DMA Timer 3 |
||
160 | PACRE equ MBAR_SCM+$40 ; Peripheral Access Control Register E (32b) |
||
161 | PACR32 __defpacr PACRE,28 ; PIT 0 |
||
162 | PACR33 __defpacr PACRE,24 ; PIT 1 |
||
163 | PACR34 __defpacr PACRE,20 ; Edge Port |
||
164 | PACR35 __defpacr PACRE,16 ; On-Chip Watchdog Timer |
||
165 | PACR36 __defpacr PACRE,12 ; PLL |
||
166 | PACRF equ MBAR_SCM+$44 ; Peripheral Access Control Register F (32b) |
||
167 | PACR40 __defpacr PACRF,28 ; CCM, Reset Controller, Power Management |
||
168 | PACR41 __defpacr PACRF,24 ; GPIO Module |
||
169 | PACR42 __defpacr PACRF,20 ; SDRAM Controller |
||
170 | BMT equ MBAR_SCM+$54 ; Bus Monitor Timeout (32b) |
||
171 | BMT cffield BMT,0,3 ; Bus Monitor Timeout Period |
||
172 | BME cfbit BMT,3 ; Bus Monitor Timeout Enable |
||
173 | CWCR equ MBAR_SCM+$40016 ; Core Watchdog Control Register (16b) |
||
174 | RO cfbit CWCR,15 ; Read-Only Control |
||
175 | CWRWH cfbit CWCR,8 ; Core Watchdog run while halted |
||
176 | CWE cfbit CWCR,7 ; Core Watchdog Timer Enable |
||
177 | CWRI cffield CWCR,5,2 ; Core Watchdog Reset/Interrupt |
||
178 | CWT cffield CWCR,0,5 ; Core Watchdog Time-Out Period |
||
179 | CWSR equ MBAR_SCM+$4001B ; Core Watchdog Service Register (8b) |
||
180 | SCMISR equ MBAR_SCM+$4001F ; SCM Interrupt Status Register (8b) |
||
181 | CFEI cfbit SCMISR,1 ; Core Fault Error Interrupt Flag |
||
182 | CWIC cfbit SCMISR,0 ; Core Watchdog Interrupt Flag |
||
183 | CFADR equ MBAR_SCM+$40070 ; Core Fault Address Register (32b) |
||
184 | CFIER equ MBAR_SCM+$40075 ; Core Fault Interrupt Enable Register (8b) |
||
185 | ECFEI cfbit CFIER,0 ; Enable Core Fault Error Interrupt |
||
186 | CFLOC equ MBAR_SCM+$40076 ; Core Fault Location Register (8b) |
||
187 | LOC cfbit CFLOC,7 ; Location of the last captured fault |
||
188 | CFATR equ MBAR_SCM+$40077 ; Core Fault Attributes Register (8b) |
||
189 | WRITE cfbit CFATR,7 ; Direction of the last faulted core access |
||
190 | SIZE cffield CFATR,4,2 ; Size of the last faulted core access |
||
191 | CACHE cfbit CFATR,3 ; Indicates if last faulted core access was cacheable |
||
192 | MODE cfbit CFATR,1 ; Indicates the mode the device was in during the last faulted core access |
||
193 | TYPE cfbit CFATR,0 ; Defines the type of last faulted core access |
||
194 | CFDTR equ MBAR_SCM+$4007C ; Core Fault Data Register (32b) |
||
195 | |||
196 | ;---------------------------------------------------------------------------- |
||
197 | ; Crossbar Switch |
||
198 | |||
199 | MBAR_XBS equ MBAR+$4000 |
||
200 | __defxbs macro n,Base |
||
201 | XBS_PRS{n} equ Base+$00 ; Priority Register (32b) |
||
202 | M7 cffield XBS_PRS{n},28,3 ; Master 7 (Factory Test) Priority |
||
203 | M2 cffield XBS_PRS{n},8,3 ; Master 2 (FEC) Priority |
||
204 | M1 cffield XBS_PRS{n},4,3 ; Master 1 (eDMA) Priority |
||
205 | M0 cffield XBS_PRS{n},0,3 ; Master 0 (ColdFire core) Priority |
||
206 | XBS_CRS{n} equ Base+$10 ; Control Register (32b) |
||
207 | RO cfbit XBS_CRS{n},31 ; Read Only |
||
208 | ARB cfbit XBS_CRS{n},8 ; Arbitration Mode |
||
209 | PCTL cffield XBS_CRS{n},4,2 ; Parking Control |
||
210 | PARK cffield XBS_CRS{n},0,3 ; Park |
||
211 | endm |
||
212 | __defxbs "1",MBAR_XBS+$100 |
||
213 | __defxbs "4",MBAR_XBS+$400 |
||
214 | __defxbs "7",MBAR_XBS+$700 |
||
215 | |||
216 | ;---------------------------------------------------------------------------- |
||
217 | ; GPIO Module |
||
218 | |||
219 | MBAR_GPIO equ MBAR+$a4000 |
||
220 | |||
221 | ; Port Output Data Registers |
||
222 | |||
223 | PODR_BUSCTL equ MBAR_GPIO+$000 ; Bus Control Output Data Register (8b) |
||
224 | PODR_BE equ MBAR_GPIO+$001 ; Byte Enable Output Data Register (8b) |
||
225 | PODR_CS equ MBAR_GPIO+$002 ; Chip Select Output Data Register (8b) |
||
226 | PODR_FECI2C equ MBAR_GPIO+$003 ; FEC/I2C Output Data Register (8b) |
||
227 | PODR_QSPI equ MBAR_GPIO+$004 ; QSPI Output Data Register (8b) |
||
228 | PODR_TIMER equ MBAR_GPIO+$005 ; Timer Output Data Register (8b) |
||
229 | PODR_UART equ MBAR_GPIO+$006 ; UART Output Data Register (8b) |
||
230 | PODR_FECH equ MBAR_GPIO+$007 ; FEC High Output Data Register (8b) |
||
231 | PODR_FECL equ MBAR_GPIO+$008 ; FEC Low Output Data Register (8b) |
||
232 | |||
233 | ; Port Data Direction Registers |
||
234 | |||
235 | PDDR_BUSCTL equ MBAR_GPIO+$00C ; Bus Control Data Direction Register (8b) |
||
236 | PDDR_BE equ MBAR_GPIO+$00D ; Byte Enable Data Direction Register (8b) |
||
237 | PDDR_CS equ MBAR_GPIO+$00E ; Chip Select Data Direction Register (8b) |
||
238 | PDDR_FECI2C equ MBAR_GPIO+$00F ; FEC/I2C Data Direction Register (8b) |
||
239 | PDDR_QSPI equ MBAR_GPIO+$010 ; QSPI Data Direction Register (8b) |
||
240 | PDDR_TIMER equ MBAR_GPIO+$011 ; Timer Data Direction Register (8b) |
||
241 | PDDR_UART equ MBAR_GPIO+$012 ; UART Data Direction Register (8b) |
||
242 | PDDR_FECH equ MBAR_GPIO+$013 ; FEC High Data Direction Register (8b) |
||
243 | PDDR_FECL equ MBAR_GPIO+$014 ; FEC Low Data Direction Register (8b) |
||
244 | |||
245 | ; Port Pin Data/Set Data Registers |
||
246 | |||
247 | PPDSDR_CS equ MBAR_GPIO+$01A ; Chip Select Pin Data/Set Data Register (8b) |
||
248 | PPDSDR_FECI2C equ MBAR_GPIO+$01B ; FEC/I2C Pin Data/Set Data Register (8b) |
||
249 | PPDSDR_QSPI equ MBAR_GPIO+$01C ; QSPI Pin Data/Set Data Register (8b) |
||
250 | PPDSDR_TIMER equ MBAR_GPIO+$01D ; Timer Pin Data/Set Data Register (8b) |
||
251 | PPDSDR_UART equ MBAR_GPIO+$01E ; UART Pin Data/Set Data Register (8b) |
||
252 | PPDSDR_FECH equ MBAR_GPIO+$01F ; FEC High Pin Data/Set Data Register (8b) |
||
253 | PPDSDR_FECL equ MBAR_GPIO+$020 ; FEC Low Pin Data/Set Data Register (8b) |
||
254 | |||
255 | ; Port Clear Output Data Registers |
||
256 | |||
257 | PCLRR_BUSCTL equ MBAR_GPIO+$024 ; Bus Control Clear Output Data Register (8b) |
||
258 | PCLRR_BE equ MBAR_GPIO+$025 ; Byte Enable Clear Output Data Register (8b) |
||
259 | PCLRR_CS equ MBAR_GPIO+$026 ; Chip Select Clear Output Data Register (8b) |
||
260 | PCLRR_FECI2C equ MBAR_GPIO+$027 ; FEC/I2C Clear Output Data Register (8b) |
||
261 | PCLRR_QSPI equ MBAR_GPIO+$028 ; QSPI Clear Output Data Register (8b) |
||
262 | PCLRR_TIMER equ MBAR_GPIO+$029 ; Timer Clear Output Data Register (8b) |
||
263 | PCLRR_UART equ MBAR_GPIO+$02A ; UART Clear Output Data Register (8b) |
||
264 | PCLRR_FECH equ MBAR_GPIO+$02B ; FEC High Clear Output Data Register (8b) |
||
265 | PCLRR_FECL equ MBAR_GPIO+$02C ; FEC Low Clear Output Data Register (8b) |
||
266 | |||
267 | ; Pin Assignment Registers |
||
268 | |||
269 | PAR_BUSCTL equ MBAR_GPIO+$030 ; External Bus Control Pin Assignment Register (8b) |
||
270 | PAR_OE cfbit PAR_BUSCTL,4 ; /OE Pin Assignment |
||
271 | PAR_TA cfbit PAR_BUSCTL,3 ; /TA Pin Assignment |
||
272 | PAR_RWB cfbit PAR_BUSCTL,2 ; R/-W Pin Assignment |
||
273 | PAR_TS cffield PAR_BUSCTL,0,2 ; /TS Pin Assignment |
||
274 | PAR_BE equ MBAR_GPIO+$031 ; Byte Enable Pin Assignment Register (8b) |
||
275 | PAR_CS equ MBAR_GPIO+$032 ; Chip Select Pin Assignment Register (8b) |
||
276 | PAR_CS3 cfbit PAR_CS,3 ; /FB_CS3 Pin Assignment |
||
277 | PAR_CS2 cfbit PAR_CS,2 ; /FB_CS2 Pin Assignment |
||
278 | PAR_CS1 cffield PAR_CS,0,2 ; /FB_CS1 Pin Assignment |
||
279 | PAR_FECI2C equ MBAR_GPIO+$033 ; FEC/I2C Pin Assignment (8b) |
||
280 | PAR_MDC cffield PAR_FECI2C,6,2 ; MDC Pin Assignment |
||
281 | PAR_MDIO cffield PAR_FECI2C,4,2 ; MDIO Pin Assignment |
||
282 | PAR_SCL cffield PAR_FECI2C,2,2 ; SCL Pin Assignment |
||
283 | PAR_SDA cffield PAR_FECI2C,0,2 ; SDA Pin Assignment |
||
284 | PAR_QSPI equ MBAR_GPIO+$034 ; QSPI Pin Assignment (8b) |
||
285 | PAR_PCS2 cffield PAR_QSPI,6,2 ; QSPI Pin Assignment |
||
286 | PAR_DIN cffield PAR_QSPI,4,2 |
||
287 | PAR_DOUT cffield PAR_QSPI,2,2 |
||
288 | PAR_SCK cffield PAR_QSPI,0,2 |
||
289 | PAR_TIMER equ MBAR_GPIO+$035 ; Timer Pin Assignment (8b) |
||
290 | PAR_T3IN cffield PAR_TIMER,6,2 ; DMA Timer 3 Pin Assignment |
||
291 | PAR_T2IN cffield PAR_TIMER,4,2 ; DMA Timer 2 Pin Assignment |
||
292 | PAR_T1IN cffield PAR_TIMER,2,2 ; DMA Timer 1 Pin Assignment |
||
293 | PAR_T0IN cffield PAR_TIMER,0,2 ; DMA Timer 0 Pin Assignment |
||
294 | PAR_UART equ MBAR_GPIO+$036 ; UART Pin Assignment (16b) |
||
295 | PAR_U1CTS cffield PAR_UART,10,2 ; UART1 Control Pin Assignment |
||
296 | PAR_U1RTS cffield PAR_UART,8,2 ; |
||
297 | PAR_U1TXD cfbit PAR_UART,7 ; U1TXD Pin Assignment |
||
298 | PAR_U1RXD cfbit PAR_UART,6 ; U1RXD Pin Assignment |
||
299 | PAR_U0CTS cffield PAR_UART,4,2 ; UART0 Control Pin Assignment |
||
300 | PAR_U0RTS cffield PAR_UART,2,2 ; |
||
301 | PAR_U0TXD cfbit PAR_UART,1 ; U0TXD Pin Assignment |
||
302 | PAR_U0RXD cfbit PAR_UART,0 ; U0RXD Pin Assignment |
||
303 | PAR_FEC equ MBAR_GPIO+$038 ; FEC Pin Assignment (8b) |
||
304 | PAR_FEC_7W cffield PAR_FEC,2,2 ; FEC 7-wire Pin Assignment |
||
305 | PAR_FEC_MII cffield PAR_FEC,0,2 ; FEC MII Pin Assignment |
||
306 | PAR_IRQ equ MBAR_GPIO+$039 ; IRQ Pin Assignment (8b) |
||
307 | PAR_IRQ4 cfbit PAR_IRQ,0 ; /IRQ4 Pin Assignment |
||
308 | |||
309 | ; Mode Select Control Registers |
||
310 | |||
311 | MSCR_FLEXBUS equ MBAR_GPIO+$03A ; FlexBus Mode Select Control Register (8b) |
||
312 | MSCR_FBCLK cffield MSCR_FLEXBUS,6,2; FB_CLK Mode Select Control |
||
313 | MSCR_DUPPER cffield MSCR_FLEXBUS,4,2; FB_D[31:16] Mode Select Control |
||
314 | MSCR_DLOWER cffield MSCR_FLEXBUS,2,2; FB_D[15:0] Mode Select Control |
||
315 | MSCR_ADDRCTL cffield MSCR_FLEXBUS,0,2; FB_A[23:0], BE/BWE[3:0], OE, R/W, FB_CS[5:0], TA, and TS Mode Select Control |
||
316 | MSCR_SDRAM equ MBAR_GPIO+$03B ; SDRAM Mode Select Control Register (8b) |
||
317 | MSCR_SDCLKB cffield MSCR_SDRAM,4,2 ; SD_CLK Mode Select Control |
||
318 | MSCR_SDCLK cffield MSCR_SDRAM,2,2 ; SD_CLK Mode Select Control |
||
319 | MSCR_SDRAM cffield MSCR_SDRAM,0,2 ; SD_A10, SD_CAS, SD_CKE, SD_CS0, SD_DQS[3:2], SD_RAS, SD_SDRDQS, SD_WE Mode Select Control |
||
320 | |||
321 | ; Drive Strength Control Registers |
||
322 | |||
323 | DSCR_I2C equ MBAR_GPIO+$03C ; I2C Drive Strength Control Register (8b) |
||
324 | I2C_DSE cffield DSCR_I2C,0,2 ; I2C Drive Strength Control |
||
325 | DSCR_MISC equ MBAR_GPIO+$03D ; Miscellaneous Drive Strength Control Register (8b) |
||
326 | DEBUG_DSE cffield DSCR_MISC,4,2 ; Debug Drive Strength Control |
||
327 | RSTOUT_DSE cffield DSCR_MISC,2,2 ; /RSTOUT Drive Strength Control |
||
328 | TIMER_DSE cffield DSCR_MISC,0,2 ; Timer Drive Strength Control |
||
329 | DSCR_FEC equ MBAR_GPIO+$03E ; FEC Drive Strength Control Register (8b) |
||
330 | FEC_DSE cffield DSCR_FEC,0,2 ; FEC Drive Strength Control |
||
331 | DSCR_UART equ MBAR_GPIO+$03F ; UART/IRQ Drive Strength Control Register (8b) |
||
332 | UART1_DSE cffield DSCR_UART,4,2 ; UART1 Drive Strength Control |
||
333 | UART0_DSE cffield DSCR_UART,2,2 ; UART0 Drive Strength Control |
||
334 | IRQ_DSE cffield DSCR_UART,0,2 ; IRQ drive strength Control |
||
335 | DSCR_QSPI equ MBAR_GPIO+$040 ; QSPI Drive Strength Control Register (8b) |
||
336 | QSPI_DSE cffield DSCR_QSPI,0,2 ; QSPI Drive Strength Control |
||
337 | |||
338 | ;---------------------------------------------------------------------------- |
||
339 | ; Interrupt Controller Module |
||
340 | |||
341 | MBAR_INTC equ MBAR+$48000 |
||
342 | |||
343 | IPRH equ MBAR_INTC+$000 ; Interrupt Pending Register High (32b) |
||
344 | IPRL equ MBAR_INTC+$004 ; Interrupt Pending Register Low (32b) |
||
345 | IMRH equ MBAR_INTC+$008 ; Interrupt Mask Register High (32b) |
||
346 | IMRL equ MBAR_INTC+$00C ; Interrupt Mask Register Low (32b) |
||
347 | INTFRCH equ MBAR_INTC+$010 ; Interrupt Force Register High (32b) |
||
348 | INTFRCL equ MBAR_INTC+$014 ; Interrupt Force Register Low (32b) |
||
349 | ICONFIG equ MBAR_INTC+$01A ; Interrupt Configuration Register (16b) |
||
350 | ELVLPRI cffield ICONFIG,9,7 ; Enable core's priority elevation on priority levels |
||
351 | EMASK cfbit ICONFIG,5 ; If set, the interrupt controller automatically loads the level of an interrupt request into the CLMASK (current level mask) when the acknowledge is performed. |
||
352 | SIMR equ MBAR_INTC+$01C ; Set Interrupt Mask (8b) |
||
353 | SALL cfbit SIMR,6 ; Set all bits in the IMR register |
||
354 | CIMR equ MBAR_INTC+$01D ; Clear Interrupt Mask (8b) |
||
355 | CALL cfbit CIMR,6 ; Clear all bits in the IMR register |
||
356 | CLMASK equ MBAR_INTC+$01E ; Current Level Mask (8b) |
||
357 | SLMASK equ MBAR_INTC+$01F ; Saved Level Mask (8b) |
||
358 | __N set 0 |
||
359 | rept 64 |
||
360 | __decstr __NS,__N ; note we need name with decimal number! |
||
361 | ICR{"\{__NS}"} set MBAR_INTC+$040+__N ; Interrupt Control Register N (8b) |
||
362 | LEVEL cffield ICR{"\{__NS}"},0,3 ; Interrupt Level |
||
363 | __N set __N+1 |
||
364 | endm |
||
365 | SWIACK equ MBAR_INTC+$0E0 ; Software Interrupt Acknowledge (8b) |
||
366 | __N set 1 |
||
367 | rept 7 |
||
368 | L{"\{__N}"}IACK set MBAR_INTC+$0e0+(4*__N) ; Interrupt Acknowledge Register N (8b) |
||
369 | __N set __n+1 |
||
370 | endm |
||
371 | |||
372 | ;---------------------------------------------------------------------------- |
||
373 | ; Edge Port Module |
||
374 | |||
375 | MBAR_EPORT equ MBAR+$88000 |
||
376 | include "52xxeport.inc" |
||
377 | |||
378 | ;---------------------------------------------------------------------------- |
||
379 | ; Enhanced Direct Memory Access |
||
380 | |||
381 | MBAR_EDMA equ MBAR+$44000 |
||
382 | include "52xxedma.inc" |
||
383 | |||
384 | ;---------------------------------------------------------------------------- |
||
385 | ; FlexBus |
||
386 | |||
387 | MBAR_FBUS equ MBAR+$8000 |
||
388 | include "52xxfbus.inc" |
||
389 | |||
390 | ;---------------------------------------------------------------------------- |
||
391 | ; SDRAM Controller |
||
392 | |||
393 | MBAR_SDRAM equ MBAR+$a8000 |
||
394 | include "52xxdram.inc" |
||
395 | |||
396 | ;---------------------------------------------------------------------------- |
||
397 | ; Fast Ethernet Controller |
||
398 | |||
399 | MBAR_FEC equ MBAR+$30000 |
||
400 | include "52xxfec.inc" |
||
401 | |||
402 | ;---------------------------------------------------------------------------- |
||
403 | ; Watchdog Timer |
||
404 | |||
405 | MBAR_WDT equ MBAR+$8c000 |
||
406 | include "52xxwdt.inc" |
||
407 | |||
408 | ;---------------------------------------------------------------------------- |
||
409 | ; Programmable Interrupt Timer |
||
410 | |||
411 | include "52xxpit.inc" |
||
412 | __defpit "1",MBAR+$80000 |
||
413 | __defpit "2",MBAR+$84000 |
||
414 | |||
415 | ;---------------------------------------------------------------------------- |
||
416 | ; DMA Timer |
||
417 | |||
418 | include "52xxdtim.inc" |
||
419 | __defdtim "0",MBAR+$70000 |
||
420 | __defdtim "1",MBAR+$74000 |
||
421 | __defdtim "2",MBAR+$78000 |
||
422 | __defdtim "3",MBAR+$7c000 |
||
423 | |||
424 | ;---------------------------------------------------------------------------- |
||
425 | ; Queued Serial Peripheral Interface |
||
426 | |||
427 | MBAR_QSPI equ MBAR+$5c000 |
||
428 | include "52xxqspi.inc" |
||
429 | |||
430 | ;---------------------------------------------------------------------------- |
||
431 | ; UARTs |
||
432 | |||
433 | include "52xxuart.inc" |
||
434 | __defuart "0",MBAR+$60000 |
||
435 | __defuart "1",MBAR+$64000 |
||
436 | __defuart "2",MBAR+$68000 |
||
437 | |||
438 | ;---------------------------------------------------------------------------- |
||
439 | ; I2C |
||
440 | |||
441 | MBAR_I2C equ MBAR+$58000 |
||
442 | include "52xxi2c.inc" |
||
443 | |||
444 | ;---------------------------------------------------------------------------- |
||
445 | |||
446 | restore ; re-enable listing |
||
447 | |||
448 | endif ; __mcf5208inc |