mpc8xxx.h

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

H
1,318
字号
    volatile CYG_WORD16 cpm_timers_tmr3;   /* Timer Mode Register */    volatile CYG_WORD16 cpm_timers_tmr4;   /* Timer Mode Register */    volatile CYG_WORD16 cpm_timers_trr3;   /* Timer Reference Register */    volatile CYG_WORD16 cpm_timers_trr4;   /* Timer Reference Register */    volatile CYG_WORD16 cpm_timers_tcr3;   /* Timer Capture Register */    volatile CYG_WORD16 cpm_timers_tcr4;   /* Timer Capture Register */    volatile CYG_WORD16 cpm_timers_tcn3;   /* Timer Counter */    volatile CYG_WORD16 cpm_timers_tcn4;   /* Timer Counter */    volatile CYG_WORD16 cpm_timers_ter[4]; /* Timer Event Register */    volatile CYG_BYTE reserved44[0x260];  /* Reserved area *//* sdma general */    volatile CYG_BYTE sdma_sdsr;         /* SDMA Status Register */    volatile CYG_BYTE reserved45[0x3];   /* Reserved area */    volatile CYG_BYTE sdma_sdmr;         /* SDMA Mask Register */    volatile CYG_BYTE reserved46[0x3];   /* Reserved area *//* idma */    volatile CYG_BYTE idma_idsr1;        /* IDMA Status Register */    volatile CYG_BYTE reserved47[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idmr1;        /* IDMA Mask Register */    volatile CYG_BYTE reserved48[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idsr2;        /* IDMA Status Register */    volatile CYG_BYTE reserved49[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idmr2;        /* IDMA Mask Register */    volatile CYG_BYTE reserved50[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idsr3;        /* IDMA Status Register */    volatile CYG_BYTE reserved51[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idmr3;        /* IDMA Mask Register */    volatile CYG_BYTE reserved52[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idsr4;        /* IDMA Status Register */    volatile CYG_BYTE reserved53[0x3];   /* Reserved area */    volatile CYG_BYTE idma_idmr4;        /* IDMA Mask Register */    volatile CYG_BYTE reserved54[0x2c3]; /* Reserved area */    /* fcc */    struct fcc_regs     {        volatile CYG_WORD fcc_gfmr;        /* FCC General Mode Register */        volatile CYG_WORD fcc_psmr;        /* FCC Protocol Specific Mode Register */        volatile CYG_WORD16 fcc_todr;       /* FCC Transmit On Demand Register */        volatile CYG_BYTE reserved55[0x2]; /* Reserved area */        volatile CYG_WORD16 fcc_dsr;        /* FCC Data Sync. Register */        volatile CYG_BYTE reserved56[0x2]; /* Reserved area */        volatile CYG_WORD16 fcc_fcce;        /* FCC Event Register */        volatile CYG_BYTE reserved56a[0x2]; /* Reserved area */        volatile CYG_WORD16 fcc_fccm;        /* FCC Mask Register */        volatile CYG_BYTE reserved56b[0x2]; /* Reserved area */        volatile CYG_BYTE fcc_fccs;        /* FCC Status Register */        volatile CYG_BYTE reserved57[0x3]; /* Reserved area */        volatile CYG_WORD fcc_ftprr;       /* FCC Transmit Partial Rate Register */    } fcc_regs[3];    volatile CYG_BYTE reserved58[0x290];   /* Reserved area */    /* brgs 5 through 8 */    volatile CYG_WORD brgs_brgc5;          /* Baud Rate Generator 5 Config Register */    volatile CYG_WORD brgs_brgc6;          /* Baud Rate Generator 6 Config Register */    volatile CYG_WORD brgs_brgc7;          /* Baud Rate Generator 7 Config Register */    volatile CYG_WORD brgs_brgc8;          /* Baud Rate Generator 8 Config Register */    volatile CYG_BYTE reserved59[0x260]; /* Reserved area */    /* i2c */    volatile CYG_BYTE i2c_i2mod;         /* IC Mode Register */    volatile CYG_BYTE reserved60[0x3];   /* Reserved area */    volatile CYG_BYTE i2c_i2add;         /* IC Address Register */    volatile CYG_BYTE reserved61[0x3];   /* Reserved area */    volatile CYG_BYTE i2c_i2brg;         /* IC BRG Register */    volatile CYG_BYTE reserved62[0x3];   /* Reserved area */    volatile CYG_BYTE i2c_i2com;         /* IC Command Register */    volatile CYG_BYTE reserved63[0x3];   /* Reserved area */    volatile CYG_BYTE i2c_i2cer;         /* IC Event Register */    volatile CYG_BYTE reserved64[0x3];   /* Reserved area */    volatile CYG_BYTE i2c_i2cmr;         /* IC Mask Register */    volatile CYG_BYTE reserved65[0x14b]; /* Reserved area */    /* cpm */    volatile CYG_WORD  cpm_cpcr;         /* Communication Processor Command Register */    volatile CYG_WORD  cpm_rccr;         /* RISC Configuration Register */    volatile CYG_WORD  cpm_rmdr;         /* RISC Microcode Dev. Support Control Reg. */    volatile CYG_WORD16 cpm_rctr1;        /* RISC Controller Trap Register */    volatile CYG_WORD16 cpm_rctr2;        /* RISC Controller Trap Register */    volatile CYG_WORD16 cpm_rctr3;        /* RISC Controller Trap Register */    volatile CYG_WORD16 cpm_rctr4;        /* RISC Controller Trap Register */    volatile CYG_BYTE  reserved66[0x2];  /* Reserved area */    volatile CYG_WORD16 cpm_rter;         /* RISC Timers Event Register */    volatile CYG_BYTE  reserved67[0x2];  /* Reserved area */    volatile CYG_WORD16 cpm_rtmr;         /* RISC Timers Mask Register */    volatile CYG_WORD16 cpm_rtscr;        /* RISC Time-Stamp Timer Control Register */    volatile CYG_WORD16 cpm_rmds;         /* RISC Development Support Status Register */    volatile CYG_WORD  cpm_rtsr;         /* RISC Time-Stamp Register */    volatile CYG_BYTE  reserved68[0xc];  /* Reserved area *//* brgs 1 through 4 */    volatile CYG_WORD brgs_brgc1;          /* Baud Rate Generator 5 Config Register */    volatile CYG_WORD brgs_brgc2;          /* Baud Rate Generator 2 Config Register */    volatile CYG_WORD brgs_brgc3;          /* Baud Rate Generator 3 Config Register */    volatile CYG_WORD brgs_brgc4;          /* Baud Rate Generator 4 Config Register */    /* scc */    struct scc_regs_8260    {        volatile CYG_WORD  gsmr_l;          /* SCC General Mode Register */        volatile CYG_WORD  gsmr_h;          /* SCC General Mode Register */        volatile CYG_WORD16 psmr;            /* SCC Protocol Specific Mode Register */        volatile CYG_BYTE  reserved69[0x2]; /* Reserved area */        volatile CYG_WORD16 todr;            /* SCC Transmit-On-Demand Register */        volatile CYG_WORD16 dsr;             /* SCC Data Synchronization Register */        volatile CYG_WORD16 scce;            /* SCC Event Register */        volatile CYG_BYTE  reserved70[0x2]; /* Reserved area */        volatile CYG_WORD16 sccm;            /* SCC Mask Register */        volatile CYG_BYTE  reserved71;      /* Reserved area */        volatile CYG_BYTE  sccs;            /* SCC Status Register */        volatile CYG_BYTE  reserved72[0x8]; /* Reserved area */    } scc_regs[4];    /* smc */    struct smc_regs_8260    {        volatile CYG_BYTE reserved73[0x2]; /* Reserved area */        volatile CYG_WORD16 smc_smcmr;      /* SMC Mode Register */        volatile CYG_BYTE reserved74[0x2]; /* Reserved area */        volatile CYG_BYTE smc_smce;        /* SMC Event Register */        volatile CYG_BYTE reserved75[0x3]; /* Reserved area */        volatile CYG_BYTE smc_smcm;        /* SMC Mask Register */        volatile CYG_BYTE reserved76[0x5]; /* Reserved area */    } smc_regs[2];    /* spi */    volatile CYG_WORD16 spi_spmode;       /* SPI Mode Register */    volatile CYG_BYTE reserved77[0x4];   /* Reserved area */    volatile CYG_BYTE spi_spie;          /* SPI Event Register */    volatile CYG_BYTE reserved78[0x3];   /* Reserved area */    volatile CYG_BYTE spi_spim;          /* SPI Mask Register */    volatile CYG_BYTE reserved79[0x2];   /* Reserved area */    volatile CYG_BYTE spi_spcom;         /* SPI Command Register */    volatile CYG_BYTE reserved80[0x52];  /* Reserved area */    /* cpm_mux */    volatile CYG_BYTE  cpm_mux_cmxsi1cr;    /* CPM MUX SI Clock Route Register */    volatile CYG_BYTE  reserved81;          /* Reserved area */    volatile CYG_BYTE  cpm_mux_cmxsi2cr;    /* CPM MUX SI Clock Route Register */    volatile CYG_BYTE  reserved82;          /* Reserved area */    volatile CYG_WORD  cpm_mux_cmxfcr;      /* CPM MUX FCC Clock Route Register */    volatile CYG_WORD  cpm_mux_cmxscr;      /* CPM MUX SCC Clock Route Register */    volatile CYG_BYTE  cpm_mux_cmxsmr;      /* CPM MUX SMC Clock Route Register */    volatile CYG_BYTE  reserved83;          /* Reserved area */    volatile CYG_WORD16 cpm_mux_cmxuar;      /* CPM MUX UTOPIA Address Register */    volatile CYG_BYTE  reserved84[0x10];    /* Reserved area */    /* si */    struct si_regs     {        volatile CYG_WORD16 si_si1mr[4];    /* SI TDM Mode Registers */        volatile CYG_BYTE si_si1gmr;       /* SI Global Mode Register */        volatile CYG_BYTE reserved85;      /* Reserved area */        volatile CYG_BYTE si_si1cmdr;      /* SI Command Register */        volatile CYG_BYTE reserved86;      /* Reserved area */        volatile CYG_BYTE si_si1str;       /* SI Status Register */        volatile CYG_BYTE reserved87;      /* Reserved area */        volatile CYG_WORD16 si_si1rsr;      /* SI RAM Shadow Address Register */        volatile CYG_WORD16 mcc_mcce;       /* MCC Event Register */        volatile CYG_BYTE reserved88[0x2]; /* Reserved area */        volatile CYG_WORD16 mcc_mccm;       /* MCC Mask Register */        volatile CYG_BYTE reserved89[0x2]; /* Reserved area */        volatile CYG_BYTE mcc_mccf;        /* MCC Configuration Register */        volatile CYG_BYTE reserved90[0x7]; /* Reserved area */    } si_regs[2];    volatile CYG_BYTE reserved91[0x4a0];   /* Reserved area */    /* si_ram */    struct si_ram     {        CYG_WORD16 si1_ram_si1_tx_ram[0x100]; /* SI Transmit Routing RAM */        volatile CYG_BYTE reserved92[0x200];         /* Reserved area */        CYG_WORD16 si1_ram_si1_rx_ram[0x100]; /* SI Receive Routing RAM */        volatile CYG_BYTE reserved93[0x200];         /* Reserved area */    } si_ram[2];    volatile CYG_BYTE reserved94[0x1000];  /* Reserved area */} _PackedType t_PQ2IMM;extern volatile t_PQ2IMM  *IMM;   /* IMM base pointer *//***************************************************************************//*                   General Global Definitions                            *//***************************************************************************/#define PAGE1     0         /* SCC1 Index into SCC Param RAM Array */#define PAGE2     1         /* SCC2 Index into SCC Param RAM Array */#define PAGE3     2         /* SCC3 Index into SCC Param RAM Array */#define PAGE4     3         /* SCC4 Index into SCC Param RAM Array */#define SCC1      0         /* SCC1 Index into SCC Regs Array  */          #define SCC2      1         /* SCC2 Index into SCC Regs Array  */          #define SCC3      2         /* SCC3 Index into SCC Regs Array  */          #define SCC4      3         /* SCC4 Index into SCC Regs Array  */          #define SMC1      0         /* SMC1 Index into SMC Regs Array  */          #define SMC2      1         /* SMC2 Index into SMC Regs Array  */          #define PORT_A    0         /* Parallel port A registers */#define PORT_B    1         /* Parallel port B registers */#define PORT_C    2         /* Parallel port C registers */#define PORT_D    3         /* Parallel port D registers *//*--------------------------------*//* KEEP ALIVE POWER REGISTERS KEY *//*--------------------------------*/#define KEEP_ALIVE_KEY 0x55ccaa33/*------------------------------------------** CPM Command Register (CPCR)               **-------------------------------------------** NOTE: This register is cleared by reset.  **       See MPC8260 User's Manual.          **-------------------------------------------*/#define CPCR_RST                 0x80000000  /* Software Reset Command */#define CPCR_FLG                 0x00010000  /* Command Semaphore Flag */#define CPCR_SUBBLOCK(page,code) ((page<<26)|(code<<21))/*-----------------------------------------------*//* Definitions for SCC CPCR Subblock/Page codes. *//*-----------------------------------------------*/#define  SCC1_PAGE_SUBBLOCK    CPCR_SUBBLOCK(0,4)#define  SCC2_PAGE_SUBBLOCK    CPCR_SUBBLOCK(1,5)#define  SCC3_PAGE_SUBBLOCK    CPCR_SUBBLOCK(2,6)#define  SCC4_PAGE_SUBBLOCK    CPCR_SUBBLOCK(3,7)/*-----------------------------------------------*//* Definitions for SMC CPCR Subblock/Page codes. *//*-----------------------------------------------*/#define  SMC1_PAGE_SUBBLOCK    CPCR_SUBBLOCK(7,8)#define  SMC2_PAGE_SUBBLOCK    CPCR_SUBBLOCK(8,9)/*-----------------------------------------------*//* Definitions for FCC CPCR Subblock/Page codes. *//*-----------------------------------------------*/#define  FCC1_PAGE_SUBBLOCK    CPCR_SUBBLOCK(4,0x10)#define  FCC2_PAGE_SUBBLOCK    CPCR_SUBBLOCK(5,0x11)#define  FCC3_PAGE_SUBBLOCK    CPCR_SUBBLOCK(6,0x12)/*-----------------------------*//* Opcode definitions for SCCs, opcodes for SMC's are the same * except not all codes are valid for SMC *//*-----------------------------*/#define CPCR_INIT_TX_RX_PARAMS   0x00000000   /* Opcode 0 */#define CPCR_INIT_RX_PARAMS      0x00000001   /* Opcode 1 */#define CPCR_INIT_TX_PARAMS      0x00000002   /* Opcode 2 */#define CPCR_ENTER_HUNT_MODE     0x00000003   /* Opcode 3 */#define CPCR_STOP_TX             0x00000004   /* Opcode 4 */#define CPCR_GRACEFUL_STOP_TX    0x00000005   /* Opcode 5 */#define CPCR_RESTART_TX          0x00000006   /* Opcode 6 */#define CPCR_CLOSE_RX_BD         0x00000007   /* Opcode 7 */#define CPCR_SET_GRP_ADDR        0x00000008   /* O

⌨️ 快捷键说明

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