📄 mpc8xxx.h
字号:
/* io_ports */
struct io_regs
{
volatile CYG_WORD pdir; /* Port A-D Data Direction Register */
volatile CYG_WORD ppar; /* Port A-D Pin Assignment Register */
volatile CYG_WORD psor; /* Port A-D Special Operation Register */
volatile CYG_WORD podr; /* Port A-D Open Drain Register */
volatile CYG_WORD pdat; /* Port A-D Data Register */
volatile CYG_BYTE reserved41[0xc]; /* Reserved area */
} io_regs[4];
/* cpm_timers */
volatile CYG_BYTE cpm_timers_tgcr1; /* Timer Global Configuration Register */
volatile CYG_BYTE reserved42[0x3]; /* Reserved area */
volatile CYG_BYTE cpm_timers_tgcr2; /* Timer Global Configuration Register */
volatile CYG_BYTE reserved43[0xb]; /* Reserved area */
volatile CYG_WORD16 cpm_timers_tmr1; /* Timer Mode Register */
volatile CYG_WORD16 cpm_timers_tmr2; /* Timer Mode Register */
volatile CYG_WORD16 cpm_timers_trr1; /* Timer Reference Register */
volatile CYG_WORD16 cpm_timers_trr2; /* Timer Reference Register */
volatile CYG_WORD16 cpm_timers_tcr1; /* Timer Capture Register */
volatile CYG_WORD16 cpm_timers_tcr2; /* Timer Capture Register */
volatile CYG_WORD16 cpm_timers_tcn1; /* Timer Counter */
volatile CYG_WORD16 cpm_timers_tcn2; /* Timer Counter */
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)
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -