On 04/18/2017 07:04 AM, Andrew Lunn wrote:
On Tue, Apr 18, 2017 at 06:16:33AM -0700, Daniel Walker wrote:
Hi,
Cisco is using a Marvell 88E1112 phy. It seems to be fairly similar
to the 88E1111 which Harini added a fix for.
Hi Daniel
If you look at Marvell reference drive, DSDT, they are actually quite
different. Different virtual cable tester, different downshift
configuration, different packet generator, different loopback. I would
say they are different generations of PHY.
Ok .
In Harini's commit
message for ,
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/phy/marvell.c?id=3ec0a0f10ceb
"This function has a sequence accessing Page 5 and Register 31, both
of which are not defined or reserved for this PHY"
For the 88E1112 we see that these are "Factory Test Modes" which the
contents of are not documented. They aren't really "not defied", and
aren't really "reserved" .. Marvell support claims they don't
support these drivers, and Freescale seems to be adding these
drivers, and the line we are looking at.
We had some issues with our PHY which were corrected with the same
patch Harini used but modified for the M88E1112. We're trying to get
to the bottom of where this code came from and what it was suppose
to be doing.
I tried to find this errata fix in the Marvell reference code. And
failed to find it. But it is "Vendor Crap" code, hard to find anything
in it.
My guess is, this errata just applies to one model of PHY, maybe even
one revision of one model of a PHY. The hard bit is figuring out what
actually needs it. Do you have access to Marvell datasheets?
Prior to Andy's commit this code was duplicated in at least a couple of
the ethernet drivers from Freescale. I think all Andy did was combine
them all.
I think the data sheet is here for the 1112,
http://www.dexsilicium.com/Marvell_88E1112.pdf
This is what I've been using. My contact with Marvell for support is
minimal. Andy's email at Freescale bounced , so maybe someone else form
Freescale could comment. There must have been something very strange
getting fixed due to using unnamed hex values in the code.
Daniel