3 * Martin Winistoerfer, martinwinistoerfer@gmx.ch.
5 * See file CREDITS for list of people who contributed to this
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
26 * Discription: MPC555 Internal Memory Map
33 /* System Configuration Registers.
35 typedef struct sys_conf {
56 /* Memory Controller Registers.
58 typedef struct mem_ctlr {
76 /* System Integration Timers.
78 typedef struct sys_int_timers {
99 typedef struct clk_and_reset {
112 #define TBSCR_TBE ((ushort)0x0001)
114 /* System Integration Timer Keys
116 typedef struct sitk {
132 /* Clocks and Reset Keys.
134 typedef struct cark {
141 /* The key to unlock registers maintained by keep-alive power.
143 #define KAPWR_KEY ((unsigned int)0x55ccaa33)
145 /* Flash Configuration
156 typedef struct dprc {
165 /* Time Processor Unit
199 typedef struct qadc {
212 /* command convertion word table */
214 /* result word table, unsigned right justified */
215 ushort qadc_rjurr[64];
216 /* result word table, signed left justified */
217 ushort qadc_ljsrr[64];
218 /* result word table, unsigned left justified */
219 ushort qadc_ljurr[64];
224 typedef struct qsmcm {
227 ushort qsmcm_qdsci_il;
228 ushort qsmcm_qspi_il;
247 ushort qsmcm_qsci1cr;
248 ushort qsmcm_qsci1sr;
249 ushort qsmcm_sctq[16];
250 ushort qsmcm_scrq[16];
252 ushort qsmcm_recram[32];
253 ushort qsmcm_tranram[32];
254 u_char qsmcm_comdram[32];
262 typedef struct mios {
263 ushort mios_mpwmsm0perr; /* mpwmsm0 */
264 ushort mios_mpwmsm0pulr;
265 ushort mios_mpwmsm0cntr;
266 ushort mios_mpwmsm0scr;
267 ushort mios_mpwmsm1perr; /* mpwmsm1 */
268 ushort mios_mpwmsm1pulr;
269 ushort mios_mpwmsm1cntr;
270 ushort mios_mpwmsm1scr;
271 ushort mios_mpwmsm2perr; /* mpwmsm2 */
272 ushort mios_mpwmsm2pulr;
273 ushort mios_mpwmsm2cntr;
274 ushort mios_mpwmsm2scr;
275 ushort mios_mpwmsm3perr; /* mpwmsm3 */
276 ushort mios_mpwmsm3pulr;
277 ushort mios_mpwmsm3cntr;
278 ushort mios_mpwmsm3scr;
280 ushort mios_mmcsm6cnt; /* mmcsm6 */
281 ushort mios_mmcsm6mlr;
282 ushort mios_mmcsm6scrd, mmcsm6scr;
284 ushort mios_mdasm11ar; /* mdasm11 */
285 ushort mios_mdasm11br;
286 ushort mios_mdasm11scrd, mdasm11scr;
287 ushort mios_mdasm12ar; /* mdasm12 */
288 ushort mios_mdasm12br;
289 ushort mios_mdasm12scrd, mdasm12scr;
290 ushort mios_mdasm13ar; /* mdasm13 */
291 ushort mios_mdasm13br;
292 ushort mios_mdasm13scrd, mdasm13scr;
293 ushort mios_mdasm14ar; /* mdasm14 */
294 ushort mios_mdasm14br;
295 ushort mios_mdasm14scrd, mdasm14scr;
296 ushort mios_mdasm15ar; /* mdasm15 */
297 ushort mios_mdasm15br;
298 ushort mios_mdasm15scrd, mdasm15scr;
299 ushort mios_mpwmsm16perr; /* mpwmsm16 */
300 ushort mios_mpwmsm16pulr;
301 ushort mios_mpwmsm16cntr;
302 ushort mios_mpwmsm16scr;
303 ushort mios_mpwmsm17perr; /* mpwmsm17 */
304 ushort mios_mpwmsm17pulr;
305 ushort mios_mpwmsm17cntr;
306 ushort mios_mpwmsm17scr;
307 ushort mios_mpwmsm18perr; /* mpwmsm18 */
308 ushort mios_mpwmsm18pulr;
309 ushort mios_mpwmsm18cntr;
310 ushort mios_mpwmsm18scr;
311 ushort mios_mpwmsm19perr; /* mpwmsm19 */
312 ushort mios_mpwmsm19pulr;
313 ushort mios_mpwmsm19cntr;
314 ushort mios_mpwmsm19scr;
316 ushort mios_mmcsm22cnt; /* mmcsm22 */
317 ushort mios_mmcsm22mlr;
318 ushort mios_mmcsm22scrd, mmcsm22scr;
320 ushort mios_mdasm27ar; /* mdasm27 */
321 ushort mios_mdasm27br;
322 ushort mios_mdasm27scrd, mdasm27scr;
323 ushort mios_mdasm28ar; /*mdasm28 */
324 ushort mios_mdasm28br;
325 ushort mios_mdasm28scrd, mdasm28scr;
326 ushort mios_mdasm29ar; /* mdasm29 */
327 ushort mios_mdasm29br;
328 ushort mios_mdasm29scrd, mdasm29scr;
329 ushort mios_mdasm30ar; /* mdasm30 */
330 ushort mios_mdasm30br;
331 ushort mios_mdasm30scrd, mdasm30scr;
332 ushort mios_mdasm31ar; /* mdasm31 */
333 ushort mios_mdasm31br;
334 ushort mios_mdasm31scrd, mdasm31scr;
335 ushort mios_mpiosm32dr;
336 ushort mios_mpiosm32ddr;
338 ushort mios_mios1tpcr;
340 ushort mios_mios1vnr;
341 ushort mios_mios1mcr;
344 ushort mios_mcpsmscr;
346 ushort mios_mios1sr0;
348 ushort mios_mios1er0;
349 ushort mios_mios1rpr0;
351 ushort mios_mios1lvl0;
353 ushort mios_mios1sr1;
355 ushort mios_mios1er1;
356 ushort mios_mios1rpr1;
358 ushort mios_mios1lvl1;
364 typedef struct tcan {
368 u_char tcan_canctrl0;
369 u_char tcan_canctrl1;
371 u_char tcan_canctrl2;
374 ushort tcan_rxgmskhi;
375 ushort tcan_rxgmsklo;
376 ushort tcan_rx14mskhi;
377 ushort tcan_rx14msklo;
378 ushort tcan_rx15mskhi;
379 ushort tcan_rx15msklo;
399 typedef struct uimb {
408 /* Internal Memory Map MPC555
410 typedef struct immap {
411 char res1[262144]; /* CMF Flash A 256 Kbytes */
412 char res2[196608]; /* CMF Flash B 192 Kbytes */
413 char res3[2670592]; /* Reserved for Flash */
414 sysconf5xx_t im_siu_conf; /* SIU Configuration */
415 memctl5xx_t im_memctl; /* Memory Controller */
416 sit5xx_t im_sit; /* System Integration Timers */
417 car5xx_t im_clkrst; /* Clocks and Reset */
418 sitk5xx_t im_sitk; /* System Integration Timer Keys*/
419 cark8xx_t im_clkrstk; /* Clocks and Resert Keys */
420 fl5xx_t im_fla; /* Flash Module A */
421 fl5xx_t im_flb; /* Flash Module B */
422 char res4[14208]; /* Reserved for SIU */
423 dprc5xx_t im_dprc; /* Dpram Control Register */
424 char res5[8180]; /* Reserved */
425 char dptram[6144]; /* Dptram */
426 char res6[2048]; /* Reserved */
427 tpu5xx_t im_tpua; /* Time Proessing Unit A */
428 tpu5xx_t im_tpub; /* Time Processing Unit B */
429 qadc5xx_t im_qadca; /* QADC A */
430 qadc5xx_t im_qadcb; /* QADC B */
431 qsmcm5xx_t im_qsmcm; /* SCI and SPI */
432 mios5xx_t im_mios; /* MIOS */
433 tcan5xx_t im_tcana; /* Toucan A */
434 tcan5xx_t im_tcanb; /* Toucan B */
435 char res7[1792]; /* Reserved */
436 uimb5xx_t im_uimb; /* UIMB */
439 #endif /* __IMMAP_5XX__ */