2 * MPC8260 Internal Memory Map
3 * Copyright (c) 1999 Dan Malek (dmalek@jlc.net)
5 * The Internal Memory Map of the 8260. I don't know how generic
6 * this will be, as I don't have any knowledge of the subsequent
7 * parts at this time. I copied this from the 8xx_immap.h.
10 #define __IMMAP_82XX__
12 /* System configuration registers.
14 typedef struct sys_conf
{
42 /* Memory controller registers.
44 typedef struct mem_ctlr
{
99 /* System Integration Timers.
101 typedef struct sys_int_timers
{
119 typedef struct pci_config
{
248 #define PISCR_PIRQ_MASK ((ushort)0xff00)
249 #define PISCR_PS ((ushort)0x0080)
250 #define PISCR_PIE ((ushort)0x0004)
251 #define PISCR_PTF ((ushort)0x0002)
252 #define PISCR_PTE ((ushort)0x0001)
254 /* Interrupt Controller.
256 typedef struct interrupt_controller
{
273 typedef struct clk_and_reset
{
283 /* Input/Output Port control/status registers.
284 * Names consistent with processor manual, although they are different
285 * from the original 8xx names.......
287 typedef struct io_port
{
314 /* Communication Processor Module Timers
316 typedef struct cpm_timers
{
344 /* DMA control/status registers.
346 typedef struct sdma_csr
{
385 u_char fcc_ftirr_phy
[4];
388 /* Fast controllers continued
390 typedef struct fcc_c
{
401 typedef struct tclayer
{
432 typedef struct scc
{ /* Serial communication channels */
447 typedef struct smc
{ /* Serial management channels */
457 /* Serial Peripheral Interface.
459 typedef struct im_spi
{
472 typedef struct cpmux
{
487 typedef struct siram
{
510 typedef struct comm_proc
{
523 /* ...and the whole thing wrapped up....
525 typedef struct immap
{
526 /* Some references are into the unique and known dpram spaces,
527 * others are from the generic base.
529 #define im_dprambase im_dpram1
530 u_char im_dpram1
[16*1024];
532 u_char im_dpram2
[4*1024];
534 u_char im_dpram3
[4*1024];
537 sysconf8260_t im_siu_conf
; /* SIU Configuration */
538 memctl8260_t im_memctl
; /* Memory Controller */
539 sit8260_t im_sit
; /* System Integration Timers */
540 pci8260_t im_pci
; /* PCI Configuration */
541 intctl8260_t im_intctl
; /* Interrupt Controller */
542 car8260_t im_clkrst
; /* Clocks and reset */
543 iop8260_t im_ioport
; /* IO Port control/status */
544 cpmtimer8260_t im_cpmtimer
; /* CPM timers */
545 sdma8260_t im_sdma
; /* SDMA control/status */
547 fcc_t im_fcc
[3]; /* Three FCCs */
550 fcc_c_t im_fcc_c
[3]; /* Continued FCCs */
553 tclayer_t im_tclayer
[8]; /* Eight TCLayers */
557 /* First set of baud rate generators.
567 i2c8260_t im_i2c
; /* I2C control/status */
568 cpm8260_t im_cpm
; /* Communication processor */
570 /* Second set of baud rate generators.
577 scc_t im_scc
[4]; /* Four SCCs */
578 smc_t im_smc
[2]; /* Couple of SMCs */
579 im_spi_t im_spi
; /* A SPI */
580 cpmux_t im_cpmux
; /* CPM clock route mux */
581 siramctl_t im_siramctl1
; /* First SI RAM Control */
582 mcc_t im_mcc1
; /* First MCC */
583 siramctl_t im_siramctl2
; /* Second SI RAM Control */
584 mcc_t im_mcc2
; /* Second MCC */
588 ushort im_si1txram
[256];
590 ushort im_si1rxram
[256];
592 ushort im_si2txram
[256];
594 ushort im_si2rxram
[256];
599 #endif /* __IMMAP_82XX__ */