Lines Matching +full:0 +full:xf000
23 int oldpage = phy_select_page(phydev, 0x0007); in r8168d_modify_extpage()
25 __phy_write(phydev, 0x1e, extpage); in r8168d_modify_extpage()
28 phy_restore_page(phydev, oldpage, 0); in r8168d_modify_extpage()
34 int oldpage = phy_select_page(phydev, 0x0005); in r8168d_phy_param()
36 __phy_write(phydev, 0x05, parm); in r8168d_phy_param()
37 __phy_modify(phydev, 0x06, mask, val); in r8168d_phy_param()
39 phy_restore_page(phydev, oldpage, 0); in r8168d_phy_param()
45 int oldpage = phy_select_page(phydev, 0x0a43); in r8168g_phy_param()
47 __phy_write(phydev, 0x13, parm); in r8168g_phy_param()
48 __phy_modify(phydev, 0x14, mask, val); in r8168g_phy_param()
50 phy_restore_page(phydev, oldpage, 0); in r8168g_phy_param()
63 while (len-- > 0) { in __rtl_writephy_batch()
75 r8168d_modify_extpage(phydev, 0x0020, 0x15, 0, BIT(8)); in rtl8168f_config_eee_phy()
76 r8168d_phy_param(phydev, 0x8b85, 0, BIT(13)); in rtl8168f_config_eee_phy()
81 phy_modify_paged(phydev, 0x0a43, 0x11, 0, BIT(4)); in rtl8168g_config_eee_phy()
88 phy_modify_paged(phydev, 0xa4a, 0x11, 0x0000, 0x0200); in rtl8168h_config_eee_phy()
89 phy_modify_paged(phydev, 0xa42, 0x14, 0x0000, 0x0080); in rtl8168h_config_eee_phy()
96 phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000); in rtl8125a_config_eee_phy()
97 phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000); in rtl8125a_config_eee_phy()
102 phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000); in rtl8125b_config_eee_phy()
103 phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000); in rtl8125b_config_eee_phy()
104 phy_modify_paged(phydev, 0xa42, 0x14, 0x0080, 0x0000); in rtl8125b_config_eee_phy()
105 phy_modify_paged(phydev, 0xa4a, 0x11, 0x0200, 0x0000); in rtl8125b_config_eee_phy()
112 { 0x1f, 0x0001 }, in rtl8169s_hw_phy_config()
113 { 0x06, 0x006e }, in rtl8169s_hw_phy_config()
114 { 0x08, 0x0708 }, in rtl8169s_hw_phy_config()
115 { 0x15, 0x4000 }, in rtl8169s_hw_phy_config()
116 { 0x18, 0x65c7 }, in rtl8169s_hw_phy_config()
118 { 0x1f, 0x0001 }, in rtl8169s_hw_phy_config()
119 { 0x03, 0x00a1 }, in rtl8169s_hw_phy_config()
120 { 0x02, 0x0008 }, in rtl8169s_hw_phy_config()
121 { 0x01, 0x0120 }, in rtl8169s_hw_phy_config()
122 { 0x00, 0x1000 }, in rtl8169s_hw_phy_config()
123 { 0x04, 0x0800 }, in rtl8169s_hw_phy_config()
124 { 0x04, 0x0000 }, in rtl8169s_hw_phy_config()
126 { 0x03, 0xff41 }, in rtl8169s_hw_phy_config()
127 { 0x02, 0xdf60 }, in rtl8169s_hw_phy_config()
128 { 0x01, 0x0140 }, in rtl8169s_hw_phy_config()
129 { 0x00, 0x0077 }, in rtl8169s_hw_phy_config()
130 { 0x04, 0x7800 }, in rtl8169s_hw_phy_config()
131 { 0x04, 0x7000 }, in rtl8169s_hw_phy_config()
133 { 0x03, 0x802f }, in rtl8169s_hw_phy_config()
134 { 0x02, 0x4f02 }, in rtl8169s_hw_phy_config()
135 { 0x01, 0x0409 }, in rtl8169s_hw_phy_config()
136 { 0x00, 0xf0f9 }, in rtl8169s_hw_phy_config()
137 { 0x04, 0x9800 }, in rtl8169s_hw_phy_config()
138 { 0x04, 0x9000 }, in rtl8169s_hw_phy_config()
140 { 0x03, 0xdf01 }, in rtl8169s_hw_phy_config()
141 { 0x02, 0xdf20 }, in rtl8169s_hw_phy_config()
142 { 0x01, 0xff95 }, in rtl8169s_hw_phy_config()
143 { 0x00, 0xba00 }, in rtl8169s_hw_phy_config()
144 { 0x04, 0xa800 }, in rtl8169s_hw_phy_config()
145 { 0x04, 0xa000 }, in rtl8169s_hw_phy_config()
147 { 0x03, 0xff41 }, in rtl8169s_hw_phy_config()
148 { 0x02, 0xdf20 }, in rtl8169s_hw_phy_config()
149 { 0x01, 0x0140 }, in rtl8169s_hw_phy_config()
150 { 0x00, 0x00bb }, in rtl8169s_hw_phy_config()
151 { 0x04, 0xb800 }, in rtl8169s_hw_phy_config()
152 { 0x04, 0xb000 }, in rtl8169s_hw_phy_config()
154 { 0x03, 0xdf41 }, in rtl8169s_hw_phy_config()
155 { 0x02, 0xdc60 }, in rtl8169s_hw_phy_config()
156 { 0x01, 0x6340 }, in rtl8169s_hw_phy_config()
157 { 0x00, 0x007d }, in rtl8169s_hw_phy_config()
158 { 0x04, 0xd800 }, in rtl8169s_hw_phy_config()
159 { 0x04, 0xd000 }, in rtl8169s_hw_phy_config()
161 { 0x03, 0xdf01 }, in rtl8169s_hw_phy_config()
162 { 0x02, 0xdf20 }, in rtl8169s_hw_phy_config()
163 { 0x01, 0x100a }, in rtl8169s_hw_phy_config()
164 { 0x00, 0xa0ff }, in rtl8169s_hw_phy_config()
165 { 0x04, 0xf800 }, in rtl8169s_hw_phy_config()
166 { 0x04, 0xf000 }, in rtl8169s_hw_phy_config()
168 { 0x1f, 0x0000 }, in rtl8169s_hw_phy_config()
169 { 0x0b, 0x0000 }, in rtl8169s_hw_phy_config()
170 { 0x00, 0x9200 } in rtl8169s_hw_phy_config()
179 phy_write_paged(phydev, 0x0002, 0x01, 0x90d0); in rtl8169sb_hw_phy_config()
186 { 0x1f, 0x0001 }, in rtl8169scd_hw_phy_config()
187 { 0x04, 0x0000 }, in rtl8169scd_hw_phy_config()
188 { 0x03, 0x00a1 }, in rtl8169scd_hw_phy_config()
189 { 0x02, 0x0008 }, in rtl8169scd_hw_phy_config()
190 { 0x01, 0x0120 }, in rtl8169scd_hw_phy_config()
191 { 0x00, 0x1000 }, in rtl8169scd_hw_phy_config()
192 { 0x04, 0x0800 }, in rtl8169scd_hw_phy_config()
193 { 0x04, 0x9000 }, in rtl8169scd_hw_phy_config()
194 { 0x03, 0x802f }, in rtl8169scd_hw_phy_config()
195 { 0x02, 0x4f02 }, in rtl8169scd_hw_phy_config()
196 { 0x01, 0x0409 }, in rtl8169scd_hw_phy_config()
197 { 0x00, 0xf099 }, in rtl8169scd_hw_phy_config()
198 { 0x04, 0x9800 }, in rtl8169scd_hw_phy_config()
199 { 0x04, 0xa000 }, in rtl8169scd_hw_phy_config()
200 { 0x03, 0xdf01 }, in rtl8169scd_hw_phy_config()
201 { 0x02, 0xdf20 }, in rtl8169scd_hw_phy_config()
202 { 0x01, 0xff95 }, in rtl8169scd_hw_phy_config()
203 { 0x00, 0xba00 }, in rtl8169scd_hw_phy_config()
204 { 0x04, 0xa800 }, in rtl8169scd_hw_phy_config()
205 { 0x04, 0xf000 }, in rtl8169scd_hw_phy_config()
206 { 0x03, 0xdf01 }, in rtl8169scd_hw_phy_config()
207 { 0x02, 0xdf20 }, in rtl8169scd_hw_phy_config()
208 { 0x01, 0x101a }, in rtl8169scd_hw_phy_config()
209 { 0x00, 0xa0ff }, in rtl8169scd_hw_phy_config()
210 { 0x04, 0xf800 }, in rtl8169scd_hw_phy_config()
211 { 0x04, 0x0000 }, in rtl8169scd_hw_phy_config()
212 { 0x1f, 0x0000 }, in rtl8169scd_hw_phy_config()
214 { 0x1f, 0x0001 }, in rtl8169scd_hw_phy_config()
215 { 0x10, 0xf41b }, in rtl8169scd_hw_phy_config()
216 { 0x14, 0xfb54 }, in rtl8169scd_hw_phy_config()
217 { 0x18, 0xf5c7 }, in rtl8169scd_hw_phy_config()
218 { 0x1f, 0x0000 }, in rtl8169scd_hw_phy_config()
220 { 0x1f, 0x0001 }, in rtl8169scd_hw_phy_config()
221 { 0x17, 0x0cc0 }, in rtl8169scd_hw_phy_config()
222 { 0x1f, 0x0000 } in rtl8169scd_hw_phy_config()
232 { 0x1f, 0x0001 }, in rtl8169sce_hw_phy_config()
233 { 0x04, 0x0000 }, in rtl8169sce_hw_phy_config()
234 { 0x03, 0x00a1 }, in rtl8169sce_hw_phy_config()
235 { 0x02, 0x0008 }, in rtl8169sce_hw_phy_config()
236 { 0x01, 0x0120 }, in rtl8169sce_hw_phy_config()
237 { 0x00, 0x1000 }, in rtl8169sce_hw_phy_config()
238 { 0x04, 0x0800 }, in rtl8169sce_hw_phy_config()
239 { 0x04, 0x9000 }, in rtl8169sce_hw_phy_config()
240 { 0x03, 0x802f }, in rtl8169sce_hw_phy_config()
241 { 0x02, 0x4f02 }, in rtl8169sce_hw_phy_config()
242 { 0x01, 0x0409 }, in rtl8169sce_hw_phy_config()
243 { 0x00, 0xf099 }, in rtl8169sce_hw_phy_config()
244 { 0x04, 0x9800 }, in rtl8169sce_hw_phy_config()
245 { 0x04, 0xa000 }, in rtl8169sce_hw_phy_config()
246 { 0x03, 0xdf01 }, in rtl8169sce_hw_phy_config()
247 { 0x02, 0xdf20 }, in rtl8169sce_hw_phy_config()
248 { 0x01, 0xff95 }, in rtl8169sce_hw_phy_config()
249 { 0x00, 0xba00 }, in rtl8169sce_hw_phy_config()
250 { 0x04, 0xa800 }, in rtl8169sce_hw_phy_config()
251 { 0x04, 0xf000 }, in rtl8169sce_hw_phy_config()
252 { 0x03, 0xdf01 }, in rtl8169sce_hw_phy_config()
253 { 0x02, 0xdf20 }, in rtl8169sce_hw_phy_config()
254 { 0x01, 0x101a }, in rtl8169sce_hw_phy_config()
255 { 0x00, 0xa0ff }, in rtl8169sce_hw_phy_config()
256 { 0x04, 0xf800 }, in rtl8169sce_hw_phy_config()
257 { 0x04, 0x0000 }, in rtl8169sce_hw_phy_config()
258 { 0x1f, 0x0000 }, in rtl8169sce_hw_phy_config()
260 { 0x1f, 0x0001 }, in rtl8169sce_hw_phy_config()
261 { 0x0b, 0x8480 }, in rtl8169sce_hw_phy_config()
262 { 0x1f, 0x0000 }, in rtl8169sce_hw_phy_config()
264 { 0x1f, 0x0001 }, in rtl8169sce_hw_phy_config()
265 { 0x18, 0x67c7 }, in rtl8169sce_hw_phy_config()
266 { 0x04, 0x2000 }, in rtl8169sce_hw_phy_config()
267 { 0x03, 0x002f }, in rtl8169sce_hw_phy_config()
268 { 0x02, 0x4360 }, in rtl8169sce_hw_phy_config()
269 { 0x01, 0x0109 }, in rtl8169sce_hw_phy_config()
270 { 0x00, 0x3022 }, in rtl8169sce_hw_phy_config()
271 { 0x04, 0x2800 }, in rtl8169sce_hw_phy_config()
272 { 0x1f, 0x0000 }, in rtl8169sce_hw_phy_config()
274 { 0x1f, 0x0001 }, in rtl8169sce_hw_phy_config()
275 { 0x17, 0x0cc0 }, in rtl8169sce_hw_phy_config()
276 { 0x1f, 0x0000 } in rtl8169sce_hw_phy_config()
285 phy_write(phydev, 0x1f, 0x0001); in rtl8168bb_hw_phy_config()
286 phy_set_bits(phydev, 0x16, BIT(0)); in rtl8168bb_hw_phy_config()
287 phy_write(phydev, 0x10, 0xf41b); in rtl8168bb_hw_phy_config()
288 phy_write(phydev, 0x1f, 0x0000); in rtl8168bb_hw_phy_config()
294 phy_write_paged(phydev, 0x0001, 0x10, 0xf41b); in rtl8168bef_hw_phy_config()
300 phy_write(phydev, 0x1d, 0x0f00); in rtl8168cp_1_hw_phy_config()
301 phy_write_paged(phydev, 0x0002, 0x0c, 0x1ec8); in rtl8168cp_1_hw_phy_config()
307 phy_set_bits(phydev, 0x14, BIT(5)); in rtl8168cp_2_hw_phy_config()
308 phy_set_bits(phydev, 0x0d, BIT(5)); in rtl8168cp_2_hw_phy_config()
309 phy_write_paged(phydev, 0x0001, 0x1d, 0x3d98); in rtl8168cp_2_hw_phy_config()
316 { 0x1f, 0x0001 }, in rtl8168c_1_hw_phy_config()
317 { 0x12, 0x2300 }, in rtl8168c_1_hw_phy_config()
318 { 0x1f, 0x0002 }, in rtl8168c_1_hw_phy_config()
319 { 0x00, 0x88d4 }, in rtl8168c_1_hw_phy_config()
320 { 0x01, 0x82b1 }, in rtl8168c_1_hw_phy_config()
321 { 0x03, 0x7002 }, in rtl8168c_1_hw_phy_config()
322 { 0x08, 0x9e30 }, in rtl8168c_1_hw_phy_config()
323 { 0x09, 0x01f0 }, in rtl8168c_1_hw_phy_config()
324 { 0x0a, 0x5500 }, in rtl8168c_1_hw_phy_config()
325 { 0x0c, 0x00c8 }, in rtl8168c_1_hw_phy_config()
326 { 0x1f, 0x0003 }, in rtl8168c_1_hw_phy_config()
327 { 0x12, 0xc096 }, in rtl8168c_1_hw_phy_config()
328 { 0x16, 0x000a }, in rtl8168c_1_hw_phy_config()
329 { 0x1f, 0x0000 }, in rtl8168c_1_hw_phy_config()
330 { 0x1f, 0x0000 }, in rtl8168c_1_hw_phy_config()
331 { 0x09, 0x2000 }, in rtl8168c_1_hw_phy_config()
332 { 0x09, 0x0000 } in rtl8168c_1_hw_phy_config()
337 phy_set_bits(phydev, 0x14, BIT(5)); in rtl8168c_1_hw_phy_config()
338 phy_set_bits(phydev, 0x0d, BIT(5)); in rtl8168c_1_hw_phy_config()
345 { 0x1f, 0x0001 }, in rtl8168c_2_hw_phy_config()
346 { 0x12, 0x2300 }, in rtl8168c_2_hw_phy_config()
347 { 0x03, 0x802f }, in rtl8168c_2_hw_phy_config()
348 { 0x02, 0x4f02 }, in rtl8168c_2_hw_phy_config()
349 { 0x01, 0x0409 }, in rtl8168c_2_hw_phy_config()
350 { 0x00, 0xf099 }, in rtl8168c_2_hw_phy_config()
351 { 0x04, 0x9800 }, in rtl8168c_2_hw_phy_config()
352 { 0x04, 0x9000 }, in rtl8168c_2_hw_phy_config()
353 { 0x1d, 0x3d98 }, in rtl8168c_2_hw_phy_config()
354 { 0x1f, 0x0002 }, in rtl8168c_2_hw_phy_config()
355 { 0x0c, 0x7eb8 }, in rtl8168c_2_hw_phy_config()
356 { 0x06, 0x0761 }, in rtl8168c_2_hw_phy_config()
357 { 0x1f, 0x0003 }, in rtl8168c_2_hw_phy_config()
358 { 0x16, 0x0f0a }, in rtl8168c_2_hw_phy_config()
359 { 0x1f, 0x0000 } in rtl8168c_2_hw_phy_config()
364 phy_set_bits(phydev, 0x16, BIT(0)); in rtl8168c_2_hw_phy_config()
365 phy_set_bits(phydev, 0x14, BIT(5)); in rtl8168c_2_hw_phy_config()
366 phy_set_bits(phydev, 0x0d, BIT(5)); in rtl8168c_2_hw_phy_config()
373 { 0x1f, 0x0001 }, in rtl8168c_3_hw_phy_config()
374 { 0x12, 0x2300 }, in rtl8168c_3_hw_phy_config()
375 { 0x1d, 0x3d98 }, in rtl8168c_3_hw_phy_config()
376 { 0x1f, 0x0002 }, in rtl8168c_3_hw_phy_config()
377 { 0x0c, 0x7eb8 }, in rtl8168c_3_hw_phy_config()
378 { 0x06, 0x5461 }, in rtl8168c_3_hw_phy_config()
379 { 0x1f, 0x0003 }, in rtl8168c_3_hw_phy_config()
380 { 0x16, 0x0f0a }, in rtl8168c_3_hw_phy_config()
381 { 0x1f, 0x0000 } in rtl8168c_3_hw_phy_config()
386 phy_set_bits(phydev, 0x16, BIT(0)); in rtl8168c_3_hw_phy_config()
387 phy_set_bits(phydev, 0x14, BIT(5)); in rtl8168c_3_hw_phy_config()
388 phy_set_bits(phydev, 0x0d, BIT(5)); in rtl8168c_3_hw_phy_config()
393 { 0x1f, 0x0001 },
394 { 0x06, 0x4064 },
395 { 0x07, 0x2863 },
396 { 0x08, 0x059c },
397 { 0x09, 0x26b4 },
398 { 0x0a, 0x6a19 },
399 { 0x0b, 0xdcc8 },
400 { 0x10, 0xf06d },
401 { 0x14, 0x7f68 },
402 { 0x18, 0x7fd9 },
403 { 0x1c, 0xf0ff },
404 { 0x1d, 0x3d9c },
405 { 0x1f, 0x0003 },
406 { 0x12, 0xf49f },
407 { 0x13, 0x070b },
408 { 0x1a, 0x05ad },
409 { 0x14, 0x94c0 },
415 { 0x1f, 0x0002 },
416 { 0x06, 0x5561 },
417 { 0x1f, 0x0005 },
418 { 0x05, 0x8332 },
419 { 0x06, 0x5561 },
425 { 0x1f, 0x0001 },
426 { 0x17, 0x0cc0 },
428 { 0x1f, 0x0000 },
429 { 0x0d, 0xf880 }
433 { 0x1f, 0x0002 },
434 { 0x05, 0x669a },
435 { 0x1f, 0x0005 },
436 { 0x05, 0x8330 },
437 { 0x06, 0x669a },
438 { 0x1f, 0x0002 }
447 phy_write(phydev, 0x1f, 0x0005); in rtl8168d_apply_firmware_cond()
448 phy_write(phydev, 0x05, 0x001b); in rtl8168d_apply_firmware_cond()
449 reg_val = phy_read(phydev, 0x06); in rtl8168d_apply_firmware_cond()
450 phy_write(phydev, 0x1f, 0x0000); in rtl8168d_apply_firmware_cond()
467 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_1_hw_phy_config()
468 phy_modify(phydev, 0x0b, 0x00ef, 0x0010); in rtl8168d_1_hw_phy_config()
469 phy_modify(phydev, 0x0c, 0x5d00, 0xa200); in rtl8168d_1_hw_phy_config()
471 if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) { in rtl8168d_1_hw_phy_config()
476 val = phy_read(phydev, 0x0d); in rtl8168d_1_hw_phy_config()
478 if ((val & 0x00ff) != 0x006c) { in rtl8168d_1_hw_phy_config()
480 0x0065, 0x0066, 0x0067, 0x0068, in rtl8168d_1_hw_phy_config()
481 0x0069, 0x006a, 0x006b, 0x006c in rtl8168d_1_hw_phy_config()
485 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_1_hw_phy_config()
487 val &= 0xff00; in rtl8168d_1_hw_phy_config()
488 for (i = 0; i < ARRAY_SIZE(set); i++) in rtl8168d_1_hw_phy_config()
489 phy_write(phydev, 0x0d, val | set[i]); in rtl8168d_1_hw_phy_config()
492 phy_write_paged(phydev, 0x0002, 0x05, 0x6662); in rtl8168d_1_hw_phy_config()
493 r8168d_phy_param(phydev, 0x8330, 0xffff, 0x6662); in rtl8168d_1_hw_phy_config()
497 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_1_hw_phy_config()
498 phy_set_bits(phydev, 0x0d, 0x0300); in rtl8168d_1_hw_phy_config()
499 phy_set_bits(phydev, 0x0f, 0x0010); in rtl8168d_1_hw_phy_config()
502 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_1_hw_phy_config()
503 phy_modify(phydev, 0x02, 0x0600, 0x0100); in rtl8168d_1_hw_phy_config()
504 phy_clear_bits(phydev, 0x03, 0xe000); in rtl8168d_1_hw_phy_config()
505 phy_write(phydev, 0x1f, 0x0000); in rtl8168d_1_hw_phy_config()
507 rtl8168d_apply_firmware_cond(tp, phydev, 0xbf00); in rtl8168d_1_hw_phy_config()
515 if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) { in rtl8168d_2_hw_phy_config()
520 val = phy_read(phydev, 0x0d); in rtl8168d_2_hw_phy_config()
521 if ((val & 0x00ff) != 0x006c) { in rtl8168d_2_hw_phy_config()
523 0x0065, 0x0066, 0x0067, 0x0068, in rtl8168d_2_hw_phy_config()
524 0x0069, 0x006a, 0x006b, 0x006c in rtl8168d_2_hw_phy_config()
528 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_2_hw_phy_config()
530 val &= 0xff00; in rtl8168d_2_hw_phy_config()
531 for (i = 0; i < ARRAY_SIZE(set); i++) in rtl8168d_2_hw_phy_config()
532 phy_write(phydev, 0x0d, val | set[i]); in rtl8168d_2_hw_phy_config()
535 phy_write_paged(phydev, 0x0002, 0x05, 0x2642); in rtl8168d_2_hw_phy_config()
536 r8168d_phy_param(phydev, 0x8330, 0xffff, 0x2642); in rtl8168d_2_hw_phy_config()
540 phy_write(phydev, 0x1f, 0x0002); in rtl8168d_2_hw_phy_config()
541 phy_modify(phydev, 0x02, 0x0600, 0x0100); in rtl8168d_2_hw_phy_config()
542 phy_clear_bits(phydev, 0x03, 0xe000); in rtl8168d_2_hw_phy_config()
543 phy_write(phydev, 0x1f, 0x0000); in rtl8168d_2_hw_phy_config()
546 phy_modify_paged(phydev, 0x0002, 0x0f, 0x0000, 0x0017); in rtl8168d_2_hw_phy_config()
548 rtl8168d_apply_firmware_cond(tp, phydev, 0xb300); in rtl8168d_2_hw_phy_config()
555 { 0x1f, 0x0002 }, in rtl8168d_3_hw_phy_config()
556 { 0x10, 0x0008 }, in rtl8168d_3_hw_phy_config()
557 { 0x0d, 0x006c }, in rtl8168d_3_hw_phy_config()
559 { 0x1f, 0x0000 }, in rtl8168d_3_hw_phy_config()
560 { 0x0d, 0xf880 }, in rtl8168d_3_hw_phy_config()
562 { 0x1f, 0x0001 }, in rtl8168d_3_hw_phy_config()
563 { 0x17, 0x0cc0 }, in rtl8168d_3_hw_phy_config()
565 { 0x1f, 0x0001 }, in rtl8168d_3_hw_phy_config()
566 { 0x0b, 0xa4d8 }, in rtl8168d_3_hw_phy_config()
567 { 0x09, 0x281c }, in rtl8168d_3_hw_phy_config()
568 { 0x07, 0x2883 }, in rtl8168d_3_hw_phy_config()
569 { 0x0a, 0x6b35 }, in rtl8168d_3_hw_phy_config()
570 { 0x1d, 0x3da4 }, in rtl8168d_3_hw_phy_config()
571 { 0x1c, 0xeffd }, in rtl8168d_3_hw_phy_config()
572 { 0x14, 0x7f52 }, in rtl8168d_3_hw_phy_config()
573 { 0x18, 0x7fc6 }, in rtl8168d_3_hw_phy_config()
574 { 0x08, 0x0601 }, in rtl8168d_3_hw_phy_config()
575 { 0x06, 0x4063 }, in rtl8168d_3_hw_phy_config()
576 { 0x10, 0xf074 }, in rtl8168d_3_hw_phy_config()
577 { 0x1f, 0x0003 }, in rtl8168d_3_hw_phy_config()
578 { 0x13, 0x0789 }, in rtl8168d_3_hw_phy_config()
579 { 0x12, 0xf4bd }, in rtl8168d_3_hw_phy_config()
580 { 0x1a, 0x04fd }, in rtl8168d_3_hw_phy_config()
581 { 0x14, 0x84b0 }, in rtl8168d_3_hw_phy_config()
582 { 0x1f, 0x0000 }, in rtl8168d_3_hw_phy_config()
583 { 0x00, 0x9200 }, in rtl8168d_3_hw_phy_config()
585 { 0x1f, 0x0005 }, in rtl8168d_3_hw_phy_config()
586 { 0x01, 0x0340 }, in rtl8168d_3_hw_phy_config()
587 { 0x1f, 0x0001 }, in rtl8168d_3_hw_phy_config()
588 { 0x04, 0x4000 }, in rtl8168d_3_hw_phy_config()
589 { 0x03, 0x1d21 }, in rtl8168d_3_hw_phy_config()
590 { 0x02, 0x0c32 }, in rtl8168d_3_hw_phy_config()
591 { 0x01, 0x0200 }, in rtl8168d_3_hw_phy_config()
592 { 0x00, 0x5554 }, in rtl8168d_3_hw_phy_config()
593 { 0x04, 0x4800 }, in rtl8168d_3_hw_phy_config()
594 { 0x04, 0x4000 }, in rtl8168d_3_hw_phy_config()
595 { 0x04, 0xf000 }, in rtl8168d_3_hw_phy_config()
596 { 0x03, 0xdf01 }, in rtl8168d_3_hw_phy_config()
597 { 0x02, 0xdf20 }, in rtl8168d_3_hw_phy_config()
598 { 0x01, 0x101a }, in rtl8168d_3_hw_phy_config()
599 { 0x00, 0xa0ff }, in rtl8168d_3_hw_phy_config()
600 { 0x04, 0xf800 }, in rtl8168d_3_hw_phy_config()
601 { 0x04, 0xf000 }, in rtl8168d_3_hw_phy_config()
602 { 0x1f, 0x0000 }, in rtl8168d_3_hw_phy_config()
606 r8168d_modify_extpage(phydev, 0x0023, 0x16, 0xffff, 0x0000); in rtl8168d_3_hw_phy_config()
612 phy_write_paged(phydev, 0x0001, 0x17, 0x0cc0); in rtl8168d_4_hw_phy_config()
613 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0xffff, 0x0040); in rtl8168d_4_hw_phy_config()
614 phy_set_bits(phydev, 0x0d, BIT(5)); in rtl8168d_4_hw_phy_config()
622 { 0x1f, 0x0001 }, in rtl8168e_1_hw_phy_config()
623 { 0x0b, 0x6c20 }, in rtl8168e_1_hw_phy_config()
624 { 0x07, 0x2872 }, in rtl8168e_1_hw_phy_config()
625 { 0x1c, 0xefff }, in rtl8168e_1_hw_phy_config()
626 { 0x1f, 0x0003 }, in rtl8168e_1_hw_phy_config()
627 { 0x14, 0x6420 }, in rtl8168e_1_hw_phy_config()
628 { 0x1f, 0x0000 }, in rtl8168e_1_hw_phy_config()
634 r8168d_phy_param(phydev, 0x8b80, 0xffff, 0xc896); in rtl8168e_1_hw_phy_config()
639 r8168d_modify_extpage(phydev, 0x002f, 0x15, 0xffff, 0x1919); in rtl8168e_1_hw_phy_config()
641 r8168d_modify_extpage(phydev, 0x00ac, 0x18, 0xffff, 0x0006); in rtl8168e_1_hw_phy_config()
644 r8168d_modify_extpage(phydev, 0x0023, 0x17, 0x0000, 0x0006); in rtl8168e_1_hw_phy_config()
647 phy_modify_paged(phydev, 0x0002, 0x08, 0x7f00, 0x8000); in rtl8168e_1_hw_phy_config()
650 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0050); in rtl8168e_1_hw_phy_config()
651 phy_set_bits(phydev, 0x14, BIT(15)); in rtl8168e_1_hw_phy_config()
653 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001); in rtl8168e_1_hw_phy_config()
654 r8168d_phy_param(phydev, 0x8b85, 0x2000, 0x0000); in rtl8168e_1_hw_phy_config()
656 r8168d_modify_extpage(phydev, 0x0020, 0x15, 0x1100, 0x0000); in rtl8168e_1_hw_phy_config()
657 phy_write_paged(phydev, 0x0006, 0x00, 0x5a00); in rtl8168e_1_hw_phy_config()
659 phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, 0x0000); in rtl8168e_1_hw_phy_config()
668 r8168d_modify_extpage(phydev, 0x00ac, 0x18, 0xffff, 0x0006); in rtl8168e_2_hw_phy_config()
671 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f); in rtl8168e_2_hw_phy_config()
674 r8168d_phy_param(phydev, 0x8b5b, 0xffff, 0x9222); in rtl8168e_2_hw_phy_config()
675 r8168d_phy_param(phydev, 0x8b6d, 0xffff, 0x8000); in rtl8168e_2_hw_phy_config()
676 r8168d_phy_param(phydev, 0x8b76, 0xffff, 0x8000); in rtl8168e_2_hw_phy_config()
679 phy_write(phydev, 0x1f, 0x0005); in rtl8168e_2_hw_phy_config()
680 phy_write(phydev, 0x05, 0x8b80); in rtl8168e_2_hw_phy_config()
681 phy_set_bits(phydev, 0x17, 0x0006); in rtl8168e_2_hw_phy_config()
682 phy_write(phydev, 0x1f, 0x0000); in rtl8168e_2_hw_phy_config()
685 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0010); in rtl8168e_2_hw_phy_config()
686 phy_set_bits(phydev, 0x14, BIT(15)); in rtl8168e_2_hw_phy_config()
689 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001); in rtl8168e_2_hw_phy_config()
692 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000); in rtl8168e_2_hw_phy_config()
697 phy_write(phydev, 0x1f, 0x0003); in rtl8168e_2_hw_phy_config()
698 phy_set_bits(phydev, 0x19, BIT(0)); in rtl8168e_2_hw_phy_config()
699 phy_set_bits(phydev, 0x10, BIT(10)); in rtl8168e_2_hw_phy_config()
700 phy_write(phydev, 0x1f, 0x0000); in rtl8168e_2_hw_phy_config()
701 phy_modify_paged(phydev, 0x0005, 0x01, 0, BIT(8)); in rtl8168e_2_hw_phy_config()
708 r8168d_phy_param(phydev, 0x8b80, 0x0000, 0x0006); in rtl8168f_hw_phy_config()
711 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0010); in rtl8168f_hw_phy_config()
712 phy_set_bits(phydev, 0x14, BIT(15)); in rtl8168f_hw_phy_config()
715 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001); in rtl8168f_hw_phy_config()
726 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f); in rtl8168f_1_hw_phy_config()
729 r8168d_phy_param(phydev, 0x8b55, 0xffff, 0x0000); in rtl8168f_1_hw_phy_config()
730 r8168d_phy_param(phydev, 0x8b5e, 0xffff, 0x0000); in rtl8168f_1_hw_phy_config()
731 r8168d_phy_param(phydev, 0x8b67, 0xffff, 0x0000); in rtl8168f_1_hw_phy_config()
732 r8168d_phy_param(phydev, 0x8b70, 0xffff, 0x0000); in rtl8168f_1_hw_phy_config()
733 r8168d_modify_extpage(phydev, 0x0078, 0x17, 0xffff, 0x0000); in rtl8168f_1_hw_phy_config()
734 r8168d_modify_extpage(phydev, 0x0078, 0x19, 0xffff, 0x00fb); in rtl8168f_1_hw_phy_config()
737 r8168d_phy_param(phydev, 0x8b79, 0xffff, 0xaa00); in rtl8168f_1_hw_phy_config()
740 phy_write_paged(phydev, 0x0003, 0x01, 0x328a); in rtl8168f_1_hw_phy_config()
745 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000); in rtl8168f_1_hw_phy_config()
764 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000); in rtl8411_hw_phy_config()
767 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f); in rtl8411_hw_phy_config()
770 r8168d_phy_param(phydev, 0x8b55, 0xffff, 0x0000); in rtl8411_hw_phy_config()
771 r8168d_phy_param(phydev, 0x8b5e, 0xffff, 0x0000); in rtl8411_hw_phy_config()
772 r8168d_phy_param(phydev, 0x8b67, 0xffff, 0x0000); in rtl8411_hw_phy_config()
773 r8168d_phy_param(phydev, 0x8b70, 0xffff, 0x0000); in rtl8411_hw_phy_config()
774 r8168d_modify_extpage(phydev, 0x0078, 0x17, 0xffff, 0x0000); in rtl8411_hw_phy_config()
775 r8168d_modify_extpage(phydev, 0x0078, 0x19, 0xffff, 0x00aa); in rtl8411_hw_phy_config()
778 r8168d_phy_param(phydev, 0x8b79, 0xffff, 0xaa00); in rtl8411_hw_phy_config()
781 phy_write_paged(phydev, 0x0003, 0x01, 0x328a); in rtl8411_hw_phy_config()
784 r8168d_phy_param(phydev, 0x8b54, 0x0800, 0x0000); in rtl8411_hw_phy_config()
785 r8168d_phy_param(phydev, 0x8b5d, 0x0800, 0x0000); in rtl8411_hw_phy_config()
786 r8168d_phy_param(phydev, 0x8a7c, 0x0100, 0x0000); in rtl8411_hw_phy_config()
787 r8168d_phy_param(phydev, 0x8a7f, 0x0000, 0x0100); in rtl8411_hw_phy_config()
788 r8168d_phy_param(phydev, 0x8a82, 0x0100, 0x0000); in rtl8411_hw_phy_config()
789 r8168d_phy_param(phydev, 0x8a85, 0x0100, 0x0000); in rtl8411_hw_phy_config()
790 r8168d_phy_param(phydev, 0x8a88, 0x0100, 0x0000); in rtl8411_hw_phy_config()
793 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x8000); in rtl8411_hw_phy_config()
796 phy_write(phydev, 0x1f, 0x0003); in rtl8411_hw_phy_config()
797 phy_clear_bits(phydev, 0x19, BIT(0)); in rtl8411_hw_phy_config()
798 phy_clear_bits(phydev, 0x10, BIT(10)); in rtl8411_hw_phy_config()
799 phy_write(phydev, 0x1f, 0x0000); in rtl8411_hw_phy_config()
804 phy_modify_paged(phydev, 0x0a43, 0x10, BIT(2), 0); in rtl8168g_disable_aldps()
809 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(11)); in rtl8168g_enable_gphy_10m()
814 phy_modify_paged(phydev, 0x0bcc, 0x14, BIT(8), 0); in rtl8168g_phy_adjust_10m_aldps()
815 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(7) | BIT(6)); in rtl8168g_phy_adjust_10m_aldps()
816 r8168g_phy_param(phydev, 0x8084, 0x6000, 0x0000); in rtl8168g_phy_adjust_10m_aldps()
817 phy_modify_paged(phydev, 0x0a43, 0x10, 0x0000, 0x1003); in rtl8168g_phy_adjust_10m_aldps()
827 ret = phy_read_paged(phydev, 0x0a46, 0x10); in rtl8168g_1_hw_phy_config()
829 phy_modify_paged(phydev, 0x0bcc, 0x12, BIT(15), 0); in rtl8168g_1_hw_phy_config()
831 phy_modify_paged(phydev, 0x0bcc, 0x12, 0, BIT(15)); in rtl8168g_1_hw_phy_config()
833 ret = phy_read_paged(phydev, 0x0a46, 0x13); in rtl8168g_1_hw_phy_config()
835 phy_modify_paged(phydev, 0x0c41, 0x15, 0, BIT(1)); in rtl8168g_1_hw_phy_config()
837 phy_modify_paged(phydev, 0x0c41, 0x15, BIT(1), 0); in rtl8168g_1_hw_phy_config()
840 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(3) | BIT(2)); in rtl8168g_1_hw_phy_config()
845 phy_modify_paged(phydev, 0x0a4b, 0x11, 0, BIT(2)); in rtl8168g_1_hw_phy_config()
848 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x8000); in rtl8168g_1_hw_phy_config()
850 phy_modify_paged(phydev, 0x0c42, 0x11, BIT(13), BIT(14)); in rtl8168g_1_hw_phy_config()
853 phy_write(phydev, 0x1f, 0x0bcd); in rtl8168g_1_hw_phy_config()
854 phy_write(phydev, 0x14, 0x5065); in rtl8168g_1_hw_phy_config()
855 phy_write(phydev, 0x14, 0xd065); in rtl8168g_1_hw_phy_config()
856 phy_write(phydev, 0x1f, 0x0bc8); in rtl8168g_1_hw_phy_config()
857 phy_write(phydev, 0x11, 0x5655); in rtl8168g_1_hw_phy_config()
858 phy_write(phydev, 0x1f, 0x0bcd); in rtl8168g_1_hw_phy_config()
859 phy_write(phydev, 0x14, 0x1065); in rtl8168g_1_hw_phy_config()
860 phy_write(phydev, 0x14, 0x9065); in rtl8168g_1_hw_phy_config()
861 phy_write(phydev, 0x14, 0x1065); in rtl8168g_1_hw_phy_config()
862 phy_write(phydev, 0x1f, 0x0000); in rtl8168g_1_hw_phy_config()
884 r8168g_phy_param(phydev, 0x809b, 0xf800, 0x8000); in rtl8168h_1_hw_phy_config()
885 r8168g_phy_param(phydev, 0x80a2, 0xff00, 0x8000); in rtl8168h_1_hw_phy_config()
886 r8168g_phy_param(phydev, 0x80a4, 0xff00, 0x8500); in rtl8168h_1_hw_phy_config()
887 r8168g_phy_param(phydev, 0x809c, 0xff00, 0xbd00); in rtl8168h_1_hw_phy_config()
890 r8168g_phy_param(phydev, 0x80ad, 0xf800, 0x7000); in rtl8168h_1_hw_phy_config()
891 r8168g_phy_param(phydev, 0x80b4, 0xff00, 0x5000); in rtl8168h_1_hw_phy_config()
892 r8168g_phy_param(phydev, 0x80ac, 0xff00, 0x4000); in rtl8168h_1_hw_phy_config()
895 r8168g_phy_param(phydev, 0x808e, 0xff00, 0x1200); in rtl8168h_1_hw_phy_config()
896 r8168g_phy_param(phydev, 0x8090, 0xff00, 0xe500); in rtl8168h_1_hw_phy_config()
897 r8168g_phy_param(phydev, 0x8092, 0xff00, 0x9f00); in rtl8168h_1_hw_phy_config()
900 dout_tapbin = 0; in rtl8168h_1_hw_phy_config()
901 data = phy_read_paged(phydev, 0x0a46, 0x13); in rtl8168h_1_hw_phy_config()
905 data = phy_read_paged(phydev, 0x0a46, 0x12); in rtl8168h_1_hw_phy_config()
906 data &= 0xc000; in rtl8168h_1_hw_phy_config()
909 dout_tapbin = ~(dout_tapbin ^ 0x08); in rtl8168h_1_hw_phy_config()
911 dout_tapbin &= 0xf000; in rtl8168h_1_hw_phy_config()
913 r8168g_phy_param(phydev, 0x827a, 0xf000, dout_tapbin); in rtl8168h_1_hw_phy_config()
914 r8168g_phy_param(phydev, 0x827b, 0xf000, dout_tapbin); in rtl8168h_1_hw_phy_config()
915 r8168g_phy_param(phydev, 0x827c, 0xf000, dout_tapbin); in rtl8168h_1_hw_phy_config()
916 r8168g_phy_param(phydev, 0x827d, 0xf000, dout_tapbin); in rtl8168h_1_hw_phy_config()
917 r8168g_phy_param(phydev, 0x0811, 0x0000, 0x0800); in rtl8168h_1_hw_phy_config()
918 phy_modify_paged(phydev, 0x0a42, 0x16, 0x0000, 0x0002); in rtl8168h_1_hw_phy_config()
923 phy_modify_paged(phydev, 0x0bca, 0x17, BIT(12) | BIT(13), BIT(14)); in rtl8168h_1_hw_phy_config()
925 r8168g_phy_param(phydev, 0x803f, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
926 r8168g_phy_param(phydev, 0x8047, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
927 r8168g_phy_param(phydev, 0x804f, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
928 r8168g_phy_param(phydev, 0x8057, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
929 r8168g_phy_param(phydev, 0x805f, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
930 r8168g_phy_param(phydev, 0x8067, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
931 r8168g_phy_param(phydev, 0x806f, 0x3000, 0x0000); in rtl8168h_1_hw_phy_config()
934 phy_modify_paged(phydev, 0x0a44, 0x11, BIT(7), 0); in rtl8168h_1_hw_phy_config()
949 r8168g_phy_param(phydev, 0x808a, 0x003f, 0x000a); in rtl8168h_2_hw_phy_config()
952 r8168g_phy_param(phydev, 0x0811, 0x0000, 0x0800); in rtl8168h_2_hw_phy_config()
953 phy_modify_paged(phydev, 0x0a42, 0x16, 0x0000, 0x0002); in rtl8168h_2_hw_phy_config()
958 if (ioffset != 0xffff) in rtl8168h_2_hw_phy_config()
959 phy_write_paged(phydev, 0x0bcf, 0x16, ioffset); in rtl8168h_2_hw_phy_config()
962 data = phy_read_paged(phydev, 0x0bcd, 0x16); in rtl8168h_2_hw_phy_config()
963 data &= 0x000f; in rtl8168h_2_hw_phy_config()
964 rlen = 0; in rtl8168h_2_hw_phy_config()
968 phy_write_paged(phydev, 0x0bcd, 0x17, data); in rtl8168h_2_hw_phy_config()
971 phy_modify_paged(phydev, 0x0a44, 0x11, BIT(7), 0); in rtl8168h_2_hw_phy_config()
981 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(3) | BIT(2)); in rtl8168ep_1_hw_phy_config()
986 phy_modify_paged(phydev, 0x0a4b, 0x11, 0, BIT(2)); in rtl8168ep_1_hw_phy_config()
989 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x8000); in rtl8168ep_1_hw_phy_config()
992 phy_modify_paged(phydev, 0x0c42, 0x11, BIT(13), BIT(14)); in rtl8168ep_1_hw_phy_config()
1004 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x8000); in rtl8168ep_2_hw_phy_config()
1007 phy_modify_paged(phydev, 0x0c42, 0x11, BIT(13), BIT(14)); in rtl8168ep_2_hw_phy_config()
1010 r8168g_phy_param(phydev, 0x80f3, 0xff00, 0x8b00); in rtl8168ep_2_hw_phy_config()
1011 r8168g_phy_param(phydev, 0x80f0, 0xff00, 0x3a00); in rtl8168ep_2_hw_phy_config()
1012 r8168g_phy_param(phydev, 0x80ef, 0xff00, 0x0500); in rtl8168ep_2_hw_phy_config()
1013 r8168g_phy_param(phydev, 0x80f6, 0xff00, 0x6e00); in rtl8168ep_2_hw_phy_config()
1014 r8168g_phy_param(phydev, 0x80ec, 0xff00, 0x6800); in rtl8168ep_2_hw_phy_config()
1015 r8168g_phy_param(phydev, 0x80ed, 0xff00, 0x7c00); in rtl8168ep_2_hw_phy_config()
1016 r8168g_phy_param(phydev, 0x80f2, 0xff00, 0xf400); in rtl8168ep_2_hw_phy_config()
1017 r8168g_phy_param(phydev, 0x80f4, 0xff00, 0x8500); in rtl8168ep_2_hw_phy_config()
1018 r8168g_phy_param(phydev, 0x8110, 0xff00, 0xa800); in rtl8168ep_2_hw_phy_config()
1019 r8168g_phy_param(phydev, 0x810f, 0xff00, 0x1d00); in rtl8168ep_2_hw_phy_config()
1020 r8168g_phy_param(phydev, 0x8111, 0xff00, 0xf500); in rtl8168ep_2_hw_phy_config()
1021 r8168g_phy_param(phydev, 0x8113, 0xff00, 0x6100); in rtl8168ep_2_hw_phy_config()
1022 r8168g_phy_param(phydev, 0x8115, 0xff00, 0x9200); in rtl8168ep_2_hw_phy_config()
1023 r8168g_phy_param(phydev, 0x810e, 0xff00, 0x0400); in rtl8168ep_2_hw_phy_config()
1024 r8168g_phy_param(phydev, 0x810c, 0xff00, 0x7c00); in rtl8168ep_2_hw_phy_config()
1025 r8168g_phy_param(phydev, 0x810b, 0xff00, 0x5a00); in rtl8168ep_2_hw_phy_config()
1026 r8168g_phy_param(phydev, 0x80d1, 0xff00, 0xff00); in rtl8168ep_2_hw_phy_config()
1027 r8168g_phy_param(phydev, 0x80cd, 0xff00, 0x9e00); in rtl8168ep_2_hw_phy_config()
1028 r8168g_phy_param(phydev, 0x80d3, 0xff00, 0x0e00); in rtl8168ep_2_hw_phy_config()
1029 r8168g_phy_param(phydev, 0x80d5, 0xff00, 0xca00); in rtl8168ep_2_hw_phy_config()
1030 r8168g_phy_param(phydev, 0x80d7, 0xff00, 0x8400); in rtl8168ep_2_hw_phy_config()
1033 phy_write(phydev, 0x1f, 0x0bcd); in rtl8168ep_2_hw_phy_config()
1034 phy_write(phydev, 0x14, 0x5065); in rtl8168ep_2_hw_phy_config()
1035 phy_write(phydev, 0x14, 0xd065); in rtl8168ep_2_hw_phy_config()
1036 phy_write(phydev, 0x1f, 0x0bc8); in rtl8168ep_2_hw_phy_config()
1037 phy_write(phydev, 0x12, 0x00ed); in rtl8168ep_2_hw_phy_config()
1038 phy_write(phydev, 0x1f, 0x0bcd); in rtl8168ep_2_hw_phy_config()
1039 phy_write(phydev, 0x14, 0x1065); in rtl8168ep_2_hw_phy_config()
1040 phy_write(phydev, 0x14, 0x9065); in rtl8168ep_2_hw_phy_config()
1041 phy_write(phydev, 0x14, 0x1065); in rtl8168ep_2_hw_phy_config()
1042 phy_write(phydev, 0x1f, 0x0000); in rtl8168ep_2_hw_phy_config()
1052 r8168g_phy_param(phydev, 0x808e, 0xff00, 0x4800); in rtl8117_hw_phy_config()
1053 r8168g_phy_param(phydev, 0x8090, 0xff00, 0xcc00); in rtl8117_hw_phy_config()
1054 r8168g_phy_param(phydev, 0x8092, 0xff00, 0xb000); in rtl8117_hw_phy_config()
1056 r8168g_phy_param(phydev, 0x8088, 0xff00, 0x6000); in rtl8117_hw_phy_config()
1057 r8168g_phy_param(phydev, 0x808b, 0x3f00, 0x0b00); in rtl8117_hw_phy_config()
1058 r8168g_phy_param(phydev, 0x808d, 0x1f00, 0x0600); in rtl8117_hw_phy_config()
1059 r8168g_phy_param(phydev, 0x808c, 0xff00, 0xb000); in rtl8117_hw_phy_config()
1060 r8168g_phy_param(phydev, 0x80a0, 0xff00, 0x2800); in rtl8117_hw_phy_config()
1061 r8168g_phy_param(phydev, 0x80a2, 0xff00, 0x5000); in rtl8117_hw_phy_config()
1062 r8168g_phy_param(phydev, 0x809b, 0xf800, 0xb000); in rtl8117_hw_phy_config()
1063 r8168g_phy_param(phydev, 0x809a, 0xff00, 0x4b00); in rtl8117_hw_phy_config()
1064 r8168g_phy_param(phydev, 0x809d, 0x3f00, 0x0800); in rtl8117_hw_phy_config()
1065 r8168g_phy_param(phydev, 0x80a1, 0xff00, 0x7000); in rtl8117_hw_phy_config()
1066 r8168g_phy_param(phydev, 0x809f, 0x1f00, 0x0300); in rtl8117_hw_phy_config()
1067 r8168g_phy_param(phydev, 0x809e, 0xff00, 0x8800); in rtl8117_hw_phy_config()
1068 r8168g_phy_param(phydev, 0x80b2, 0xff00, 0x2200); in rtl8117_hw_phy_config()
1069 r8168g_phy_param(phydev, 0x80ad, 0xf800, 0x9800); in rtl8117_hw_phy_config()
1070 r8168g_phy_param(phydev, 0x80af, 0x3f00, 0x0800); in rtl8117_hw_phy_config()
1071 r8168g_phy_param(phydev, 0x80b3, 0xff00, 0x6f00); in rtl8117_hw_phy_config()
1072 r8168g_phy_param(phydev, 0x80b1, 0x1f00, 0x0300); in rtl8117_hw_phy_config()
1073 r8168g_phy_param(phydev, 0x80b0, 0xff00, 0x9300); in rtl8117_hw_phy_config()
1075 r8168g_phy_param(phydev, 0x8011, 0x0000, 0x0800); in rtl8117_hw_phy_config()
1079 r8168g_phy_param(phydev, 0x8016, 0x0000, 0x0400); in rtl8117_hw_phy_config()
1089 { 0x1f, 0x0003 }, in rtl8102e_hw_phy_config()
1090 { 0x08, 0x441d }, in rtl8102e_hw_phy_config()
1091 { 0x01, 0x9100 }, in rtl8102e_hw_phy_config()
1092 { 0x1f, 0x0000 } in rtl8102e_hw_phy_config()
1095 phy_set_bits(phydev, 0x11, BIT(12)); in rtl8102e_hw_phy_config()
1096 phy_set_bits(phydev, 0x19, BIT(13)); in rtl8102e_hw_phy_config()
1097 phy_set_bits(phydev, 0x10, BIT(15)); in rtl8102e_hw_phy_config()
1105 phy_set_bits(phydev, 0x11, BIT(12)); in rtl8401_hw_phy_config()
1106 phy_modify_paged(phydev, 0x0002, 0x0f, 0x0000, 0x0003); in rtl8401_hw_phy_config()
1113 phy_write(phydev, 0x18, 0x0310); in rtl8105e_hw_phy_config()
1118 phy_write_paged(phydev, 0x0005, 0x1a, 0x0000); in rtl8105e_hw_phy_config()
1119 phy_write_paged(phydev, 0x0004, 0x1c, 0x0000); in rtl8105e_hw_phy_config()
1120 phy_write_paged(phydev, 0x0001, 0x15, 0x7701); in rtl8105e_hw_phy_config()
1127 phy_write(phydev, 0x18, 0x0310); in rtl8402_hw_phy_config()
1133 phy_write(phydev, 0x1f, 0x0004); in rtl8402_hw_phy_config()
1134 phy_write(phydev, 0x10, 0x401f); in rtl8402_hw_phy_config()
1135 phy_write(phydev, 0x19, 0x7030); in rtl8402_hw_phy_config()
1136 phy_write(phydev, 0x1f, 0x0000); in rtl8402_hw_phy_config()
1143 { 0x1f, 0x0004 }, in rtl8106e_hw_phy_config()
1144 { 0x10, 0xc07f }, in rtl8106e_hw_phy_config()
1145 { 0x19, 0x7030 }, in rtl8106e_hw_phy_config()
1146 { 0x1f, 0x0000 } in rtl8106e_hw_phy_config()
1150 phy_write(phydev, 0x18, 0x0310); in rtl8106e_hw_phy_config()
1160 phy_modify_paged(phydev, 0xa5b, 0x12, BIT(15), 0); in rtl8125_legacy_force_mode()
1166 phy_modify_paged(phydev, 0xad4, 0x10, 0x03ff, 0x0084); in rtl8125a_1_hw_phy_config()
1167 phy_modify_paged(phydev, 0xad4, 0x17, 0x0000, 0x0010); in rtl8125a_1_hw_phy_config()
1168 phy_modify_paged(phydev, 0xad1, 0x13, 0x03ff, 0x0006); in rtl8125a_1_hw_phy_config()
1169 phy_modify_paged(phydev, 0xad3, 0x11, 0x003f, 0x0006); in rtl8125a_1_hw_phy_config()
1170 phy_modify_paged(phydev, 0xac0, 0x14, 0x0000, 0x1100); in rtl8125a_1_hw_phy_config()
1171 phy_modify_paged(phydev, 0xac8, 0x15, 0xf000, 0x7000); in rtl8125a_1_hw_phy_config()
1172 phy_modify_paged(phydev, 0xad1, 0x14, 0x0000, 0x0400); in rtl8125a_1_hw_phy_config()
1173 phy_modify_paged(phydev, 0xad1, 0x15, 0x0000, 0x03ff); in rtl8125a_1_hw_phy_config()
1174 phy_modify_paged(phydev, 0xad1, 0x16, 0x0000, 0x03ff); in rtl8125a_1_hw_phy_config()
1176 r8168g_phy_param(phydev, 0x80ea, 0xff00, 0xc400); in rtl8125a_1_hw_phy_config()
1177 r8168g_phy_param(phydev, 0x80eb, 0x0700, 0x0300); in rtl8125a_1_hw_phy_config()
1178 r8168g_phy_param(phydev, 0x80f8, 0xff00, 0x1c00); in rtl8125a_1_hw_phy_config()
1179 r8168g_phy_param(phydev, 0x80f1, 0xff00, 0x3000); in rtl8125a_1_hw_phy_config()
1180 r8168g_phy_param(phydev, 0x80fe, 0xff00, 0xa500); in rtl8125a_1_hw_phy_config()
1181 r8168g_phy_param(phydev, 0x8102, 0xff00, 0x5000); in rtl8125a_1_hw_phy_config()
1182 r8168g_phy_param(phydev, 0x8105, 0xff00, 0x3300); in rtl8125a_1_hw_phy_config()
1183 r8168g_phy_param(phydev, 0x8100, 0xff00, 0x7000); in rtl8125a_1_hw_phy_config()
1184 r8168g_phy_param(phydev, 0x8104, 0xff00, 0xf000); in rtl8125a_1_hw_phy_config()
1185 r8168g_phy_param(phydev, 0x8106, 0xff00, 0x6500); in rtl8125a_1_hw_phy_config()
1186 r8168g_phy_param(phydev, 0x80dc, 0xff00, 0xed00); in rtl8125a_1_hw_phy_config()
1187 r8168g_phy_param(phydev, 0x80df, 0x0000, 0x0100); in rtl8125a_1_hw_phy_config()
1188 r8168g_phy_param(phydev, 0x80e1, 0x0100, 0x0000); in rtl8125a_1_hw_phy_config()
1190 phy_modify_paged(phydev, 0xbf0, 0x13, 0x003f, 0x0038); in rtl8125a_1_hw_phy_config()
1191 r8168g_phy_param(phydev, 0x819f, 0xffff, 0xd0b6); in rtl8125a_1_hw_phy_config()
1193 phy_write_paged(phydev, 0xbc3, 0x12, 0x5555); in rtl8125a_1_hw_phy_config()
1194 phy_modify_paged(phydev, 0xbf0, 0x15, 0x0e00, 0x0a00); in rtl8125a_1_hw_phy_config()
1195 phy_modify_paged(phydev, 0xa5c, 0x10, 0x0400, 0x0000); in rtl8125a_1_hw_phy_config()
1206 phy_modify_paged(phydev, 0xad4, 0x17, 0x0000, 0x0010); in rtl8125a_2_hw_phy_config()
1207 phy_modify_paged(phydev, 0xad1, 0x13, 0x03ff, 0x03ff); in rtl8125a_2_hw_phy_config()
1208 phy_modify_paged(phydev, 0xad3, 0x11, 0x003f, 0x0006); in rtl8125a_2_hw_phy_config()
1209 phy_modify_paged(phydev, 0xac0, 0x14, 0x1100, 0x0000); in rtl8125a_2_hw_phy_config()
1210 phy_modify_paged(phydev, 0xacc, 0x10, 0x0003, 0x0002); in rtl8125a_2_hw_phy_config()
1211 phy_modify_paged(phydev, 0xad4, 0x10, 0x00e7, 0x0044); in rtl8125a_2_hw_phy_config()
1212 phy_modify_paged(phydev, 0xac1, 0x12, 0x0080, 0x0000); in rtl8125a_2_hw_phy_config()
1213 phy_modify_paged(phydev, 0xac8, 0x10, 0x0300, 0x0000); in rtl8125a_2_hw_phy_config()
1214 phy_modify_paged(phydev, 0xac5, 0x17, 0x0007, 0x0002); in rtl8125a_2_hw_phy_config()
1215 phy_write_paged(phydev, 0xad4, 0x16, 0x00a8); in rtl8125a_2_hw_phy_config()
1216 phy_write_paged(phydev, 0xac5, 0x16, 0x01ff); in rtl8125a_2_hw_phy_config()
1217 phy_modify_paged(phydev, 0xac8, 0x15, 0x00f0, 0x0030); in rtl8125a_2_hw_phy_config()
1219 phy_write(phydev, 0x1f, 0x0b87); in rtl8125a_2_hw_phy_config()
1220 phy_write(phydev, 0x16, 0x80a2); in rtl8125a_2_hw_phy_config()
1221 phy_write(phydev, 0x17, 0x0153); in rtl8125a_2_hw_phy_config()
1222 phy_write(phydev, 0x16, 0x809c); in rtl8125a_2_hw_phy_config()
1223 phy_write(phydev, 0x17, 0x0153); in rtl8125a_2_hw_phy_config()
1224 phy_write(phydev, 0x1f, 0x0000); in rtl8125a_2_hw_phy_config()
1226 phy_write(phydev, 0x1f, 0x0a43); in rtl8125a_2_hw_phy_config()
1227 phy_write(phydev, 0x13, 0x81B3); in rtl8125a_2_hw_phy_config()
1228 phy_write(phydev, 0x14, 0x0043); in rtl8125a_2_hw_phy_config()
1229 phy_write(phydev, 0x14, 0x00A7); in rtl8125a_2_hw_phy_config()
1230 phy_write(phydev, 0x14, 0x00D6); in rtl8125a_2_hw_phy_config()
1231 phy_write(phydev, 0x14, 0x00EC); in rtl8125a_2_hw_phy_config()
1232 phy_write(phydev, 0x14, 0x00F6); in rtl8125a_2_hw_phy_config()
1233 phy_write(phydev, 0x14, 0x00FB); in rtl8125a_2_hw_phy_config()
1234 phy_write(phydev, 0x14, 0x00FD); in rtl8125a_2_hw_phy_config()
1235 phy_write(phydev, 0x14, 0x00FF); in rtl8125a_2_hw_phy_config()
1236 phy_write(phydev, 0x14, 0x00BB); in rtl8125a_2_hw_phy_config()
1237 phy_write(phydev, 0x14, 0x0058); in rtl8125a_2_hw_phy_config()
1238 phy_write(phydev, 0x14, 0x0029); in rtl8125a_2_hw_phy_config()
1239 phy_write(phydev, 0x14, 0x0013); in rtl8125a_2_hw_phy_config()
1240 phy_write(phydev, 0x14, 0x0009); in rtl8125a_2_hw_phy_config()
1241 phy_write(phydev, 0x14, 0x0004); in rtl8125a_2_hw_phy_config()
1242 phy_write(phydev, 0x14, 0x0002); in rtl8125a_2_hw_phy_config()
1243 for (i = 0; i < 25; i++) in rtl8125a_2_hw_phy_config()
1244 phy_write(phydev, 0x14, 0x0000); in rtl8125a_2_hw_phy_config()
1245 phy_write(phydev, 0x1f, 0x0000); in rtl8125a_2_hw_phy_config()
1247 r8168g_phy_param(phydev, 0x8257, 0xffff, 0x020F); in rtl8125a_2_hw_phy_config()
1248 r8168g_phy_param(phydev, 0x80ea, 0xffff, 0x7843); in rtl8125a_2_hw_phy_config()
1252 phy_modify_paged(phydev, 0xd06, 0x14, 0x0000, 0x2000); in rtl8125a_2_hw_phy_config()
1254 r8168g_phy_param(phydev, 0x81a2, 0x0000, 0x0100); in rtl8125a_2_hw_phy_config()
1256 phy_modify_paged(phydev, 0xb54, 0x16, 0xff00, 0xdb00); in rtl8125a_2_hw_phy_config()
1257 phy_modify_paged(phydev, 0xa45, 0x12, 0x0001, 0x0000); in rtl8125a_2_hw_phy_config()
1258 phy_modify_paged(phydev, 0xa5d, 0x12, 0x0000, 0x0020); in rtl8125a_2_hw_phy_config()
1259 phy_modify_paged(phydev, 0xad4, 0x17, 0x0010, 0x0000); in rtl8125a_2_hw_phy_config()
1260 phy_modify_paged(phydev, 0xa86, 0x15, 0x0001, 0x0000); in rtl8125a_2_hw_phy_config()
1271 phy_modify_paged(phydev, 0xa44, 0x11, 0x0000, 0x0800); in rtl8125b_hw_phy_config()
1272 phy_modify_paged(phydev, 0xac4, 0x13, 0x00f0, 0x0090); in rtl8125b_hw_phy_config()
1273 phy_modify_paged(phydev, 0xad3, 0x10, 0x0003, 0x0001); in rtl8125b_hw_phy_config()
1275 phy_write(phydev, 0x1f, 0x0b87); in rtl8125b_hw_phy_config()
1276 phy_write(phydev, 0x16, 0x80f5); in rtl8125b_hw_phy_config()
1277 phy_write(phydev, 0x17, 0x760e); in rtl8125b_hw_phy_config()
1278 phy_write(phydev, 0x16, 0x8107); in rtl8125b_hw_phy_config()
1279 phy_write(phydev, 0x17, 0x360e); in rtl8125b_hw_phy_config()
1280 phy_write(phydev, 0x16, 0x8551); in rtl8125b_hw_phy_config()
1281 phy_modify(phydev, 0x17, 0xff00, 0x0800); in rtl8125b_hw_phy_config()
1282 phy_write(phydev, 0x1f, 0x0000); in rtl8125b_hw_phy_config()
1284 phy_modify_paged(phydev, 0xbf0, 0x10, 0xe000, 0xa000); in rtl8125b_hw_phy_config()
1285 phy_modify_paged(phydev, 0xbf4, 0x13, 0x0f00, 0x0300); in rtl8125b_hw_phy_config()
1287 r8168g_phy_param(phydev, 0x8044, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1288 r8168g_phy_param(phydev, 0x804a, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1289 r8168g_phy_param(phydev, 0x8050, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1290 r8168g_phy_param(phydev, 0x8056, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1291 r8168g_phy_param(phydev, 0x805c, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1292 r8168g_phy_param(phydev, 0x8062, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1293 r8168g_phy_param(phydev, 0x8068, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1294 r8168g_phy_param(phydev, 0x806e, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1295 r8168g_phy_param(phydev, 0x8074, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1296 r8168g_phy_param(phydev, 0x807a, 0xffff, 0x2417); in rtl8125b_hw_phy_config()
1298 phy_modify_paged(phydev, 0xa4c, 0x15, 0x0000, 0x0040); in rtl8125b_hw_phy_config()
1299 phy_modify_paged(phydev, 0xbf8, 0x12, 0xe000, 0xa000); in rtl8125b_hw_phy_config()