This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem with MACSTATUS.idle bit

Guys Can anybody help me?

I try to connect my TMS 6457 with Marvell through SGMI.

I have some troubles with my ehternet driver.
I have created my own driver based on driver from EVM6457(lyrtech).
But there is one problem.
When i execute function EMAC_open, to configure EMAC, all registers are set properly.
Register MACSTATUS.Idle is in ILDE state (0x1)
But  some time later it is set to "NOT IDLE STATE" (0x0).
And I don't understand why.
After this if I can set GMII_EN= 0 and then GMII_EN= 1. The  MACSTATUS.Idle will be set in Idle state and Network stack will work properly.
Now i have a function which execute in by timer and check thsi bit ( MACSTATUS.Idle ).
If  MACSTATUS.Idle =0 this function will  reset GMII_EN.
 It works fine but it is abnormally.
Can anybody explain me why  MACSTATUS.Idle can be set to not idle state  ?