Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Mar 2012 14:29:29 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        freebsd-mips@freebsd.org
Subject:   arge/switch roadmap: my plans
Message-ID:  <CAJ-VmokYrB2yS6xdqT5o-1G%2B0-sAHNvepU=YDLcpAixYVkdktg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

There's been a lot of great work done by quite a few of you but I
think now it's time to finalise something that's usable right now and
that we can (hopefully) build upon.

Here's what I'm going to do:

* I'm going to separate out arge into the MII bus part and the
ethernet controller part. I'm not sure whether that'll be an "arge
controller" that supports the MII bus, then the ethernet controller is
a child of that.. or whether I have two separate devices with suitable
locking and enforce the probe/attach order somehow, I'm not sure.
Suffice to say, I'm going to do that split.

  I realise that's not the "right" solution for all the PHY<->MDIOBUS
mapping that's going on but it solves our immediate problem with this
mess.

* I'm then going to remove the phymask stuff from arge and rely on the
miibus phymask code.

* I'm going to introduce a new configuration option for arge which
specifies whether to use a forced media/duplex setting and no PHY (to
support current setups) or to attach an MII device.

* I'm going to introduce a new configuration option for arge which
specifies whether to ignore the MII clock (as is right now), or force
it to something, or lock it to the port speed settings. That should
keep Pat happy.

* I'm going to undo the arge hack that makes arge0/arge1 MDIO register
access map to arge0 only (which is only true for ar71xx), so AR724x
and AR913x configurations become possible. At this point AR71xx boards
that have multiple PHYs will need configuration changes as they'll
have multiple PHYs on the same bus.

This last step will break boards which have a PHY for arge1 - for
example, the PB47. We'll need a way to be able to say that the PHY for
arge1 is actually on argec0 rather than argec1.

At this point we can start integrating switch PHY support.

Any questions/comments/issues?


Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokYrB2yS6xdqT5o-1G%2B0-sAHNvepU=YDLcpAixYVkdktg>