Tool/software: TI-RTOS
Hello.
In our project on AM3354 we faced the following problem.
We initialize the CPSW module. During initialization of the CPSW, the MDIO module accesses the PHY chip using the MDIOPhyRegRead function. Due to the fact that in the MDIO USERACCESS0 register, the GO bit is not set to 0, the MDIOPhyRegRead function remains in an infinite loop.
To solve this problem, we made these functions with a finite number of cycles (10000), and after passing the cycle, we check the GO bit to 0. If this bit is 0, then everything is fine, otherwise we set an error.
Questions:
1. Are we doing the right thing replacing infinite loops with finite ones?
2. Why the GO bit is not reset to 0, is the cause of the failure of the PHY?
Respectfully,
Vitali