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

📄 mpc860.h

📁 基于vxworks操作系统的电话语音平台系统
💻 H
📖 第 1 页 / 共 4 页
字号:

   /*----*/
   /* CP */
   /*----*/

   VUHWORD	cp_cr;				/* command register */
   VUBYTE	RESERVED54[0x2];	/* Reserved area */
   VUHWORD	cp_rccr;				/* main configuration reg */
   VUBYTE	RESERVED55;			/* Reserved area */
   VUBYTE	cp_resv1;			/* Reserved reg */
   VUWORD	cp_resv2;			/* Reserved reg */
   VUHWORD	cp_rctr1;			/* ram break register 1 */
   VUHWORD	cp_rctr2;			/* ram break register 2 */
   VUHWORD	cp_rctr3;			/* ram break register 3 */
   VUHWORD	cp_rctr4;			/* ram break register 4 */
   VUBYTE	RESERVED56[0x2];	/* Reserved area */
   VUHWORD	cp_rter;				/* RISC timers event reg */
   VUBYTE	RESERVED57[0x2];	/* Reserved area */
   VUHWORD	cp_rtmr;				/* RISC timers mask reg */
   VUBYTE	RESERVED58[0x14];	/* Reserved area */

   /*-----*/
   /* BRG */
   /*-----*/

   VUWORD	brgc1;		/* BRG1 configuration reg */
   VUWORD	brgc2;		/* BRG2 configuration reg */
   VUWORD	brgc3;		/* BRG3 configuration reg */
   VUWORD	brgc4;		/* BRG4 configuration reg */

   /*---------------*/
   /* SCC registers */
   /*---------------*/

   struct scc_regs 
   
   {
       VUWORD	scc_gsmr_l; 		/* SCC Gen mode (LOW) */
       VUWORD	scc_gsmr_h; 		/* SCC Gen mode (HIGH) */
       VUHWORD	scc_psmr;			/* protocol specific mode register */
       VUBYTE	RESERVED59[0x2]; 	/* Reserved area */
       VUHWORD	scc_todr; 			/* SCC transmit on demand */
       VUHWORD	scc_dsr;				/* SCC data sync reg */
       VUHWORD	scc_scce;			/* SCC event reg */
       VUBYTE	RESERVED60[0x2];	/* Reserved area */
       VUHWORD	scc_sccm;			/* SCC mask reg */
       VUBYTE	RESERVED61[0x1];	/* Reserved area */
       VUBYTE	scc_sccs;			/* SCC status reg */
       VUBYTE	RESERVED62[0x8]; 	/* Reserved area */

   } scc_regs[4];

   
   /*-----*/
   /* SMC */
   /*-----*/

   struct smc_regs 
   
   {
       VUBYTE	RESERVED63[0x2]; 	/* Reserved area */
       VUHWORD	smc_smcmr;			/* SMC mode reg */
       VUBYTE	RESERVED64[0x2];	/* Reserved area */
       VUBYTE	smc_smce;			/* SMC event reg */
       VUBYTE	RESERVED65[0x3]; 	/* Reserved area */
       VUBYTE	smc_smcm;			/* SMC mask reg */
       VUBYTE	RESERVED66[0x5]; 	/* Reserved area */

   } smc_regs[2];


   /*-----*/
   /* SPI */
   /*-----*/

   VUHWORD	spi_spmode;			/* SPI mode reg */
   VUBYTE	RESERVED67[0x4];	/* Reserved area */
   VUBYTE	spi_spie;			/* SPI event reg */
   VUBYTE	RESERVED68[0x3];	/* Reserved area */
   VUBYTE	spi_spim;			/* SPI mask reg */
   VUBYTE	RESERVED69[0x2];	/* Reserved area */
   VUBYTE	spi_spcom;			/* SPI command reg */
   VUBYTE	RESERVED70[0x4];	/* Reserved area */

   /*-----*/
   /* PIP */
   /*-----*/

   VUHWORD	pip_pipc;			/* pip configuration reg */
   VUBYTE	RESERVED71[0x2];	/* Reserved area */
   VUHWORD	pip_ptpr;			/* pip timing parameters reg */
   VUWORD	pip_pbdir;			/* port b data direction reg */
   VUWORD	pip_pbpar;			/* port b pin assignment reg */
   VUBYTE	RESERVED72[0x2];	/* Reserved area */
   VUHWORD	pip_pbodr;			/* port b open drain reg */
   VUWORD	pip_pbdat;			/* port b data reg */
   VUBYTE	RESERVED73[0x18];	/* Reserved area */

   /*------------------*/
   /* Serial Interface */
   /*------------------*/

   VUWORD	si_simode;				/* SI mode register */
   VUBYTE	si_sigmr;				/* SI global mode register */
   VUBYTE	RESERVED74; 			/* Reserved area */
   VUBYTE	si_sistr;				/* SI status register */
   VUBYTE	si_sicmr;				/* SI command register */
   VUBYTE	RESERVED75[0x4]; 		/* Reserved area */
   VUWORD	si_sicr;					/* SI clock routing */
   VUWORD	si_sirp;					/* SI ram pointers */
   VUBYTE	RESERVED76[0x10c];	/* Reserved area */
   VUWORD	si_siram[0x80]; 		/* SI routing ram */


   /*-------------------------*/
   /* 860T-Specific Registers */
   /*-------------------------*/

   VUWORD   t_addr_low;             /* lower 32-bits of station address */
   VUWORD   t_addr_high;		    /* upper 16-bits of station address */
   VUWORD   t_hash_table_high;      /* upper 32-bits of hash table */
   VUWORD   t_hash_table_low;		/* lower 32-bits of hash table */
   VUWORD   t_r_des_start;			/* beginning of rx descriptor ring */
   VUWORD   t_x_des_start;          /* beginning of tx descriptor ring */
   VUWORD   t_r_buff_size;          /* rx buffer size */
   VUBYTE   RESERVED76a[0x24];		/* Reserved area */
   VUWORD   t_ecntrl;               /* ethernet control register */
   VUWORD   t_ievent;               /* interrupt event register */
   VUWORD   t_imask;                /* interrupt mask register */
   VUWORD   t_ivec;                 /* int level and vector status */
   VUWORD   t_r_des_active;         /* rx ring updated flag */
   VUWORD   t_x_des_active;         /* tx ring updated flag */
   VUBYTE   RESERVED76b[0x28];		/* Reserved area */
   VUWORD   t_mii_data;             /* mii data register */
   VUWORD   t_mii_speed;            /* mii speed control register */
   VUBYTE   RESERVED76c[0x44];		/* Reserved area */
   VUWORD   t_r_bound;              /* end of RAM (read-only) */
   VUWORD   t_r_fstart;             /* rx FIFO start address 0xED0 */

/*Add by Zhuguosheng for Version-D4*/
   VUBYTE   RESERVED76d1[0x10];		/* Reserved area */
   VUWORD   t_wmrk;
   VUBYTE   RESERVED76d2[0x04];		/* Reserved area */

   VUWORD   t_x_fstart;             /* tx FIFO start address 0xEEC*/
   VUBYTE   RESERVED76e[0x44];		/* Reserved area */
   VUWORD   t_fun_code;             /* fec SDMA function code */
   VUBYTE   RESERVED76f[0x0C];		/* Reserved area */
   VUWORD   t_r_cntrl;               /* rx control register */
   VUWORD   t_r_hash;               /* rx hash register */
   VUBYTE   RESERVED76g[0x38];		/* Reserved area */
   VUWORD   t_x_cntrl;              /* tx control register */
   VUBYTE   RESERVED76h[0x78];		/* Reserved area */
   VUBYTE	RESERVED77[0x1000]; 	/* Reserved area */

   /*-----------------------------------------------------------------*/
   /* BASE + 0x2000: user data memory, microcode, or QMC channel PRAM */
   /*-----------------------------------------------------------------*/
	
	union
	{
		struct qmc_chan_pram qcp[64];
		struct user_data ud;
		UBYTE RESERVED[0x1c00];
	} qcp_or_ud;


   /*-----------------------------------------------------------------------*/
   /* BASE + 0x3c00: PARAMETER RAM. This main union defines 4 memory blocks */
   /* of an identical size. See the Parameter RAM definition in the MPC860  */
   /* user's manual.                                                        */
   /*-----------------------------------------------------------------------*/

   /*------------------------*/
   /* Base + 0x3C00 (page 1) */
   /*      + 0x3D00 (page 2) */
   /*      + 0x3E00 (page 3) */
   /*      + 0x3F00 (page 4) */
   /*------------------------*/

   union 
      
   {
      struct page_of_pram 
       
      {
         /*------------------------------------------------------------*/
         /* scc parameter area - 1st memory block (protocol dependent) */
         /*------------------------------------------------------------*/

         union 
           
         {
            struct hdlc_pram	      h;
            struct uart_pram	      u;
            struct bisync_pram     	b;
            struct transparent_pram	t;
            struct async_hdlc_pram	a;
            UBYTE	RESERVED78[0x80];

         } scc;		

         /*----------------------------------------------------------------*/
         /* Other protocol areas for the rest of the memory blocks in each */
         /* page.                                                          */
         /*----------------------------------------------------------------*/

         union 
                 
         {
            /*---------------------------------------------------------------*/
            /* This structure defines the rest of the blocks on the 1st page */
            /*---------------------------------------------------------------*/ 
         
            struct 
         
            {
               struct i2c_pram	i2c;     /* I2C   */
			   UBYTE	  RESERVED84[0x18];     /* declare full block */
			   struct idma_pram	idma1;   /* IDMA1 */

            } i2c_idma; 

            /*---------------------------------------------------------------*/
            /* This structure defines the rest of the blocks on the 2nd page */
            /*---------------------------------------------------------------*/
 
            struct 
         
            {
               struct spi_pram	spi;     /* SPI    */
               struct timer_pram	timer;   /* Timers */
               struct idma_pram	idma2;   /* IDMA2  */

            } spi_timer_idma; 

            /*---------------------------------------------------------------*/
            /* This structure defines the rest of the blocks on the 3rd page */
            /*---------------------------------------------------------------*/
 
            struct 
         
            {
               union 
          
               {
                  struct smc_uart_pram u1;   /* SMC1 */
                  struct smc_trnsp_pram t1;  /* SMC1 */
                  UBYTE	RESERVED78[0x80];     /* declare full block */

               } psmc1; 

            } smc_dsp1;


            /*---------------------------------------------------------------*/
            /* This structure defines the rest of the blocks on the 4th page */
            /*---------------------------------------------------------------*/ 
 
            struct 
         
            {
               union 
          
               {
                  struct smc_uart_pram u2;   /* SMC2 */
                  struct smc_trnsp_pram t2;  /* SMC2 */
                  struct centronics_pram c;  /* Uses SM2's space */
                  UBYTE	RESERVED79[0x80];    /* declare full block */

               } psmc2;

            } smc_dsp2; 

            UBYTE	RESERVED80[0x80];    /* declare full block */

         } other;

      } pg;

      /*---------------------------------------------------------------*/
      /* When selecting Ethernet as protocol for an SCC, this protocol */
      /* uses a complete page of Parameter RAM memory.                 */
      /*---------------------------------------------------------------*/

      struct ethernet_pram	enet_scc;

	/*---------------------------------------------------------------*/
	/* When using QMC as a mode for an SCC, the QMC global parameter */
	/* ram uses from SCC BASE to BASE+AC.                            */
	/*---------------------------------------------------------------*/
      
	  struct global_qmc_pram  m;

      /*--------------------------------------------------------*/
      /* declaration to guarantee a page of memory is allocated */
      /*--------------------------------------------------------*/

      UBYTE   RESERVED83[0x100]; 

   } PRAM[4]; /* end of union */

} EPPC;


/***************************************************************************/
/*                   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_REG 		0 	/* SCC1 Index into SCC Regs Array  */				
#define SCC2_REG 		1 	/* SCC2 Index into SCC Regs Array  */				
#define SCC3_REG 		2 	/* SCC3 Index into SCC Regs Array  */				
#define SCC4_REG 		3 	/* SCC4 Index into SCC Regs Array  */				


/*--------------------------------*/
/* KEEP ALIVE POWER REGISTERS KEY */
/*--------------------------------*/

#define KEEP_ALIVE_KEY 0x55ccaa33


⌨️ 快捷键说明

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