linux-mips
[Top] [All Lists]

Re: RFC: au1000_etc.c phylib rewrite

To: Mark Schank <mschank@dcbnet.com>
Subject: Re: RFC: au1000_etc.c phylib rewrite
From: Herbert Valerio Riedel <hvr@gnu.org>
Date: Tue, 02 May 2006 08:23:47 +0200
Cc: ppopov@embeddedalley.com, sshtylyov@ru.mvista.com, linux-mips@linux-mips.org, jgarzik@pobox.com
In-reply-to: <5.1.0.14.2.20060501144633.025e4e20@205.166.54.3>
Organization: Free Software Foundation
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1146510542.16643.10.camel@localhost.localdomain> <1146510542.16643.10.camel@localhost.localdomain> <5.1.0.14.2.20060501144633.025e4e20@205.166.54.3>
Sender: linux-mips-bounce@linux-mips.org
On Mon, 2006-05-01 at 15:09 -0500, Mark Schank wrote:
> The Cogent CSB655 used the Broadcom Dual Phy.  They eventually redesigned 
> the board and switched to two single Broadcom phys, but they continued to 
> control both phys through MAC0, which is the actual purpose of the dual-phy 
> hack.  I am a user of the CSB655, so I sort of care.
> 
> Will the new PHY framework allow a second PHY for a second MAC (MAC1) be 
> controlled from the first MAC's (MAC0) mdio interface?

should'nt be a problem (as opposed to the bosporus case... see below)...
I assume the phy-addresses on which the boarcom dual phy is configured
are the same for all Cogent CSB655 boards?

does this need to be autodetected dynamically at runtime, or can we rely
on a compile time Kconfig-conditional to set a static phy-addr<->eth%
d-phy mapping for this board-specific case? Or de we really need such a
complex mii_probe() function to detect weird scenarios? :)

using static phy addr mappings would also allow for setting
board-specific phy-irq assignments, which would then be handled by the
phylib facilities, instead of polling the status of phy with a timer;
(and in case we don't have any board-specific compile time setting, we
can still fall back to search the phy-addresses for a PHY at runtime as
the generic case)

while at it, what about that CONFIG_MIPS_BOSPORUS special case? why
doesn't the 2nd MAC see any PHY? how is the 2nd MAC connected to the
physical world?

#ifdef CONFIG_MIPS_BOSPORUS
        /* This is a workaround for the Micrel/Kendin 5 port switch
           The second MAC doesn't see a PHY connected... so we need to
           trick it into thinking we have one.

           If this kernel is run on another Au1500 development board
           the stub will be found as well as the actual PHY. However,
           the last found PHY will be used... usually at Addr 31 (Db1500).
        */


> Yes, I acknowledge this was a bad design, but its what I am stuck with.

:-)
-- 
Herbert Valerio Riedel <hvr@gnu.org>


<Prev in Thread] Current Thread [Next in Thread>