/******************************************************************************* * 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"); }
/* 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; }
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 }