Commit c552c110 authored by Radu Pirea (NXP OSS)'s avatar Radu Pirea (NXP OSS) Committed by Jakub Kicinski

net: phy: nxp-c45-tja11xx: run cable test with the PHY in test mode

For TJA1120, the enable bit for cable test is not writable if the PHY is
not in test mode.
Signed-off-by: default avatarRadu Pirea (NXP OSS) <radu-nicolae.pirea@oss.nxp.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230731091619.77961-10-radu-nicolae.pirea@oss.nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 425c8348
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
#define VEND1_PORT_FUNC_ENABLES 0x8048 #define VEND1_PORT_FUNC_ENABLES 0x8048
#define PTP_ENABLE BIT(3) #define PTP_ENABLE BIT(3)
#define PHY_TEST_ENABLE BIT(0)
#define VEND1_PORT_PTP_CONTROL 0x9000 #define VEND1_PORT_PTP_CONTROL 0x9000
#define PORT_PTP_CONTROL_BYPASS BIT(11) #define PORT_PTP_CONTROL_BYPASS BIT(11)
...@@ -1258,6 +1259,8 @@ static int nxp_c45_cable_test_start(struct phy_device *phydev) ...@@ -1258,6 +1259,8 @@ static int nxp_c45_cable_test_start(struct phy_device *phydev)
{ {
const struct nxp_c45_regmap *regmap = nxp_c45_get_regmap(phydev); const struct nxp_c45_regmap *regmap = nxp_c45_get_regmap(phydev);
phy_set_bits_mmd(phydev, MDIO_MMD_VEND1,
VEND1_PORT_FUNC_ENABLES, PHY_TEST_ENABLE);
return phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, regmap->cable_test, return phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, regmap->cable_test,
CABLE_TEST_ENABLE | CABLE_TEST_START); CABLE_TEST_ENABLE | CABLE_TEST_START);
} }
...@@ -1299,6 +1302,8 @@ static int nxp_c45_cable_test_get_status(struct phy_device *phydev, ...@@ -1299,6 +1302,8 @@ static int nxp_c45_cable_test_get_status(struct phy_device *phydev,
phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, regmap->cable_test, phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, regmap->cable_test,
CABLE_TEST_ENABLE); CABLE_TEST_ENABLE);
phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1,
VEND1_PORT_FUNC_ENABLES, PHY_TEST_ENABLE);
return nxp_c45_start_op(phydev); return nxp_c45_start_op(phydev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment