[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170112223144.GN14217@n2100.armlinux.org.uk>
Date: Thu, 12 Jan 2017 22:31:44 +0000
From: Russell King - ARM Linux <linux@...linux.org.uk>
To: Andrew Lunn <andrew@...n.ch>
Cc: "Kwok, WingMan" <w-kwok2@...com>,
"Karicheri, Muralidharan" <m-karicheri2@...com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: Marvell Phy (1510) issue since v4.7 kernel
On Thu, Jan 12, 2017 at 10:49:41PM +0100, Andrew Lunn wrote:
> How are you using the PHY. What phy-mode do you have set? Do you
> happen to be using it as an RGMII to SERDES/SGMII bridge? This is what
> Russell King is doing, i think.
No - the 88E1512 here is connected to the ethernet host via SGMII.
Armada 8040 ----SGMII----> 88E1512 ----> RJ45
The problem that my commit fixes is that when the 88E1512 is used in
this mode, the copper page reflects the status of the RJ45-side link,
and the fiber page reflects the Armada 8040 side of the link.
Without my patch, the 88E1512 read_status function spots that the fiber
page reports its link is up (because the Armada 8040 side is indeed up)
and decides to report that as the link settings, rather than the
(correct) copper side.
> The point is, the phylib will continue polling the PHY registers,
> reading them. If the FIBRE is up, we want to read the FIBRE values,
> not the copper.
... but only if we aren't connected in SGMII mode to the ethernet host!
The 88E1512 has the RGMII pins, and it has the Serdes pins. The Serdes
pins are used for the optical transceiver, or they're used for a SGMII
connection to an ethernet host. So they can't do both.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
Powered by blists - more mailing lists