]>
Commit | Line | Data |
---|---|---|
42d1f039 WD |
1 | /* |
2 | * MPC85xx Internal Memory Map | |
3 | * | |
1d2c2a62 | 4 | * Copyright 2007-2011 Freescale Semiconductor, Inc. |
837f1ba0 | 5 | * |
42d1f039 WD |
6 | * Copyright(c) 2002,2003 Motorola Inc. |
7 | * Xianghua Xiao (x.xiao@motorola.com) | |
8 | * | |
11588b5d KG |
9 | * See file CREDITS for list of people who contributed to this |
10 | * project. | |
11 | * | |
12 | * This program is free software; you can redistribute it and/or | |
13 | * modify it under the terms of the GNU General Public License as | |
14 | * published by the Free Software Foundation; either version 2 of | |
15 | * the License, or (at your option) any later version. | |
16 | * | |
17 | * This program is distributed in the hope that it will be useful, | |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | * GNU General Public License for more details. | |
21 | * | |
22 | * You should have received a copy of the GNU General Public License | |
23 | * along with this program; if not, write to the Free Software | |
24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
25 | * MA 02111-1307 USA | |
42d1f039 WD |
26 | */ |
27 | ||
28 | #ifndef __IMMAP_85xx__ | |
29 | #define __IMMAP_85xx__ | |
30 | ||
3dfa9cfd | 31 | #include <asm/types.h> |
b1f12650 | 32 | #include <asm/fsl_dma.h> |
3dfa9cfd | 33 | #include <asm/fsl_i2c.h> |
4e190b03 | 34 | #include <asm/fsl_lbc.h> |
ebd7cb0b | 35 | #include <asm/fsl_fman.h> |
3dfa9cfd | 36 | |
01df5212 | 37 | typedef struct ccsr_local { |
8280912e KG |
38 | u32 ccsrbarh; /* CCSR Base Addr High */ |
39 | u32 ccsrbarl; /* CCSR Base Addr Low */ | |
40 | u32 ccsrar; /* CCSR Attr */ | |
01df5212 KG |
41 | #define CCSRAR_C 0x80000000 /* Commit */ |
42 | u8 res1[4]; | |
8280912e KG |
43 | u32 altcbarh; /* Alternate Configuration Base Addr High */ |
44 | u32 altcbarl; /* Alternate Configuration Base Addr Low */ | |
45 | u32 altcar; /* Alternate Configuration Attr */ | |
01df5212 | 46 | u8 res2[4]; |
8280912e KG |
47 | u32 bstrh; /* Boot space translation high */ |
48 | u32 bstrl; /* Boot space translation Low */ | |
49 | u32 bstrar; /* Boot space translation attributes */ | |
01df5212 KG |
50 | u8 res3[0xbd4]; |
51 | struct { | |
8280912e KG |
52 | u32 lawbarh; /* LAWn base addr high */ |
53 | u32 lawbarl; /* LAWn base addr low */ | |
54 | u32 lawar; /* LAWn attributes */ | |
01df5212 KG |
55 | u8 res4[4]; |
56 | } law[32]; | |
57 | u8 res35[0x204]; | |
58 | } ccsr_local_t; | |
59 | ||
8280912e | 60 | /* Local-Access Registers & ECM Registers */ |
42d1f039 | 61 | typedef struct ccsr_local_ecm { |
8280912e KG |
62 | u32 ccsrbar; /* CCSR Base Addr */ |
63 | u8 res1[4]; | |
64 | u32 altcbar; /* Alternate Configuration Base Addr */ | |
65 | u8 res2[4]; | |
66 | u32 altcar; /* Alternate Configuration Attr */ | |
67 | u8 res3[12]; | |
68 | u32 bptr; /* Boot Page Translation */ | |
69 | u8 res4[3044]; | |
70 | u32 lawbar0; /* Local Access Window 0 Base Addr */ | |
71 | u8 res5[4]; | |
72 | u32 lawar0; /* Local Access Window 0 Attrs */ | |
73 | u8 res6[20]; | |
74 | u32 lawbar1; /* Local Access Window 1 Base Addr */ | |
75 | u8 res7[4]; | |
76 | u32 lawar1; /* Local Access Window 1 Attrs */ | |
77 | u8 res8[20]; | |
78 | u32 lawbar2; /* Local Access Window 2 Base Addr */ | |
79 | u8 res9[4]; | |
80 | u32 lawar2; /* Local Access Window 2 Attrs */ | |
81 | u8 res10[20]; | |
82 | u32 lawbar3; /* Local Access Window 3 Base Addr */ | |
83 | u8 res11[4]; | |
84 | u32 lawar3; /* Local Access Window 3 Attrs */ | |
85 | u8 res12[20]; | |
86 | u32 lawbar4; /* Local Access Window 4 Base Addr */ | |
87 | u8 res13[4]; | |
88 | u32 lawar4; /* Local Access Window 4 Attrs */ | |
89 | u8 res14[20]; | |
90 | u32 lawbar5; /* Local Access Window 5 Base Addr */ | |
91 | u8 res15[4]; | |
92 | u32 lawar5; /* Local Access Window 5 Attrs */ | |
93 | u8 res16[20]; | |
94 | u32 lawbar6; /* Local Access Window 6 Base Addr */ | |
95 | u8 res17[4]; | |
96 | u32 lawar6; /* Local Access Window 6 Attrs */ | |
97 | u8 res18[20]; | |
98 | u32 lawbar7; /* Local Access Window 7 Base Addr */ | |
99 | u8 res19[4]; | |
100 | u32 lawar7; /* Local Access Window 7 Attrs */ | |
101 | u8 res19_8a[20]; | |
102 | u32 lawbar8; /* Local Access Window 8 Base Addr */ | |
103 | u8 res19_8b[4]; | |
104 | u32 lawar8; /* Local Access Window 8 Attrs */ | |
105 | u8 res19_9a[20]; | |
106 | u32 lawbar9; /* Local Access Window 9 Base Addr */ | |
107 | u8 res19_9b[4]; | |
108 | u32 lawar9; /* Local Access Window 9 Attrs */ | |
109 | u8 res19_10a[20]; | |
110 | u32 lawbar10; /* Local Access Window 10 Base Addr */ | |
111 | u8 res19_10b[4]; | |
112 | u32 lawar10; /* Local Access Window 10 Attrs */ | |
113 | u8 res19_11a[20]; | |
114 | u32 lawbar11; /* Local Access Window 11 Base Addr */ | |
115 | u8 res19_11b[4]; | |
116 | u32 lawar11; /* Local Access Window 11 Attrs */ | |
117 | u8 res20[652]; | |
118 | u32 eebacr; /* ECM CCB Addr Configuration */ | |
119 | u8 res21[12]; | |
120 | u32 eebpcr; /* ECM CCB Port Configuration */ | |
121 | u8 res22[3564]; | |
122 | u32 eedr; /* ECM Error Detect */ | |
123 | u8 res23[4]; | |
124 | u32 eeer; /* ECM Error Enable */ | |
125 | u32 eeatr; /* ECM Error Attrs Capture */ | |
126 | u32 eeadr; /* ECM Error Addr Capture */ | |
127 | u8 res24[492]; | |
42d1f039 WD |
128 | } ccsr_local_ecm_t; |
129 | ||
8280912e | 130 | /* DDR memory controller registers */ |
42d1f039 | 131 | typedef struct ccsr_ddr { |
8280912e KG |
132 | u32 cs0_bnds; /* Chip Select 0 Memory Bounds */ |
133 | u8 res1[4]; | |
134 | u32 cs1_bnds; /* Chip Select 1 Memory Bounds */ | |
135 | u8 res2[4]; | |
136 | u32 cs2_bnds; /* Chip Select 2 Memory Bounds */ | |
137 | u8 res3[4]; | |
138 | u32 cs3_bnds; /* Chip Select 3 Memory Bounds */ | |
139 | u8 res4[100]; | |
140 | u32 cs0_config; /* Chip Select Configuration */ | |
141 | u32 cs1_config; /* Chip Select Configuration */ | |
142 | u32 cs2_config; /* Chip Select Configuration */ | |
143 | u32 cs3_config; /* Chip Select Configuration */ | |
144 | u8 res4a[48]; | |
145 | u32 cs0_config_2; /* Chip Select Configuration 2 */ | |
146 | u32 cs1_config_2; /* Chip Select Configuration 2 */ | |
147 | u32 cs2_config_2; /* Chip Select Configuration 2 */ | |
148 | u32 cs3_config_2; /* Chip Select Configuration 2 */ | |
149 | u8 res5[48]; | |
150 | u32 timing_cfg_3; /* SDRAM Timing Configuration 3 */ | |
151 | u32 timing_cfg_0; /* SDRAM Timing Configuration 0 */ | |
152 | u32 timing_cfg_1; /* SDRAM Timing Configuration 1 */ | |
153 | u32 timing_cfg_2; /* SDRAM Timing Configuration 2 */ | |
154 | u32 sdram_cfg; /* SDRAM Control Configuration */ | |
155 | u32 sdram_cfg_2; /* SDRAM Control Configuration 2 */ | |
156 | u32 sdram_mode; /* SDRAM Mode Configuration */ | |
157 | u32 sdram_mode_2; /* SDRAM Mode Configuration 2 */ | |
158 | u32 sdram_md_cntl; /* SDRAM Mode Control */ | |
159 | u32 sdram_interval; /* SDRAM Interval Configuration */ | |
160 | u32 sdram_data_init; /* SDRAM Data initialization */ | |
161 | u8 res6[4]; | |
162 | u32 sdram_clk_cntl; /* SDRAM Clock Control */ | |
163 | u8 res7[20]; | |
164 | u32 init_addr; /* training init addr */ | |
165 | u32 init_ext_addr; /* training init extended addr */ | |
166 | u8 res8_1[16]; | |
167 | u32 timing_cfg_4; /* SDRAM Timing Configuration 4 */ | |
168 | u32 timing_cfg_5; /* SDRAM Timing Configuration 5 */ | |
169 | u8 reg8_1a[8]; | |
170 | u32 ddr_zq_cntl; /* ZQ calibration control*/ | |
171 | u32 ddr_wrlvl_cntl; /* write leveling control*/ | |
172 | u8 reg8_1aa[4]; | |
173 | u32 ddr_sr_cntr; /* self refresh counter */ | |
174 | u32 ddr_sdram_rcw_1; /* Control Words 1 */ | |
175 | u32 ddr_sdram_rcw_2; /* Control Words 2 */ | |
9ab87d04 KG |
176 | u8 reg_1ab[8]; |
177 | u32 ddr_wrlvl_cntl_2; /* write leveling control 2 */ | |
178 | u32 ddr_wrlvl_cntl_3; /* write leveling control 3 */ | |
179 | u8 res8_1b[104]; | |
180 | u32 sdram_mode_3; /* SDRAM Mode Configuration 3 */ | |
181 | u32 sdram_mode_4; /* SDRAM Mode Configuration 4 */ | |
182 | u32 sdram_mode_5; /* SDRAM Mode Configuration 5 */ | |
183 | u32 sdram_mode_6; /* SDRAM Mode Configuration 6 */ | |
184 | u32 sdram_mode_7; /* SDRAM Mode Configuration 7 */ | |
185 | u32 sdram_mode_8; /* SDRAM Mode Configuration 8 */ | |
186 | u8 res8_1ba[0x908]; | |
8280912e KG |
187 | u32 ddr_dsr1; /* Debug Status 1 */ |
188 | u32 ddr_dsr2; /* Debug Status 2 */ | |
189 | u32 ddr_cdr1; /* Control Driver 1 */ | |
190 | u32 ddr_cdr2; /* Control Driver 2 */ | |
191 | u8 res8_1c[200]; | |
192 | u32 ip_rev1; /* IP Block Revision 1 */ | |
193 | u32 ip_rev2; /* IP Block Revision 2 */ | |
9ab87d04 KG |
194 | u32 eor; /* Enhanced Optimization Register */ |
195 | u8 res8_2[252]; | |
196 | u32 mtcr; /* Memory Test Control Register */ | |
197 | u8 res8_3[28]; | |
198 | u32 mtp1; /* Memory Test Pattern 1 */ | |
199 | u32 mtp2; /* Memory Test Pattern 2 */ | |
200 | u32 mtp3; /* Memory Test Pattern 3 */ | |
201 | u32 mtp4; /* Memory Test Pattern 4 */ | |
202 | u32 mtp5; /* Memory Test Pattern 5 */ | |
203 | u32 mtp6; /* Memory Test Pattern 6 */ | |
204 | u32 mtp7; /* Memory Test Pattern 7 */ | |
205 | u32 mtp8; /* Memory Test Pattern 8 */ | |
206 | u32 mtp9; /* Memory Test Pattern 9 */ | |
207 | u32 mtp10; /* Memory Test Pattern 10 */ | |
208 | u8 res8_4[184]; | |
8280912e KG |
209 | u32 data_err_inject_hi; /* Data Path Err Injection Mask High */ |
210 | u32 data_err_inject_lo; /* Data Path Err Injection Mask Low */ | |
211 | u32 ecc_err_inject; /* Data Path Err Injection Mask ECC */ | |
212 | u8 res9[20]; | |
213 | u32 capture_data_hi; /* Data Path Read Capture High */ | |
214 | u32 capture_data_lo; /* Data Path Read Capture Low */ | |
215 | u32 capture_ecc; /* Data Path Read Capture ECC */ | |
216 | u8 res10[20]; | |
217 | u32 err_detect; /* Error Detect */ | |
218 | u32 err_disable; /* Error Disable */ | |
219 | u32 err_int_en; | |
220 | u32 capture_attributes; /* Error Attrs Capture */ | |
221 | u32 capture_address; /* Error Addr Capture */ | |
222 | u32 capture_ext_address; /* Error Extended Addr Capture */ | |
223 | u32 err_sbe; /* Single-Bit ECC Error Management */ | |
224 | u8 res11[164]; | |
225 | u32 debug_1; | |
226 | u32 debug_2; | |
227 | u32 debug_3; | |
228 | u32 debug_4; | |
229 | u32 debug_5; | |
230 | u32 debug_6; | |
231 | u32 debug_7; | |
232 | u32 debug_8; | |
233 | u32 debug_9; | |
234 | u32 debug_10; | |
235 | u32 debug_11; | |
236 | u32 debug_12; | |
237 | u32 debug_13; | |
238 | u32 debug_14; | |
239 | u32 debug_15; | |
240 | u32 debug_16; | |
241 | u32 debug_17; | |
242 | u32 debug_18; | |
243 | u8 res12[184]; | |
42d1f039 WD |
244 | } ccsr_ddr_t; |
245 | ||
9ab87d04 KG |
246 | #define DDR_EOR_RD_BDW_OPT_DIS 0x80000000 /* Read BDW Opt. disable */ |
247 | #define DDR_EOR_ADDR_HASH_EN 0x40000000 /* Address hash enabled */ | |
248 | ||
8280912e | 249 | /* I2C Registers */ |
42d1f039 | 250 | typedef struct ccsr_i2c { |
3dfa9cfd JL |
251 | struct fsl_i2c i2c[1]; |
252 | u8 res[4096 - 1 * sizeof(struct fsl_i2c)]; | |
42d1f039 WD |
253 | } ccsr_i2c_t; |
254 | ||
03f5c550 WD |
255 | #if defined(CONFIG_MPC8540) \ |
256 | || defined(CONFIG_MPC8541) \ | |
d9b94f28 | 257 | || defined(CONFIG_MPC8548) \ |
03f5c550 | 258 | || defined(CONFIG_MPC8555) |
8280912e | 259 | /* DUART Registers */ |
42d1f039 | 260 | typedef struct ccsr_duart { |
8280912e KG |
261 | u8 res1[1280]; |
262 | /* URBR1, UTHR1, UDLB1 with the same addr */ | |
263 | u8 urbr1_uthr1_udlb1; | |
264 | /* UIER1, UDMB1 with the same addr01 */ | |
265 | u8 uier1_udmb1; | |
266 | /* UIIR1, UFCR1, UAFR1 with the same addr */ | |
267 | u8 uiir1_ufcr1_uafr1; | |
268 | u8 ulcr1; /* UART1 Line Control */ | |
269 | u8 umcr1; /* UART1 Modem Control */ | |
270 | u8 ulsr1; /* UART1 Line Status */ | |
271 | u8 umsr1; /* UART1 Modem Status */ | |
272 | u8 uscr1; /* UART1 Scratch */ | |
273 | u8 res2[8]; | |
274 | u8 udsr1; /* UART1 DMA Status */ | |
275 | u8 res3[239]; | |
276 | /* URBR2, UTHR2, UDLB2 with the same addr */ | |
277 | u8 urbr2_uthr2_udlb2; | |
278 | /* UIER2, UDMB2 with the same addr */ | |
279 | u8 uier2_udmb2; | |
280 | /* UIIR2, UFCR2, UAFR2 with the same addr */ | |
281 | u8 uiir2_ufcr2_uafr2; | |
282 | u8 ulcr2; /* UART2 Line Control */ | |
283 | u8 umcr2; /* UART2 Modem Control */ | |
284 | u8 ulsr2; /* UART2 Line Status */ | |
285 | u8 umsr2; /* UART2 Modem Status */ | |
286 | u8 uscr2; /* UART2 Scratch */ | |
287 | u8 res4[8]; | |
288 | u8 udsr2; /* UART2 DMA Status */ | |
289 | u8 res5[2543]; | |
42d1f039 WD |
290 | } ccsr_duart_t; |
291 | #else /* MPC8560 uses UART on its CPM */ | |
292 | typedef struct ccsr_duart { | |
8280912e | 293 | u8 res[4096]; |
42d1f039 WD |
294 | } ccsr_duart_t; |
295 | #endif | |
296 | ||
8280912e | 297 | /* eSPI Registers */ |
7fa96a9a | 298 | typedef struct ccsr_espi { |
8280912e KG |
299 | u32 mode; /* eSPI mode */ |
300 | u32 event; /* eSPI event */ | |
301 | u32 mask; /* eSPI mask */ | |
302 | u32 com; /* eSPI command */ | |
303 | u32 tx; /* eSPI transmit FIFO access */ | |
304 | u32 rx; /* eSPI receive FIFO access */ | |
305 | u8 res1[8]; /* reserved */ | |
306 | u32 csmode[4]; /* 0x2c: sSPI CS0/1/2/3 mode */ | |
307 | u8 res2[4048]; /* fill up to 0x1000 */ | |
7fa96a9a MH |
308 | } ccsr_espi_t; |
309 | ||
8280912e | 310 | /* PCI Registers */ |
42d1f039 | 311 | typedef struct ccsr_pcix { |
8280912e KG |
312 | u32 cfg_addr; /* PCIX Configuration Addr */ |
313 | u32 cfg_data; /* PCIX Configuration Data */ | |
314 | u32 int_ack; /* PCIX IRQ Acknowledge */ | |
315 | u8 res1[3060]; | |
316 | u32 potar0; /* PCIX Outbound Transaction Addr 0 */ | |
317 | u32 potear0; /* PCIX Outbound Translation Extended Addr 0 */ | |
318 | u32 powbar0; /* PCIX Outbound Window Base Addr 0 */ | |
319 | u32 powbear0; /* PCIX Outbound Window Base Extended Addr 0 */ | |
320 | u32 powar0; /* PCIX Outbound Window Attrs 0 */ | |
321 | u8 res2[12]; | |
322 | u32 potar1; /* PCIX Outbound Transaction Addr 1 */ | |
323 | u32 potear1; /* PCIX Outbound Translation Extended Addr 1 */ | |
324 | u32 powbar1; /* PCIX Outbound Window Base Addr 1 */ | |
325 | u32 powbear1; /* PCIX Outbound Window Base Extended Addr 1 */ | |
326 | u32 powar1; /* PCIX Outbound Window Attrs 1 */ | |
327 | u8 res3[12]; | |
328 | u32 potar2; /* PCIX Outbound Transaction Addr 2 */ | |
329 | u32 potear2; /* PCIX Outbound Translation Extended Addr 2 */ | |
330 | u32 powbar2; /* PCIX Outbound Window Base Addr 2 */ | |
331 | u32 powbear2; /* PCIX Outbound Window Base Extended Addr 2 */ | |
332 | u32 powar2; /* PCIX Outbound Window Attrs 2 */ | |
333 | u8 res4[12]; | |
334 | u32 potar3; /* PCIX Outbound Transaction Addr 3 */ | |
335 | u32 potear3; /* PCIX Outbound Translation Extended Addr 3 */ | |
336 | u32 powbar3; /* PCIX Outbound Window Base Addr 3 */ | |
337 | u32 powbear3; /* PCIX Outbound Window Base Extended Addr 3 */ | |
338 | u32 powar3; /* PCIX Outbound Window Attrs 3 */ | |
339 | u8 res5[12]; | |
340 | u32 potar4; /* PCIX Outbound Transaction Addr 4 */ | |
341 | u32 potear4; /* PCIX Outbound Translation Extended Addr 4 */ | |
342 | u32 powbar4; /* PCIX Outbound Window Base Addr 4 */ | |
343 | u32 powbear4; /* PCIX Outbound Window Base Extended Addr 4 */ | |
344 | u32 powar4; /* PCIX Outbound Window Attrs 4 */ | |
345 | u8 res6[268]; | |
346 | u32 pitar3; /* PCIX Inbound Translation Addr 3 */ | |
347 | u32 pitear3; /* PCIX Inbound Translation Extended Addr 3 */ | |
348 | u32 piwbar3; /* PCIX Inbound Window Base Addr 3 */ | |
349 | u32 piwbear3; /* PCIX Inbound Window Base Extended Addr 3 */ | |
350 | u32 piwar3; /* PCIX Inbound Window Attrs 3 */ | |
351 | u8 res7[12]; | |
352 | u32 pitar2; /* PCIX Inbound Translation Addr 2 */ | |
353 | u32 pitear2; /* PCIX Inbound Translation Extended Addr 2 */ | |
354 | u32 piwbar2; /* PCIX Inbound Window Base Addr 2 */ | |
355 | u32 piwbear2; /* PCIX Inbound Window Base Extended Addr 2 */ | |
356 | u32 piwar2; /* PCIX Inbound Window Attrs 2 */ | |
357 | u8 res8[12]; | |
358 | u32 pitar1; /* PCIX Inbound Translation Addr 1 */ | |
359 | u32 pitear1; /* PCIX Inbound Translation Extended Addr 1 */ | |
360 | u32 piwbar1; /* PCIX Inbound Window Base Addr 1 */ | |
361 | u8 res9[4]; | |
362 | u32 piwar1; /* PCIX Inbound Window Attrs 1 */ | |
363 | u8 res10[12]; | |
364 | u32 pedr; /* PCIX Error Detect */ | |
365 | u32 pecdr; /* PCIX Error Capture Disable */ | |
366 | u32 peer; /* PCIX Error Enable */ | |
367 | u32 peattrcr; /* PCIX Error Attrs Capture */ | |
368 | u32 peaddrcr; /* PCIX Error Addr Capture */ | |
369 | u32 peextaddrcr; /* PCIX Error Extended Addr Capture */ | |
370 | u32 pedlcr; /* PCIX Error Data Low Capture */ | |
371 | u32 pedhcr; /* PCIX Error Error Data High Capture */ | |
372 | u32 gas_timr; /* PCIX Gasket Timer */ | |
373 | u8 res11[476]; | |
42d1f039 WD |
374 | } ccsr_pcix_t; |
375 | ||
97074ed9 MM |
376 | #define PCIX_COMMAND 0x62 |
377 | #define POWAR_EN 0x80000000 | |
378 | #define POWAR_IO_READ 0x00080000 | |
379 | #define POWAR_MEM_READ 0x00040000 | |
380 | #define POWAR_IO_WRITE 0x00008000 | |
381 | #define POWAR_MEM_WRITE 0x00004000 | |
382 | #define POWAR_MEM_512M 0x0000001c | |
383 | #define POWAR_IO_1M 0x00000013 | |
384 | ||
385 | #define PIWAR_EN 0x80000000 | |
386 | #define PIWAR_PF 0x20000000 | |
387 | #define PIWAR_LOCAL 0x00f00000 | |
388 | #define PIWAR_READ_SNOOP 0x00050000 | |
389 | #define PIWAR_WRITE_SNOOP 0x00005000 | |
390 | #define PIWAR_MEM_2G 0x0000001e | |
391 | ||
8280912e KG |
392 | typedef struct ccsr_gpio { |
393 | u32 gpdir; | |
394 | u32 gpodr; | |
395 | u32 gpdat; | |
396 | u32 gpier; | |
397 | u32 gpimr; | |
398 | u32 gpicr; | |
399 | } ccsr_gpio_t; | |
97074ed9 | 400 | |
8280912e | 401 | /* L2 Cache Registers */ |
42d1f039 | 402 | typedef struct ccsr_l2cache { |
8280912e KG |
403 | u32 l2ctl; /* L2 configuration 0 */ |
404 | u8 res1[12]; | |
405 | u32 l2cewar0; /* L2 cache external write addr 0 */ | |
406 | u8 res2[4]; | |
407 | u32 l2cewcr0; /* L2 cache external write control 0 */ | |
408 | u8 res3[4]; | |
409 | u32 l2cewar1; /* L2 cache external write addr 1 */ | |
410 | u8 res4[4]; | |
411 | u32 l2cewcr1; /* L2 cache external write control 1 */ | |
412 | u8 res5[4]; | |
413 | u32 l2cewar2; /* L2 cache external write addr 2 */ | |
414 | u8 res6[4]; | |
415 | u32 l2cewcr2; /* L2 cache external write control 2 */ | |
416 | u8 res7[4]; | |
417 | u32 l2cewar3; /* L2 cache external write addr 3 */ | |
418 | u8 res8[4]; | |
419 | u32 l2cewcr3; /* L2 cache external write control 3 */ | |
420 | u8 res9[180]; | |
421 | u32 l2srbar0; /* L2 memory-mapped SRAM base addr 0 */ | |
422 | u8 res10[4]; | |
423 | u32 l2srbar1; /* L2 memory-mapped SRAM base addr 1 */ | |
424 | u8 res11[3316]; | |
425 | u32 l2errinjhi; /* L2 error injection mask high */ | |
426 | u32 l2errinjlo; /* L2 error injection mask low */ | |
427 | u32 l2errinjctl; /* L2 error injection tag/ECC control */ | |
428 | u8 res12[20]; | |
429 | u32 l2captdatahi; /* L2 error data high capture */ | |
430 | u32 l2captdatalo; /* L2 error data low capture */ | |
431 | u32 l2captecc; /* L2 error ECC capture */ | |
432 | u8 res13[20]; | |
433 | u32 l2errdet; /* L2 error detect */ | |
434 | u32 l2errdis; /* L2 error disable */ | |
435 | u32 l2errinten; /* L2 error interrupt enable */ | |
436 | u32 l2errattr; /* L2 error attributes capture */ | |
437 | u32 l2erraddr; /* L2 error addr capture */ | |
438 | u8 res14[4]; | |
439 | u32 l2errctl; /* L2 error control */ | |
440 | u8 res15[420]; | |
42d1f039 WD |
441 | } ccsr_l2cache_t; |
442 | ||
76b474e2 MH |
443 | #define MPC85xx_L2CTL_L2E 0x80000000 |
444 | #define MPC85xx_L2CTL_L2SRAM_ENTIRE 0x00010000 | |
445 | #define MPC85xx_L2ERRDIS_MBECC 0x00000008 | |
446 | #define MPC85xx_L2ERRDIS_SBECC 0x00000004 | |
447 | ||
8280912e | 448 | /* DMA Registers */ |
42d1f039 | 449 | typedef struct ccsr_dma { |
8280912e | 450 | u8 res1[256]; |
b1f12650 | 451 | struct fsl_dma dma[4]; |
8280912e KG |
452 | u32 dgsr; /* DMA General Status */ |
453 | u8 res2[11516]; | |
42d1f039 WD |
454 | } ccsr_dma_t; |
455 | ||
8280912e | 456 | /* tsec */ |
42d1f039 | 457 | typedef struct ccsr_tsec { |
8280912e KG |
458 | u8 res1[16]; |
459 | u32 ievent; /* IRQ Event */ | |
460 | u32 imask; /* IRQ Mask */ | |
461 | u32 edis; /* Error Disabled */ | |
462 | u8 res2[4]; | |
463 | u32 ecntrl; /* Ethernet Control */ | |
464 | u32 minflr; /* Minimum Frame Len */ | |
465 | u32 ptv; /* Pause Time Value */ | |
466 | u32 dmactrl; /* DMA Control */ | |
467 | u32 tbipa; /* TBI PHY Addr */ | |
468 | u8 res3[88]; | |
469 | u32 fifo_tx_thr; /* FIFO transmit threshold */ | |
470 | u8 res4[8]; | |
471 | u32 fifo_tx_starve; /* FIFO transmit starve */ | |
472 | u32 fifo_tx_starve_shutoff; /* FIFO transmit starve shutoff */ | |
473 | u8 res5[96]; | |
474 | u32 tctrl; /* TX Control */ | |
475 | u32 tstat; /* TX Status */ | |
476 | u8 res6[4]; | |
477 | u32 tbdlen; /* TX Buffer Desc Data Len */ | |
478 | u8 res7[16]; | |
479 | u32 ctbptrh; /* Current TX Buffer Desc Ptr High */ | |
480 | u32 ctbptr; /* Current TX Buffer Desc Ptr */ | |
481 | u8 res8[88]; | |
482 | u32 tbptrh; /* TX Buffer Desc Ptr High */ | |
483 | u32 tbptr; /* TX Buffer Desc Ptr Low */ | |
484 | u8 res9[120]; | |
485 | u32 tbaseh; /* TX Desc Base Addr High */ | |
486 | u32 tbase; /* TX Desc Base Addr */ | |
487 | u8 res10[168]; | |
488 | u32 ostbd; /* Out-of-Sequence(OOS) TX Buffer Desc */ | |
489 | u32 ostbdp; /* OOS TX Data Buffer Ptr */ | |
490 | u32 os32tbdp; /* OOS 32 Bytes TX Data Buffer Ptr Low */ | |
491 | u32 os32iptrh; /* OOS 32 Bytes TX Insert Ptr High */ | |
492 | u32 os32iptrl; /* OOS 32 Bytes TX Insert Ptr Low */ | |
493 | u32 os32tbdr; /* OOS 32 Bytes TX Reserved */ | |
494 | u32 os32iil; /* OOS 32 Bytes TX Insert Idx/Len */ | |
495 | u8 res11[52]; | |
496 | u32 rctrl; /* RX Control */ | |
497 | u32 rstat; /* RX Status */ | |
498 | u8 res12[4]; | |
499 | u32 rbdlen; /* RxBD Data Len */ | |
500 | u8 res13[16]; | |
501 | u32 crbptrh; /* Current RX Buffer Desc Ptr High */ | |
502 | u32 crbptr; /* Current RX Buffer Desc Ptr */ | |
503 | u8 res14[24]; | |
504 | u32 mrblr; /* Maximum RX Buffer Len */ | |
505 | u32 mrblr2r3; /* Maximum RX Buffer Len R2R3 */ | |
506 | u8 res15[56]; | |
507 | u32 rbptrh; /* RX Buffer Desc Ptr High 0 */ | |
508 | u32 rbptr; /* RX Buffer Desc Ptr */ | |
509 | u32 rbptrh1; /* RX Buffer Desc Ptr High 1 */ | |
510 | u32 rbptrl1; /* RX Buffer Desc Ptr Low 1 */ | |
511 | u32 rbptrh2; /* RX Buffer Desc Ptr High 2 */ | |
512 | u32 rbptrl2; /* RX Buffer Desc Ptr Low 2 */ | |
513 | u32 rbptrh3; /* RX Buffer Desc Ptr High 3 */ | |
514 | u32 rbptrl3; /* RX Buffer Desc Ptr Low 3 */ | |
515 | u8 res16[96]; | |
516 | u32 rbaseh; /* RX Desc Base Addr High 0 */ | |
517 | u32 rbase; /* RX Desc Base Addr */ | |
518 | u32 rbaseh1; /* RX Desc Base Addr High 1 */ | |
519 | u32 rbasel1; /* RX Desc Base Addr Low 1 */ | |
520 | u32 rbaseh2; /* RX Desc Base Addr High 2 */ | |
521 | u32 rbasel2; /* RX Desc Base Addr Low 2 */ | |
522 | u32 rbaseh3; /* RX Desc Base Addr High 3 */ | |
523 | u32 rbasel3; /* RX Desc Base Addr Low 3 */ | |
524 | u8 res17[224]; | |
525 | u32 maccfg1; /* MAC Configuration 1 */ | |
526 | u32 maccfg2; /* MAC Configuration 2 */ | |
527 | u32 ipgifg; /* Inter Packet Gap/Inter Frame Gap */ | |
528 | u32 hafdup; /* Half Duplex */ | |
529 | u32 maxfrm; /* Maximum Frame Len */ | |
530 | u8 res18[12]; | |
531 | u32 miimcfg; /* MII Management Configuration */ | |
532 | u32 miimcom; /* MII Management Cmd */ | |
533 | u32 miimadd; /* MII Management Addr */ | |
534 | u32 miimcon; /* MII Management Control */ | |
535 | u32 miimstat; /* MII Management Status */ | |
536 | u32 miimind; /* MII Management Indicator */ | |
537 | u8 res19[4]; | |
538 | u32 ifstat; /* Interface Status */ | |
539 | u32 macstnaddr1; /* Station Addr Part 1 */ | |
540 | u32 macstnaddr2; /* Station Addr Part 2 */ | |
541 | u8 res20[312]; | |
542 | u32 tr64; /* TX & RX 64-byte Frame Counter */ | |
543 | u32 tr127; /* TX & RX 65-127 byte Frame Counter */ | |
544 | u32 tr255; /* TX & RX 128-255 byte Frame Counter */ | |
545 | u32 tr511; /* TX & RX 256-511 byte Frame Counter */ | |
546 | u32 tr1k; /* TX & RX 512-1023 byte Frame Counter */ | |
547 | u32 trmax; /* TX & RX 1024-1518 byte Frame Counter */ | |
548 | u32 trmgv; /* TX & RX 1519-1522 byte Good VLAN Frame */ | |
549 | u32 rbyt; /* RX Byte Counter */ | |
550 | u32 rpkt; /* RX Packet Counter */ | |
551 | u32 rfcs; /* RX FCS Error Counter */ | |
552 | u32 rmca; /* RX Multicast Packet Counter */ | |
553 | u32 rbca; /* RX Broadcast Packet Counter */ | |
554 | u32 rxcf; /* RX Control Frame Packet Counter */ | |
555 | u32 rxpf; /* RX Pause Frame Packet Counter */ | |
556 | u32 rxuo; /* RX Unknown OP Code Counter */ | |
557 | u32 raln; /* RX Alignment Error Counter */ | |
558 | u32 rflr; /* RX Frame Len Error Counter */ | |
559 | u32 rcde; /* RX Code Error Counter */ | |
560 | u32 rcse; /* RX Carrier Sense Error Counter */ | |
561 | u32 rund; /* RX Undersize Packet Counter */ | |
562 | u32 rovr; /* RX Oversize Packet Counter */ | |
563 | u32 rfrg; /* RX Fragments Counter */ | |
564 | u32 rjbr; /* RX Jabber Counter */ | |
565 | u32 rdrp; /* RX Drop Counter */ | |
566 | u32 tbyt; /* TX Byte Counter Counter */ | |
567 | u32 tpkt; /* TX Packet Counter */ | |
568 | u32 tmca; /* TX Multicast Packet Counter */ | |
569 | u32 tbca; /* TX Broadcast Packet Counter */ | |
570 | u32 txpf; /* TX Pause Control Frame Counter */ | |
571 | u32 tdfr; /* TX Deferral Packet Counter */ | |
572 | u32 tedf; /* TX Excessive Deferral Packet Counter */ | |
573 | u32 tscl; /* TX Single Collision Packet Counter */ | |
574 | u32 tmcl; /* TX Multiple Collision Packet Counter */ | |
575 | u32 tlcl; /* TX Late Collision Packet Counter */ | |
576 | u32 txcl; /* TX Excessive Collision Packet Counter */ | |
577 | u32 tncl; /* TX Total Collision Counter */ | |
578 | u8 res21[4]; | |
579 | u32 tdrp; /* TX Drop Frame Counter */ | |
580 | u32 tjbr; /* TX Jabber Frame Counter */ | |
581 | u32 tfcs; /* TX FCS Error Counter */ | |
582 | u32 txcf; /* TX Control Frame Counter */ | |
583 | u32 tovr; /* TX Oversize Frame Counter */ | |
584 | u32 tund; /* TX Undersize Frame Counter */ | |
585 | u32 tfrg; /* TX Fragments Frame Counter */ | |
586 | u32 car1; /* Carry One */ | |
587 | u32 car2; /* Carry Two */ | |
588 | u32 cam1; /* Carry Mask One */ | |
589 | u32 cam2; /* Carry Mask Two */ | |
590 | u8 res22[192]; | |
591 | u32 iaddr0; /* Indivdual addr 0 */ | |
592 | u32 iaddr1; /* Indivdual addr 1 */ | |
593 | u32 iaddr2; /* Indivdual addr 2 */ | |
594 | u32 iaddr3; /* Indivdual addr 3 */ | |
595 | u32 iaddr4; /* Indivdual addr 4 */ | |
596 | u32 iaddr5; /* Indivdual addr 5 */ | |
597 | u32 iaddr6; /* Indivdual addr 6 */ | |
598 | u32 iaddr7; /* Indivdual addr 7 */ | |
599 | u8 res23[96]; | |
600 | u32 gaddr0; /* Global addr 0 */ | |
601 | u32 gaddr1; /* Global addr 1 */ | |
602 | u32 gaddr2; /* Global addr 2 */ | |
603 | u32 gaddr3; /* Global addr 3 */ | |
604 | u32 gaddr4; /* Global addr 4 */ | |
605 | u32 gaddr5; /* Global addr 5 */ | |
606 | u32 gaddr6; /* Global addr 6 */ | |
607 | u32 gaddr7; /* Global addr 7 */ | |
608 | u8 res24[96]; | |
609 | u32 pmd0; /* Pattern Match Data */ | |
610 | u8 res25[4]; | |
611 | u32 pmask0; /* Pattern Mask */ | |
612 | u8 res26[4]; | |
613 | u32 pcntrl0; /* Pattern Match Control */ | |
614 | u8 res27[4]; | |
615 | u32 pattrb0; /* Pattern Match Attrs */ | |
616 | u32 pattrbeli0; /* Pattern Match Attrs Extract Len & Idx */ | |
617 | u32 pmd1; /* Pattern Match Data */ | |
618 | u8 res28[4]; | |
619 | u32 pmask1; /* Pattern Mask */ | |
620 | u8 res29[4]; | |
621 | u32 pcntrl1; /* Pattern Match Control */ | |
622 | u8 res30[4]; | |
623 | u32 pattrb1; /* Pattern Match Attrs */ | |
624 | u32 pattrbeli1; /* Pattern Match Attrs Extract Len & Idx */ | |
625 | u32 pmd2; /* Pattern Match Data */ | |
626 | u8 res31[4]; | |
627 | u32 pmask2; /* Pattern Mask */ | |
628 | u8 res32[4]; | |
629 | u32 pcntrl2; /* Pattern Match Control */ | |
630 | u8 res33[4]; | |
631 | u32 pattrb2; /* Pattern Match Attrs */ | |
632 | u32 pattrbeli2; /* Pattern Match Attrs Extract Len & Idx */ | |
633 | u32 pmd3; /* Pattern Match Data */ | |
634 | u8 res34[4]; | |
635 | u32 pmask3; /* Pattern Mask */ | |
636 | u8 res35[4]; | |
637 | u32 pcntrl3; /* Pattern Match Control */ | |
638 | u8 res36[4]; | |
639 | u32 pattrb3; /* Pattern Match Attrs */ | |
640 | u32 pattrbeli3; /* Pattern Match Attrs Extract Len & Idx */ | |
641 | u32 pmd4; /* Pattern Match Data */ | |
642 | u8 res37[4]; | |
643 | u32 pmask4; /* Pattern Mask */ | |
644 | u8 res38[4]; | |
645 | u32 pcntrl4; /* Pattern Match Control */ | |
646 | u8 res39[4]; | |
647 | u32 pattrb4; /* Pattern Match Attrs */ | |
648 | u32 pattrbeli4; /* Pattern Match Attrs Extract Len & Idx */ | |
649 | u32 pmd5; /* Pattern Match Data */ | |
650 | u8 res40[4]; | |
651 | u32 pmask5; /* Pattern Mask */ | |
652 | u8 res41[4]; | |
653 | u32 pcntrl5; /* Pattern Match Control */ | |
654 | u8 res42[4]; | |
655 | u32 pattrb5; /* Pattern Match Attrs */ | |
656 | u32 pattrbeli5; /* Pattern Match Attrs Extract Len & Idx */ | |
657 | u32 pmd6; /* Pattern Match Data */ | |
658 | u8 res43[4]; | |
659 | u32 pmask6; /* Pattern Mask */ | |
660 | u8 res44[4]; | |
661 | u32 pcntrl6; /* Pattern Match Control */ | |
662 | u8 res45[4]; | |
663 | u32 pattrb6; /* Pattern Match Attrs */ | |
664 | u32 pattrbeli6; /* Pattern Match Attrs Extract Len & Idx */ | |
665 | u32 pmd7; /* Pattern Match Data */ | |
666 | u8 res46[4]; | |
667 | u32 pmask7; /* Pattern Mask */ | |
668 | u8 res47[4]; | |
669 | u32 pcntrl7; /* Pattern Match Control */ | |
670 | u8 res48[4]; | |
671 | u32 pattrb7; /* Pattern Match Attrs */ | |
672 | u32 pattrbeli7; /* Pattern Match Attrs Extract Len & Idx */ | |
673 | u32 pmd8; /* Pattern Match Data */ | |
674 | u8 res49[4]; | |
675 | u32 pmask8; /* Pattern Mask */ | |
676 | u8 res50[4]; | |
677 | u32 pcntrl8; /* Pattern Match Control */ | |
678 | u8 res51[4]; | |
679 | u32 pattrb8; /* Pattern Match Attrs */ | |
680 | u32 pattrbeli8; /* Pattern Match Attrs Extract Len & Idx */ | |
681 | u32 pmd9; /* Pattern Match Data */ | |
682 | u8 res52[4]; | |
683 | u32 pmask9; /* Pattern Mask */ | |
684 | u8 res53[4]; | |
685 | u32 pcntrl9; /* Pattern Match Control */ | |
686 | u8 res54[4]; | |
687 | u32 pattrb9; /* Pattern Match Attrs */ | |
688 | u32 pattrbeli9; /* Pattern Match Attrs Extract Len & Idx */ | |
689 | u32 pmd10; /* Pattern Match Data */ | |
690 | u8 res55[4]; | |
691 | u32 pmask10; /* Pattern Mask */ | |
692 | u8 res56[4]; | |
693 | u32 pcntrl10; /* Pattern Match Control */ | |
694 | u8 res57[4]; | |
695 | u32 pattrb10; /* Pattern Match Attrs */ | |
696 | u32 pattrbeli10; /* Pattern Match Attrs Extract Len & Idx */ | |
697 | u32 pmd11; /* Pattern Match Data */ | |
698 | u8 res58[4]; | |
699 | u32 pmask11; /* Pattern Mask */ | |
700 | u8 res59[4]; | |
701 | u32 pcntrl11; /* Pattern Match Control */ | |
702 | u8 res60[4]; | |
703 | u32 pattrb11; /* Pattern Match Attrs */ | |
704 | u32 pattrbeli11; /* Pattern Match Attrs Extract Len & Idx */ | |
705 | u32 pmd12; /* Pattern Match Data */ | |
706 | u8 res61[4]; | |
707 | u32 pmask12; /* Pattern Mask */ | |
708 | u8 res62[4]; | |
709 | u32 pcntrl12; /* Pattern Match Control */ | |
710 | u8 res63[4]; | |
711 | u32 pattrb12; /* Pattern Match Attrs */ | |
712 | u32 pattrbeli12; /* Pattern Match Attrs Extract Len & Idx */ | |
713 | u32 pmd13; /* Pattern Match Data */ | |
714 | u8 res64[4]; | |
715 | u32 pmask13; /* Pattern Mask */ | |
716 | u8 res65[4]; | |
717 | u32 pcntrl13; /* Pattern Match Control */ | |
718 | u8 res66[4]; | |
719 | u32 pattrb13; /* Pattern Match Attrs */ | |
720 | u32 pattrbeli13; /* Pattern Match Attrs Extract Len & Idx */ | |
721 | u32 pmd14; /* Pattern Match Data */ | |
722 | u8 res67[4]; | |
723 | u32 pmask14; /* Pattern Mask */ | |
724 | u8 res68[4]; | |
725 | u32 pcntrl14; /* Pattern Match Control */ | |
726 | u8 res69[4]; | |
727 | u32 pattrb14; /* Pattern Match Attrs */ | |
728 | u32 pattrbeli14; /* Pattern Match Attrs Extract Len & Idx */ | |
729 | u32 pmd15; /* Pattern Match Data */ | |
730 | u8 res70[4]; | |
731 | u32 pmask15; /* Pattern Mask */ | |
732 | u8 res71[4]; | |
733 | u32 pcntrl15; /* Pattern Match Control */ | |
734 | u8 res72[4]; | |
735 | u32 pattrb15; /* Pattern Match Attrs */ | |
736 | u32 pattrbeli15; /* Pattern Match Attrs Extract Len & Idx */ | |
737 | u8 res73[248]; | |
738 | u32 attr; /* Attrs */ | |
739 | u32 attreli; /* Attrs Extract Len & Idx */ | |
740 | u8 res74[1024]; | |
42d1f039 WD |
741 | } ccsr_tsec_t; |
742 | ||
8280912e | 743 | /* PIC Registers */ |
42d1f039 | 744 | typedef struct ccsr_pic { |
8280912e KG |
745 | u8 res1[64]; |
746 | u32 ipidr0; /* Interprocessor IRQ Dispatch 0 */ | |
747 | u8 res2[12]; | |
748 | u32 ipidr1; /* Interprocessor IRQ Dispatch 1 */ | |
749 | u8 res3[12]; | |
750 | u32 ipidr2; /* Interprocessor IRQ Dispatch 2 */ | |
751 | u8 res4[12]; | |
752 | u32 ipidr3; /* Interprocessor IRQ Dispatch 3 */ | |
753 | u8 res5[12]; | |
754 | u32 ctpr; /* Current Task Priority */ | |
755 | u8 res6[12]; | |
756 | u32 whoami; /* Who Am I */ | |
757 | u8 res7[12]; | |
758 | u32 iack; /* IRQ Acknowledge */ | |
759 | u8 res8[12]; | |
760 | u32 eoi; /* End Of IRQ */ | |
761 | u8 res9[3916]; | |
762 | u32 frr; /* Feature Reporting */ | |
763 | u8 res10[28]; | |
764 | u32 gcr; /* Global Configuration */ | |
765 | #define MPC85xx_PICGCR_RST 0x80000000 | |
766 | #define MPC85xx_PICGCR_M 0x20000000 | |
767 | u8 res11[92]; | |
768 | u32 vir; /* Vendor Identification */ | |
769 | u8 res12[12]; | |
770 | u32 pir; /* Processor Initialization */ | |
771 | u8 res13[12]; | |
772 | u32 ipivpr0; /* IPI Vector/Priority 0 */ | |
773 | u8 res14[12]; | |
774 | u32 ipivpr1; /* IPI Vector/Priority 1 */ | |
775 | u8 res15[12]; | |
776 | u32 ipivpr2; /* IPI Vector/Priority 2 */ | |
777 | u8 res16[12]; | |
778 | u32 ipivpr3; /* IPI Vector/Priority 3 */ | |
779 | u8 res17[12]; | |
780 | u32 svr; /* Spurious Vector */ | |
781 | u8 res18[12]; | |
782 | u32 tfrr; /* Timer Frequency Reporting */ | |
783 | u8 res19[12]; | |
784 | u32 gtccr0; /* Global Timer Current Count 0 */ | |
785 | u8 res20[12]; | |
786 | u32 gtbcr0; /* Global Timer Base Count 0 */ | |
787 | u8 res21[12]; | |
788 | u32 gtvpr0; /* Global Timer Vector/Priority 0 */ | |
789 | u8 res22[12]; | |
790 | u32 gtdr0; /* Global Timer Destination 0 */ | |
791 | u8 res23[12]; | |
792 | u32 gtccr1; /* Global Timer Current Count 1 */ | |
793 | u8 res24[12]; | |
794 | u32 gtbcr1; /* Global Timer Base Count 1 */ | |
795 | u8 res25[12]; | |
796 | u32 gtvpr1; /* Global Timer Vector/Priority 1 */ | |
797 | u8 res26[12]; | |
798 | u32 gtdr1; /* Global Timer Destination 1 */ | |
799 | u8 res27[12]; | |
800 | u32 gtccr2; /* Global Timer Current Count 2 */ | |
801 | u8 res28[12]; | |
802 | u32 gtbcr2; /* Global Timer Base Count 2 */ | |
803 | u8 res29[12]; | |
804 | u32 gtvpr2; /* Global Timer Vector/Priority 2 */ | |
805 | u8 res30[12]; | |
806 | u32 gtdr2; /* Global Timer Destination 2 */ | |
807 | u8 res31[12]; | |
808 | u32 gtccr3; /* Global Timer Current Count 3 */ | |
809 | u8 res32[12]; | |
810 | u32 gtbcr3; /* Global Timer Base Count 3 */ | |
811 | u8 res33[12]; | |
812 | u32 gtvpr3; /* Global Timer Vector/Priority 3 */ | |
813 | u8 res34[12]; | |
814 | u32 gtdr3; /* Global Timer Destination 3 */ | |
815 | u8 res35[268]; | |
816 | u32 tcr; /* Timer Control */ | |
817 | u8 res36[12]; | |
818 | u32 irqsr0; /* IRQ_OUT Summary 0 */ | |
819 | u8 res37[12]; | |
820 | u32 irqsr1; /* IRQ_OUT Summary 1 */ | |
821 | u8 res38[12]; | |
822 | u32 cisr0; /* Critical IRQ Summary 0 */ | |
823 | u8 res39[12]; | |
824 | u32 cisr1; /* Critical IRQ Summary 1 */ | |
825 | u8 res40[188]; | |
826 | u32 msgr0; /* Message 0 */ | |
827 | u8 res41[12]; | |
828 | u32 msgr1; /* Message 1 */ | |
829 | u8 res42[12]; | |
830 | u32 msgr2; /* Message 2 */ | |
831 | u8 res43[12]; | |
832 | u32 msgr3; /* Message 3 */ | |
833 | u8 res44[204]; | |
834 | u32 mer; /* Message Enable */ | |
835 | u8 res45[12]; | |
836 | u32 msr; /* Message Status */ | |
837 | u8 res46[60140]; | |
838 | u32 eivpr0; /* External IRQ Vector/Priority 0 */ | |
839 | u8 res47[12]; | |
840 | u32 eidr0; /* External IRQ Destination 0 */ | |
841 | u8 res48[12]; | |
842 | u32 eivpr1; /* External IRQ Vector/Priority 1 */ | |
843 | u8 res49[12]; | |
844 | u32 eidr1; /* External IRQ Destination 1 */ | |
845 | u8 res50[12]; | |
846 | u32 eivpr2; /* External IRQ Vector/Priority 2 */ | |
847 | u8 res51[12]; | |
848 | u32 eidr2; /* External IRQ Destination 2 */ | |
849 | u8 res52[12]; | |
850 | u32 eivpr3; /* External IRQ Vector/Priority 3 */ | |
851 | u8 res53[12]; | |
852 | u32 eidr3; /* External IRQ Destination 3 */ | |
853 | u8 res54[12]; | |
854 | u32 eivpr4; /* External IRQ Vector/Priority 4 */ | |
855 | u8 res55[12]; | |
856 | u32 eidr4; /* External IRQ Destination 4 */ | |
857 | u8 res56[12]; | |
858 | u32 eivpr5; /* External IRQ Vector/Priority 5 */ | |
859 | u8 res57[12]; | |
860 | u32 eidr5; /* External IRQ Destination 5 */ | |
861 | u8 res58[12]; | |
862 | u32 eivpr6; /* External IRQ Vector/Priority 6 */ | |
863 | u8 res59[12]; | |
864 | u32 eidr6; /* External IRQ Destination 6 */ | |
865 | u8 res60[12]; | |
866 | u32 eivpr7; /* External IRQ Vector/Priority 7 */ | |
867 | u8 res61[12]; | |
868 | u32 eidr7; /* External IRQ Destination 7 */ | |
869 | u8 res62[12]; | |
870 | u32 eivpr8; /* External IRQ Vector/Priority 8 */ | |
871 | u8 res63[12]; | |
872 | u32 eidr8; /* External IRQ Destination 8 */ | |
873 | u8 res64[12]; | |
874 | u32 eivpr9; /* External IRQ Vector/Priority 9 */ | |
875 | u8 res65[12]; | |
876 | u32 eidr9; /* External IRQ Destination 9 */ | |
877 | u8 res66[12]; | |
878 | u32 eivpr10; /* External IRQ Vector/Priority 10 */ | |
879 | u8 res67[12]; | |
880 | u32 eidr10; /* External IRQ Destination 10 */ | |
881 | u8 res68[12]; | |
882 | u32 eivpr11; /* External IRQ Vector/Priority 11 */ | |
883 | u8 res69[12]; | |
884 | u32 eidr11; /* External IRQ Destination 11 */ | |
885 | u8 res70[140]; | |
886 | u32 iivpr0; /* Internal IRQ Vector/Priority 0 */ | |
887 | u8 res71[12]; | |
888 | u32 iidr0; /* Internal IRQ Destination 0 */ | |
889 | u8 res72[12]; | |
890 | u32 iivpr1; /* Internal IRQ Vector/Priority 1 */ | |
891 | u8 res73[12]; | |
892 | u32 iidr1; /* Internal IRQ Destination 1 */ | |
893 | u8 res74[12]; | |
894 | u32 iivpr2; /* Internal IRQ Vector/Priority 2 */ | |
895 | u8 res75[12]; | |
896 | u32 iidr2; /* Internal IRQ Destination 2 */ | |
897 | u8 res76[12]; | |
898 | u32 iivpr3; /* Internal IRQ Vector/Priority 3 */ | |
899 | u8 res77[12]; | |
900 | u32 iidr3; /* Internal IRQ Destination 3 */ | |
901 | u8 res78[12]; | |
902 | u32 iivpr4; /* Internal IRQ Vector/Priority 4 */ | |
903 | u8 res79[12]; | |
904 | u32 iidr4; /* Internal IRQ Destination 4 */ | |
905 | u8 res80[12]; | |
906 | u32 iivpr5; /* Internal IRQ Vector/Priority 5 */ | |
907 | u8 res81[12]; | |
908 | u32 iidr5; /* Internal IRQ Destination 5 */ | |
909 | u8 res82[12]; | |
910 | u32 iivpr6; /* Internal IRQ Vector/Priority 6 */ | |
911 | u8 res83[12]; | |
912 | u32 iidr6; /* Internal IRQ Destination 6 */ | |
913 | u8 res84[12]; | |
914 | u32 iivpr7; /* Internal IRQ Vector/Priority 7 */ | |
915 | u8 res85[12]; | |
916 | u32 iidr7; /* Internal IRQ Destination 7 */ | |
917 | u8 res86[12]; | |
918 | u32 iivpr8; /* Internal IRQ Vector/Priority 8 */ | |
919 | u8 res87[12]; | |
920 | u32 iidr8; /* Internal IRQ Destination 8 */ | |
921 | u8 res88[12]; | |
922 | u32 iivpr9; /* Internal IRQ Vector/Priority 9 */ | |
923 | u8 res89[12]; | |
924 | u32 iidr9; /* Internal IRQ Destination 9 */ | |
925 | u8 res90[12]; | |
926 | u32 iivpr10; /* Internal IRQ Vector/Priority 10 */ | |
927 | u8 res91[12]; | |
928 | u32 iidr10; /* Internal IRQ Destination 10 */ | |
929 | u8 res92[12]; | |
930 | u32 iivpr11; /* Internal IRQ Vector/Priority 11 */ | |
931 | u8 res93[12]; | |
932 | u32 iidr11; /* Internal IRQ Destination 11 */ | |
933 | u8 res94[12]; | |
934 | u32 iivpr12; /* Internal IRQ Vector/Priority 12 */ | |
935 | u8 res95[12]; | |
936 | u32 iidr12; /* Internal IRQ Destination 12 */ | |
937 | u8 res96[12]; | |
938 | u32 iivpr13; /* Internal IRQ Vector/Priority 13 */ | |
939 | u8 res97[12]; | |
940 | u32 iidr13; /* Internal IRQ Destination 13 */ | |
941 | u8 res98[12]; | |
942 | u32 iivpr14; /* Internal IRQ Vector/Priority 14 */ | |
943 | u8 res99[12]; | |
944 | u32 iidr14; /* Internal IRQ Destination 14 */ | |
945 | u8 res100[12]; | |
946 | u32 iivpr15; /* Internal IRQ Vector/Priority 15 */ | |
947 | u8 res101[12]; | |
948 | u32 iidr15; /* Internal IRQ Destination 15 */ | |
949 | u8 res102[12]; | |
950 | u32 iivpr16; /* Internal IRQ Vector/Priority 16 */ | |
951 | u8 res103[12]; | |
952 | u32 iidr16; /* Internal IRQ Destination 16 */ | |
953 | u8 res104[12]; | |
954 | u32 iivpr17; /* Internal IRQ Vector/Priority 17 */ | |
955 | u8 res105[12]; | |
956 | u32 iidr17; /* Internal IRQ Destination 17 */ | |
957 | u8 res106[12]; | |
958 | u32 iivpr18; /* Internal IRQ Vector/Priority 18 */ | |
959 | u8 res107[12]; | |
960 | u32 iidr18; /* Internal IRQ Destination 18 */ | |
961 | u8 res108[12]; | |
962 | u32 iivpr19; /* Internal IRQ Vector/Priority 19 */ | |
963 | u8 res109[12]; | |
964 | u32 iidr19; /* Internal IRQ Destination 19 */ | |
965 | u8 res110[12]; | |
966 | u32 iivpr20; /* Internal IRQ Vector/Priority 20 */ | |
967 | u8 res111[12]; | |
968 | u32 iidr20; /* Internal IRQ Destination 20 */ | |
969 | u8 res112[12]; | |
970 | u32 iivpr21; /* Internal IRQ Vector/Priority 21 */ | |
971 | u8 res113[12]; | |
972 | u32 iidr21; /* Internal IRQ Destination 21 */ | |
973 | u8 res114[12]; | |
974 | u32 iivpr22; /* Internal IRQ Vector/Priority 22 */ | |
975 | u8 res115[12]; | |
976 | u32 iidr22; /* Internal IRQ Destination 22 */ | |
977 | u8 res116[12]; | |
978 | u32 iivpr23; /* Internal IRQ Vector/Priority 23 */ | |
979 | u8 res117[12]; | |
980 | u32 iidr23; /* Internal IRQ Destination 23 */ | |
981 | u8 res118[12]; | |
982 | u32 iivpr24; /* Internal IRQ Vector/Priority 24 */ | |
983 | u8 res119[12]; | |
984 | u32 iidr24; /* Internal IRQ Destination 24 */ | |
985 | u8 res120[12]; | |
986 | u32 iivpr25; /* Internal IRQ Vector/Priority 25 */ | |
987 | u8 res121[12]; | |
988 | u32 iidr25; /* Internal IRQ Destination 25 */ | |
989 | u8 res122[12]; | |
990 | u32 iivpr26; /* Internal IRQ Vector/Priority 26 */ | |
991 | u8 res123[12]; | |
992 | u32 iidr26; /* Internal IRQ Destination 26 */ | |
993 | u8 res124[12]; | |
994 | u32 iivpr27; /* Internal IRQ Vector/Priority 27 */ | |
995 | u8 res125[12]; | |
996 | u32 iidr27; /* Internal IRQ Destination 27 */ | |
997 | u8 res126[12]; | |
998 | u32 iivpr28; /* Internal IRQ Vector/Priority 28 */ | |
999 | u8 res127[12]; | |
1000 | u32 iidr28; /* Internal IRQ Destination 28 */ | |
1001 | u8 res128[12]; | |
1002 | u32 iivpr29; /* Internal IRQ Vector/Priority 29 */ | |
1003 | u8 res129[12]; | |
1004 | u32 iidr29; /* Internal IRQ Destination 29 */ | |
1005 | u8 res130[12]; | |
1006 | u32 iivpr30; /* Internal IRQ Vector/Priority 30 */ | |
1007 | u8 res131[12]; | |
1008 | u32 iidr30; /* Internal IRQ Destination 30 */ | |
1009 | u8 res132[12]; | |
1010 | u32 iivpr31; /* Internal IRQ Vector/Priority 31 */ | |
1011 | u8 res133[12]; | |
1012 | u32 iidr31; /* Internal IRQ Destination 31 */ | |
1013 | u8 res134[4108]; | |
1014 | u32 mivpr0; /* Messaging IRQ Vector/Priority 0 */ | |
1015 | u8 res135[12]; | |
1016 | u32 midr0; /* Messaging IRQ Destination 0 */ | |
1017 | u8 res136[12]; | |
1018 | u32 mivpr1; /* Messaging IRQ Vector/Priority 1 */ | |
1019 | u8 res137[12]; | |
1020 | u32 midr1; /* Messaging IRQ Destination 1 */ | |
1021 | u8 res138[12]; | |
1022 | u32 mivpr2; /* Messaging IRQ Vector/Priority 2 */ | |
1023 | u8 res139[12]; | |
1024 | u32 midr2; /* Messaging IRQ Destination 2 */ | |
1025 | u8 res140[12]; | |
1026 | u32 mivpr3; /* Messaging IRQ Vector/Priority 3 */ | |
1027 | u8 res141[12]; | |
1028 | u32 midr3; /* Messaging IRQ Destination 3 */ | |
1029 | u8 res142[59852]; | |
1030 | u32 ipi0dr0; /* Processor 0 Interprocessor IRQ Dispatch 0 */ | |
1031 | u8 res143[12]; | |
1032 | u32 ipi0dr1; /* Processor 0 Interprocessor IRQ Dispatch 1 */ | |
1033 | u8 res144[12]; | |
1034 | u32 ipi0dr2; /* Processor 0 Interprocessor IRQ Dispatch 2 */ | |
1035 | u8 res145[12]; | |
1036 | u32 ipi0dr3; /* Processor 0 Interprocessor IRQ Dispatch 3 */ | |
1037 | u8 res146[12]; | |
1038 | u32 ctpr0; /* Current Task Priority for Processor 0 */ | |
1039 | u8 res147[12]; | |
1040 | u32 whoami0; /* Who Am I for Processor 0 */ | |
1041 | u8 res148[12]; | |
1042 | u32 iack0; /* IRQ Acknowledge for Processor 0 */ | |
1043 | u8 res149[12]; | |
1044 | u32 eoi0; /* End Of IRQ for Processor 0 */ | |
1045 | u8 res150[130892]; | |
42d1f039 WD |
1046 | } ccsr_pic_t; |
1047 | ||
8280912e | 1048 | /* CPM Block */ |
9c4c5ae3 | 1049 | #ifndef CONFIG_CPM2 |
42d1f039 | 1050 | typedef struct ccsr_cpm { |
8280912e | 1051 | u8 res[262144]; |
42d1f039 WD |
1052 | } ccsr_cpm_t; |
1053 | #else | |
de1d0a69 | 1054 | /* |
8280912e KG |
1055 | * DPARM |
1056 | * General SIU | |
de1d0a69 | 1057 | */ |
42d1f039 | 1058 | typedef struct ccsr_cpm_siu { |
8280912e KG |
1059 | u8 res1[80]; |
1060 | u32 smaer; | |
1061 | u32 smser; | |
1062 | u32 smevr; | |
1063 | u8 res2[4]; | |
1064 | u32 lmaer; | |
1065 | u32 lmser; | |
1066 | u32 lmevr; | |
1067 | u8 res3[2964]; | |
42d1f039 WD |
1068 | } ccsr_cpm_siu_t; |
1069 | ||
8280912e | 1070 | /* IRQ Controller */ |
42d1f039 | 1071 | typedef struct ccsr_cpm_intctl { |
8280912e KG |
1072 | u16 sicr; |
1073 | u8 res1[2]; | |
1074 | u32 sivec; | |
1075 | u32 sipnrh; | |
1076 | u32 sipnrl; | |
1077 | u32 siprr; | |
1078 | u32 scprrh; | |
1079 | u32 scprrl; | |
1080 | u32 simrh; | |
1081 | u32 simrl; | |
1082 | u32 siexr; | |
1083 | u8 res2[88]; | |
1084 | u32 sccr; | |
1085 | u8 res3[124]; | |
42d1f039 WD |
1086 | } ccsr_cpm_intctl_t; |
1087 | ||
8280912e | 1088 | /* input/output port */ |
42d1f039 | 1089 | typedef struct ccsr_cpm_iop { |
8280912e KG |
1090 | u32 pdira; |
1091 | u32 ppara; | |
1092 | u32 psora; | |
1093 | u32 podra; | |
1094 | u32 pdata; | |
1095 | u8 res1[12]; | |
1096 | u32 pdirb; | |
1097 | u32 pparb; | |
1098 | u32 psorb; | |
1099 | u32 podrb; | |
1100 | u32 pdatb; | |
1101 | u8 res2[12]; | |
1102 | u32 pdirc; | |
1103 | u32 pparc; | |
1104 | u32 psorc; | |
1105 | u32 podrc; | |
1106 | u32 pdatc; | |
1107 | u8 res3[12]; | |
1108 | u32 pdird; | |
1109 | u32 ppard; | |
1110 | u32 psord; | |
1111 | u32 podrd; | |
1112 | u32 pdatd; | |
1113 | u8 res4[12]; | |
42d1f039 WD |
1114 | } ccsr_cpm_iop_t; |
1115 | ||
8280912e | 1116 | /* CPM timers */ |
42d1f039 | 1117 | typedef struct ccsr_cpm_timer { |
8280912e KG |
1118 | u8 tgcr1; |
1119 | u8 res1[3]; | |
1120 | u8 tgcr2; | |
1121 | u8 res2[11]; | |
1122 | u16 tmr1; | |
1123 | u16 tmr2; | |
1124 | u16 trr1; | |
1125 | u16 trr2; | |
1126 | u16 tcr1; | |
1127 | u16 tcr2; | |
1128 | u16 tcn1; | |
1129 | u16 tcn2; | |
1130 | u16 tmr3; | |
1131 | u16 tmr4; | |
1132 | u16 trr3; | |
1133 | u16 trr4; | |
1134 | u16 tcr3; | |
1135 | u16 tcr4; | |
1136 | u16 tcn3; | |
1137 | u16 tcn4; | |
1138 | u16 ter1; | |
1139 | u16 ter2; | |
1140 | u16 ter3; | |
1141 | u16 ter4; | |
1142 | u8 res3[608]; | |
42d1f039 WD |
1143 | } ccsr_cpm_timer_t; |
1144 | ||
8280912e | 1145 | /* SDMA */ |
42d1f039 | 1146 | typedef struct ccsr_cpm_sdma { |
8280912e KG |
1147 | u8 sdsr; |
1148 | u8 res1[3]; | |
1149 | u8 sdmr; | |
1150 | u8 res2[739]; | |
42d1f039 WD |
1151 | } ccsr_cpm_sdma_t; |
1152 | ||
8280912e | 1153 | /* FCC1 */ |
42d1f039 | 1154 | typedef struct ccsr_cpm_fcc1 { |
8280912e KG |
1155 | u32 gfmr; |
1156 | u32 fpsmr; | |
1157 | u16 ftodr; | |
1158 | u8 res1[2]; | |
1159 | u16 fdsr; | |
1160 | u8 res2[2]; | |
1161 | u16 fcce; | |
1162 | u8 res3[2]; | |
1163 | u16 fccm; | |
1164 | u8 res4[2]; | |
1165 | u8 fccs; | |
1166 | u8 res5[3]; | |
1167 | u8 ftirr_phy[4]; | |
42d1f039 WD |
1168 | } ccsr_cpm_fcc1_t; |
1169 | ||
8280912e | 1170 | /* FCC2 */ |
42d1f039 | 1171 | typedef struct ccsr_cpm_fcc2 { |
8280912e KG |
1172 | u32 gfmr; |
1173 | u32 fpsmr; | |
1174 | u16 ftodr; | |
1175 | u8 res1[2]; | |
1176 | u16 fdsr; | |
1177 | u8 res2[2]; | |
1178 | u16 fcce; | |
1179 | u8 res3[2]; | |
1180 | u16 fccm; | |
1181 | u8 res4[2]; | |
1182 | u8 fccs; | |
1183 | u8 res5[3]; | |
1184 | u8 ftirr_phy[4]; | |
42d1f039 WD |
1185 | } ccsr_cpm_fcc2_t; |
1186 | ||
8280912e | 1187 | /* FCC3 */ |
42d1f039 | 1188 | typedef struct ccsr_cpm_fcc3 { |
8280912e KG |
1189 | u32 gfmr; |
1190 | u32 fpsmr; | |
1191 | u16 ftodr; | |
1192 | u8 res1[2]; | |
1193 | u16 fdsr; | |
1194 | u8 res2[2]; | |
1195 | u16 fcce; | |
1196 | u8 res3[2]; | |
1197 | u16 fccm; | |
1198 | u8 res4[2]; | |
1199 | u8 fccs; | |
1200 | u8 res5[3]; | |
1201 | u8 res[36]; | |
42d1f039 WD |
1202 | } ccsr_cpm_fcc3_t; |
1203 | ||
8280912e | 1204 | /* FCC1 extended */ |
42d1f039 | 1205 | typedef struct ccsr_cpm_fcc1_ext { |
8280912e KG |
1206 | u32 firper; |
1207 | u32 firer; | |
1208 | u32 firsr_h; | |
1209 | u32 firsr_l; | |
1210 | u8 gfemr; | |
1211 | u8 res[15]; | |
42d1f039 WD |
1212 | |
1213 | } ccsr_cpm_fcc1_ext_t; | |
1214 | ||
8280912e | 1215 | /* FCC2 extended */ |
42d1f039 | 1216 | typedef struct ccsr_cpm_fcc2_ext { |
8280912e KG |
1217 | u32 firper; |
1218 | u32 firer; | |
1219 | u32 firsr_h; | |
1220 | u32 firsr_l; | |
1221 | u8 gfemr; | |
1222 | u8 res[31]; | |
42d1f039 WD |
1223 | } ccsr_cpm_fcc2_ext_t; |
1224 | ||
8280912e | 1225 | /* FCC3 extended */ |
42d1f039 | 1226 | typedef struct ccsr_cpm_fcc3_ext { |
8280912e KG |
1227 | u8 gfemr; |
1228 | u8 res[47]; | |
42d1f039 WD |
1229 | } ccsr_cpm_fcc3_ext_t; |
1230 | ||
8280912e | 1231 | /* TC layers */ |
42d1f039 | 1232 | typedef struct ccsr_cpm_tmp1 { |
8280912e | 1233 | u8 res[496]; |
42d1f039 WD |
1234 | } ccsr_cpm_tmp1_t; |
1235 | ||
8280912e | 1236 | /* BRGs:5,6,7,8 */ |
42d1f039 | 1237 | typedef struct ccsr_cpm_brg2 { |
8280912e KG |
1238 | u32 brgc5; |
1239 | u32 brgc6; | |
1240 | u32 brgc7; | |
1241 | u32 brgc8; | |
1242 | u8 res[608]; | |
42d1f039 WD |
1243 | } ccsr_cpm_brg2_t; |
1244 | ||
8280912e | 1245 | /* I2C */ |
42d1f039 | 1246 | typedef struct ccsr_cpm_i2c { |
8280912e KG |
1247 | u8 i2mod; |
1248 | u8 res1[3]; | |
1249 | u8 i2add; | |
1250 | u8 res2[3]; | |
1251 | u8 i2brg; | |
1252 | u8 res3[3]; | |
1253 | u8 i2com; | |
1254 | u8 res4[3]; | |
1255 | u8 i2cer; | |
1256 | u8 res5[3]; | |
1257 | u8 i2cmr; | |
1258 | u8 res6[331]; | |
42d1f039 WD |
1259 | } ccsr_cpm_i2c_t; |
1260 | ||
8280912e | 1261 | /* CPM core */ |
42d1f039 | 1262 | typedef struct ccsr_cpm_cp { |
8280912e KG |
1263 | u32 cpcr; |
1264 | u32 rccr; | |
1265 | u8 res1[14]; | |
1266 | u16 rter; | |
1267 | u8 res2[2]; | |
1268 | u16 rtmr; | |
1269 | u16 rtscr; | |
1270 | u8 res3[2]; | |
1271 | u32 rtsr; | |
1272 | u8 res4[12]; | |
42d1f039 WD |
1273 | } ccsr_cpm_cp_t; |
1274 | ||
8280912e | 1275 | /* BRGs:1,2,3,4 */ |
42d1f039 | 1276 | typedef struct ccsr_cpm_brg1 { |
8280912e KG |
1277 | u32 brgc1; |
1278 | u32 brgc2; | |
1279 | u32 brgc3; | |
1280 | u32 brgc4; | |
42d1f039 WD |
1281 | } ccsr_cpm_brg1_t; |
1282 | ||
8280912e | 1283 | /* SCC1-SCC4 */ |
42d1f039 | 1284 | typedef struct ccsr_cpm_scc { |
8280912e KG |
1285 | u32 gsmrl; |
1286 | u32 gsmrh; | |
1287 | u16 psmr; | |
1288 | u8 res1[2]; | |
1289 | u16 todr; | |
1290 | u16 dsr; | |
1291 | u16 scce; | |
1292 | u8 res2[2]; | |
1293 | u16 sccm; | |
1294 | u8 res3; | |
1295 | u8 sccs; | |
1296 | u8 res4[8]; | |
42d1f039 WD |
1297 | } ccsr_cpm_scc_t; |
1298 | ||
42d1f039 | 1299 | typedef struct ccsr_cpm_tmp2 { |
8280912e | 1300 | u8 res[32]; |
42d1f039 WD |
1301 | } ccsr_cpm_tmp2_t; |
1302 | ||
8280912e | 1303 | /* SPI */ |
42d1f039 | 1304 | typedef struct ccsr_cpm_spi { |
8280912e KG |
1305 | u16 spmode; |
1306 | u8 res1[4]; | |
1307 | u8 spie; | |
1308 | u8 res2[3]; | |
1309 | u8 spim; | |
1310 | u8 res3[2]; | |
1311 | u8 spcom; | |
1312 | u8 res4[82]; | |
42d1f039 WD |
1313 | } ccsr_cpm_spi_t; |
1314 | ||
8280912e | 1315 | /* CPM MUX */ |
42d1f039 | 1316 | typedef struct ccsr_cpm_mux { |
8280912e KG |
1317 | u8 cmxsi1cr; |
1318 | u8 res1; | |
1319 | u8 cmxsi2cr; | |
1320 | u8 res2; | |
1321 | u32 cmxfcr; | |
1322 | u32 cmxscr; | |
1323 | u8 res3[2]; | |
1324 | u16 cmxuar; | |
1325 | u8 res4[16]; | |
42d1f039 WD |
1326 | } ccsr_cpm_mux_t; |
1327 | ||
8280912e | 1328 | /* SI,MCC,etc */ |
42d1f039 | 1329 | typedef struct ccsr_cpm_tmp3 { |
8280912e | 1330 | u8 res[58592]; |
42d1f039 WD |
1331 | } ccsr_cpm_tmp3_t; |
1332 | ||
1333 | typedef struct ccsr_cpm_iram { | |
8280912e KG |
1334 | u32 iram[8192]; |
1335 | u8 res[98304]; | |
42d1f039 WD |
1336 | } ccsr_cpm_iram_t; |
1337 | ||
1338 | typedef struct ccsr_cpm { | |
8280912e | 1339 | /* Some references are into the unique & known dpram spaces, |
42d1f039 WD |
1340 | * others are from the generic base. |
1341 | */ | |
53677ef1 | 1342 | #define im_dprambase im_dpram1 |
8280912e KG |
1343 | u8 im_dpram1[16*1024]; |
1344 | u8 res1[16*1024]; | |
1345 | u8 im_dpram2[16*1024]; | |
1346 | u8 res2[16*1024]; | |
1347 | ccsr_cpm_siu_t im_cpm_siu; /* SIU Configuration */ | |
1348 | ccsr_cpm_intctl_t im_cpm_intctl; /* IRQ Controller */ | |
1349 | ccsr_cpm_iop_t im_cpm_iop; /* IO Port control/status */ | |
1350 | ccsr_cpm_timer_t im_cpm_timer; /* CPM timers */ | |
1351 | ccsr_cpm_sdma_t im_cpm_sdma; /* SDMA control/status */ | |
42d1f039 WD |
1352 | ccsr_cpm_fcc1_t im_cpm_fcc1; |
1353 | ccsr_cpm_fcc2_t im_cpm_fcc2; | |
1354 | ccsr_cpm_fcc3_t im_cpm_fcc3; | |
1355 | ccsr_cpm_fcc1_ext_t im_cpm_fcc1_ext; | |
1356 | ccsr_cpm_fcc2_ext_t im_cpm_fcc2_ext; | |
1357 | ccsr_cpm_fcc3_ext_t im_cpm_fcc3_ext; | |
1358 | ccsr_cpm_tmp1_t im_cpm_tmp1; | |
1359 | ccsr_cpm_brg2_t im_cpm_brg2; | |
1360 | ccsr_cpm_i2c_t im_cpm_i2c; | |
1361 | ccsr_cpm_cp_t im_cpm_cp; | |
1362 | ccsr_cpm_brg1_t im_cpm_brg1; | |
1363 | ccsr_cpm_scc_t im_cpm_scc[4]; | |
1364 | ccsr_cpm_tmp2_t im_cpm_tmp2; | |
1365 | ccsr_cpm_spi_t im_cpm_spi; | |
1366 | ccsr_cpm_mux_t im_cpm_mux; | |
1367 | ccsr_cpm_tmp3_t im_cpm_tmp3; | |
1368 | ccsr_cpm_iram_t im_cpm_iram; | |
1369 | } ccsr_cpm_t; | |
1370 | #endif | |
42d1f039 | 1371 | |
8280912e | 1372 | /* RapidIO Registers */ |
42d1f039 | 1373 | typedef struct ccsr_rio { |
8280912e KG |
1374 | u32 didcar; /* Device Identity Capability */ |
1375 | u32 dicar; /* Device Information Capability */ | |
1376 | u32 aidcar; /* Assembly Identity Capability */ | |
1377 | u32 aicar; /* Assembly Information Capability */ | |
1378 | u32 pefcar; /* Processing Element Features Capability */ | |
1379 | u32 spicar; /* Switch Port Information Capability */ | |
1380 | u32 socar; /* Source Operations Capability */ | |
1381 | u32 docar; /* Destination Operations Capability */ | |
1382 | u8 res1[32]; | |
1383 | u32 msr; /* Mailbox Cmd And Status */ | |
1384 | u32 pwdcsr; /* Port-Write & Doorbell Cmd And Status */ | |
1385 | u8 res2[4]; | |
1386 | u32 pellccsr; /* Processing Element Logic Layer CCSR */ | |
1387 | u8 res3[12]; | |
1388 | u32 lcsbacsr; /* Local Cfg Space Base Addr Cmd & Status */ | |
1389 | u32 bdidcsr; /* Base Device ID Cmd & Status */ | |
1390 | u8 res4[4]; | |
1391 | u32 hbdidlcsr; /* Host Base Device ID Lock Cmd & Status */ | |
1392 | u32 ctcsr; /* Component Tag Cmd & Status */ | |
1393 | u8 res5[144]; | |
1394 | u32 pmbh0csr; /* Port Maint. Block Hdr 0 Cmd & Status */ | |
1395 | u8 res6[28]; | |
1396 | u32 pltoccsr; /* Port Link Time-out Ctrl Cmd & Status */ | |
1397 | u32 prtoccsr; /* Port Response Time-out Ctrl Cmd & Status */ | |
1398 | u8 res7[20]; | |
1399 | u32 pgccsr; /* Port General Cmd & Status */ | |
1400 | u32 plmreqcsr; /* Port Link Maint. Request Cmd & Status */ | |
1401 | u32 plmrespcsr; /* Port Link Maint. Response Cmd & Status */ | |
1402 | u32 plascsr; /* Port Local Ackid Status Cmd & Status */ | |
1403 | u8 res8[12]; | |
1404 | u32 pescsr; /* Port Error & Status Cmd & Status */ | |
1405 | u32 pccsr; /* Port Control Cmd & Status */ | |
1406 | u8 res9[65184]; | |
1407 | u32 cr; /* Port Control Cmd & Status */ | |
1408 | u8 res10[12]; | |
1409 | u32 pcr; /* Port Configuration */ | |
1410 | u32 peir; /* Port Error Injection */ | |
1411 | u8 res11[3048]; | |
1412 | u32 rowtar0; /* RIO Outbound Window Translation Addr 0 */ | |
1413 | u8 res12[12]; | |
1414 | u32 rowar0; /* RIO Outbound Attrs 0 */ | |
1415 | u8 res13[12]; | |
1416 | u32 rowtar1; /* RIO Outbound Window Translation Addr 1 */ | |
1417 | u8 res14[4]; | |
1418 | u32 rowbar1; /* RIO Outbound Window Base Addr 1 */ | |
1419 | u8 res15[4]; | |
1420 | u32 rowar1; /* RIO Outbound Attrs 1 */ | |
1421 | u8 res16[12]; | |
1422 | u32 rowtar2; /* RIO Outbound Window Translation Addr 2 */ | |
1423 | u8 res17[4]; | |
1424 | u32 rowbar2; /* RIO Outbound Window Base Addr 2 */ | |
1425 | u8 res18[4]; | |
1426 | u32 rowar2; /* RIO Outbound Attrs 2 */ | |
1427 | u8 res19[12]; | |
1428 | u32 rowtar3; /* RIO Outbound Window Translation Addr 3 */ | |
1429 | u8 res20[4]; | |
1430 | u32 rowbar3; /* RIO Outbound Window Base Addr 3 */ | |
1431 | u8 res21[4]; | |
1432 | u32 rowar3; /* RIO Outbound Attrs 3 */ | |
1433 | u8 res22[12]; | |
1434 | u32 rowtar4; /* RIO Outbound Window Translation Addr 4 */ | |
1435 | u8 res23[4]; | |
1436 | u32 rowbar4; /* RIO Outbound Window Base Addr 4 */ | |
1437 | u8 res24[4]; | |
1438 | u32 rowar4; /* RIO Outbound Attrs 4 */ | |
1439 | u8 res25[12]; | |
1440 | u32 rowtar5; /* RIO Outbound Window Translation Addr 5 */ | |
1441 | u8 res26[4]; | |
1442 | u32 rowbar5; /* RIO Outbound Window Base Addr 5 */ | |
1443 | u8 res27[4]; | |
1444 | u32 rowar5; /* RIO Outbound Attrs 5 */ | |
1445 | u8 res28[12]; | |
1446 | u32 rowtar6; /* RIO Outbound Window Translation Addr 6 */ | |
1447 | u8 res29[4]; | |
1448 | u32 rowbar6; /* RIO Outbound Window Base Addr 6 */ | |
1449 | u8 res30[4]; | |
1450 | u32 rowar6; /* RIO Outbound Attrs 6 */ | |
1451 | u8 res31[12]; | |
1452 | u32 rowtar7; /* RIO Outbound Window Translation Addr 7 */ | |
1453 | u8 res32[4]; | |
1454 | u32 rowbar7; /* RIO Outbound Window Base Addr 7 */ | |
1455 | u8 res33[4]; | |
1456 | u32 rowar7; /* RIO Outbound Attrs 7 */ | |
1457 | u8 res34[12]; | |
1458 | u32 rowtar8; /* RIO Outbound Window Translation Addr 8 */ | |
1459 | u8 res35[4]; | |
1460 | u32 rowbar8; /* RIO Outbound Window Base Addr 8 */ | |
1461 | u8 res36[4]; | |
1462 | u32 rowar8; /* RIO Outbound Attrs 8 */ | |
1463 | u8 res37[76]; | |
1464 | u32 riwtar4; /* RIO Inbound Window Translation Addr 4 */ | |
1465 | u8 res38[4]; | |
1466 | u32 riwbar4; /* RIO Inbound Window Base Addr 4 */ | |
1467 | u8 res39[4]; | |
1468 | u32 riwar4; /* RIO Inbound Attrs 4 */ | |
1469 | u8 res40[12]; | |
1470 | u32 riwtar3; /* RIO Inbound Window Translation Addr 3 */ | |
1471 | u8 res41[4]; | |
1472 | u32 riwbar3; /* RIO Inbound Window Base Addr 3 */ | |
1473 | u8 res42[4]; | |
1474 | u32 riwar3; /* RIO Inbound Attrs 3 */ | |
1475 | u8 res43[12]; | |
1476 | u32 riwtar2; /* RIO Inbound Window Translation Addr 2 */ | |
1477 | u8 res44[4]; | |
1478 | u32 riwbar2; /* RIO Inbound Window Base Addr 2 */ | |
1479 | u8 res45[4]; | |
1480 | u32 riwar2; /* RIO Inbound Attrs 2 */ | |
1481 | u8 res46[12]; | |
1482 | u32 riwtar1; /* RIO Inbound Window Translation Addr 1 */ | |
1483 | u8 res47[4]; | |
1484 | u32 riwbar1; /* RIO Inbound Window Base Addr 1 */ | |
1485 | u8 res48[4]; | |
1486 | u32 riwar1; /* RIO Inbound Attrs 1 */ | |
1487 | u8 res49[12]; | |
1488 | u32 riwtar0; /* RIO Inbound Window Translation Addr 0 */ | |
1489 | u8 res50[12]; | |
1490 | u32 riwar0; /* RIO Inbound Attrs 0 */ | |
1491 | u8 res51[12]; | |
1492 | u32 pnfedr; /* Port Notification/Fatal Error Detect */ | |
1493 | u32 pnfedir; /* Port Notification/Fatal Error Detect */ | |
1494 | u32 pnfeier; /* Port Notification/Fatal Error IRQ Enable */ | |
1495 | u32 pecr; /* Port Error Control */ | |
1496 | u32 pepcsr0; /* Port Error Packet/Control Symbol 0 */ | |
1497 | u32 pepr1; /* Port Error Packet 1 */ | |
1498 | u32 pepr2; /* Port Error Packet 2 */ | |
1499 | u8 res52[4]; | |
1500 | u32 predr; /* Port Recoverable Error Detect */ | |
1501 | u8 res53[4]; | |
1502 | u32 pertr; /* Port Error Recovery Threshold */ | |
1503 | u32 prtr; /* Port Retry Threshold */ | |
1504 | u8 res54[464]; | |
1505 | u32 omr; /* Outbound Mode */ | |
1506 | u32 osr; /* Outbound Status */ | |
1507 | u32 eodqtpar; /* Extended Outbound Desc Queue Tail Ptr Addr */ | |
1508 | u32 odqtpar; /* Outbound Desc Queue Tail Ptr Addr */ | |
1509 | u32 eosar; /* Extended Outbound Unit Source Addr */ | |
1510 | u32 osar; /* Outbound Unit Source Addr */ | |
1511 | u32 odpr; /* Outbound Destination Port */ | |
1512 | u32 odatr; /* Outbound Destination Attrs */ | |
1513 | u32 odcr; /* Outbound Doubleword Count */ | |
1514 | u32 eodqhpar; /* Extended Outbound Desc Queue Head Ptr Addr */ | |
1515 | u32 odqhpar; /* Outbound Desc Queue Head Ptr Addr */ | |
1516 | u8 res55[52]; | |
1517 | u32 imr; /* Outbound Mode */ | |
1518 | u32 isr; /* Inbound Status */ | |
1519 | u32 eidqtpar; /* Extended Inbound Desc Queue Tail Ptr Addr */ | |
1520 | u32 idqtpar; /* Inbound Desc Queue Tail Ptr Addr */ | |
1521 | u32 eifqhpar; /* Extended Inbound Frame Queue Head Ptr Addr */ | |
1522 | u32 ifqhpar; /* Inbound Frame Queue Head Ptr Addr */ | |
1523 | u8 res56[1000]; | |
1524 | u32 dmr; /* Doorbell Mode */ | |
1525 | u32 dsr; /* Doorbell Status */ | |
1526 | u32 edqtpar; /* Extended Doorbell Queue Tail Ptr Addr */ | |
1527 | u32 dqtpar; /* Doorbell Queue Tail Ptr Addr */ | |
1528 | u32 edqhpar; /* Extended Doorbell Queue Head Ptr Addr */ | |
1529 | u32 dqhpar; /* Doorbell Queue Head Ptr Addr */ | |
1530 | u8 res57[104]; | |
1531 | u32 pwmr; /* Port-Write Mode */ | |
1532 | u32 pwsr; /* Port-Write Status */ | |
1533 | u32 epwqbar; /* Extended Port-Write Queue Base Addr */ | |
1534 | u32 pwqbar; /* Port-Write Queue Base Addr */ | |
1535 | u8 res58[60176]; | |
42d1f039 WD |
1536 | } ccsr_rio_t; |
1537 | ||
8280912e | 1538 | /* Quick Engine Block Pin Muxing Registers */ |
c59e4091 | 1539 | typedef struct par_io { |
8280912e KG |
1540 | u32 cpodr; |
1541 | u32 cpdat; | |
1542 | u32 cpdir1; | |
1543 | u32 cpdir2; | |
1544 | u32 cppar1; | |
1545 | u32 cppar2; | |
1546 | u8 res[8]; | |
1547 | } par_io_t; | |
c59e4091 | 1548 | |
8b0ab304 BB |
1549 | #ifdef CONFIG_SYS_FSL_CPC |
1550 | /* | |
1551 | * Define a single offset that is the start of all the CPC register | |
1552 | * blocks - if there is more than one CPC, we expect these to be | |
1553 | * contiguous 4k regions | |
1554 | */ | |
1555 | ||
1556 | typedef struct cpc_corenet { | |
1557 | u32 cpccsr0; /* Config/status reg */ | |
1558 | u32 res1; | |
1559 | u32 cpccfg0; /* Configuration register */ | |
1560 | u32 res2; | |
1561 | u32 cpcewcr0; /* External Write reg 0 */ | |
1562 | u32 cpcewabr0; /* External write base reg 0 */ | |
1563 | u32 res3[2]; | |
1564 | u32 cpcewcr1; /* External Write reg 1 */ | |
1565 | u32 cpcewabr1; /* External write base reg 1 */ | |
1566 | u32 res4[54]; | |
1567 | u32 cpcsrcr1; /* SRAM control reg 1 */ | |
1568 | u32 cpcsrcr0; /* SRAM control reg 0 */ | |
1569 | u32 res5[62]; | |
1570 | struct { | |
1571 | u32 id; /* partition ID */ | |
1572 | u32 res; | |
1573 | u32 alloc; /* partition allocation */ | |
1574 | u32 way; /* partition way */ | |
1575 | } partition_regs[16]; | |
1576 | u32 res6[704]; | |
1577 | u32 cpcerrinjhi; /* Error injection high */ | |
1578 | u32 cpcerrinjlo; /* Error injection lo */ | |
1579 | u32 cpcerrinjctl; /* Error injection control */ | |
1580 | u32 res7[5]; | |
1581 | u32 cpccaptdatahi; /* capture data high */ | |
1582 | u32 cpccaptdatalo; /* capture data low */ | |
1583 | u32 cpcaptecc; /* capture ECC */ | |
1584 | u32 res8[5]; | |
1585 | u32 cpcerrdet; /* error detect */ | |
1586 | u32 cpcerrdis; /* error disable */ | |
1587 | u32 cpcerrinten; /* errir interrupt enable */ | |
1588 | u32 cpcerrattr; /* error attribute */ | |
1589 | u32 cpcerreaddr; /* error extended address */ | |
1590 | u32 cpcerraddr; /* error address */ | |
1591 | u32 cpcerrctl; /* error control */ | |
3c6a22b9 KG |
1592 | u32 res9[41]; /* pad out to 4k */ |
1593 | u32 cpchdbcr0; /* hardware debug control register 0 */ | |
1594 | u32 res10[63]; /* pad out to 4k */ | |
8b0ab304 BB |
1595 | } cpc_corenet_t; |
1596 | ||
1597 | #define CPC_CSR0_CE 0x80000000 /* Cache Enable */ | |
1598 | #define CPC_CSR0_PE 0x40000000 /* Enable ECC */ | |
1599 | #define CPC_CSR0_FI 0x00200000 /* Cache Flash Invalidate */ | |
1600 | #define CPC_CSR0_WT 0x00080000 /* Write-through mode */ | |
1601 | #define CPC_CSR0_FL 0x00000800 /* Hardware cache flush */ | |
1602 | #define CPC_CSR0_LFC 0x00000400 /* Cache Lock Flash Clear */ | |
1603 | #define CPC_CFG0_SZ_MASK 0x00003fff | |
1604 | #define CPC_CFG0_SZ_K(x) ((x & CPC_CFG0_SZ_MASK) << 6) | |
1605 | #define CPC_CFG0_NUM_WAYS(x) (((x >> 14) & 0x1f) + 1) | |
1606 | #define CPC_CFG0_LINE_SZ(x) ((((x >> 23) & 0x3) + 1) * 32) | |
1607 | #define CPC_SRCR1_SRBARU_MASK 0x0000ffff | |
1608 | #define CPC_SRCR1_SRBARU(x) (((unsigned long long)x >> 32) \ | |
1609 | & CPC_SRCR1_SRBARU_MASK) | |
1610 | #define CPC_SRCR0_SRBARL_MASK 0xffff8000 | |
1611 | #define CPC_SRCR0_SRBARL(x) (x & CPC_SRCR0_SRBARL_MASK) | |
1612 | #define CPC_SRCR0_INTLVEN 0x00000100 | |
1613 | #define CPC_SRCR0_SRAMSZ_1_WAY 0x00000000 | |
1614 | #define CPC_SRCR0_SRAMSZ_2_WAY 0x00000002 | |
1615 | #define CPC_SRCR0_SRAMSZ_4_WAY 0x00000004 | |
1616 | #define CPC_SRCR0_SRAMSZ_8_WAY 0x00000006 | |
1617 | #define CPC_SRCR0_SRAMSZ_16_WAY 0x00000008 | |
1618 | #define CPC_SRCR0_SRAMSZ_32_WAY 0x0000000a | |
1619 | #define CPC_SRCR0_SRAMEN 0x00000001 | |
1620 | #define CPC_ERRDIS_TMHITDIS 0x00000080 /* multi-way hit disable */ | |
3c6a22b9 | 1621 | #define CPC_HDBCR0_CDQ_SPEC_DIS 0x08000000 |
1d2c2a62 | 1622 | #define CPC_HDBCR0_TAG_ECC_SCRUB_DIS 0x01000000 |
868da593 | 1623 | #define CPC_HDBCR0_DATA_ECC_SCRUB_DIS 0x00400000 |
8b0ab304 BB |
1624 | #endif /* CONFIG_SYS_FSL_CPC */ |
1625 | ||
8280912e | 1626 | /* Global Utilities Block */ |
01df5212 KG |
1627 | #ifdef CONFIG_FSL_CORENET |
1628 | typedef struct ccsr_gur { | |
8280912e KG |
1629 | u32 porsr1; /* POR status */ |
1630 | u8 res1[28]; | |
1631 | u32 gpporcr1; /* General-purpose POR configuration */ | |
01df5212 | 1632 | u8 res2[12]; |
8280912e | 1633 | u32 gpiocr; /* GPIO control */ |
01df5212 | 1634 | u8 res3[12]; |
8280912e | 1635 | u32 gpoutdr; /* General-purpose output data */ |
01df5212 | 1636 | u8 res4[12]; |
8280912e | 1637 | u32 gpindr; /* General-purpose input data */ |
01df5212 | 1638 | u8 res5[12]; |
17d90f31 | 1639 | u32 alt_pmuxcr; /* Alt function signal multiplex control */ |
01df5212 | 1640 | u8 res6[12]; |
8280912e | 1641 | u32 devdisr; /* Device disable control */ |
01df5212 KG |
1642 | #define FSL_CORENET_DEVDISR_PCIE1 0x80000000 |
1643 | #define FSL_CORENET_DEVDISR_PCIE2 0x40000000 | |
1644 | #define FSL_CORENET_DEVDISR_PCIE3 0x20000000 | |
9ab87d04 | 1645 | #define FSL_CORENET_DEVDISR_PCIE4 0x10000000 |
01df5212 KG |
1646 | #define FSL_CORENET_DEVDISR_RMU 0x08000000 |
1647 | #define FSL_CORENET_DEVDISR_SRIO1 0x04000000 | |
1648 | #define FSL_CORENET_DEVDISR_SRIO2 0x02000000 | |
1649 | #define FSL_CORENET_DEVDISR_DMA1 0x00400000 | |
1650 | #define FSL_CORENET_DEVDISR_DMA2 0x00200000 | |
1651 | #define FSL_CORENET_DEVDISR_DDR1 0x00100000 | |
1652 | #define FSL_CORENET_DEVDISR_DDR2 0x00080000 | |
1653 | #define FSL_CORENET_DEVDISR_DBG 0x00010000 | |
1654 | #define FSL_CORENET_DEVDISR_NAL 0x00008000 | |
9ab87d04 KG |
1655 | #define FSL_CORENET_DEVDISR_SATA1 0x00004000 |
1656 | #define FSL_CORENET_DEVDISR_SATA2 0x00002000 | |
01df5212 KG |
1657 | #define FSL_CORENET_DEVDISR_ELBC 0x00001000 |
1658 | #define FSL_CORENET_DEVDISR_USB1 0x00000800 | |
1659 | #define FSL_CORENET_DEVDISR_USB2 0x00000400 | |
1660 | #define FSL_CORENET_DEVDISR_ESDHC 0x00000100 | |
1661 | #define FSL_CORENET_DEVDISR_GPIO 0x00000080 | |
1662 | #define FSL_CORENET_DEVDISR_ESPI 0x00000040 | |
1663 | #define FSL_CORENET_DEVDISR_I2C1 0x00000020 | |
1664 | #define FSL_CORENET_DEVDISR_I2C2 0x00000010 | |
1665 | #define FSL_CORENET_DEVDISR_DUART1 0x00000002 | |
1666 | #define FSL_CORENET_DEVDISR_DUART2 0x00000001 | |
1231c498 KG |
1667 | u32 devdisr2; /* Device disable control 2 */ |
1668 | #define FSL_CORENET_DEVDISR2_PME 0x80000000 | |
1669 | #define FSL_CORENET_DEVDISR2_SEC 0x40000000 | |
1670 | #define FSL_CORENET_DEVDISR2_QMBM 0x08000000 | |
1671 | #define FSL_CORENET_DEVDISR2_FM1 0x02000000 | |
1672 | #define FSL_CORENET_DEVDISR2_10GEC1 0x01000000 | |
1673 | #define FSL_CORENET_DEVDISR2_DTSEC1_1 0x00800000 | |
1674 | #define FSL_CORENET_DEVDISR2_DTSEC1_2 0x00400000 | |
1675 | #define FSL_CORENET_DEVDISR2_DTSEC1_3 0x00200000 | |
1676 | #define FSL_CORENET_DEVDISR2_DTSEC1_4 0x00100000 | |
9ab87d04 | 1677 | #define FSL_CORENET_DEVDISR2_DTSEC1_5 0x00080000 |
1231c498 KG |
1678 | #define FSL_CORENET_DEVDISR2_FM2 0x00020000 |
1679 | #define FSL_CORENET_DEVDISR2_10GEC2 0x00010000 | |
1680 | #define FSL_CORENET_DEVDISR2_DTSEC2_1 0x00008000 | |
1681 | #define FSL_CORENET_DEVDISR2_DTSEC2_2 0x00004000 | |
1682 | #define FSL_CORENET_DEVDISR2_DTSEC2_3 0x00002000 | |
1683 | #define FSL_CORENET_DEVDISR2_DTSEC2_4 0x00001000 | |
9ab87d04 | 1684 | #define FSL_CORENET_NUM_DEVDISR 2 |
1231c498 | 1685 | u8 res7[8]; |
8280912e | 1686 | u32 powmgtcsr; /* Power management status & control */ |
01df5212 | 1687 | u8 res8[12]; |
8280912e KG |
1688 | u32 coredisru; /* uppper portion for support of 64 cores */ |
1689 | u32 coredisrl; /* lower portion for support of 64 cores */ | |
01df5212 | 1690 | u8 res9[8]; |
8280912e KG |
1691 | u32 pvr; /* Processor version */ |
1692 | u32 svr; /* System version */ | |
01df5212 | 1693 | u8 res10[8]; |
8280912e KG |
1694 | u32 rstcr; /* Reset control */ |
1695 | u32 rstrqpblsr; /* Reset request preboot loader status */ | |
01df5212 | 1696 | u8 res11[8]; |
8280912e KG |
1697 | u32 rstrqmr1; /* Reset request mask */ |
1698 | u8 res12[4]; | |
1699 | u32 rstrqsr1; /* Reset request status */ | |
1700 | u8 res13[4]; | |
1701 | u8 res14[4]; | |
1702 | u32 rstrqwdtmrl; /* Reset request WDT mask */ | |
1703 | u8 res15[4]; | |
1704 | u32 rstrqwdtsrl; /* Reset request WDT status */ | |
1705 | u8 res16[4]; | |
1706 | u32 brrl; /* Boot release */ | |
01df5212 | 1707 | u8 res17[24]; |
8280912e | 1708 | u32 rcwsr[16]; /* Reset control word status */ |
01df5212 | 1709 | #define FSL_CORENET_RCWSR4_SRDS_PRTCL 0xfc000000 |
ab48ca1a SS |
1710 | #define FSL_CORENET_RCWSR5_DDR_SYNC 0x00000080 |
1711 | #define FSL_CORENET_RCWSR5_DDR_SYNC_SHIFT 7 | |
1231c498 | 1712 | #define FSL_CORENET_RCWSR5_SRDS_EN 0x00002000 |
9ab87d04 KG |
1713 | #define FSL_CORENET_RCWSRn_SRDS_LPD_B2 0x3c000000 /* bits 162..165 */ |
1714 | #define FSL_CORENET_RCWSRn_SRDS_LPD_B3 0x003c0000 /* bits 170..173 */ | |
01df5212 KG |
1715 | #define FSL_CORENET_RCWSR7_MCK_TO_PLAT_RAT 0x00400000 |
1716 | #define FSL_CORENET_RCWSR8_HOST_AGT_B1 0x00e00000 | |
1717 | #define FSL_CORENET_RCWSR8_HOST_AGT_B2 0x00100000 | |
9ab87d04 KG |
1718 | #define FSL_CORENET_RCWSR11_EC1 0x00c00000 /* bits 360..361 */ |
1719 | #define FSL_CORENET_RCWSR11_EC1_FM1_DTSEC1 0x00000000 | |
1720 | #define FSL_CORENET_RCWSR11_EC1_FM1_USB1 0x00800000 | |
1721 | #define FSL_CORENET_RCWSR11_EC2 0x001c0000 /* bits 363..365 */ | |
1722 | #define FSL_CORENET_RCWSR11_EC2_FM2_DTSEC1 0x00000000 | |
1723 | #define FSL_CORENET_RCWSR11_EC2_FM1_DTSEC2 0x00080000 | |
1724 | #define FSL_CORENET_RCWSR11_EC2_USB2 0x00100000 | |
8280912e KG |
1725 | u8 res18[192]; |
1726 | u32 scratchrw[4]; /* Scratch Read/Write */ | |
1727 | u8 res19[240]; | |
1728 | u32 scratchw1r[4]; /* Scratch Read (Write once) */ | |
1729 | u8 res20[240]; | |
1730 | u32 scrtsr[8]; /* Core reset status */ | |
1731 | u8 res21[224]; | |
1732 | u32 pex1liodnr; /* PCI Express 1 LIODN */ | |
1733 | u32 pex2liodnr; /* PCI Express 2 LIODN */ | |
1734 | u32 pex3liodnr; /* PCI Express 3 LIODN */ | |
1735 | u32 pex4liodnr; /* PCI Express 4 LIODN */ | |
1736 | u32 rio1liodnr; /* RIO 1 LIODN */ | |
1737 | u32 rio2liodnr; /* RIO 2 LIODN */ | |
1738 | u32 rio3liodnr; /* RIO 3 LIODN */ | |
1739 | u32 rio4liodnr; /* RIO 4 LIODN */ | |
1740 | u32 usb1liodnr; /* USB 1 LIODN */ | |
1741 | u32 usb2liodnr; /* USB 2 LIODN */ | |
1742 | u32 usb3liodnr; /* USB 3 LIODN */ | |
1743 | u32 usb4liodnr; /* USB 4 LIODN */ | |
1744 | u32 sdmmc1liodnr; /* SD/MMC 1 LIODN */ | |
1745 | u32 sdmmc2liodnr; /* SD/MMC 2 LIODN */ | |
1746 | u32 sdmmc3liodnr; /* SD/MMC 3 LIODN */ | |
1747 | u32 sdmmc4liodnr; /* SD/MMC 4 LIODN */ | |
9ab87d04 KG |
1748 | u32 rio1maintliodnr;/* RIO 1 Maintenance LIODN */ |
1749 | u32 rio2maintliodnr;/* RIO 2 Maintenance LIODN */ | |
1750 | u32 rio3maintliodnr;/* RIO 3 Maintenance LIODN */ | |
1751 | u32 rio4maintliodnr;/* RIO 4 Maintenance LIODN */ | |
1752 | u32 sata1liodnr; /* SATA 1 LIODN */ | |
1753 | u32 sata2liodnr; /* SATA 2 LIODN */ | |
1754 | u32 sata3liodnr; /* SATA 3 LIODN */ | |
1755 | u32 sata4liodnr; /* SATA 4 LIODN */ | |
1756 | u8 res22[32]; | |
8280912e KG |
1757 | u32 dma1liodnr; /* DMA 1 LIODN */ |
1758 | u32 dma2liodnr; /* DMA 2 LIODN */ | |
1759 | u32 dma3liodnr; /* DMA 3 LIODN */ | |
1760 | u32 dma4liodnr; /* DMA 4 LIODN */ | |
1761 | u8 res23[48]; | |
1762 | u8 res24[64]; | |
1763 | u32 pblsr; /* Preboot loader status */ | |
1764 | u32 pamubypenr; /* PAMU bypass enable */ | |
1765 | u32 dmacr1; /* DMA control */ | |
1766 | u8 res25[4]; | |
1767 | u32 gensr1; /* General status */ | |
1768 | u8 res26[12]; | |
1769 | u32 gencr1; /* General control */ | |
1770 | u8 res27[12]; | |
1771 | u8 res28[4]; | |
1772 | u32 cgensrl; /* Core general status */ | |
1773 | u8 res29[8]; | |
1774 | u8 res30[4]; | |
1775 | u32 cgencrl; /* Core general control */ | |
1776 | u8 res31[184]; | |
1777 | u32 sriopstecr; /* SRIO prescaler timer enable control */ | |
17d90f31 DL |
1778 | u8 res32[1788]; |
1779 | u32 pmuxcr; /* Pin multiplexing control */ | |
1780 | u8 res33[60]; | |
1781 | u32 iovselsr; /* I/O voltage selection status */ | |
1782 | u8 res34[28]; | |
1783 | u32 ddrclkdr; /* DDR clock disable */ | |
1784 | u8 res35; | |
1785 | u32 elbcclkdr; /* eLBC clock disable */ | |
1786 | u8 res36[20]; | |
1787 | u32 sdhcpcr; /* eSDHC polarity configuration */ | |
1788 | u8 res37[380]; | |
01df5212 KG |
1789 | } ccsr_gur_t; |
1790 | ||
9ab87d04 KG |
1791 | /* |
1792 | * On p4080 we have an LIODN for msg unit (rmu) but not maintenance | |
1793 | * everything after has RMan thus msg unit LIODN is used for maintenance | |
1794 | */ | |
1795 | #define rmuliodnr rio1maintliodnr | |
1796 | ||
01df5212 | 1797 | typedef struct ccsr_clk { |
8280912e KG |
1798 | u32 clkc0csr; /* Core 0 Clock control/status */ |
1799 | u8 res1[0x1c]; | |
1800 | u32 clkc1csr; /* Core 1 Clock control/status */ | |
1801 | u8 res2[0x1c]; | |
1802 | u32 clkc2csr; /* Core 2 Clock control/status */ | |
1803 | u8 res3[0x1c]; | |
1804 | u32 clkc3csr; /* Core 3 Clock control/status */ | |
1805 | u8 res4[0x1c]; | |
1806 | u32 clkc4csr; /* Core 4 Clock control/status */ | |
1807 | u8 res5[0x1c]; | |
1808 | u32 clkc5csr; /* Core 5 Clock control/status */ | |
1809 | u8 res6[0x1c]; | |
1810 | u32 clkc6csr; /* Core 6 Clock control/status */ | |
1811 | u8 res7[0x1c]; | |
1812 | u32 clkc7csr; /* Core 7 Clock control/status */ | |
1813 | u8 res8[0x71c]; | |
1814 | u32 pllc1gsr; /* Cluster PLL 1 General Status */ | |
1815 | u8 res10[0x1c]; | |
1816 | u32 pllc2gsr; /* Cluster PLL 2 General Status */ | |
1817 | u8 res11[0x1c]; | |
1818 | u32 pllc3gsr; /* Cluster PLL 3 General Status */ | |
1819 | u8 res12[0x1c]; | |
1820 | u32 pllc4gsr; /* Cluster PLL 4 General Status */ | |
1821 | u8 res13[0x39c]; | |
1822 | u32 pllpgsr; /* Platform PLL General Status */ | |
1823 | u8 res14[0x1c]; | |
1824 | u32 plldgsr; /* DDR PLL General Status */ | |
1825 | u8 res15[0x3dc]; | |
01df5212 KG |
1826 | } ccsr_clk_t; |
1827 | ||
1828 | typedef struct ccsr_rcpm { | |
8280912e KG |
1829 | u8 res1[4]; |
1830 | u32 cdozsrl; /* Core Doze Status */ | |
1831 | u8 res2[4]; | |
1832 | u32 cdozcrl; /* Core Doze Control */ | |
1833 | u8 res3[4]; | |
1834 | u32 cnapsrl; /* Core Nap Status */ | |
1835 | u8 res4[4]; | |
1836 | u32 cnapcrl; /* Core Nap Control */ | |
1837 | u8 res5[4]; | |
1838 | u32 cdozpsrl; /* Core Doze Previous Status */ | |
1839 | u8 res6[4]; | |
1840 | u32 cdozpcrl; /* Core Doze Previous Control */ | |
1841 | u8 res7[4]; | |
1842 | u32 cwaitsrl; /* Core Wait Status */ | |
1843 | u8 res8[8]; | |
1844 | u32 powmgtcsr; /* Power Mangement Control & Status */ | |
1845 | u8 res9[12]; | |
1846 | u32 ippdexpcr0; /* IP Powerdown Exception Control 0 */ | |
1847 | u8 res10[12]; | |
1848 | u8 res11[4]; | |
1849 | u32 cpmimrl; /* Core PM IRQ Masking */ | |
1850 | u8 res12[4]; | |
1851 | u32 cpmcimrl; /* Core PM Critical IRQ Masking */ | |
1852 | u8 res13[4]; | |
1853 | u32 cpmmcimrl; /* Core PM Machine Check IRQ Masking */ | |
1854 | u8 res14[4]; | |
1855 | u32 cpmnmimrl; /* Core PM NMI Masking */ | |
1856 | u8 res15[4]; | |
1857 | u32 ctbenrl; /* Core Time Base Enable */ | |
1858 | u8 res16[4]; | |
1859 | u32 ctbclkselrl; /* Core Time Base Clock Select */ | |
1860 | u8 res17[4]; | |
1861 | u32 ctbhltcrl; /* Core Time Base Halt Control */ | |
01df5212 KG |
1862 | u8 res18[0xf68]; |
1863 | } ccsr_rcpm_t; | |
1864 | ||
1865 | #else | |
42d1f039 | 1866 | typedef struct ccsr_gur { |
8280912e | 1867 | u32 porpllsr; /* POR PLL ratio status */ |
c0391111 JJ |
1868 | #ifdef CONFIG_MPC8536 |
1869 | #define MPC85xx_PORPLLSR_DDR_RATIO 0x3e000000 | |
1870 | #define MPC85xx_PORPLLSR_DDR_RATIO_SHIFT 25 | |
1871 | #else | |
1872 | #define MPC85xx_PORPLLSR_DDR_RATIO 0x00003e00 | |
1873 | #define MPC85xx_PORPLLSR_DDR_RATIO_SHIFT 9 | |
1874 | #endif | |
b3d7f20f HW |
1875 | #define MPC85xx_PORPLLSR_QE_RATIO 0x3e000000 |
1876 | #define MPC85xx_PORPLLSR_QE_RATIO_SHIFT 25 | |
266139b8 | 1877 | #define MPC85xx_PORPLLSR_PLAT_RATIO 0x0000003e |
8280912e KG |
1878 | #define MPC85xx_PORPLLSR_PLAT_RATIO_SHIFT 1 |
1879 | u32 porbmsr; /* POR boot mode status */ | |
53677ef1 | 1880 | #define MPC85xx_PORBMSR_HA 0x00070000 |
6442b71b | 1881 | #define MPC85xx_PORBMSR_HA_SHIFT 16 |
8280912e KG |
1882 | u32 porimpscr; /* POR I/O impedance status & control */ |
1883 | u32 pordevsr; /* POR I/O device status regsiter */ | |
837f1ba0 ES |
1884 | #define MPC85xx_PORDEVSR_SGMII1_DIS 0x20000000 |
1885 | #define MPC85xx_PORDEVSR_SGMII2_DIS 0x10000000 | |
1886 | #define MPC85xx_PORDEVSR_SGMII3_DIS 0x08000000 | |
1887 | #define MPC85xx_PORDEVSR_SGMII4_DIS 0x04000000 | |
8280912e | 1888 | #define MPC85xx_PORDEVSR_SRDS2_IO_SEL 0x38000000 |
9427ccde | 1889 | #define MPC85xx_PORDEVSR_PCI1 0x00800000 |
0c955daf DL |
1890 | #if defined(CONFIG_P1013) || defined(CONFIG_P1022) |
1891 | #define MPC85xx_PORDEVSR_IO_SEL 0x007c0000 | |
1892 | #define MPC85xx_PORDEVSR_IO_SEL_SHIFT 18 | |
1893 | #else | |
4442f45b | 1894 | #define MPC85xx_PORDEVSR_IO_SEL 0x00780000 |
6442b71b | 1895 | #define MPC85xx_PORDEVSR_IO_SEL_SHIFT 19 |
0c955daf | 1896 | #endif |
53677ef1 WD |
1897 | #define MPC85xx_PORDEVSR_PCI2_ARB 0x00040000 |
1898 | #define MPC85xx_PORDEVSR_PCI1_ARB 0x00020000 | |
1899 | #define MPC85xx_PORDEVSR_PCI1_PCI32 0x00010000 | |
1900 | #define MPC85xx_PORDEVSR_PCI1_SPD 0x00008000 | |
1901 | #define MPC85xx_PORDEVSR_PCI2_SPD 0x00004000 | |
837f1ba0 | 1902 | #define MPC85xx_PORDEVSR_DRAM_RTYPE 0x00000060 |
53677ef1 | 1903 | #define MPC85xx_PORDEVSR_RIO_CTLS 0x00000008 |
837f1ba0 | 1904 | #define MPC85xx_PORDEVSR_RIO_DEV_ID 0x00000007 |
8280912e KG |
1905 | u32 pordbgmsr; /* POR debug mode status */ |
1906 | u32 pordevsr2; /* POR I/O device status 2 */ | |
681c02d0 | 1907 | /* The 8544 RM says this is bit 26, but it's really bit 24 */ |
f7d190b1 | 1908 | #define MPC85xx_PORDEVSR2_SEC_CFG 0x00000080 |
8280912e KG |
1909 | u8 res1[8]; |
1910 | u32 gpporcr; /* General-purpose POR configuration */ | |
1911 | u8 res2[12]; | |
1912 | u32 gpiocr; /* GPIO control */ | |
1913 | u8 res3[12]; | |
22b6dbc1 | 1914 | #if defined(CONFIG_MPC8569) |
8280912e KG |
1915 | u32 plppar1; /* Platform port pin assignment 1 */ |
1916 | u32 plppar2; /* Platform port pin assignment 2 */ | |
1917 | u32 plpdir1; /* Platform port pin direction 1 */ | |
1918 | u32 plpdir2; /* Platform port pin direction 2 */ | |
22b6dbc1 | 1919 | #else |
8280912e KG |
1920 | u32 gpoutdr; /* General-purpose output data */ |
1921 | u8 res4[12]; | |
22b6dbc1 | 1922 | #endif |
8280912e KG |
1923 | u32 gpindr; /* General-purpose input data */ |
1924 | u8 res5[12]; | |
1925 | u32 pmuxcr; /* Alt. function signal multiplex control */ | |
80522dc8 AF |
1926 | #define MPC85xx_PMUXCR_SD_DATA 0x80000000 |
1927 | #define MPC85xx_PMUXCR_SDHC_CD 0x40000000 | |
1928 | #define MPC85xx_PMUXCR_SDHC_WP 0x20000000 | |
6e37a044 TT |
1929 | u32 pmuxcr2; /* Alt. function signal multiplex control 2 */ |
1930 | u8 res6[8]; | |
8280912e | 1931 | u32 devdisr; /* Device disable control */ |
837f1ba0 ES |
1932 | #define MPC85xx_DEVDISR_PCI1 0x80000000 |
1933 | #define MPC85xx_DEVDISR_PCI2 0x40000000 | |
1934 | #define MPC85xx_DEVDISR_PCIE 0x20000000 | |
1935 | #define MPC85xx_DEVDISR_LBC 0x08000000 | |
1936 | #define MPC85xx_DEVDISR_PCIE2 0x04000000 | |
1937 | #define MPC85xx_DEVDISR_PCIE3 0x02000000 | |
1938 | #define MPC85xx_DEVDISR_SEC 0x01000000 | |
1939 | #define MPC85xx_DEVDISR_SRIO 0x00080000 | |
1940 | #define MPC85xx_DEVDISR_RMSG 0x00040000 | |
53677ef1 WD |
1941 | #define MPC85xx_DEVDISR_DDR 0x00010000 |
1942 | #define MPC85xx_DEVDISR_CPU 0x00008000 | |
1943 | #define MPC85xx_DEVDISR_CPU0 MPC85xx_DEVDISR_CPU | |
1944 | #define MPC85xx_DEVDISR_TB 0x00004000 | |
1945 | #define MPC85xx_DEVDISR_TB0 MPC85xx_DEVDISR_TB | |
1946 | #define MPC85xx_DEVDISR_CPU1 0x00002000 | |
1947 | #define MPC85xx_DEVDISR_TB1 0x00001000 | |
837f1ba0 ES |
1948 | #define MPC85xx_DEVDISR_DMA 0x00000400 |
1949 | #define MPC85xx_DEVDISR_TSEC1 0x00000080 | |
1950 | #define MPC85xx_DEVDISR_TSEC2 0x00000040 | |
1951 | #define MPC85xx_DEVDISR_TSEC3 0x00000020 | |
1952 | #define MPC85xx_DEVDISR_TSEC4 0x00000010 | |
1953 | #define MPC85xx_DEVDISR_I2C 0x00000004 | |
1954 | #define MPC85xx_DEVDISR_DUART 0x00000002 | |
8280912e KG |
1955 | u8 res7[12]; |
1956 | u32 powmgtcsr; /* Power management status & control */ | |
1957 | u8 res8[12]; | |
1958 | u32 mcpsumr; /* Machine check summary */ | |
1959 | u8 res9[12]; | |
1960 | u32 pvr; /* Processor version */ | |
1961 | u32 svr; /* System version */ | |
1962 | u8 res10a[8]; | |
1963 | u32 rstcr; /* Reset control */ | |
22b6dbc1 | 1964 | #if defined(CONFIG_MPC8568)||defined(CONFIG_MPC8569) |
8280912e KG |
1965 | u8 res10b[76]; |
1966 | par_io_t qe_par_io[7]; | |
6e37a044 | 1967 | u8 res10c[1600]; |
c59e4091 | 1968 | #else |
6e37a044 | 1969 | u8 res10b[1868]; |
c59e4091 | 1970 | #endif |
6e37a044 TT |
1971 | u32 clkdvdr; /* Clock Divide register */ |
1972 | u8 res10d[1532]; | |
8280912e KG |
1973 | u32 clkocr; /* Clock out select */ |
1974 | u8 res11[12]; | |
1975 | u32 ddrdllcr; /* DDR DLL control */ | |
1976 | u8 res12[12]; | |
1977 | u32 lbcdllcr; /* LBC DLL control */ | |
1978 | u8 res13[248]; | |
1979 | u32 lbiuiplldcr0; /* LBIU PLL Debug Reg 0 */ | |
1980 | u32 lbiuiplldcr1; /* LBIU PLL Debug Reg 1 */ | |
1981 | u32 ddrioovcr; /* DDR IO Override Control */ | |
1982 | u32 tsec12ioovcr; /* eTSEC 1/2 IO override control */ | |
1983 | u32 tsec34ioovcr; /* eTSEC 3/4 IO override control */ | |
1984 | u8 res15[61648]; | |
42d1f039 | 1985 | } ccsr_gur_t; |
01df5212 KG |
1986 | #endif |
1987 | ||
11588b5d KG |
1988 | typedef struct serdes_corenet { |
1989 | struct { | |
1990 | u32 rstctl; /* Reset Control Register */ | |
1991 | #define SRDS_RSTCTL_RST 0x80000000 | |
1992 | #define SRDS_RSTCTL_RSTDONE 0x40000000 | |
1993 | #define SRDS_RSTCTL_RSTERR 0x20000000 | |
1231c498 | 1994 | #define SRDS_RSTCTL_SDPD 0x00000020 |
11588b5d | 1995 | u32 pllcr0; /* PLL Control Register 0 */ |
1231c498 KG |
1996 | #define SRDS_PLLCR0_RFCK_SEL_MASK 0x30000000 |
1997 | #define SRDS_PLLCR0_RFCK_SEL_100 0x00000000 | |
1998 | #define SRDS_PLLCR0_RFCK_SEL_125 0x10000000 | |
1999 | #define SRDS_PLLCR0_RFCK_SEL_156_25 0x20000000 | |
2000 | #define SRDS_PLLCR0_FRATE_SEL_MASK 0x00030000 | |
2001 | #define SRDS_PLLCR0_FRATE_SEL_5 0x00000000 | |
2002 | #define SRDS_PLLCR0_FRATE_SEL_6_25 0x00010000 | |
11588b5d KG |
2003 | u32 pllcr1; /* PLL Control Register 1 */ |
2004 | #define SRDS_PLLCR1_PLL_BWSEL 0x08000000 | |
2005 | u32 res[5]; | |
2006 | } bank[3]; | |
2007 | u32 res1[12]; | |
2008 | u32 srdstcalcr; /* TX Calibration Control */ | |
2009 | u32 res2[3]; | |
2010 | u32 srdsrcalcr; /* RX Calibration Control */ | |
2011 | u32 res3[3]; | |
2012 | u32 srdsgr0; /* General Register 0 */ | |
2013 | u32 res4[11]; | |
2014 | u32 srdspccr0; /* Protocol Converter Config 0 */ | |
2015 | u32 srdspccr1; /* Protocol Converter Config 1 */ | |
2016 | u32 srdspccr2; /* Protocol Converter Config 2 */ | |
2017 | #define SRDS_PCCR2_RST_XGMII1 0x00800000 | |
2018 | #define SRDS_PCCR2_RST_XGMII2 0x00400000 | |
2019 | u32 res5[197]; | |
2020 | struct { | |
2021 | u32 gcr0; /* General Control Register 0 */ | |
2022 | #define SRDS_GCR0_RRST 0x00400000 | |
2023 | #define SRDS_GCR0_1STLANE 0x00010000 | |
2024 | u32 gcr1; /* General Control Register 1 */ | |
2025 | #define SRDS_GCR1_REIDL_CTL_MASK 0x001f0000 | |
2026 | #define SRDS_GCR1_REIDL_CTL_PCIE 0x00100000 | |
2027 | #define SRDS_GCR1_REIDL_CTL_SRIO 0x00000000 | |
2028 | #define SRDS_GCR1_REIDL_CTL_SGMII 0x00040000 | |
2029 | #define SRDS_GCR1_OPAD_CTL 0x04000000 | |
2030 | u32 res1[4]; | |
2031 | u32 tecr0; /* TX Equalization Control Reg 0 */ | |
2032 | #define SRDS_TECR0_TEQ_TYPE_MASK 0x30000000 | |
2033 | #define SRDS_TECR0_TEQ_TYPE_2LVL 0x10000000 | |
2034 | u32 res3; | |
2035 | u32 ttlcr0; /* Transition Tracking Loop Ctrl 0 */ | |
2036 | u32 res4[7]; | |
2037 | } lane[24]; | |
2038 | u32 res6[384]; | |
2039 | } serdes_corenet_t; | |
2040 | ||
2041 | enum { | |
2042 | FSL_SRDS_B1_LANE_A = 0, | |
2043 | FSL_SRDS_B1_LANE_B = 1, | |
2044 | FSL_SRDS_B1_LANE_C = 2, | |
2045 | FSL_SRDS_B1_LANE_D = 3, | |
2046 | FSL_SRDS_B1_LANE_E = 4, | |
2047 | FSL_SRDS_B1_LANE_F = 5, | |
2048 | FSL_SRDS_B1_LANE_G = 6, | |
2049 | FSL_SRDS_B1_LANE_H = 7, | |
2050 | FSL_SRDS_B1_LANE_I = 8, | |
2051 | FSL_SRDS_B1_LANE_J = 9, | |
2052 | FSL_SRDS_B2_LANE_A = 16, | |
2053 | FSL_SRDS_B2_LANE_B = 17, | |
2054 | FSL_SRDS_B2_LANE_C = 18, | |
2055 | FSL_SRDS_B2_LANE_D = 19, | |
2056 | FSL_SRDS_B3_LANE_A = 20, | |
2057 | FSL_SRDS_B3_LANE_B = 21, | |
2058 | FSL_SRDS_B3_LANE_C = 22, | |
2059 | FSL_SRDS_B3_LANE_D = 23, | |
2060 | }; | |
2061 | ||
22f292c7 KP |
2062 | /* Security Engine Block (MS = Most Sig., LS = Least Sig.) */ |
2063 | #if CONFIG_SYS_FSL_SEC_COMPAT >= 4 | |
2064 | typedef struct ccsr_sec { | |
9ab87d04 KG |
2065 | u32 res0; |
2066 | u32 mcfgr; /* Master CFG Register */ | |
2067 | u8 res1[0x8]; | |
2068 | struct { | |
2069 | u32 ms; /* Job Ring LIODN Register, MS */ | |
2070 | u32 ls; /* Job Ring LIODN Register, LS */ | |
ed062e0f | 2071 | } jrliodnr[4]; |
9ab87d04 KG |
2072 | u8 res2[0x30]; |
2073 | struct { | |
2074 | u32 ms; /* RTIC LIODN Register, MS */ | |
2075 | u32 ls; /* RTIC LIODN Register, LS */ | |
2076 | } rticliodnr[4]; | |
2077 | u8 res3[0x1c]; | |
2078 | u32 decorr; /* DECO Request Register */ | |
2079 | struct { | |
2080 | u32 ms; /* DECO LIODN Register, MS */ | |
2081 | u32 ls; /* DECO LIODN Register, LS */ | |
2082 | } decoliodnr[5]; | |
2083 | u8 res4[0x58]; | |
2084 | u32 dar; /* DECO Avail Register */ | |
2085 | u32 drr; /* DECO Reset Register */ | |
2086 | u8 res5[0xe78]; | |
22f292c7 KP |
2087 | u32 crnr_ms; /* CHA Revision Number Register, MS */ |
2088 | u32 crnr_ls; /* CHA Revision Number Register, LS */ | |
2089 | u32 ctpr_ms; /* Compile Time Parameters Register, MS */ | |
22f292c7 | 2090 | u32 ctpr_ls; /* Compile Time Parameters Register, LS */ |
9ab87d04 | 2091 | u8 res6[0x10]; |
22f292c7 KP |
2092 | u32 far_ms; /* Fault Address Register, MS */ |
2093 | u32 far_ls; /* Fault Address Register, LS */ | |
2094 | u32 falr; /* Fault Address LIODN Register */ | |
2095 | u32 fadr; /* Fault Address Detail Register */ | |
9ab87d04 | 2096 | u8 res7[0x4]; |
22f292c7 | 2097 | u32 csta; /* CAAM Status Register */ |
9ab87d04 | 2098 | u8 res8[0x8]; |
22f292c7 | 2099 | u32 rvid; /* Run Time Integrity Checking Version ID Reg.*/ |
22f292c7 KP |
2100 | u32 ccbvid; /* CHA Cluster Block Version ID Register */ |
2101 | u32 chavid_ms; /* CHA Version ID Register, MS */ | |
2102 | u32 chavid_ls; /* CHA Version ID Register, LS */ | |
2103 | u32 chanum_ms; /* CHA Number Register, MS */ | |
9ab87d04 KG |
2104 | u32 chanum_ls; /* CHA Number Register, LS */ |
2105 | u32 secvid_ms; /* SEC Version ID Register, MS */ | |
2106 | u32 secvid_ls; /* SEC Version ID Register, LS */ | |
2107 | u8 res9[0x6020]; | |
2108 | u32 qilcr_ms; /* Queue Interface LIODN CFG Register, MS */ | |
2109 | u32 qilcr_ls; /* Queue Interface LIODN CFG Register, LS */ | |
2110 | u8 res10[0x8fd8]; | |
2111 | } ccsr_sec_t; | |
2112 | ||
2113 | #define SEC_CTPR_MS_AXI_LIODN 0x08000000 | |
2114 | #define SEC_CTPR_MS_QI 0x02000000 | |
2115 | #define SEC_RVID_MA 0x0f000000 | |
ed062e0f KG |
2116 | #define SEC_CHANUM_MS_JRNUM_MASK 0xf0000000 |
2117 | #define SEC_CHANUM_MS_JRNUM_SHIFT 28 | |
22f292c7 KP |
2118 | #define SEC_CHANUM_MS_DECONUM_MASK 0x0f000000 |
2119 | #define SEC_CHANUM_MS_DECONUM_SHIFT 24 | |
22f292c7 KP |
2120 | #endif |
2121 | ||
9ab87d04 KG |
2122 | typedef struct ccsr_qman { |
2123 | struct { | |
2124 | u32 qcsp_lio_cfg; /* 0x0 - SW Portal n LIO cfg */ | |
2125 | u32 qcsp_io_cfg; /* 0x4 - SW Portal n IO cfg */ | |
2126 | u32 res; | |
2127 | u32 qcsp_dd_cfg; /* 0xc - SW Portal n Dynamic Debug cfg */ | |
2128 | } qcsp[32]; | |
2129 | ||
2130 | /* Not actually reserved, but irrelevant to u-boot */ | |
2131 | u8 res[0xbf8 - 0x200]; | |
2132 | u32 ip_rev_1; | |
2133 | u32 ip_rev_2; | |
2134 | u32 fqd_bare; /* FQD Extended Base Addr Register */ | |
2135 | u32 fqd_bar; /* FQD Base Addr Register */ | |
2136 | u8 res1[0x8]; | |
2137 | u32 fqd_ar; /* FQD Attributes Register */ | |
2138 | u8 res2[0xc]; | |
2139 | u32 pfdr_bare; /* PFDR Extended Base Addr Register */ | |
2140 | u32 pfdr_bar; /* PFDR Base Addr Register */ | |
2141 | u8 res3[0x8]; | |
2142 | u32 pfdr_ar; /* PFDR Attributes Register */ | |
2143 | u8 res4[0x4c]; | |
2144 | u32 qcsp_bare; /* QCSP Extended Base Addr Register */ | |
2145 | u32 qcsp_bar; /* QCSP Base Addr Register */ | |
2146 | u8 res5[0x78]; | |
2147 | u32 ci_sched_cfg; /* Initiator Scheduling Configuration */ | |
2148 | u32 srcidr; /* Source ID Register */ | |
2149 | u32 liodnr; /* LIODN Register */ | |
2150 | u8 res6[4]; | |
2151 | u32 ci_rlm_cfg; /* Initiator Read Latency Monitor Cfg */ | |
2152 | u32 ci_rlm_avg; /* Initiator Read Latency Monitor Avg */ | |
2153 | u8 res7[0x2e8]; | |
2154 | } ccsr_qman_t; | |
2155 | ||
2156 | typedef struct ccsr_bman { | |
2157 | /* Not actually reserved, but irrelevant to u-boot */ | |
2158 | u8 res[0xbf8]; | |
2159 | u32 ip_rev_1; | |
2160 | u32 ip_rev_2; | |
2161 | u32 fbpr_bare; /* FBPR Extended Base Addr Register */ | |
2162 | u32 fbpr_bar; /* FBPR Base Addr Register */ | |
2163 | u8 res1[0x8]; | |
2164 | u32 fbpr_ar; /* FBPR Attributes Register */ | |
2165 | u8 res2[0xf0]; | |
2166 | u32 srcidr; /* Source ID Register */ | |
2167 | u32 liodnr; /* LIODN Register */ | |
2168 | u8 res7[0x2f4]; | |
2169 | } ccsr_bman_t; | |
2170 | ||
2171 | typedef struct ccsr_pme { | |
2172 | u8 res0[0x804]; | |
2173 | u32 liodnbr; /* LIODN Base Register */ | |
2174 | u8 res1[0x1f8]; | |
2175 | u32 srcidr; /* Source ID Register */ | |
2176 | u8 res2[8]; | |
2177 | u32 liodnr; /* LIODN Register */ | |
2178 | u8 res3[0x1e8]; | |
2179 | u32 pm_ip_rev_1; /* PME IP Block Revision Reg 1*/ | |
2180 | u32 pm_ip_rev_2; /* PME IP Block Revision Reg 1*/ | |
2181 | u8 res4[0x400]; | |
2182 | } ccsr_pme_t; | |
2183 | ||
01df5212 KG |
2184 | #ifdef CONFIG_FSL_CORENET |
2185 | #define CONFIG_SYS_FSL_CORENET_CCM_OFFSET 0x0000 | |
2186 | #define CONFIG_SYS_MPC85xx_DDR_OFFSET 0x8000 | |
2187 | #define CONFIG_SYS_MPC85xx_DDR2_OFFSET 0x9000 | |
2188 | #define CONFIG_SYS_FSL_CORENET_CLK_OFFSET 0xE1000 | |
2189 | #define CONFIG_SYS_FSL_CORENET_RCPM_OFFSET 0xE2000 | |
11588b5d | 2190 | #define CONFIG_SYS_FSL_CORENET_SERDES_OFFSET 0xEA000 |
8b0ab304 | 2191 | #define CONFIG_SYS_FSL_CPC_OFFSET 0x10000 |
9ab87d04 KG |
2192 | #define CONFIG_SYS_MPC85xx_DMA1_OFFSET 0x100000 |
2193 | #define CONFIG_SYS_MPC85xx_DMA2_OFFSET 0x101000 | |
2194 | #define CONFIG_SYS_MPC85xx_DMA_OFFSET CONFIG_SYS_MPC85xx_DMA1_OFFSET | |
01df5212 KG |
2195 | #define CONFIG_SYS_MPC85xx_ESPI_OFFSET 0x110000 |
2196 | #define CONFIG_SYS_MPC85xx_ESDHC_OFFSET 0x114000 | |
2197 | #define CONFIG_SYS_MPC85xx_LBC_OFFSET 0x124000 | |
2198 | #define CONFIG_SYS_MPC85xx_GPIO_OFFSET 0x130000 | |
9ab87d04 KG |
2199 | #define CONFIG_SYS_MPC85xx_PCIE1_OFFSET 0x200000 |
2200 | #define CONFIG_SYS_MPC85xx_PCIE2_OFFSET 0x201000 | |
2201 | #define CONFIG_SYS_MPC85xx_PCIE3_OFFSET 0x202000 | |
2202 | #define CONFIG_SYS_MPC85xx_PCIE4_OFFSET 0x203000 | |
2203 | #define CONFIG_SYS_MPC85xx_USB1_OFFSET 0x210000 | |
2204 | #define CONFIG_SYS_MPC85xx_USB2_OFFSET 0x211000 | |
2205 | #define CONFIG_SYS_MPC85xx_USB_OFFSET CONFIG_SYS_MPC85xx_USB1_OFFSET | |
2206 | #define CONFIG_SYS_MPC85xx_SATA1_OFFSET 0x220000 | |
2207 | #define CONFIG_SYS_MPC85xx_SATA2_OFFSET 0x221000 | |
22f292c7 | 2208 | #define CONFIG_SYS_FSL_SEC_OFFSET 0x300000 |
9ab87d04 | 2209 | #define CONFIG_SYS_FSL_CORENET_PME_OFFSET 0x316000 |
8280912e KG |
2210 | #define CONFIG_SYS_FSL_CORENET_QMAN_OFFSET 0x318000 |
2211 | #define CONFIG_SYS_FSL_CORENET_BMAN_OFFSET 0x31a000 | |
9ab87d04 KG |
2212 | #define CONFIG_SYS_FSL_FM1_OFFSET 0x400000 |
2213 | #define CONFIG_SYS_FSL_FM1_RX0_1G_OFFSET 0x488000 | |
2214 | #define CONFIG_SYS_FSL_FM1_RX1_1G_OFFSET 0x489000 | |
2215 | #define CONFIG_SYS_FSL_FM1_RX2_1G_OFFSET 0x48a000 | |
2216 | #define CONFIG_SYS_FSL_FM1_RX3_1G_OFFSET 0x48b000 | |
2217 | #define CONFIG_SYS_FSL_FM1_RX4_1G_OFFSET 0x48c000 | |
2218 | #define CONFIG_SYS_FSL_FM1_RX0_10G_OFFSET 0x490000 | |
2219 | #define CONFIG_SYS_FSL_FM1_DTSEC1_OFFSET 0x4e0000 | |
2220 | #define CONFIG_SYS_FSL_FM2_OFFSET 0x500000 | |
2221 | #define CONFIG_SYS_FSL_FM2_RX0_1G_OFFSET 0x588000 | |
2222 | #define CONFIG_SYS_FSL_FM2_RX1_1G_OFFSET 0x589000 | |
2223 | #define CONFIG_SYS_FSL_FM2_RX2_1G_OFFSET 0x58a000 | |
2224 | #define CONFIG_SYS_FSL_FM2_RX3_1G_OFFSET 0x58b000 | |
2225 | #define CONFIG_SYS_FSL_FM2_RX4_1G_OFFSET 0x58c000 | |
2226 | #define CONFIG_SYS_FSL_FM2_RX0_10G_OFFSET 0x590000 | |
01df5212 KG |
2227 | #else |
2228 | #define CONFIG_SYS_MPC85xx_ECM_OFFSET 0x0000 | |
2229 | #define CONFIG_SYS_MPC85xx_DDR_OFFSET 0x2000 | |
2230 | #define CONFIG_SYS_MPC85xx_LBC_OFFSET 0x5000 | |
2231 | #define CONFIG_SYS_MPC85xx_DDR2_OFFSET 0x6000 | |
2232 | #define CONFIG_SYS_MPC85xx_ESPI_OFFSET 0x7000 | |
99d9c07e | 2233 | #define CONFIG_SYS_MPC85xx_PCI1_OFFSET 0x8000 |
01df5212 | 2234 | #define CONFIG_SYS_MPC85xx_PCIX_OFFSET 0x8000 |
99d9c07e | 2235 | #define CONFIG_SYS_MPC85xx_PCI2_OFFSET 0x9000 |
01df5212 | 2236 | #define CONFIG_SYS_MPC85xx_PCIX2_OFFSET 0x9000 |
99d9c07e KG |
2237 | #define CONFIG_SYS_MPC85xx_PCIE1_OFFSET 0xa000 |
2238 | #define CONFIG_SYS_MPC85xx_PCIE2_OFFSET 0x9000 | |
2239 | #if defined(CONFIG_MPC8572) || defined(CONFIG_P2020) | |
2240 | #define CONFIG_SYS_MPC85xx_PCIE3_OFFSET 0x8000 | |
2241 | #else | |
2242 | #define CONFIG_SYS_MPC85xx_PCIE3_OFFSET 0xb000 | |
2243 | #endif | |
01df5212 KG |
2244 | #define CONFIG_SYS_MPC85xx_GPIO_OFFSET 0xF000 |
2245 | #define CONFIG_SYS_MPC85xx_SATA1_OFFSET 0x18000 | |
2246 | #define CONFIG_SYS_MPC85xx_SATA2_OFFSET 0x19000 | |
2247 | #define CONFIG_SYS_MPC85xx_L2_OFFSET 0x20000 | |
2248 | #define CONFIG_SYS_MPC85xx_DMA_OFFSET 0x21000 | |
8280912e | 2249 | #define CONFIG_SYS_MPC85xx_USB_OFFSET 0x22000 |
3ad89c4e KG |
2250 | #ifdef CONFIG_TSECV2 |
2251 | #define CONFIG_SYS_TSEC1_OFFSET 0xB0000 | |
2252 | #else | |
b9e186fc | 2253 | #define CONFIG_SYS_TSEC1_OFFSET 0x24000 |
3ad89c4e KG |
2254 | #endif |
2255 | #define CONFIG_SYS_MDIO1_OFFSET 0x24000 | |
01df5212 KG |
2256 | #define CONFIG_SYS_MPC85xx_ESDHC_OFFSET 0x2e000 |
2257 | #define CONFIG_SYS_MPC85xx_SERDES2_OFFSET 0xE3100 | |
2258 | #define CONFIG_SYS_MPC85xx_SERDES1_OFFSET 0xE3000 | |
2259 | #define CONFIG_SYS_MPC85xx_CPM_OFFSET 0x80000 | |
2260 | #endif | |
2261 | ||
2262 | #define CONFIG_SYS_MPC85xx_PIC_OFFSET 0x40000 | |
2263 | #define CONFIG_SYS_MPC85xx_GUTS_OFFSET 0xE0000 | |
42d1f039 | 2264 | |
8b0ab304 BB |
2265 | #define CONFIG_SYS_FSL_CPC_ADDR \ |
2266 | (CONFIG_SYS_CCSRBAR + CONFIG_SYS_FSL_CPC_OFFSET) | |
8280912e KG |
2267 | #define CONFIG_SYS_FSL_CORENET_QMAN_ADDR \ |
2268 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_QMAN_OFFSET) | |
2269 | #define CONFIG_SYS_FSL_CORENET_BMAN_ADDR \ | |
2270 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_BMAN_OFFSET) | |
9ab87d04 KG |
2271 | #define CONFIG_SYS_FSL_CORENET_PME_ADDR \ |
2272 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_PME_OFFSET) | |
8280912e KG |
2273 | #define CONFIG_SYS_MPC85xx_GUTS_ADDR \ |
2274 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_GUTS_OFFSET) | |
2275 | #define CONFIG_SYS_FSL_CORENET_CCM_ADDR \ | |
2276 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_CCM_OFFSET) | |
2277 | #define CONFIG_SYS_FSL_CORENET_CLK_ADDR \ | |
2278 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_CLK_OFFSET) | |
2279 | #define CONFIG_SYS_FSL_CORENET_RCPM_ADDR \ | |
2280 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_RCPM_OFFSET) | |
2281 | #define CONFIG_SYS_MPC85xx_ECM_ADDR \ | |
2282 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ECM_OFFSET) | |
2283 | #define CONFIG_SYS_MPC85xx_DDR_ADDR \ | |
2284 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_DDR_OFFSET) | |
2285 | #define CONFIG_SYS_MPC85xx_DDR2_ADDR \ | |
2286 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_DDR2_OFFSET) | |
f51cdaf1 | 2287 | #define CONFIG_SYS_LBC_ADDR \ |
8280912e KG |
2288 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_LBC_OFFSET) |
2289 | #define CONFIG_SYS_MPC85xx_ESPI_ADDR \ | |
2290 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ESPI_OFFSET) | |
2291 | #define CONFIG_SYS_MPC85xx_PCIX_ADDR \ | |
2292 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIX_OFFSET) | |
2293 | #define CONFIG_SYS_MPC85xx_PCIX2_ADDR \ | |
2294 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIX2_OFFSET) | |
2295 | #define CONFIG_SYS_MPC85xx_GPIO_ADDR \ | |
2296 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_GPIO_OFFSET) | |
2297 | #define CONFIG_SYS_MPC85xx_SATA1_ADDR \ | |
2298 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_SATA1_OFFSET) | |
2299 | #define CONFIG_SYS_MPC85xx_SATA2_ADDR \ | |
2300 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_SATA2_OFFSET) | |
2301 | #define CONFIG_SYS_MPC85xx_L2_ADDR \ | |
2302 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_L2_OFFSET) | |
2303 | #define CONFIG_SYS_MPC85xx_DMA_ADDR \ | |
2304 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_DMA_OFFSET) | |
2305 | #define CONFIG_SYS_MPC85xx_ESDHC_ADDR \ | |
2306 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ESDHC_OFFSET) | |
680c613a | 2307 | #define CONFIG_SYS_MPC8xxx_PIC_ADDR \ |
8280912e KG |
2308 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PIC_OFFSET) |
2309 | #define CONFIG_SYS_MPC85xx_CPM_ADDR \ | |
2310 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_CPM_OFFSET) | |
2311 | #define CONFIG_SYS_MPC85xx_SERDES1_ADDR \ | |
2312 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_SERDES2_OFFSET) | |
2313 | #define CONFIG_SYS_MPC85xx_SERDES2_ADDR \ | |
2314 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_SERDES2_OFFSET) | |
11588b5d KG |
2315 | #define CONFIG_SYS_FSL_CORENET_SERDES_ADDR \ |
2316 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES_OFFSET) | |
a07bf180 | 2317 | #define CONFIG_SYS_MPC85xx_USB_ADDR \ |
8280912e | 2318 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_USB_OFFSET) |
22f292c7 KP |
2319 | #define CONFIG_SYS_FSL_SEC_ADDR \ |
2320 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_SEC_OFFSET) | |
9ab87d04 KG |
2321 | #define CONFIG_SYS_FSL_FM1_ADDR \ |
2322 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_FM1_OFFSET) | |
2323 | #define CONFIG_SYS_FSL_FM1_DTSEC1_ADDR \ | |
2324 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_FM1_DTSEC1_OFFSET) | |
2325 | #define CONFIG_SYS_FSL_FM2_ADDR \ | |
2326 | (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_FM2_OFFSET) | |
aafeefbd | 2327 | |
99d9c07e KG |
2328 | #define CONFIG_SYS_PCI1_ADDR \ |
2329 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCI1_OFFSET) | |
2330 | #define CONFIG_SYS_PCI2_ADDR \ | |
2331 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCI2_OFFSET) | |
2332 | #define CONFIG_SYS_PCIE1_ADDR \ | |
2333 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIE1_OFFSET) | |
2334 | #define CONFIG_SYS_PCIE2_ADDR \ | |
2335 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIE2_OFFSET) | |
2336 | #define CONFIG_SYS_PCIE3_ADDR \ | |
2337 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIE3_OFFSET) | |
9ab87d04 KG |
2338 | #define CONFIG_SYS_PCIE4_ADDR \ |
2339 | (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PCIE4_OFFSET) | |
99d9c07e | 2340 | |
b9e186fc SG |
2341 | #define TSEC_BASE_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET) |
2342 | #define MDIO_BASE_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET) | |
2343 | ||
42d1f039 | 2344 | #endif /*__IMMAP_85xx__*/ |