1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright 2011 Freescale Semiconductor, Inc.
4 * Andy Fleming <afleming@gmail.com>
6 * This file pretty much stolen from Linux's mii.h/ethtool.h/phy.h
9 #ifndef _PHY_INTERFACE_H
10 #define _PHY_INTERFACE_H
13 PHY_INTERFACE_MODE_MII
,
14 PHY_INTERFACE_MODE_GMII
,
15 PHY_INTERFACE_MODE_SGMII
,
16 PHY_INTERFACE_MODE_SGMII_2500
,
17 PHY_INTERFACE_MODE_QSGMII
,
18 PHY_INTERFACE_MODE_TBI
,
19 PHY_INTERFACE_MODE_RMII
,
20 PHY_INTERFACE_MODE_RGMII
,
21 PHY_INTERFACE_MODE_RGMII_ID
,
22 PHY_INTERFACE_MODE_RGMII_RXID
,
23 PHY_INTERFACE_MODE_RGMII_TXID
,
24 PHY_INTERFACE_MODE_RTBI
,
25 PHY_INTERFACE_MODE_XGMII
,
26 PHY_INTERFACE_MODE_XAUI
,
27 PHY_INTERFACE_MODE_RXAUI
,
28 PHY_INTERFACE_MODE_SFI
,
29 PHY_INTERFACE_MODE_INTERNAL
,
30 PHY_INTERFACE_MODE_25G_AUI
,
31 PHY_INTERFACE_MODE_XLAUI
,
32 PHY_INTERFACE_MODE_CAUI2
,
33 PHY_INTERFACE_MODE_CAUI4
,
34 PHY_INTERFACE_MODE_NONE
, /* Must be last */
36 PHY_INTERFACE_MODE_COUNT
,
39 static const char * const phy_interface_strings
[] = {
40 [PHY_INTERFACE_MODE_MII
] = "mii",
41 [PHY_INTERFACE_MODE_GMII
] = "gmii",
42 [PHY_INTERFACE_MODE_SGMII
] = "sgmii",
43 [PHY_INTERFACE_MODE_SGMII_2500
] = "sgmii-2500",
44 [PHY_INTERFACE_MODE_QSGMII
] = "qsgmii",
45 [PHY_INTERFACE_MODE_TBI
] = "tbi",
46 [PHY_INTERFACE_MODE_RMII
] = "rmii",
47 [PHY_INTERFACE_MODE_RGMII
] = "rgmii",
48 [PHY_INTERFACE_MODE_RGMII_ID
] = "rgmii-id",
49 [PHY_INTERFACE_MODE_RGMII_RXID
] = "rgmii-rxid",
50 [PHY_INTERFACE_MODE_RGMII_TXID
] = "rgmii-txid",
51 [PHY_INTERFACE_MODE_RTBI
] = "rtbi",
52 [PHY_INTERFACE_MODE_XGMII
] = "xgmii",
53 [PHY_INTERFACE_MODE_XAUI
] = "xaui",
54 [PHY_INTERFACE_MODE_RXAUI
] = "rxaui",
55 [PHY_INTERFACE_MODE_SFI
] = "sfi",
56 [PHY_INTERFACE_MODE_INTERNAL
] = "internal",
57 [PHY_INTERFACE_MODE_25G_AUI
] = "25g-aui",
58 [PHY_INTERFACE_MODE_XLAUI
] = "xlaui4",
59 [PHY_INTERFACE_MODE_CAUI2
] = "caui2",
60 [PHY_INTERFACE_MODE_CAUI4
] = "caui4",
61 [PHY_INTERFACE_MODE_NONE
] = "",
64 static inline const char *phy_string_for_interface(phy_interface_t i
)
66 /* Default to unknown */
67 if (i
> PHY_INTERFACE_MODE_NONE
)
68 i
= PHY_INTERFACE_MODE_NONE
;
70 return phy_interface_strings
[i
];
73 #endif /* _PHY_INTERFACE_H */