marvell_phy.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _MARVELL_PHY_H
  3. #define _MARVELL_PHY_H
  4. /* Mask used for ID comparisons */
  5. #define MARVELL_PHY_ID_MASK 0xfffffff0
  6. /* Known PHY IDs */
  7. #define MARVELL_PHY_ID_88E1101 0x01410c60
  8. #define MARVELL_PHY_ID_88E1112 0x01410c90
  9. #define MARVELL_PHY_ID_88E1111 0x01410cc0
  10. #define MARVELL_PHY_ID_88E1118 0x01410e10
  11. #define MARVELL_PHY_ID_88E1121R 0x01410cb0
  12. #define MARVELL_PHY_ID_88E1145 0x01410cd0
  13. #define MARVELL_PHY_ID_88E1149R 0x01410e50
  14. #define MARVELL_PHY_ID_88E1240 0x01410e30
  15. #define MARVELL_PHY_ID_88E1318S 0x01410e90
  16. #define MARVELL_PHY_ID_88E1340S 0x01410dc0
  17. #define MARVELL_PHY_ID_88E1116R 0x01410e40
  18. #define MARVELL_PHY_ID_88E1510 0x01410dd0
  19. #define MARVELL_PHY_ID_88E1540 0x01410eb0
  20. #define MARVELL_PHY_ID_88E1545 0x01410ea0
  21. #define MARVELL_PHY_ID_88E1548P 0x01410ec0
  22. #define MARVELL_PHY_ID_88E3016 0x01410e60
  23. #define MARVELL_PHY_ID_88X3310 0x002b09a0
  24. #define MARVELL_PHY_ID_88E2110 0x002b09b0
  25. #define MARVELL_PHY_ID_88X2222 0x01410f10
  26. /* Marvel 88E1111 in Finisar SFP module with modified PHY ID */
  27. #define MARVELL_PHY_ID_88E1111_FINISAR 0x01ff0cc0
  28. /* These Ethernet switch families contain embedded PHYs, but they do
  29. * not have a model ID. So the switch driver traps reads to the ID2
  30. * register and returns the switch family ID
  31. */
  32. #define MARVELL_PHY_ID_88E6341_FAMILY 0x01410f41
  33. #define MARVELL_PHY_ID_88E6390_FAMILY 0x01410f90
  34. #define MARVELL_PHY_ID_88E6393_FAMILY 0x002b0b9b
  35. #define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4)
  36. /* struct phy_device dev_flags definitions */
  37. #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001
  38. #define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002
  39. #define MARVELL_PHY_LED0_LINK_LED1_ACTIVE 0x00000004
  40. #endif /* _MARVELL_PHY_H */