Le 25/01/2013 19:16, Jason Gunthorpe a écrit :
On Fri, Jan 25, 2013 at 11:06:49AM +0100, Florian Fainelli wrote:
quoted
This patch adds orion_mdio_{set,get}_phy_addr(.., port_number, phy_addr)
which is a feature available in this MDIO driver to monitor a particular
PHY address. This brings mvmdio one step closer to what is used in
mv643x_eth.
This seems really strange.
Are you sure this should be part of the MDIO driver? Based on my docs,
this register is part of the ethernet controller HW, which
autonomously reads from the phy via MDIO.
My reading of the datasheets for 88F628x and Armada 370 says that it
actually belongs to the MDIO part of the controller (it is just below
the SMI registers).
It seems cleaner to set this register from the ethernet controller
based on the phy it is using and keep the MDIO driver purely for MDIO
bus access.
It is acceptable to overlap the device address ranges, start the
ethernet controller at 72000 and start the MDIO at 72004, the platform
bus code automatically nests them.
Ok I did not think this would work, but I kind of prefer that too.
--
Florian