#include "stdio.h"
#include "davincievm.h"
#include "davincievm_emif.h"
extern Int16 ddr_test( );
Int16 sram_init( )
{
/*------------------------------------------------------------------*
* SRAM CHIP TIMEOUT @ 594 MHz *
* *
* AEMIF.CLK freq = PLL1/6 = 594/6 = 99 MHz *
* AEMIF.CLK period = 1/99 MHz = 10.1 ns *
* *
*------------------------------------------------------------------*/
Uint32 acfg2 = 0
| ( 0 << 31 ) // selectStrobe
| ( 0 << 30 ) // extWait
| ( 0 << 26 ) // writeSetup // 0 ns
| ( 9 << 20 ) // writeStrobe // 85 ns
| ( 0 << 17 ) // writeHold // 0 ns
| ( 0 << 13 ) // readSetup // 0 ns
| ( 6 << 7 ) // readStrobe // 60 ns
| ( 0 << 4 ) // readHold // 0 ns
| ( 1 << 2 ) // turnAround // 10 ns
| ( 1 << 0 ) // asyncSize // 16-bit bus
;
DAVINCIEVM_EMIF_config( acfg2,
AEMIF_MAX_TIMEOUT_16BIT,
AEMIF_MAX_TIMEOUT_16BIT,
AEMIF_MAX_TIMEOUT_16BIT );
AEMIF_NANDFCR = 0x00000000;
return 0;
}
/* ------------------------------------------------------------------------ *
* *
* main( ) *
* *
* ------------------------------------------------------------------------ */
void main( void )
{
/* Initialize BSL */
// DAVINCIEVM_init( );
// sram_init( );
if(ddr_test() != 0)
{
printf( "Testing DDR2 MEMORY FAIL... \n");
}
else
{
printf( "Testing DDR2 MEMORY PASS... \n");
}
SW_BREAKPOINT;
}