By the way, I create a test task to R/W the EEE,after 10K cycle, it still works fine:
for( ;; )
{
#if DRV_DEBUG_ENABLE_SWT == 1
drv_cpu_feeddog();
#endif
vTaskDelay( 25 );
drv_eee_readData(0x66,24,TmpBuf2);
LOG("R1:%3d\r\n",TmpBuf2[0]);
TmpBuf2[0] += 1;
drv_eee_writeData(0x77,24,TmpBuf2);
vTaskDelay( 25 );
drv_eee_readData(0x77,24,TmpBuf1);
LOG("R2:%3d\r\n",TmpBuf1[0]);
TmpBuf1[0] += 1;
drv_eee_writeData(0x66,24,TmpBuf1);
}