@@ -62,6 +62,124 @@ EXPORT_SYMBOL_GPL(phy_duplex_to_str);
62
62
* must be grouped by speed and sorted in descending match priority
63
63
* - iow, descending speed. */
64
64
static const struct phy_setting settings [] = {
65
+ /* 100G */
66
+ {
67
+ .speed = SPEED_100000 ,
68
+ .duplex = DUPLEX_FULL ,
69
+ .bit = ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT ,
70
+ },
71
+ {
72
+ .speed = SPEED_100000 ,
73
+ .duplex = DUPLEX_FULL ,
74
+ .bit = ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT ,
75
+ },
76
+ {
77
+ .speed = SPEED_100000 ,
78
+ .duplex = DUPLEX_FULL ,
79
+ .bit = ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT ,
80
+ },
81
+ {
82
+ .speed = SPEED_100000 ,
83
+ .duplex = DUPLEX_FULL ,
84
+ .bit = ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT ,
85
+ },
86
+ /* 56G */
87
+ {
88
+ .speed = SPEED_56000 ,
89
+ .duplex = DUPLEX_FULL ,
90
+ .bit = ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT ,
91
+ },
92
+ {
93
+ .speed = SPEED_56000 ,
94
+ .duplex = DUPLEX_FULL ,
95
+ .bit = ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT ,
96
+ },
97
+ {
98
+ .speed = SPEED_56000 ,
99
+ .duplex = DUPLEX_FULL ,
100
+ .bit = ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT ,
101
+ },
102
+ {
103
+ .speed = SPEED_56000 ,
104
+ .duplex = DUPLEX_FULL ,
105
+ .bit = ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT ,
106
+ },
107
+ /* 50G */
108
+ {
109
+ .speed = SPEED_50000 ,
110
+ .duplex = DUPLEX_FULL ,
111
+ .bit = ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT ,
112
+ },
113
+ {
114
+ .speed = SPEED_50000 ,
115
+ .duplex = DUPLEX_FULL ,
116
+ .bit = ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT ,
117
+ },
118
+ {
119
+ .speed = SPEED_50000 ,
120
+ .duplex = DUPLEX_FULL ,
121
+ .bit = ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT ,
122
+ },
123
+ /* 40G */
124
+ {
125
+ .speed = SPEED_40000 ,
126
+ .duplex = DUPLEX_FULL ,
127
+ .bit = ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT ,
128
+ },
129
+ {
130
+ .speed = SPEED_40000 ,
131
+ .duplex = DUPLEX_FULL ,
132
+ .bit = ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT ,
133
+ },
134
+ {
135
+ .speed = SPEED_40000 ,
136
+ .duplex = DUPLEX_FULL ,
137
+ .bit = ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT ,
138
+ },
139
+ {
140
+ .speed = SPEED_40000 ,
141
+ .duplex = DUPLEX_FULL ,
142
+ .bit = ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT ,
143
+ },
144
+ /* 25G */
145
+ {
146
+ .speed = SPEED_25000 ,
147
+ .duplex = DUPLEX_FULL ,
148
+ .bit = ETHTOOL_LINK_MODE_25000baseCR_Full_BIT ,
149
+ },
150
+ {
151
+ .speed = SPEED_25000 ,
152
+ .duplex = DUPLEX_FULL ,
153
+ .bit = ETHTOOL_LINK_MODE_25000baseKR_Full_BIT ,
154
+ },
155
+ {
156
+ .speed = SPEED_25000 ,
157
+ .duplex = DUPLEX_FULL ,
158
+ .bit = ETHTOOL_LINK_MODE_25000baseSR_Full_BIT ,
159
+ },
160
+
161
+ /* 20G */
162
+ {
163
+ .speed = SPEED_20000 ,
164
+ .duplex = DUPLEX_FULL ,
165
+ .bit = ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT ,
166
+ },
167
+ {
168
+ .speed = SPEED_20000 ,
169
+ .duplex = DUPLEX_FULL ,
170
+ .bit = ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT ,
171
+ },
172
+ /* 10G */
173
+ {
174
+ .speed = SPEED_10000 ,
175
+ .duplex = DUPLEX_FULL ,
176
+ .bit = ETHTOOL_LINK_MODE_10000baseCR_Full_BIT ,
177
+ },
178
+ {
179
+ .speed = SPEED_10000 ,
180
+ .duplex = DUPLEX_FULL ,
181
+ .bit = ETHTOOL_LINK_MODE_10000baseER_Full_BIT ,
182
+ },
65
183
{
66
184
.speed = SPEED_10000 ,
67
185
.duplex = DUPLEX_FULL ,
@@ -72,25 +190,54 @@ static const struct phy_setting settings[] = {
72
190
.duplex = DUPLEX_FULL ,
73
191
.bit = ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT ,
74
192
},
193
+ {
194
+ .speed = SPEED_10000 ,
195
+ .duplex = DUPLEX_FULL ,
196
+ .bit = ETHTOOL_LINK_MODE_10000baseLR_Full_BIT ,
197
+ },
198
+ {
199
+ .speed = SPEED_10000 ,
200
+ .duplex = DUPLEX_FULL ,
201
+ .bit = ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT ,
202
+ },
203
+ {
204
+ .speed = SPEED_10000 ,
205
+ .duplex = DUPLEX_FULL ,
206
+ .bit = ETHTOOL_LINK_MODE_10000baseR_FEC_BIT ,
207
+ },
208
+ {
209
+ .speed = SPEED_10000 ,
210
+ .duplex = DUPLEX_FULL ,
211
+ .bit = ETHTOOL_LINK_MODE_10000baseSR_Full_BIT ,
212
+ },
75
213
{
76
214
.speed = SPEED_10000 ,
77
215
.duplex = DUPLEX_FULL ,
78
216
.bit = ETHTOOL_LINK_MODE_10000baseT_Full_BIT ,
79
217
},
218
+ /* 5G */
219
+ {
220
+ .speed = SPEED_5000 ,
221
+ .duplex = DUPLEX_FULL ,
222
+ .bit = ETHTOOL_LINK_MODE_5000baseT_Full_BIT ,
223
+ },
224
+
225
+ /* 2.5G */
80
226
{
81
227
.speed = SPEED_2500 ,
82
228
.duplex = DUPLEX_FULL ,
83
- .bit = ETHTOOL_LINK_MODE_2500baseX_Full_BIT ,
229
+ .bit = ETHTOOL_LINK_MODE_2500baseT_Full_BIT ,
84
230
},
85
231
{
86
- .speed = SPEED_1000 ,
232
+ .speed = SPEED_2500 ,
87
233
.duplex = DUPLEX_FULL ,
88
- .bit = ETHTOOL_LINK_MODE_1000baseKX_Full_BIT ,
234
+ .bit = ETHTOOL_LINK_MODE_2500baseX_Full_BIT ,
89
235
},
236
+ /* 1G */
90
237
{
91
238
.speed = SPEED_1000 ,
92
239
.duplex = DUPLEX_FULL ,
93
- .bit = ETHTOOL_LINK_MODE_1000baseX_Full_BIT ,
240
+ .bit = ETHTOOL_LINK_MODE_1000baseKX_Full_BIT ,
94
241
},
95
242
{
96
243
.speed = SPEED_1000 ,
@@ -102,6 +249,12 @@ static const struct phy_setting settings[] = {
102
249
.duplex = DUPLEX_HALF ,
103
250
.bit = ETHTOOL_LINK_MODE_1000baseT_Half_BIT ,
104
251
},
252
+ {
253
+ .speed = SPEED_1000 ,
254
+ .duplex = DUPLEX_FULL ,
255
+ .bit = ETHTOOL_LINK_MODE_1000baseX_Full_BIT ,
256
+ },
257
+ /* 100M */
105
258
{
106
259
.speed = SPEED_100 ,
107
260
.duplex = DUPLEX_FULL ,
@@ -112,6 +265,7 @@ static const struct phy_setting settings[] = {
112
265
.duplex = DUPLEX_HALF ,
113
266
.bit = ETHTOOL_LINK_MODE_100baseT_Half_BIT ,
114
267
},
268
+ /* 10M */
115
269
{
116
270
.speed = SPEED_10 ,
117
271
.duplex = DUPLEX_FULL ,
0 commit comments