mpc8260.h

来自「eCos操作系统源码」· C头文件 代码 · 共 1,235 行 · 第 1/4 页

H
1,235
字号
   CYG_WORD16   mrblr;      /* Rx buffer length */   CYG_WORD    rstate;     /* Rx internal state */   CYG_WORD    rptr;    /* Rx internal data pointer */   CYG_WORD16   rbptr;      /* rb BD Pointer */   CYG_WORD16   rcount;     /* Rx internal byte count */   CYG_WORD    rtemp;      /* Rx temp */   CYG_WORD    tstate;     /* Tx internal state */   CYG_WORD    tptr;    /* Tx internal data pointer */   CYG_WORD16   tbptr;      /* Tx BD pointer */   CYG_WORD16   tcount;     /* Tx byte count */   CYG_WORD    ttemp;       /* Tx temp */     /* SMC UART-specific PRAM */   CYG_WORD16   max_idl; /* Maximum IDLE Characters */   CYG_WORD16   idlc;    /* Temporary IDLE Counter */   CYG_WORD16   brkln;      /* Last Rx Break Length */   CYG_WORD16   brkec;      /* Rx Break Condition Counter */   CYG_WORD16   brkcr;      /* Break Count Register (Tx) */   CYG_WORD16   r_mask;     /* Temporary bit mask */  } _PackedType t_Smc_Pram;/*---------------------------------------------------------------------------*//*                      IDMA PARAMETER RAM                             *//*---------------------------------------------------------------------------*/typedef _Packed struct  {    CYG_WORD16      ibase;       /* IDMA BD Base Address               */    CYG_WORD16      dcm;         /* DMA channel mode register          */    CYG_WORD16      ibdptr;      /* next bd ptr                        */    CYG_WORD16      DPR_buf;     /* ptr to internal 64 byte buffer     */    CYG_WORD16      BUF_inv;     /* The quantity of data in DPR_buf    */    CYG_WORD16      SS_max;      /* Steady State Max. transfer size    */    CYG_WORD16      DPR_in_ptr;  /* write ptr for the internal buffer  */    CYG_WORD16      sts;         /* Source Transfer Size               */    CYG_WORD16      DPR_out_ptr; /* read ptr for the internal buffer   */    CYG_WORD16      seob;        /* Source end of burst                */    CYG_WORD16      deob;        /* Destination end of burst           */    CYG_WORD16      dts;         /* Destination Transfer Size          */    CYG_WORD16      RetAdd;      /* return address when ERM==1         */    CYG_WORD16      Reserved;    /* reserved */    CYG_WORD       BD_cnt;      /* Internal byte count                */    CYG_WORD       S_ptr;       /* source internal data ptr           */    CYG_WORD       D_ptr;       /* destination internal data ptr      */    CYG_WORD       istate;      /* Internal state                     */} _PackedType t_Idma_Pram;/*-------------------------------------------------------------------*//*         INTER-INTEGRATED CIRCUIT  (I2C)                        *//*-------------------------------------------------------------------*/typedef _Packed struct {   CYG_WORD16   rbase;      /* RX BD base address */   CYG_WORD16   tbase;      /* TX BD base address */   CYG_BYTE    rfcr;    /* Rx function code */   CYG_BYTE    tfcr;    /* Tx function code */   CYG_WORD16   mrblr;      /* Rx buffer length */   CYG_WORD    rstate;     /* Rx internal state */   CYG_WORD    rptr;    /* Rx internal data pointer */   CYG_WORD16   rbptr;      /* rb BD Pointer */   CYG_WORD16   rcount;     /* Rx internal byte count */   CYG_WORD    rtemp;      /* Rx temp */   CYG_WORD    tstate;     /* Tx internal state */   CYG_WORD    tptr;    /* Tx internal data pointer */   CYG_WORD16   tbptr;      /* Tx BD pointer */   CYG_WORD16   tcount;     /* Tx byte count */   CYG_WORD    ttemp;      /* Tx temp */} _PackedType t_I2c_Pram;/*---------------------------------------------------------------------------*//*                       SERIAL PERIPHERAL INTERFACE  (SPI)                  *//*---------------------------------------------------------------------------*/typedef _Packed struct  {   CYG_WORD16   rbase;      /* Rx BD Base Address */   CYG_WORD16   tbase;      /* Tx BD Base Address */   CYG_BYTE    rfcr;       /* Rx function code */   CYG_BYTE    tfcr;       /* Tx function code */   CYG_WORD16   mrblr;      /* Rx buffer length */   CYG_WORD    rstate;     /* Rx internal state */   CYG_WORD    rptr;       /* Rx internal data pointer */   CYG_WORD16   rbptr;      /* Rx BD Pointer */   CYG_WORD16   rcount;     /* Rx internal byte count */   CYG_WORD    rtemp;      /* Rx temp */   CYG_WORD    tstate;     /* Tx internal state */   CYG_WORD    tptr;       /* Tx internal data pointer */   CYG_WORD16   tbptr;      /* Tx BD pointer */   CYG_WORD16   tcount;     /* Tx byte count */   CYG_WORD    ttemp;      /* Tx temp */   CYG_BYTE    reserved[8];} _PackedType t_Spi_Pram;/*---------------------------------------------------------------------------*//*                RISC TIMER PARAMETER RAM                             *//*---------------------------------------------------------------------------*/typedef _Packed struct  {    CYG_WORD16   tm_base;    /* RISC timer table base adr */   CYG_WORD16   tm_ptr;     /* RISC timer table pointer */   CYG_WORD16   r_tmr;      /* RISC timer mode register */   CYG_WORD16   r_tmv;      /* RISC timer valid register */   CYG_WORD tm_cmd;     /* RISC timer cmd register */   CYG_WORD tm_cnt;     /* RISC timer internal cnt */} _PackedType t_timer_pram;/*--------------------------------------------------------------------------*//*                  ROM MICROCODE PARAMETER RAM AREA                        *//*--------------------------------------------------------------------------*/typedef _Packed struct  {   CYG_WORD16   rev_num;    /* Ucode Revision Number */   CYG_WORD16   d_ptr;      /* MISC Dump area pointer */} _PackedType t_ucode_pram;/*--------------------------------------------------------------------------*//*                MAIN DEFINITION OF MPC8260 INTERNAL MEMORY MAP            *//*--------------------------------------------------------------------------*/typedef _Packed struct {/* cpm_ram */    t_Mch_Pram    mch_pram[256]; /* MCC logical channels parameter ram */    volatile CYG_BYTE reserved0[0x4000];    /* Reserved area */    /* DPR_BASE+0x8000*/    union     {        /*for access to the PRAM structs for SCCs, FCCs, and MCCs */        struct serials        {           t_Scc_Pram scc_pram[4];           t_Fcc_Pram fcc_pram[3];           t_Mcc_Pram mcc_pram[2];           volatile CYG_BYTE reserved1[0x700];       } serials;            /* for access to ATM PRAM structs */       struct atm       {           volatile CYG_BYTE reserved2[0x400];           t_Atm_Pram atm_pram[2];           volatile CYG_BYTE reserved3[0xa00];       } atm;            /* for access to the memory locations holding user-defined        base addresses of PRAM for SMCs, IDMA, SPI, and I2C. */            struct standard       {            volatile CYG_BYTE scc1[0x100];            volatile CYG_BYTE scc2[0x100];            volatile CYG_BYTE scc3[0x100];            volatile CYG_BYTE scc4[0x100];            volatile CYG_BYTE fcc1[0x100];            volatile CYG_BYTE fcc2[0x100];            volatile CYG_BYTE fcc3[0x100];            volatile CYG_BYTE mcc1[0x80];            volatile CYG_BYTE reserved_0[0x7c];            volatile CYG_BYTE smc1[0x2];            volatile CYG_BYTE idma1[0x2];            volatile CYG_BYTE mcc2[0x80];            volatile CYG_BYTE reserved_1[0x7c];            volatile CYG_BYTE smc2[0x2];            volatile CYG_BYTE idma2[0x2];            volatile CYG_BYTE reserved_2[0xfc];            volatile CYG_BYTE spi[0x2];            volatile CYG_BYTE idma3[0x2];            volatile CYG_BYTE reserved_3[0xe0];            volatile CYG_BYTE timers[0x10];            volatile CYG_BYTE Rev_num[0x2];            volatile CYG_BYTE D_ptr[0x2];            volatile CYG_BYTE reserved_4[0x4];            volatile CYG_BYTE rand[0x4];            volatile CYG_BYTE i2c[0x2];            volatile CYG_BYTE idma4[0x2];            volatile CYG_BYTE reserved_5[0x500];       } standard;            } pram;        volatile CYG_BYTE reserved11[0x2000];      /* Reserved area */    volatile CYG_BYTE cpm_ram_dpram_2[0x1000]; /* Internal RAM */    volatile CYG_BYTE reserved12[0x4000];      /* Reserved area *//* siu */    volatile CYG_WORD siu_siumcr;        /* SIU Module Configuration Register */    volatile CYG_WORD siu_sypcr;         /* System Protection Control Register */    volatile CYG_BYTE reserved13[0x6];   /* Reserved area */    volatile CYG_WORD16 siu_swsr;         /* Software Service Register *//* buses */    volatile CYG_BYTE reserved14[0x14];  /* Reserved area */    volatile CYG_WORD bcr;               /* Bus Configuration Register */    volatile CYG_BYTE ppc_acr;           /* Arbiter Configuration Register */    volatile CYG_BYTE reserved15[0x3];   /* Reserved area */    volatile CYG_WORD ppc_alrh;          /* Arbitration level Register (First clients)*/    volatile CYG_WORD ppc_alrl;          /* Arbitration Level Register (Next clients) */    volatile CYG_BYTE lcl_acr;           /* LCL Arbiter Configuration Register */    volatile CYG_BYTE reserved16[0x3];   /* Reserved area */    volatile CYG_WORD lcl_alrh;        /* LCL Arbitration level Register (First clients)*/    volatile CYG_WORD lcl_alrl;        /* LCL Arbitration Level Register (Next clients) */    volatile CYG_WORD tescr1;       /* PPC bus transfer error status control register 1 */    volatile CYG_WORD tescr2;       /* PPC bus transfer error status control register 2 */    volatile CYG_WORD ltescr1;    /* Local bus transfer error status control register 1 */    volatile CYG_WORD ltescr2;    /* Local bus transfer error status control register 2 */    volatile CYG_WORD pdtea;             /* PPC bus DMA Transfer Error Address */    volatile CYG_BYTE pdtem;             /* PPC bus DMA Transfer Error MSNUM  */    volatile CYG_BYTE reserved17[0x3];   /* Reserved area */    volatile CYG_WORD ldtea;             /* PPC bus DMA Transfer Error Address */    volatile CYG_BYTE ldtem;             /* PPC bus DMA Transfer Error MSNUM  */    volatile CYG_BYTE reserved18[0xa3];  /* Reserved area *//* memc */    struct mem_regs     {        volatile CYG_WORD memc_br;       /* Base Register */        volatile CYG_WORD memc_or;       /* Option Register */    } mem_regs[12];    volatile CYG_BYTE reserved19[0x8];   /* Reserved area */    volatile CYG_WORD memc_mar;          /* Memory Address Register */    volatile CYG_BYTE reserved20[0x4];   /* Reserved area */    volatile CYG_WORD memc_mamr;         /* Machine A Mode Register */    volatile CYG_WORD memc_mbmr;         /* Machine B Mode Register */    volatile CYG_WORD memc_mcmr;         /* Machine C Mode Register */    volatile CYG_WORD memc_mdmr;         /* Machine D Mode Register */    volatile CYG_BYTE reserved21[0x4];   /* Reserved area */    volatile CYG_WORD16 memc_mptpr;       /* Memory Periodic Timer Prescaler */    volatile CYG_BYTE reserved22[0x2];   /* Reserved area */    volatile CYG_WORD memc_mdr;          /* Memory Data Register */    volatile CYG_BYTE reserved23[0x4];   /* Reserved area */    volatile CYG_WORD memc_psdmr;        /* PowerPC Bus SDRAM machine Mode Register */    volatile CYG_WORD memc_lsdmr;        /* Local Bus SDRAM machine Mode Registe */    volatile CYG_BYTE memc_purt;         /* PowerPC Bus assigned UPM Refresh Timer */    volatile CYG_BYTE reserved24[0x3];   /* Reserved area */    volatile CYG_BYTE memc_psrt;         /* PowerPC BusBus assigned SDRAM Refresh Timer */    volatile CYG_BYTE reserved25[0x3];   /* Reserved area */    volatile CYG_BYTE memc_lurt;         /* Local Bus assigned UPM Refresh Timer */    volatile CYG_BYTE reserved26[0x3];   /* Reserved area */    volatile CYG_BYTE memc_lsrt;         /* Local Bus assigned SDRAM Refresh Timer */    volatile CYG_BYTE reserved27[0x3];   /* Reserved area */    volatile CYG_WORD memc_immr;         /* Internal Memory Map Register *//* pci */    volatile CYG_WORD pcibr0;            /* Base address+valid for PCI window 1 */    volatile CYG_WORD pcibr1;            /* Base address+valid for PCI window 2 */    volatile CYG_BYTE reserved28[0x10];  /* Reserved area */    volatile CYG_WORD pcimsk0;           /* Mask for PCI window 1 */    volatile CYG_WORD pcimsk1;           /* Mask for PCI window 2 */    volatile CYG_BYTE reserved29[0x54];  /* Reserved area *//* si_timers */    volatile CYG_WORD16 si_timers_tmcntsc; /* Time Counter Status and Control Register */    volatile CYG_BYTE reserved30[0x2];    /* Reserved area */    volatile CYG_WORD si_timers_tmcnt;    /* Time Counter Register */    volatile CYG_WORD si_timers_tmcntsec; /* Time Counter Seconds*/    volatile CYG_WORD si_timers_tmcntal;  /* Time Counter Alarm Register */    volatile CYG_BYTE reserved31[0x10];   /* Reserved area */    volatile CYG_WORD16 si_timers_piscr;   /* Periodic Interrupt Status and Control Reg. */    volatile CYG_BYTE reserved32[0x2];    /* Reserved area */    volatile CYG_WORD si_timers_pitc;     /* Periodic Interrupt Count Register */    volatile CYG_WORD si_timers_pitr;     /* Periodic Interrupt Timer Register */    volatile CYG_BYTE reserved33[0x54];   /* Reserved area *//* test module registers */    volatile CYG_WORD tstmhr;                 volatile CYG_WORD tstmlr;    volatile CYG_WORD16 tster;    volatile CYG_BYTE reserved34[0x156]; /* Reserved area */    /* pci, part 2 */    volatile CYG_WORD pci_pci;           /* PCI Configuration space */    volatile CYG_BYTE reserved35[0x7fc]; /* Reserved area */    /* ic */    volatile CYG_WORD16 ic_sicr;          /* Interrupt Configuration Register */    volatile CYG_BYTE reserved36[0x2];   /* Reserved area */    volatile CYG_WORD ic_sivec;          /* CP Interrupt Vector Register */    volatile CYG_WORD ic_sipnr_h;        /* Interrupt Pending Register (HIGH) */    volatile CYG_WORD ic_sipnr_l;        /* Interrupt Pending Register (LOW)    */    volatile CYG_WORD ic_siprr;          /* SIU Interrupt Priority Register     */    volatile CYG_WORD ic_scprr_h;        /* Interrupt Priority Register (HIGH) */    volatile CYG_WORD ic_scprr_l;        /* Interrupt Priority Register (LOW)   */    volatile CYG_WORD ic_simr_h;         /* Interrupt Mask Register (HIGH)      */    volatile CYG_WORD ic_simr_l;         /* Interrupt Mask Register (LOW)       */    volatile CYG_WORD ic_siexr;          /* External Interrupt Control Register */    volatile CYG_BYTE reserved37[0x58];  /* Reserved area *//* clocks */    volatile CYG_WORD clocks_sccr;       /* System Clock Control Register */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?