Re: [2/3] via-rhine: de-isolate PHY

4 messages, 2 authors, 2004-08-08 · open the first message on its own page

Re: [2/3] via-rhine: de-isolate PHY

From: Manfred Spraul <hidden>
Date: 2004-08-08 19:52:19

Roger wrote:
PHYs may come up isolated. Make sure we can send data to them. This code
section needs a clean-up, but I prefer to merge this fix in isolation.
What was the phyid value for the isolated PHYs?

I know that PHYs go into isolate mode if the startup id is wired to 0, 
but I haven't figured out what's necessary to initialize them: Just 
clear the isolate bit or is it necessary to set the id to a nonzero value.

--
    Manfred

Re: [2/3] via-rhine: de-isolate PHY

From: Roger Luethi <hidden>
Date: 2004-08-08 20:05:51

[ BCCed reporter in case he wants to weigh in on the issue ]

On Sun, 08 Aug 2004 21:53:57 +0200, Manfred Spraul wrote:
Roger wrote:
quoted
PHYs may come up isolated. Make sure we can send data to them. This code
section needs a clean-up, but I prefer to merge this fix in isolation.
What was the phyid value for the isolated PHYs?
I suspect it was 0, because another suggestion in the same message was to
start scanning at 0 rather than 1 (obsolete with current via-rhine code).
I know that PHYs go into isolate mode if the startup id is wired to 0, 
Wouldn't that be s/go/can go/ ?
but I haven't figured out what's necessary to initialize them: Just 
clear the isolate bit or is it necessary to set the id to a nonzero value.
The proposed fix apparently worked for the PHY in question (LSI Logic
80225).

Roger

Re: [2/3] via-rhine: de-isolate PHY

From: Manfred Spraul <hidden>
Date: 2004-08-08 21:01:37

Roger Luethi wrote:
 
quoted
I know that PHYs go into isolate mode if the startup id is wired to 0, 
   
Wouldn't that be s/go/can go/ ?

 
I don't have the MII standard, my knowledge is from the DP83840A specs:
The pin description contains a section about the phy ids:
During power up five pins are latched to determine the initial phy address.
Then the following sentence in bold: "An address selection of all zeros 
(00000) will result in a PHY isolation condition".

I've reread the DP specs and I now think that your current patch is 
sufficient:
The isolate state is independant from the phy address - a non-zero phy 
can be in isolate mode and the phy zero can be non-isolated. The phy id 
just sets the power-up value of the isolate bit: 0 means start isolated, 
non-zero means start non-isolated.

If this is really true then handling phy 0 is trivial:
First scan 1-31. If nothing found: try 0. If a phy is found: clear the 
isolate bit and then use phy 0.

--
    Manfred

Re: [2/3] via-rhine: de-isolate PHY

From: Roger Luethi <hidden>
Date: 2004-08-08 21:55:18

On Sun, 08 Aug 2004 23:04:06 +0200, Manfred Spraul wrote:
Roger Luethi wrote:
quoted
quoted
I know that PHYs go into isolate mode if the startup id is wired to 0, 
Wouldn't that be s/go/can go/ ?
I don't have the MII standard, my knowledge is from the DP83840A specs:
The pin description contains a section about the phy ids:
During power up five pins are latched to determine the initial phy address.
Then the following sentence in bold: "An address selection of all zeros 
(00000) will result in a PHY isolation condition".
I suppose all PHYs do that. Even if they don't, though, I should be
safe as long as I de-isolate unconditionally (instead of testing for
phy_id==0).
I've reread the DP specs and I now think that your current patch is 
sufficient:
The isolate state is independant from the phy address - a non-zero phy 
can be in isolate mode and the phy zero can be non-isolated. The phy id 
Stands to reason. A PHY that can't get out of isolation wouldn't be
very useful.
If this is really true then handling phy 0 is trivial:
First scan 1-31. If nothing found: try 0. If a phy is found: clear the 
isolate bit and then use phy 0.
Makes sense. The Rhine is actually pretty neat in that regard, I've
been able to drop the PHY scanning entirely.

Roger
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help