]>
Commit | Line | Data |
---|---|---|
f070b1a2 JH |
1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* | |
3 | * Copyright 2011 Freescale Semiconductor, Inc. | |
4 | * Andy Fleming <[email protected]> | |
5 | * | |
6 | * This file pretty much stolen from Linux's mii.h/ethtool.h/phy.h | |
7 | */ | |
8 | ||
9 | #ifndef _PHY_INTERFACE_H | |
10 | #define _PHY_INTERFACE_H | |
11 | ||
12 | typedef enum { | |
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, | |
5b723986 PJ |
30 | PHY_INTERFACE_MODE_25G_AUI, |
31 | PHY_INTERFACE_MODE_XLAUI, | |
32 | PHY_INTERFACE_MODE_CAUI2, | |
33 | PHY_INTERFACE_MODE_CAUI4, | |
f070b1a2 JH |
34 | PHY_INTERFACE_MODE_NONE, /* Must be last */ |
35 | ||
36 | PHY_INTERFACE_MODE_COUNT, | |
37 | } phy_interface_t; | |
38 | ||
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", | |
5b723986 PJ |
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", | |
f070b1a2 JH |
61 | [PHY_INTERFACE_MODE_NONE] = "", |
62 | }; | |
63 | ||
64 | static inline const char *phy_string_for_interface(phy_interface_t i) | |
65 | { | |
66 | /* Default to unknown */ | |
67 | if (i > PHY_INTERFACE_MODE_NONE) | |
68 | i = PHY_INTERFACE_MODE_NONE; | |
69 | ||
70 | return phy_interface_strings[i]; | |
71 | } | |
72 | ||
73 | #endif /* _PHY_INTERFACE_H */ |