/* Function to reset the GMAC core. This reests the DMA and GMAC core. After reset all the registers holds their respective reset value  */
s32 synopGMAC_reset(synopGMACdevice *gmacdev)
/* Function to reset the GMAC core. This reests the DMA and GMAC core. After reset all the registers holds their respective reset value  */
s32 synopGMAC_reset(synopGMACdevice *gmacdev)
{
    u32 data = 0;
    synopGMACWriteReg(gmacdev->DmaBase, DmaBusMode, DmaResetOn);
    plat_delay(DEFAULT_LOOP_VARIABLE);
    do
    {
        data = synopGMACReadReg(gmacdev->DmaBase, DmaBusMode);
    }
    while (data & 1);
    TR("DATA after Reset = %08x\n", data);
    return 0;
}