www.pudn.com > zbtsram.rar > DEC6416.gel


/************************************************************************* 
	filename:	DEC6416.gel 
	designer:	´÷Ơ¹²¨ 
	DATE£º		2004/11/22 
*************************************************************************/ 
 
StartUp() 
{ 
    setup_memory_map(); 
    GEL_Reset();   
    init_emif(); 
}  
 
/*--------------------------------------------------------------*/ 
/* Setup memory map for C6416 DSK.                              */ 
/*                                                              */ 
/*--------------------------------------------------------------*/ 
setup_memory_map() 
{ 
 
	GEL_MapOn(); 
	GEL_MapReset(); 
 
        /* On-chip memory map */ 
	GEL_MapAdd(0x00000000, 0, 0x00100000, 1, 1); /* Internal Memory       */ 
	GEL_MapAdd(0x01800000, 0, 0x00000054, 1, 1); /* EMIFA CTL REGS        */ 
	GEL_MapAdd(0x01840000, 0, 0x000082FC, 1, 1); /* INT MEM CTL REGS      */ 
	GEL_MapAdd(0x018C0000, 0, 0x0000003C, 1, 1); /* MCBSP0 CTL REGS       */ 
	GEL_MapAdd(0x01900000, 0, 0x0000003C, 1, 1); /* MCBSP1 CTL REGS       */ 
	GEL_MapAdd(0x01940000, 0, 0x00000008, 1, 1); /* TIMER0 CTL REGS       */ 
	GEL_MapAdd(0x01980000, 0, 0x00000008, 1, 1); /* TIMER1 CTL REGS       */ 
	GEL_MapAdd(0x019C0000, 0, 0x00000008, 1, 1); /* INT CTL REGS          */ 
	GEL_MapAdd(0x01A00000, 0, 0x0000FFFC, 1, 1); /* EDMA REGS AND PARAM   */ 
	GEL_MapAdd(0x01A40000, 0, 0x0000003C, 1, 1); /* MCBSP2 CTL REGS       */ 
	GEL_MapAdd(0x01A80000, 0, 0x00000054, 1, 1); /* EMIFB CTL REGS        */ 
	GEL_MapAdd(0x01AC0000, 0, 0x00000008, 1, 1); /* TIMER2 CTL REGS       */ 
	GEL_MapAdd(0x01B00000, 0, 0x00000024, 1, 1); /* GPIO REGS             */ 
	GEL_MapAdd(0x02000000, 0, 0x00000030, 1, 1); /* QDMA REGS             */ 
	GEL_MapAdd(0x30000000, 0, 0x04000000, 1, 1); /* MCBSP0 Data, EDMA map */ 
	GEL_MapAdd(0x34000000, 0, 0x04000000, 1, 1); /* MCBSP1 Data, EDMA map */ 
	GEL_MapAdd(0x38000000, 0, 0x04000000, 1, 1); /* MCBSP2 Data, EDMA map */ 
 
	/* Off-chip memory map */ 
	GEL_MapAdd(0x60000000, 0, 0x00000008, 1, 1); /* CPLD  EMIF-B, CE0     */ 
	GEL_MapAdd(0x64000000, 0, 0x00040000, 1, 1); /* FLASH EMIF-B, CE1     */ 
	GEL_MapAdd(0x90000000, 0, 0x01000000, 1, 1); /* 16MB ZBTSRAM EMIF-A, CE0*/ 
	GEL_MapAdd(0xA0000000, 0, 0x10000000, 1, 1); /* EMIF-A, CE2 EXPANSION */ 
	GEL_MapAdd(0xB0000000, 0, 0x10000000, 1, 1); /* EMIF-A, CE3 EXPANSION */ 
} 
 
/*--------------------------------------------------------------*/ 
/* init_emif() 		                                            */ 
/*--------------------------------------------------------------*/ 
init_emif() 
{ 
 
#define EMIFA_GCTL       0x01800000 
#define EMIFA_CE1        0x01800004 
#define EMIFA_CE0        0x01800008 
#define EMIFA_CE2        0x01800010 
#define EMIFA_CE3        0x01800014 
#define EMIFA_SDRAMCTL   0x01800018 
#define EMIFA_SDRAMTIM   0x0180001c 
#define EMIFA_SDRAMEXT   0x01800020 
#define EMIFA_CE1SECCTL  0x01800044 
#define EMIFA_CE0SECCTL  0x01800048 
#define EMIFA_CE2SECCTL  0x01800050 
#define EMIFA_CE3SECCTL  0x01800054 
 
#define EMIFB_GCTL       0x01A80000 
#define EMIFB_CE1        0x01A80004 
#define EMIFB_CE0        0x01A80008 
#define EMIFB_CE2        0x01A80010 
#define EMIFB_CE3        0x01A80014 
#define EMIFB_SDRAMCTL   0x01A80018 
#define EMIFB_SDRAMTIM   0x01A8001c 
#define EMIFB_SDRAMEXT   0x01A80020 
#define EMIFB_CE1SECCTL  0x01A80044 
#define EMIFB_CE0SECCTL  0x01A80048 
#define EMIFB_CE2SECCTL  0x01A80050 
#define EMIFB_CE3SECCTL  0x01A80054 
	 
    /* EMIFA */ 
//	*(int *)EMIFA_GCTL     = 0x00012070; 
//	*(int *)EMIFA_CE0      = 0xffffffd3;  /* CE0 SDRAM                     */ 
//	*(int *)EMIFA_CE2      = 0x22a28a22;  /* CE2 Daughtercard 32-bit async */ 
//	*(int *)EMIFA_CE3      = 0x22a28a22;  /* CE3 Daughtercard 32-bit async */ 
//	*(int *)EMIFA_SDRAMCTL = 0x47115000;  /* SDRAM control                 */ 
//	*(int *)EMIFA_SDRAMTIM = 0x00000618;  /* SDRAM timing (refresh)        */ 
//	*(int *)EMIFA_SDRAMEXT = 0x000a8529;  /* SDRAM extended control        */ 
 
    /* EMIFB */ 
	*(int *)EMIFB_GCTL     = 0x00002070;  
	*(int *)EMIFB_CE0      = 0x22008800;  /* CE0 CPLD 8-bit                */ 
	*(int *)EMIFB_CE1      = 0x22008800;  /* CE1 Flash 8-bit               */ 
 
}