blob: af6b11d4d6737845b3c41fd09eab1a674d2253c5 [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
Maxime Chevallier631ba902019-02-23 00:37:41 +010023#define MARVELL_PHY_ID_88X3310 0x002b09a0
Maxime Chevallier62d01532019-02-23 00:37:44 +010024#define MARVELL_PHY_ID_88E2110 0x002b09b0
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100025
Andrew Lunne4cf8a32017-02-01 03:40:06 +010026/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do
27 * not have a model ID. So the switch driver traps reads to the ID2
28 * register and returns the switch family ID
29 */
30#define MARVELL_PHY_ID_88E6390 0x01410f90
31
Wang Dongsheng07777242018-07-01 23:15:46 -070032#define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4)
33
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100034/* struct phy_device dev_flags definitions */
35#define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001
36#define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002
Jian Shena93f7fe2019-04-22 21:52:23 +080037#define MARVELL_PHY_LED0_LINK_LED1_ACTIVE 0x00000004
Benjamin Herrenschmidt2f495c32010-06-21 13:20:46 +100038
39#endif /* _MARVELL_PHY_H */