Message ID | 20190809031256.3594-1-git@andred.net (mailing list archive) |
---|---|
State | Mainlined |
Commit | acf993a0f22215dbc1d39f974e3053d6b4f4e594 |
Headers | show |
Series | ARM: imx: stop adjusting ar8031 phy tx delay | expand |
On Fri, Aug 09, 2019 at 04:12:56AM +0100, André Draszik wrote: > Recent changes to the Atheros at803x driver cause > the approach taken here to stop working because > commit 6d4cd041f0af > ("net: phy: at803x: disable delay only for RGMII mode") > and commit cd28d1d6e52e > ("net: phy: at803x: Disable phy delay for RGMII mode") > fix the AR8031 driver to configure the phy's (RX/TX) > delays as per the 'phy-mode' in the device tree. > > In particular, the phy tx (and rx) delays are updated > again as per the 'phy-mode' *after* the code in here > runs. > > Things worked before above commits, because the AR8031 > comes out of reset with RX delay enabled, and the > at803x driver didn't touch the delay configuration at > all when "rgmii" mode was selected. > > It appears the code in here tries to make device > trees work that incorrectly specify "rgmii", but > that can't work any more and it is imperative since > above commits to have the phy-mode configured > correctly in the device tree. > > I suspect there are a few imx7d based boards using > the ar8031 phy and phy-mode = "rgmii", but given I > don't know which ones exactly, I am not in a > position to update the respective device trees. > > Hence this patch is simply removing the superfluous > code from the imx7d initialisation. An alternative > could be to add a warning instead, but that would > penalize all boards that have been updated already. > > Signed-off-by: André Draszik <git@andred.net> > CC: Russell King <linux@armlinux.org.uk> > CC: Shawn Guo <shawnguo@kernel.org> > CC: Sascha Hauer <s.hauer@pengutronix.de> > CC: Pengutronix Kernel Team <kernel@pengutronix.de> > CC: Fabio Estevam <festevam@gmail.com> > CC: NXP Linux Team <linux-imx@nxp.com> > CC: Kate Stewart <kstewart@linuxfoundation.org> > CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > CC: Thomas Gleixner <tglx@linutronix.de> > CC: Leonard Crestez <leonard.crestez@nxp.com> > CC: linux-arm-kernel@lists.infradead.org Applied, thanks.
diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm/mach-imx/mach-imx7d.c index 95713450591a..ebb27592a9f7 100644 --- a/arch/arm/mach-imx/mach-imx7d.c +++ b/arch/arm/mach-imx/mach-imx7d.c @@ -30,12 +30,6 @@ static int ar8031_phy_fixup(struct phy_device *dev) val &= ~(0x1 << 8); phy_write(dev, 0xe, val); - /* introduce tx clock delay */ - phy_write(dev, 0x1d, 0x5); - val = phy_read(dev, 0x1e); - val |= 0x0100; - phy_write(dev, 0x1e, val); - return 0; }
Recent changes to the Atheros at803x driver cause the approach taken here to stop working because commit 6d4cd041f0af ("net: phy: at803x: disable delay only for RGMII mode") and commit cd28d1d6e52e ("net: phy: at803x: Disable phy delay for RGMII mode") fix the AR8031 driver to configure the phy's (RX/TX) delays as per the 'phy-mode' in the device tree. In particular, the phy tx (and rx) delays are updated again as per the 'phy-mode' *after* the code in here runs. Things worked before above commits, because the AR8031 comes out of reset with RX delay enabled, and the at803x driver didn't touch the delay configuration at all when "rgmii" mode was selected. It appears the code in here tries to make device trees work that incorrectly specify "rgmii", but that can't work any more and it is imperative since above commits to have the phy-mode configured correctly in the device tree. I suspect there are a few imx7d based boards using the ar8031 phy and phy-mode = "rgmii", but given I don't know which ones exactly, I am not in a position to update the respective device trees. Hence this patch is simply removing the superfluous code from the imx7d initialisation. An alternative could be to add a warning instead, but that would penalize all boards that have been updated already. Signed-off-by: André Draszik <git@andred.net> CC: Russell King <linux@armlinux.org.uk> CC: Shawn Guo <shawnguo@kernel.org> CC: Sascha Hauer <s.hauer@pengutronix.de> CC: Pengutronix Kernel Team <kernel@pengutronix.de> CC: Fabio Estevam <festevam@gmail.com> CC: NXP Linux Team <linux-imx@nxp.com> CC: Kate Stewart <kstewart@linuxfoundation.org> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> CC: Thomas Gleixner <tglx@linutronix.de> CC: Leonard Crestez <leonard.crestez@nxp.com> CC: linux-arm-kernel@lists.infradead.org --- arch/arm/mach-imx/mach-imx7d.c | 6 ------ 1 file changed, 6 deletions(-)