]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: phy: c45-tjaxx: add delay between MDIO write and read in soft_reset
authorMilos Reljin <milos_reljin@outlook.com>
Fri, 24 Jan 2025 10:41:02 +0000 (10:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2025 09:05:42 +0000 (10:05 +0100)
commit bd1bbab717608757cccbbe08b0d46e6c3ed0ced5 upstream.

In application note (AN13663) for TJA1120, on page 30, there's a figure
with average PHY startup timing values following software reset.
The time it takes for SMI to become operational after software reset
ranges roughly from 500 us to 1500 us.

This commit adds 2000 us delay after MDIO write which triggers software
reset. Without this delay, soft_reset function returns an error and
prevents successful PHY init.

Cc: stable@vger.kernel.org
Fixes: b050f2f15e04 ("phy: nxp-c45: add driver for tja1103")
Signed-off-by: Milos Reljin <milos_reljin@outlook.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/AM8P250MB0124D258E5A71041AF2CC322E1E32@AM8P250MB0124.EURP250.PROD.OUTLOOK.COM
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/nxp-c45-tja11xx.c

index 5af5ade4fc64182be54b65cfbe2d0082a0de45ca..ae43103c76cbd8f426cb723ce951724266c38731 100644 (file)
@@ -1296,6 +1296,8 @@ static int nxp_c45_soft_reset(struct phy_device *phydev)
        if (ret)
                return ret;
 
+       usleep_range(2000, 2050);
+
        return phy_read_mmd_poll_timeout(phydev, MDIO_MMD_VEND1,
                                         VEND1_DEVICE_CONTROL, ret,
                                         !(ret & DEVICE_CONTROL_RESET), 20000,