Ejemplo n.º 1
0
/*******************************************************************************
* ddr3NewTipEccScrub - Scrub the DRAM
*
* DESCRIPTION:
*
* INPUT:
*
* OUTPUT:
*       None.
*
* RETURN:
*
*******************************************************************************/
MV_VOID	ddr3NewTipEccScrub()
{
	MV_U32 cs_c,max_cs;
	MV_U32 uiCsEna = 0;
    mvPrintf("DDR Training Sequence - Start scrubbing \n");

	max_cs = mvHwsDdr3TipMaxCSGet();
	for (cs_c = 0; cs_c < max_cs; cs_c++)
		uiCsEna |= 1 << cs_c;

	mvSysXorInit(max_cs, uiCsEna, 0x80000000, 0);

	mvXorMemInit(0, 0x00000000, 0x80000000, 0xdeadbeef, 0xdeadbeef);
    /* wait for previous transfer completion */
    while (mvXorStateGet(0) != MV_IDLE);

	mvXorMemInit(0, 0x80000000, 0x40000000, 0xdeadbeef, 0xdeadbeef);
    /* wait for previous transfer completion */
    while (mvXorStateGet(0) != MV_IDLE);

    /* Return XOR State */
    mvSysXorFinish();

    mvPrintf("DDR Training Sequence - End scrubbing \n");
}
Ejemplo n.º 2
0
/* init for the Master*/
void misc_init_r_dec_win(void)
{
#if defined(MV_INCLUDE_USB)
	{
		char *env;

		env = getenv("usb0Mode");
		if((!env) || (strcmp(env,"device") == 0) || (strcmp(env,"Device") == 0) )
		{
			printf("USB 0: Device Mode\n");	
			mvSysUsbInit(0, MV_FALSE);
		}
		else
		{
			printf("USB 0: Host Mode\n");	
			mvSysUsbInit(0, MV_TRUE);
		}
	}
#endif/* #if defined(MV_INCLUDE_USB) */

#if defined(MV_INCLUDE_XOR)
	mvSysXorInit();
#endif

#if defined(MV_INCLUDE_CLK_PWR_CNTRL)
	mv_set_power_scheme();
#endif

    return;
}
Ejemplo n.º 3
0
void setXorDesc(void)
{
    unsigned int mode;
    eth_xor_desc = mvOsMalloc(sizeof(MV_XOR_DESC) + XEXDPR_DST_PTR_DMA_MASK + 32);
    eth_xor_desc = (MV_XOR_DESC *)MV_ALIGN_UP((MV_U32)eth_xor_desc, XEXDPR_DST_PTR_DMA_MASK+1);
    eth_xor_desc_phys_addr = mvOsIoVirtToPhys(NULL, eth_xor_desc);
    mvSysXorInit();

    mode = MV_REG_READ(XOR_CONFIG_REG(1, XOR_CHAN(0)));
    mode &= ~XEXCR_OPERATION_MODE_MASK;
    mode |= XEXCR_OPERATION_MODE_DMA;
    MV_REG_WRITE(XOR_CONFIG_REG(1, XOR_CHAN(0)), mode);

    MV_REG_WRITE(XOR_NEXT_DESC_PTR_REG(1, XOR_CHAN(0)), eth_xor_desc_phys_addr);
    dump_xor();
}
void misc_init_r_dec_win(void)
{
	char *env;

#if defined(MV_INCLUDE_USB)
	mvSysUsbInit();	/* initialize USB2.0 / USB3.0 */
#endif

#if defined(MV_INCLUDE_XOR)
	mvSysXorInit();
#endif

#if defined(MV_INCLUDE_CLK_PWR_CNTRL)
	env = getenv("enaClockGating");
	if ((strcmp(env, "yes") == 0) || (strcmp(env, "Yes") == 0))
		mv_set_power_scheme();
#endif
}