1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 22f495c39SBenjamin Herrenschmidt #ifndef _MARVELL_PHY_H 32f495c39SBenjamin Herrenschmidt #define _MARVELL_PHY_H 42f495c39SBenjamin Herrenschmidt 52f495c39SBenjamin Herrenschmidt /* Mask used for ID comparisons */ 62f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_MASK 0xfffffff0 72f495c39SBenjamin Herrenschmidt 82f495c39SBenjamin Herrenschmidt /* Known PHY IDs */ 92f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1101 0x01410c60 10ada9841eSPawel Dembicki #define MARVELL_PHY_ID_88E3082 0x01410c80 112f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1112 0x01410c90 122f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1111 0x01410cc0 132f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1118 0x01410e10 142f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1121R 0x01410cb0 152f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1145 0x01410cd0 1690600732SDavid Daney #define MARVELL_PHY_ID_88E1149R 0x01410e50 172f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_ID_88E1240 0x01410e30 18337ac9d5SCyril Chemparathy #define MARVELL_PHY_ID_88E1318S 0x01410e90 19a602ea86SMaxim Kochetkov #define MARVELL_PHY_ID_88E1340S 0x01410dc0 203da09a51SMichal Simek #define MARVELL_PHY_ID_88E1116R 0x01410e40 2110e24caaSMichal Simek #define MARVELL_PHY_ID_88E1510 0x01410dd0 22819ec8e1SAndrew Lunn #define MARVELL_PHY_ID_88E1540 0x01410eb0 2360f06fdeSAndrew Lunn #define MARVELL_PHY_ID_88E1545 0x01410ea0 24f59babf9SMaxim Kochetkov #define MARVELL_PHY_ID_88E1548P 0x01410ec0 256b358aedSSebastian Hesselbarth #define MARVELL_PHY_ID_88E3016 0x01410e60 26a5de4be0SMarek Behún #define MARVELL_PHY_ID_88X3310 0x002b09a0 2762d01535SMaxime Chevallier #define MARVELL_PHY_ID_88E2110 0x002b09b0 286e3bac3eSIvan Bornyakov #define MARVELL_PHY_ID_88X2222 0x01410f10 2900f11ac7SStefan Eichenberger #define MARVELL_PHY_ID_88Q2110 0x002b0980 30e57e4c7fSDimitri Fedrau #define MARVELL_PHY_ID_88Q2220 0x002b0b20 312f495c39SBenjamin Herrenschmidt 321887023aSRobert Hancock /* Marvel 88E1111 in Finisar SFP module with modified PHY ID */ 331887023aSRobert Hancock #define MARVELL_PHY_ID_88E1111_FINISAR 0x01ff0cc0 341887023aSRobert Hancock 35*ecc2ae61SMatthias Schiffer /* ID from 88E6020, assumed to be the same for the whole 6250 family */ 36*ecc2ae61SMatthias Schiffer #define MARVELL_PHY_ID_88E6250_FAMILY 0x01410db0 371fe976d3SPali Rohár /* These Ethernet switch families contain embedded PHYs, but they do 38e4cf8a38SAndrew Lunn * not have a model ID. So the switch driver traps reads to the ID2 39e4cf8a38SAndrew Lunn * register and returns the switch family ID 40e4cf8a38SAndrew Lunn */ 411fe976d3SPali Rohár #define MARVELL_PHY_ID_88E6341_FAMILY 0x01410f41 421fe976d3SPali Rohár #define MARVELL_PHY_ID_88E6390_FAMILY 0x01410f90 43a978f7c4SMarek Behún #define MARVELL_PHY_ID_88E6393_FAMILY 0x002b0b9b 44e4cf8a38SAndrew Lunn 4507777246SWang Dongsheng #define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4) 4607777246SWang Dongsheng 472f495c39SBenjamin Herrenschmidt /* struct phy_device dev_flags definitions */ 482f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001 492f495c39SBenjamin Herrenschmidt #define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002 50a93f7fe1SJian Shen #define MARVELL_PHY_LED0_LINK_LED1_ACTIVE 0x00000004 512f495c39SBenjamin Herrenschmidt 522f495c39SBenjamin Herrenschmidt #endif /* _MARVELL_PHY_H */ 53