mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
net: phy: marvell: fix detection of PHY on Topaz switches
Since commitfee2d54641("net: phy: marvell: mv88e6390 temperature sensor reading"), Linux reports the temperature of Topaz hwmon as constant -75°C. This is because switches from the Topaz family (88E6141 / 88E6341) have the address of the temperature sensor register different from Peridot. This address is instead compatible with 88E1510 PHYs, as was used for Topaz before the above mentioned commit. Create a new mapping table between switch family and PHY ID for families which don't have a model number. And define PHY IDs for Topaz and Peridot families. Create a new PHY ID and a new PHY driver for Topaz's internal PHY. The only difference from Peridot's PHY driver is the HWMON probing method. Prior this change Topaz's internal PHY is detected by kernel as: PHY [...] driver [Marvell 88E6390] (irq=63) And afterwards as: PHY [...] driver [Marvell 88E6341 Family] (irq=63) Signed-off-by: Pali Rohár <pali@kernel.org> BugLink: https://github.com/globalscaletechnologies/linux/issues/1 Fixes:fee2d54641("net: phy: marvell: mv88e6390 temperature sensor reading") Reviewed-by: Marek Behún <kabel@kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6628ddfec7
commit
1fe976d308
@@ -28,11 +28,12 @@
|
||||
/* Marvel 88E1111 in Finisar SFP module with modified PHY ID */
|
||||
#define MARVELL_PHY_ID_88E1111_FINISAR 0x01ff0cc0
|
||||
|
||||
/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do
|
||||
/* These Ethernet switch families contain embedded PHYs, but they do
|
||||
* not have a model ID. So the switch driver traps reads to the ID2
|
||||
* register and returns the switch family ID
|
||||
*/
|
||||
#define MARVELL_PHY_ID_88E6390 0x01410f90
|
||||
#define MARVELL_PHY_ID_88E6341_FAMILY 0x01410f41
|
||||
#define MARVELL_PHY_ID_88E6390_FAMILY 0x01410f90
|
||||
|
||||
#define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user