[PATCH net-next 0/9] net: phy: icplus: cleanups and new features

From: Michael Walle
Date: Tue Feb 09 2021 - 11:42:22 EST


Cleanup the PHY drivers for IPplus devices and add PHY counters and MDIX
support for the IP101A/G.

Patch 5 adds a model detection based on the behavior of the PHY.
Unfortunately, the IP101A shares the PHY ID with the IP101G. But the latter
provides more features. Try to detect the newer model by accessing the page
selection register. If it is writeable, it is assumed, that it is a IP101G.

With this detection in place, we can now access registers >= 16 in a
correct way on the IP101G; that is by first selecting the correct page.
This might previouly worked, because no one ever set another active page
before booting linux.

The last two patches add the new features.

Michael Walle (9):
net: phy: icplus: use PHY_ID_MATCH_MODEL() macro
net: phy: icplus: use PHY_ID_MATCH_EXACT() for IP101A/G
net: phy: icplus: drop address operator for functions
net: phy: icplus: use the .soft_reset() of the phy-core
net: phy: icplus: add IP101A/IP101G model detection
net: phy: icplus: don't set APS_EN bit on IP101G
net: phy: icplus: select page before writing control register
net: phy: icplus: add PHY counter for IP101G
net: phy: icplus: add MDI/MDIX support for IP101A/G

drivers/net/phy/icplus.c | 328 ++++++++++++++++++++++++++++++++-------
1 file changed, 272 insertions(+), 56 deletions(-)

--
2.20.1