Its me again. I was developing ethernet driver for custom OS, so i am not using Linux. 100 MBps connection works fine but if we switch to 1000 MBps the data transmit through the line gets corrupted, however Auto-Negotiation successfully occurs and both the link partners switch to 1GBps connection but data transmission is not right. I am using 125-MHz clock (ENET_PLL-> div = 3) and setting SPEED bit in ECR_REGISTER to 1 for 1GBPs. I also set RGMII_CLOCK_SKEW to 0x3ff (as mentioned in U-Boot), if i leave clock skew register to it default value, no data transmit through the line. If i set it to 0x3ff data corruption is observed. I also set RX_SKEW to 0 and CONTROL_SKEW to 0 but still not help. Also went through micrel.c and net/FEC linux driver but still no luck. If any one plz could suggest if I am missing anything would be really helpful. Looking forward for you kind respnse.