Hi,
I am having a problem that I cannot explain why after I do a SW reset the PHY chip is in an unknown state. I have a lot of information to give you, depending on the questions you ask me. Let me start by giving you my setup.
I have an ATMEL AT91SAM7X256 rev C that is set to communicate with the DP83848i using MII. When I perfom a SW reset all the registers that I read (0,1,2,3,4,6,7,10,11,12,14,15,16,17,18,19,1a,1b,1d) are set to FF FF. In other words, when I write a 1 to bit 15 of the BMCR register, all the other registers have been set to FF FF and never, ever come out of that state. I can read any register listed above and I have verified that they are all FF FF. If I bypass the SW reset, the setup works fine and I can communicate over ethernet through the PHY chip.
ATMEL has just revved that chip to rev C. All our boards that have the rev B chip are working fine and when you do the SW reset and read the BMCR register, I always get the strapped value (0x00 31) and not all FF FF in the BMCR register.
Here is my question. What happens in the PHY chip when a SW reset is written to it? What could cause it to not complete that procedure? Given that the only thing that changed was the ATMEL chip, it would appear that it is the culprit. Could there be a signal from the ATMEL chip that is preventing the completion of reset? What kind of a signal and on what pin on the PHY chip could do this? Since information like this is not present in the Data Sheet, and I have norrowed my problem down to this cause and I cannot troubleshoot any further until I know how this SW reset behaves.
Ask me anything you need to know. Thanks in advance for all your help.