⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppc8xx.h

📁 eCos1.31版
💻 H
📖 第 1 页 / 共 3 页
字号:
    volatile unsigned short	simt_rtcsc;	/* Realtime clk stat&cntr 1 */    volatile unsigned char	RSRVD110[0x2];    volatile unsigned long	simt_rtc;	/* Realtime clock */    volatile unsigned long	simt_rtsec;	/* Realtime alarm seconds */    volatile unsigned long	simt_rtcal;	/* Realtime alarm */    volatile unsigned char	RSRVD56[0x10];    volatile unsigned long	simt_piscr;	/* PIT stat&ctrl */    volatile unsigned long	simt_pitc;	/* PIT counter */    volatile unsigned long	simt_pitr;	/* PIT */    volatile unsigned char	RSRVD7[0x34];    /* CLOCKS, RESET */    volatile unsigned long	clkr_sccr;	/* System clk cntrl */    volatile unsigned long	clkr_plprcr;	/* PLL reset&ctrl */    volatile unsigned long	clkr_rsr;	/* reset status */    volatile unsigned char	RSRVD66a[0x74];    /* System Integration Timers Keys */    volatile unsigned long	simt_tbscrk;	/* Timebase Status&Ctrl Key */    volatile unsigned long	simt_tbreff0k;  /* Timebase Reference 0 Key */    volatile unsigned long	simt_tbreff1k;  /* Timebase Reference 1 Key */    volatile unsigned long	simt_tbk;       /* Timebase and Decrementer Key */    volatile unsigned char	RSRVD66b[0x10];    volatile unsigned long	simt_rtcsck;    /* Real-Time Clock Status&Ctrl Key */    volatile unsigned long	simt_rtck;      /* Real-Time Clock Key */    volatile unsigned long	simt_rtseck;    /* Real-Time Alarm Seconds Key */    volatile unsigned long	simt_rtcalk;    /* Real-Time Alarm Key */    volatile unsigned char	RSRVD66c[0x10];    volatile unsigned long	simt_piscrk;    /* Periodic Interrupt Status&Ctrl Key */    volatile unsigned long	simt_pitck;     /* Periodic Interrupt Count Key */    volatile unsigned char	RSRVD66d[0x38];    /* Clock and Reset Keys */    volatile unsigned long	clkr_sccrk;	/* System Clock Control Key */    volatile unsigned long	clkr_plprcrk;	/* PLL, Low Power and Reset Control Key */    volatile unsigned long	clkr_rsrk;	/* Reset Status Key */    volatile unsigned char	RSRVD66e[0x4b4];    volatile unsigned long	lcd_lccr;	/* configuration Reg */    volatile unsigned long	lcd_lchcr;	/* Horizontal ctl Reg */    volatile unsigned long	lcd_lcvcr;	/* Vertical ctl Reg */    unsigned char		RSRVD67[4];    volatile unsigned long	lcd_lcfaa;	/* Frame buffer A Address */    volatile unsigned long	lcd_lcfba;	/* Frame buffer B Address */    volatile unsigned char	lcd_lcsr;	/* Status Reg */    volatile unsigned char	RSRVD9[0x7];    /* I2C */    volatile unsigned char	i2c_i2mod;	/* i2c mode */    unsigned char		RSRVD59[3];    volatile unsigned char	i2c_i2add;	/* i2c address */    unsigned char		RSRVD60[3];    volatile unsigned char	i2c_i2brg;	/* i2c brg */    unsigned char		RSRVD61[3];    volatile unsigned char	i2c_i2com;	/* i2c command */    unsigned char		RSRVD62[3];    volatile unsigned char	i2c_i2cer;	/* i2c event */    unsigned char		RSRVD63[3];    volatile unsigned char	i2c_i2cmr;	/* i2c mask */    volatile unsigned char	RSRVD10[0x0b];    volatile unsigned char	i2c_spare_pram[0x80];  /* Used by patched ucode */    /* DMA */    volatile unsigned char	RSRVD11[0x4];    volatile unsigned long	dma_sdar;	/* SDMA address reg */    volatile unsigned char	dma_sdsr;	/* SDMA status reg */    volatile unsigned char	RSRVD12[0x3];    volatile unsigned char	dma_sdmr;	/* SDMA mask reg */    volatile unsigned char	RSRVD13[0x3];    volatile unsigned char	dma_idsr1;	/* IDMA1 status reg */    volatile unsigned char	RSRVD14[0x3];    volatile unsigned char	dma_idmr1;	/* IDMA1 mask reg */    volatile unsigned char	RSRVD15[0x3];    volatile unsigned char	dma_idsr2;	/* IDMA2 status reg */    volatile unsigned char	RSRVD16[0x3];    volatile unsigned char	dma_idmr2;	/* IDMA2 mask reg */    volatile unsigned char	RSRVD17[0x13];    /* CPM Interrupt Controller */    volatile unsigned short	cpmi_civr;	/* CP interrupt vector reg */    volatile unsigned char	RSRVD19[0xe];    volatile unsigned long	cpmi_cicr;	/* CP interrupt configuration reg */    volatile unsigned long	cpmi_cipr;	/* CP interrupt pending reg */    volatile unsigned long	cpmi_cimr;	/* CP interrupt mask reg */    volatile unsigned long	cpmi_cisr;	/* CP interrupt in-service reg */    /* I/O port */    volatile unsigned short	pio_padir;	/* port A data direction reg */    volatile unsigned short	pio_papar;	/* port A pin assignment reg */    volatile unsigned short	pio_paodr;	/* port A open drain reg */    volatile unsigned short	pio_padat;	/* port A data register */    volatile unsigned char	RSRVD20[0x8];	    volatile unsigned short	pio_pcdir;	/* port C data direction reg */    volatile unsigned short	pio_pcpar;	/* port C pin assignment reg */    volatile unsigned short	pio_pcso;	/* port C special options */    volatile unsigned short	pio_pcdat;	/* port C data register */    volatile unsigned short	pio_pcint;	/* port C interrupt cntrl reg */    unsigned char		RSRVD64[6];    volatile unsigned short	pio_pddir;	/* port D Data Direction reg */    volatile unsigned short	pio_pdpar;	/* port D pin assignment reg */    unsigned char		RSRVD65[2];    volatile unsigned short	pio_pddat;	/* port D data reg */    volatile unsigned char	RSRVD21[0x8];	    /* CPM Timer */    volatile unsigned short	timer_tgcr;	/* timer global configuration  reg */    volatile unsigned char	RSRVD22[0xe];	    volatile unsigned short	timer_tmr1;	/* timer 1 mode reg */    volatile unsigned short	timer_tmr2;	/* timer 2 mode reg */    volatile unsigned short	timer_trr1;	/* timer 1 referance reg */    volatile unsigned short	timer_trr2;	/* timer 2 referance reg */    volatile unsigned short	timer_tcr1;	/* timer 1 capture reg */    volatile unsigned short	timer_tcr2;	/* timer 2 capture reg */    volatile unsigned short	timer_tcn1;	/* timer 1 counter reg */    volatile unsigned short	timer_tcn2;	/* timer 2 counter reg */    volatile unsigned short	timer_tmr3;	/* timer 3 mode reg */    volatile unsigned short	timer_tmr4;	/* timer 4 mode reg */    volatile unsigned short	timer_trr3;	/* timer 3 referance reg */    volatile unsigned short	timer_trr4;	/* timer 4 referance reg */    volatile unsigned short	timer_tcr3;	/* timer 3 capture reg */    volatile unsigned short	timer_tcr4;	/* timer 4 capture reg */    volatile unsigned short	timer_tcn3;	/* timer 3 counter reg */    volatile unsigned short	timer_tcn4;	/* timer 4 counter reg */    volatile unsigned short	timer_ter1;	/* timer 1 event reg */    volatile unsigned short	timer_ter2;	/* timer 2 event reg */    volatile unsigned short	timer_ter3;	/* timer 3 event reg */    volatile unsigned short	timer_ter4;	/* timer 4 event reg */    volatile unsigned char	RSRVD23[0x8];	    /* CP */    volatile unsigned short	cp_cr;		/* command register */    volatile unsigned char	RSRVD24[0x2];	    volatile unsigned short	cp_rccr;	/* main configuration reg */    volatile unsigned char	RSRVD25;	    volatile unsigned char	cp_resv1;	/* RSRVD reg */    volatile unsigned long	cp_resv2;	/* RSRVD reg */    volatile unsigned short	cp_rctr1;	/* ram break register 1 */    volatile unsigned short	cp_rctr2;	/* ram break register 2 */    volatile unsigned short	cp_rctr3;	/* ram break register 3 */    volatile unsigned short	cp_rctr4;	/* ram break register 4 */    volatile unsigned char	RSRVD26[0x2];	    volatile unsigned short	cp_rter;	/* RISC timers event reg */    volatile unsigned char	RSRVD27[0x2];	    volatile unsigned short	cp_rtmr;	/* RISC timers mask reg */    volatile unsigned char	RSRVD28[0x14];	    /* BRG */    volatile unsigned long	brgc1;		/* BRG1 configuration reg */    volatile unsigned long	brgc2;		/* BRG2 configuration reg */    volatile unsigned long	brgc3;		/* BRG3 configuration reg */    volatile unsigned long	brgc4;		/* BRG4 configuration reg */    /* SCC registers */    struct scc_regs {	volatile unsigned long	scc_gsmr_l;	/* SCC Gen mode (LOW) */	volatile unsigned long	scc_gsmr_h;	/* SCC Gen mode (HIGH) */	volatile unsigned short	scc_psmr;	/* protocol specific mode register */	volatile unsigned char	RSRVD29[0x2]; 	volatile unsigned short	scc_todr;	/* SCC transmit on demand */	volatile unsigned short	scc_dsr;	/* SCC data sync reg */	volatile unsigned short	scc_scce;	/* SCC event reg */	volatile unsigned char	RSRVD30[0x2];	volatile unsigned short	scc_sccm;	/* SCC mask reg */	volatile unsigned char	RSRVD31[0x1];	volatile unsigned char	scc_sccs;	/* SCC status reg */	volatile unsigned char	RSRVD32[0x8];     } scc_regs[2];    volatile unsigned char RSRVD120[0x40];    /* SMC */    struct smc_regs {	volatile unsigned char	RSRVD34[0x2]; 	volatile unsigned short	smc_smcmr;	/* SMC mode reg */	volatile unsigned char	RSRVD35[0x2];	volatile unsigned char	smc_smce;	/* SMC event reg */	volatile unsigned char	RSRVD36[0x3]; 	volatile unsigned char	smc_smcm;	/* SMC mask reg */	volatile unsigned char	RSRVD37[0x5];     } smc_regs[2];    /* SPI */    volatile unsigned short	spi_spmode;	/* SPI mode reg */    volatile unsigned char	RSRVD38[0x4];	    volatile unsigned char	spi_spie;	/* SPI event reg */    volatile unsigned char	RSRVD39[0x3];	    volatile unsigned char	spi_spim;	/* SPI mask reg */    volatile unsigned char	RSRVD40[0x2];	    volatile unsigned char	spi_spcom;	/* SPI command reg */    volatile unsigned char	RSRVD41[0x4];	    /* PIP */    volatile unsigned short	pip_pipc;	/* pip configuration reg */    volatile unsigned char	RSRVD42[0x2];	    volatile unsigned short	pip_ptpr;	/* pip timing parameters reg */    volatile unsigned long	pip_pbdir;	/* port b data direction reg */    volatile unsigned long	pip_pbpar;	/* port b pin assignment reg */    volatile unsigned char	RSRVD43[0x2];	    volatile unsigned short	pip_pbodr;	/* port b open drain reg */    volatile unsigned long	pip_pbdat;	/* port b data reg */    volatile unsigned char	RSRVD44[0x18];	    /* Serial Interface */    volatile unsigned long	si_simode;	/* SI mode register */    volatile unsigned char	si_sigmr;	/* SI global mode register */    volatile unsigned char	RSRVD45;     volatile unsigned char	si_sistr;	/* SI status register */    volatile unsigned char	si_sicmr;	/* SI command register */    volatile unsigned char	RSRVD46[0x4];     volatile unsigned long	si_sicr;	/* SI clock routing */    volatile unsigned long	si_sirp;	/* SI ram pointers */    volatile unsigned char	RSRVD47[0x10c];     volatile unsigned char	si_siram[0x200];/* SI routing ram */    volatile unsigned short	lcd_lcolr[256];	/* LCD Color RAM -- REV A.x */    volatile unsigned char	RSRVD48[0x1000];     /* BASE + 0x2000: user data memory */    volatile unsigned char	udata_ucode[0x800];	/* user data bd's Ucode*/    volatile unsigned char      bd[0x700];              /* buffer descriptors, data */    volatile unsigned char      udata_ext[0x100];       /* extension area for downloaded ucode */    volatile unsigned char	RSRVD49[0x0C00];	        /* BASE + 0x3c00: PARAMETER RAM */    union {	struct scc_pram {	    union {		struct hdlc_pram	h;		struct uart_pram	u;		struct bisync_pram	b;		struct transparent_pram	t;		struct async_hdlc_pram	a;		unsigned char		RSRVD50[0x80];	    } pscc;		/* scc parameter area (protocol dependent) */	    union {		struct {		    struct i2c_pram	i2c;		    unsigned char	RSRVD56[0x18];		    struct idma_pram	idma1;		} i2c_idma;		struct {		    struct spi_pram	spi;		    unsigned char	RSRVD57[0x8];		    struct timer_pram	timer;		    struct idma_pram	idma2;		} spi_timer_idma;		struct {		    union {			struct smc_uart_pram	u;			struct smc_trnsp_pram	t;			struct centronics_pram	c;		    } psmc;		    unsigned char	modem_param[0x40];		} smc_modem;		struct {		    unsigned char	RSRVD54[0x40];		    struct ucode_pram	ucode;		} pucode;	    } pothers;	} scc;	struct ethernet_pram	enet_scc;	unsigned char		pr[0x100];    } pram[4];} EPPC;static inline EPPC *eppc_base(void){    EPPC    *retval;    asm volatile (        "mfspr   %0,638 \n\t"	"andis.	 %0,%0,65535 \n\t"	: "=r" (retval)	: /* no inputs */  );    return retval;}#endif /* __ASSEMBLER__ *//* Memory Periodic Timer Prescaler Register values */#define PTP_DIV2	0x2000#define PTP_DIV4	0x1000#define PTP_DIV8	0x0800#define PTP_DIV16	0x0400#define PTP_DIV32	0x0200#define PTP_DIV64	0x0100// Command Processor Module (CPM) // Buffer descriptor control bits#define QUICC_BD_CTL_Ready          0x8000  // Buffer contains data (tx) or is empty (rx)#define QUICC_BD_CTL_Wrap           0x2000  // Last buffer in list#define QUICC_BD_CTL_Int            0x1000  // Generate interrupt when empty (tx) or full (rx)#define QUICC_BD_CTL_Last           0x0800  // Last buffer in a sequence#define QUICC_BD_CTL_MASK           0xB000  // User settable bits// Command register#define QUICC_CPM_CR_INIT_TXRX      0x0000  // Initialize both Tx and Rx chains#define QUICC_CPM_CR_INIT_RX        0x0100  // Initialize Rx chains#define QUICC_CPM_CR_INIT_TX        0x0200  // Initialize Tx chains#define QUICC_CPM_CR_HUNT_MODE      0x0300  // Start "hunt" mode#define QUICC_CPM_CR_STOP_TX        0x0400  // Stop transmitter#define QUICC_CPM_CR_RESTART_TX     0x0600  // Restart transmitter#define QUICC_CPM_CR_RESET          0x8000  // Reset CPM#define QUICC_CPM_CR_BUSY           0x0001  // Kick CPM - busy indicator// CPM channels#define QUICC_CPM_SCC1              0x0000#define QUICC_CPM_I2C               0x0010#define QUICC_CPM_SCC2              0x0040#define QUICC_CPM_SCC3              0x0080#define QUICC_CPM_SMC1              0x0090#define QUICC_CPM_SCC4              0x00C0#define QUICC_CPM_SMC2              0x00D0#endif // ifndef CYGONCE_HAL_PPC_QUICC_PPC8XX_H

⌨️ 快捷键说明

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