xref: /linux/drivers/net/phy/phy-caps.h (revision d8c838a57ce25c746c9882ffa427d8bb3f22b526)
1*d8c838a5SMaxime Chevallier /* SPDX-License-Identifier: GPL-2.0-or-later */
2*d8c838a5SMaxime Chevallier /*
3*d8c838a5SMaxime Chevallier  * link caps internal header, for link modes <-> capabilities <-> interfaces
4*d8c838a5SMaxime Chevallier  * conversions.
5*d8c838a5SMaxime Chevallier  */
6*d8c838a5SMaxime Chevallier 
7*d8c838a5SMaxime Chevallier #ifndef __PHY_CAPS_H
8*d8c838a5SMaxime Chevallier #define __PHY_CAPS_H
9*d8c838a5SMaxime Chevallier 
10*d8c838a5SMaxime Chevallier #include <linux/ethtool.h>
11*d8c838a5SMaxime Chevallier 
12*d8c838a5SMaxime Chevallier enum {
13*d8c838a5SMaxime Chevallier 	LINK_CAPA_10HD = 0,
14*d8c838a5SMaxime Chevallier 	LINK_CAPA_10FD,
15*d8c838a5SMaxime Chevallier 	LINK_CAPA_100HD,
16*d8c838a5SMaxime Chevallier 	LINK_CAPA_100FD,
17*d8c838a5SMaxime Chevallier 	LINK_CAPA_1000HD,
18*d8c838a5SMaxime Chevallier 	LINK_CAPA_1000FD,
19*d8c838a5SMaxime Chevallier 	LINK_CAPA_2500FD,
20*d8c838a5SMaxime Chevallier 	LINK_CAPA_5000FD,
21*d8c838a5SMaxime Chevallier 	LINK_CAPA_10000FD,
22*d8c838a5SMaxime Chevallier 	LINK_CAPA_20000FD,
23*d8c838a5SMaxime Chevallier 	LINK_CAPA_25000FD,
24*d8c838a5SMaxime Chevallier 	LINK_CAPA_40000FD,
25*d8c838a5SMaxime Chevallier 	LINK_CAPA_50000FD,
26*d8c838a5SMaxime Chevallier 	LINK_CAPA_56000FD,
27*d8c838a5SMaxime Chevallier 	LINK_CAPA_100000FD,
28*d8c838a5SMaxime Chevallier 	LINK_CAPA_200000FD,
29*d8c838a5SMaxime Chevallier 	LINK_CAPA_400000FD,
30*d8c838a5SMaxime Chevallier 	LINK_CAPA_800000FD,
31*d8c838a5SMaxime Chevallier 
32*d8c838a5SMaxime Chevallier 	__LINK_CAPA_MAX,
33*d8c838a5SMaxime Chevallier };
34*d8c838a5SMaxime Chevallier 
35*d8c838a5SMaxime Chevallier struct link_capabilities {
36*d8c838a5SMaxime Chevallier 	int speed;
37*d8c838a5SMaxime Chevallier 	unsigned int duplex;
38*d8c838a5SMaxime Chevallier 	__ETHTOOL_DECLARE_LINK_MODE_MASK(linkmodes);
39*d8c838a5SMaxime Chevallier };
40*d8c838a5SMaxime Chevallier 
41*d8c838a5SMaxime Chevallier int phy_caps_init(void);
42*d8c838a5SMaxime Chevallier 
43*d8c838a5SMaxime Chevallier #endif /* __PHY_CAPS_H */
44