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__ */