net: phy: dp83867: add TI PHY loopback
authorTan Tee Min <tee.min.tan@linux.intel.com>
Tue, 8 Nov 2022 10:15:27 +0000 (18:15 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 10 Nov 2022 03:20:21 +0000 (19:20 -0800)
commit13bd85580b85768238cf726dec0ddd89c06a230a
tree41c3941dd77aa24cbc2e861aedd0a91c5b2d6aa3
parent470765e4e1c813564bfc00f53b78896d7f336424
net: phy: dp83867: add TI PHY loopback

The existing genphy_loopback() is not working for TI DP83867 PHY as it
will disable autoneg support while another side is still enabling autoneg.
This is causing the link is not established and results in timeout error
in genphy_loopback() function.

Thus, based on TI PHY datasheet, introduce a TI PHY loopback function by
just configuring BMCR_LOOPBACK(Bit-9) in MII_BMCR register (0x0).

Tested working on TI DP83867 PHY for all speeds (10/100/1000Mbps).

Signed-off-by: Tan Tee Min <tee.min.tan@linux.intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20221108101527.612723-1-michael.wei.hong.sit@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/dp83867.c