![Andrew Lunn](/assets/img/avatar_default.png)
The mv88e6390 Ethernet switch has internal PHYs. These PHYs don't have an model ID in the ID2 register. So the MDIO driver in the switch intercepts reads to this register, and returns the switch family ID. Extend the Marvell PHY driver by including this ID, and treat the PHY as a 88E1540. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
33 lines
1.1 KiB
C
33 lines
1.1 KiB
C
#ifndef _MARVELL_PHY_H
|
|
#define _MARVELL_PHY_H
|
|
|
|
/* Mask used for ID comparisons */
|
|
#define MARVELL_PHY_ID_MASK 0xfffffff0
|
|
|
|
/* Known PHY IDs */
|
|
#define MARVELL_PHY_ID_88E1101 0x01410c60
|
|
#define MARVELL_PHY_ID_88E1112 0x01410c90
|
|
#define MARVELL_PHY_ID_88E1111 0x01410cc0
|
|
#define MARVELL_PHY_ID_88E1118 0x01410e10
|
|
#define MARVELL_PHY_ID_88E1121R 0x01410cb0
|
|
#define MARVELL_PHY_ID_88E1145 0x01410cd0
|
|
#define MARVELL_PHY_ID_88E1149R 0x01410e50
|
|
#define MARVELL_PHY_ID_88E1240 0x01410e30
|
|
#define MARVELL_PHY_ID_88E1318S 0x01410e90
|
|
#define MARVELL_PHY_ID_88E1116R 0x01410e40
|
|
#define MARVELL_PHY_ID_88E1510 0x01410dd0
|
|
#define MARVELL_PHY_ID_88E1540 0x01410eb0
|
|
#define MARVELL_PHY_ID_88E3016 0x01410e60
|
|
|
|
/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs 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
|
|
|
|
/* struct phy_device dev_flags definitions */
|
|
#define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001
|
|
#define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002
|
|
|
|
#endif /* _MARVELL_PHY_H */
|