blob: 1eb6f244588dae1efa08a2c9dcb8e46460592bcc [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +10002#ifndef _MARVELL_PHY_H
3#define _MARVELL_PHY_H
4
5/* Mask used for ID comparisons */
6#define MARVELL_PHY_ID_MASK 0xfffffff0
7
8/* Known PHY IDs */
9#define MARVELL_PHY_ID_88E1101 0x01410c60
10#define MARVELL_PHY_ID_88E1112 0x01410c90
11#define MARVELL_PHY_ID_88E1111 0x01410cc0
12#define MARVELL_PHY_ID_88E1118 0x01410e10
13#define MARVELL_PHY_ID_88E1121R 0x01410cb0
14#define MARVELL_PHY_ID_88E1145 0x01410cd0
David Daney90600732010-11-19 11:58:53 +000015#define MARVELL_PHY_ID_88E1149R 0x01410e50
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100016#define MARVELL_PHY_ID_88E1240 0x01410e30
Cyril Chemparathy337ac9d2010-10-29 13:50:25 -070017#define MARVELL_PHY_ID_88E1318S 0x01410e90
Michal Simek3da09a52013-05-30 20:08:26 +000018#define MARVELL_PHY_ID_88E1116R 0x01410e40
Michal Simek10e24caa2013-05-30 20:08:27 +000019#define MARVELL_PHY_ID_88E1510 0x01410dd0
Andrew Lunn819ec8e2015-11-16 23:34:41 +010020#define MARVELL_PHY_ID_88E1540 0x01410eb0
Andrew Lunn60f06fd2017-02-02 00:35:03 +010021#define MARVELL_PHY_ID_88E1545 0x01410ea0
Sebastian Hesselbarth6b358ae2014-10-22 20:26:44 +020022#define MARVELL_PHY_ID_88E3016 0x01410e60
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100023
Andrew Lunne4cf8a32017-02-01 03:40:06 +010024/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do
25 * not have a model ID. So the switch driver traps reads to the ID2
26 * register and returns the switch family ID
27 */
28#define MARVELL_PHY_ID_88E6390 0x01410f90
29
Wang Dongsheng07777242018-07-01 23:15:46 -070030#define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4)
31
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100032/* struct phy_device dev_flags definitions */
33#define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001
34#define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002
35
36#endif /* _MARVELL_PHY_H */