Lines Matching +full:0 +full:x80b0

23 	int oldpage = phy_select_page(phydev, 0x0007);
25 __phy_write(phydev, 0x1e, extpage);
28 phy_restore_page(phydev, oldpage, 0);
34 int oldpage = phy_select_page(phydev, 0x0005);
36 __phy_write(phydev, 0x05, parm);
37 __phy_modify(phydev, 0x06, mask, val);
39 phy_restore_page(phydev, oldpage, 0);
45 int oldpage = phy_select_page(phydev, 0x0a43);
47 __phy_write(phydev, 0x13, parm);
48 __phy_modify(phydev, 0x14, mask, val);
50 phy_restore_page(phydev, oldpage, 0);
57 __phy_write_mmd(phydev, MDIO_MMD_VEND2, 0xb87c, parm);
58 __phy_modify_mmd(phydev, MDIO_MMD_VEND2, 0xb87e, mask, val);
72 while (len-- > 0) {
84 r8168d_modify_extpage(phydev, 0x0020, 0x15, 0, BIT(8));
85 r8168d_phy_param(phydev, 0x8b85, 0, BIT(13));
90 phy_modify_paged(phydev, 0x0a43, 0x11, 0, BIT(4));
97 phy_modify_paged(phydev, 0xa4a, 0x11, 0x0000, 0x0200);
98 phy_modify_paged(phydev, 0xa42, 0x14, 0x0000, 0x0080);
103 phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000);
104 phy_modify_paged(phydev, 0xa42, 0x14, 0x0080, 0x0000);
105 phy_modify_paged(phydev, 0xa4a, 0x11, 0x0200, 0x0000);
118 { 0x1f, 0x0001 },
119 { 0x06, 0x006e },
120 { 0x08, 0x0708 },
121 { 0x15, 0x4000 },
122 { 0x18, 0x65c7 },
124 { 0x1f, 0x0001 },
125 { 0x03, 0x00a1 },
126 { 0x02, 0x0008 },
127 { 0x01, 0x0120 },
128 { 0x00, 0x1000 },
129 { 0x04, 0x0800 },
130 { 0x04, 0x0000 },
132 { 0x03, 0xff41 },
133 { 0x02, 0xdf60 },
134 { 0x01, 0x0140 },
135 { 0x00, 0x0077 },
136 { 0x04, 0x7800 },
137 { 0x04, 0x7000 },
139 { 0x03, 0x802f },
140 { 0x02, 0x4f02 },
141 { 0x01, 0x0409 },
142 { 0x00, 0xf0f9 },
143 { 0x04, 0x9800 },
144 { 0x04, 0x9000 },
146 { 0x03, 0xdf01 },
147 { 0x02, 0xdf20 },
148 { 0x01, 0xff95 },
149 { 0x00, 0xba00 },
150 { 0x04, 0xa800 },
151 { 0x04, 0xa000 },
153 { 0x03, 0xff41 },
154 { 0x02, 0xdf20 },
155 { 0x01, 0x0140 },
156 { 0x00, 0x00bb },
157 { 0x04, 0xb800 },
158 { 0x04, 0xb000 },
160 { 0x03, 0xdf41 },
161 { 0x02, 0xdc60 },
162 { 0x01, 0x6340 },
163 { 0x00, 0x007d },
164 { 0x04, 0xd800 },
165 { 0x04, 0xd000 },
167 { 0x03, 0xdf01 },
168 { 0x02, 0xdf20 },
169 { 0x01, 0x100a },
170 { 0x00, 0xa0ff },
171 { 0x04, 0xf800 },
172 { 0x04, 0xf000 },
174 { 0x1f, 0x0000 },
175 { 0x0b, 0x0000 },
176 { 0x00, 0x9200 }
185 phy_write_paged(phydev, 0x0002, 0x01, 0x90d0);
192 { 0x1f, 0x0001 },
193 { 0x04, 0x0000 },
194 { 0x03, 0x00a1 },
195 { 0x02, 0x0008 },
196 { 0x01, 0x0120 },
197 { 0x00, 0x1000 },
198 { 0x04, 0x0800 },
199 { 0x04, 0x9000 },
200 { 0x03, 0x802f },
201 { 0x02, 0x4f02 },
202 { 0x01, 0x0409 },
203 { 0x00, 0xf099 },
204 { 0x04, 0x9800 },
205 { 0x04, 0xa000 },
206 { 0x03, 0xdf01 },
207 { 0x02, 0xdf20 },
208 { 0x01, 0xff95 },
209 { 0x00, 0xba00 },
210 { 0x04, 0xa800 },
211 { 0x04, 0xf000 },
212 { 0x03, 0xdf01 },
213 { 0x02, 0xdf20 },
214 { 0x01, 0x101a },
215 { 0x00, 0xa0ff },
216 { 0x04, 0xf800 },
217 { 0x04, 0x0000 },
218 { 0x1f, 0x0000 },
220 { 0x1f, 0x0001 },
221 { 0x10, 0xf41b },
222 { 0x14, 0xfb54 },
223 { 0x18, 0xf5c7 },
224 { 0x1f, 0x0000 },
226 { 0x1f, 0x0001 },
227 { 0x17, 0x0cc0 },
228 { 0x1f, 0x0000 }
238 { 0x1f, 0x0001 },
239 { 0x04, 0x0000 },
240 { 0x03, 0x00a1 },
241 { 0x02, 0x0008 },
242 { 0x01, 0x0120 },
243 { 0x00, 0x1000 },
244 { 0x04, 0x0800 },
245 { 0x04, 0x9000 },
246 { 0x03, 0x802f },
247 { 0x02, 0x4f02 },
248 { 0x01, 0x0409 },
249 { 0x00, 0xf099 },
250 { 0x04, 0x9800 },
251 { 0x04, 0xa000 },
252 { 0x03, 0xdf01 },
253 { 0x02, 0xdf20 },
254 { 0x01, 0xff95 },
255 { 0x00, 0xba00 },
256 { 0x04, 0xa800 },
257 { 0x04, 0xf000 },
258 { 0x03, 0xdf01 },
259 { 0x02, 0xdf20 },
260 { 0x01, 0x101a },
261 { 0x00, 0xa0ff },
262 { 0x04, 0xf800 },
263 { 0x04, 0x0000 },
264 { 0x1f, 0x0000 },
266 { 0x1f, 0x0001 },
267 { 0x0b, 0x8480 },
268 { 0x1f, 0x0000 },
270 { 0x1f, 0x0001 },
271 { 0x18, 0x67c7 },
272 { 0x04, 0x2000 },
273 { 0x03, 0x002f },
274 { 0x02, 0x4360 },
275 { 0x01, 0x0109 },
276 { 0x00, 0x3022 },
277 { 0x04, 0x2800 },
278 { 0x1f, 0x0000 },
280 { 0x1f, 0x0001 },
281 { 0x17, 0x0cc0 },
282 { 0x1f, 0x0000 }
291 phy_write_paged(phydev, 0x0001, 0x10, 0xf41b);
297 phy_write(phydev, 0x1d, 0x0f00);
298 phy_write_paged(phydev, 0x0002, 0x0c, 0x1ec8);
304 phy_set_bits(phydev, 0x14, BIT(5));
305 phy_set_bits(phydev, 0x0d, BIT(5));
306 phy_write_paged(phydev, 0x0001, 0x1d, 0x3d98);
313 { 0x1f, 0x0001 },
314 { 0x12, 0x2300 },
315 { 0x1f, 0x0002 },
316 { 0x00, 0x88d4 },
317 { 0x01, 0x82b1 },
318 { 0x03, 0x7002 },
319 { 0x08, 0x9e30 },
320 { 0x09, 0x01f0 },
321 { 0x0a, 0x5500 },
322 { 0x0c, 0x00c8 },
323 { 0x1f, 0x0003 },
324 { 0x12, 0xc096 },
325 { 0x16, 0x000a },
326 { 0x1f, 0x0000 },
327 { 0x1f, 0x0000 },
328 { 0x09, 0x2000 },
329 { 0x09, 0x0000 }
334 phy_set_bits(phydev, 0x14, BIT(5));
335 phy_set_bits(phydev, 0x0d, BIT(5));
342 { 0x1f, 0x0001 },
343 { 0x12, 0x2300 },
344 { 0x03, 0x802f },
345 { 0x02, 0x4f02 },
346 { 0x01, 0x0409 },
347 { 0x00, 0xf099 },
348 { 0x04, 0x9800 },
349 { 0x04, 0x9000 },
350 { 0x1d, 0x3d98 },
351 { 0x1f, 0x0002 },
352 { 0x0c, 0x7eb8 },
353 { 0x06, 0x0761 },
354 { 0x1f, 0x0003 },
355 { 0x16, 0x0f0a },
356 { 0x1f, 0x0000 }
361 phy_set_bits(phydev, 0x16, BIT(0));
362 phy_set_bits(phydev, 0x14, BIT(5));
363 phy_set_bits(phydev, 0x0d, BIT(5));
370 { 0x1f, 0x0001 },
371 { 0x12, 0x2300 },
372 { 0x1d, 0x3d98 },
373 { 0x1f, 0x0002 },
374 { 0x0c, 0x7eb8 },
375 { 0x06, 0x5461 },
376 { 0x1f, 0x0003 },
377 { 0x16, 0x0f0a },
378 { 0x1f, 0x0000 }
383 phy_set_bits(phydev, 0x16, BIT(0));
384 phy_set_bits(phydev, 0x14, BIT(5));
385 phy_set_bits(phydev, 0x0d, BIT(5));
390 { 0x1f, 0x0001 },
391 { 0x06, 0x4064 },
392 { 0x07, 0x2863 },
393 { 0x08, 0x059c },
394 { 0x09, 0x26b4 },
395 { 0x0a, 0x6a19 },
396 { 0x0b, 0xdcc8 },
397 { 0x10, 0xf06d },
398 { 0x14, 0x7f68 },
399 { 0x18, 0x7fd9 },
400 { 0x1c, 0xf0ff },
401 { 0x1d, 0x3d9c },
402 { 0x1f, 0x0003 },
403 { 0x12, 0xf49f },
404 { 0x13, 0x070b },
405 { 0x1a, 0x05ad },
406 { 0x14, 0x94c0 },
412 { 0x1f, 0x0002 },
413 { 0x06, 0x5561 },
414 { 0x1f, 0x0005 },
415 { 0x05, 0x8332 },
416 { 0x06, 0x5561 },
422 { 0x1f, 0x0001 },
423 { 0x17, 0x0cc0 },
425 { 0x1f, 0x0000 },
426 { 0x0d, 0xf880 }
435 phy_write(phydev, 0x1f, 0x0005);
436 phy_write(phydev, 0x05, 0x001b);
437 reg_val = phy_read(phydev, 0x06);
438 phy_write(phydev, 0x1f, 0x0000);
450 phy_write_paged(phydev, 0x0002, 0x05, 0x669a);
451 r8168d_phy_param(phydev, 0x8330, 0xffff, 0x669a);
452 phy_write(phydev, 0x1f, 0x0002);
454 val = phy_read(phydev, 0x0d);
456 if ((val & 0x00ff) != 0x006c) {
458 0x0065, 0x0066, 0x0067, 0x0068,
459 0x0069, 0x006a, 0x006b, 0x006c
463 val &= 0xff00;
464 for (i = 0; i < ARRAY_SIZE(set); i++)
465 phy_write(phydev, 0x0d, val | set[i]);
478 phy_write(phydev, 0x1f, 0x0002);
479 phy_modify(phydev, 0x0b, 0x00ef, 0x0010);
480 phy_modify(phydev, 0x0c, 0x5d00, 0xa200);
482 if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) {
485 phy_write_paged(phydev, 0x0002, 0x05, 0x6662);
486 r8168d_phy_param(phydev, 0x8330, 0xffff, 0x6662);
490 phy_write(phydev, 0x1f, 0x0002);
491 phy_set_bits(phydev, 0x0d, 0x0300);
492 phy_set_bits(phydev, 0x0f, 0x0010);
495 phy_write(phydev, 0x1f, 0x0002);
496 phy_modify(phydev, 0x02, 0x0600, 0x0100);
497 phy_clear_bits(phydev, 0x03, 0xe000);
498 phy_write(phydev, 0x1f, 0x0000);
500 rtl8168d_apply_firmware_cond(tp, phydev, 0xbf00);
508 if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) {
511 phy_write_paged(phydev, 0x0002, 0x05, 0x2642);
512 r8168d_phy_param(phydev, 0x8330, 0xffff, 0x2642);
516 phy_write(phydev, 0x1f, 0x0002);
517 phy_modify(phydev, 0x02, 0x0600, 0x0100);
518 phy_clear_bits(phydev, 0x03, 0xe000);
519 phy_write(phydev, 0x1f, 0x0000);
522 phy_modify_paged(phydev, 0x0002, 0x0f, 0x0000, 0x0017);
524 rtl8168d_apply_firmware_cond(tp, phydev, 0xb300);
530 phy_write_paged(phydev, 0x0001, 0x17, 0x0cc0);
531 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0xffff, 0x0040);
532 phy_set_bits(phydev, 0x0d, BIT(5));
540 { 0x1f, 0x0001 },
541 { 0x0b, 0x6c20 },
542 { 0x07, 0x2872 },
543 { 0x1c, 0xefff },
544 { 0x1f, 0x0003 },
545 { 0x14, 0x6420 },
546 { 0x1f, 0x0000 },
552 r8168d_phy_param(phydev, 0x8b80, 0xffff, 0xc896);
557 r8168d_modify_extpage(phydev, 0x002f, 0x15, 0xffff, 0x1919);
559 r8168d_modify_extpage(phydev, 0x00ac, 0x18, 0xffff, 0x0006);
562 r8168d_modify_extpage(phydev, 0x0023, 0x17, 0x0000, 0x0006);
565 phy_modify_paged(phydev, 0x0002, 0x08, 0x7f00, 0x8000);
568 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0050);
569 phy_set_bits(phydev, 0x14, BIT(15));
571 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001);
572 r8168d_phy_param(phydev, 0x8b85, 0x2000, 0x0000);
574 r8168d_modify_extpage(phydev, 0x0020, 0x15, 0x1100, 0x0000);
575 phy_write_paged(phydev, 0x0006, 0x00, 0x5a00);
577 phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, 0x0000);
586 r8168d_modify_extpage(phydev, 0x00ac, 0x18, 0xffff, 0x0006);
589 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f);
592 r8168d_phy_param(phydev, 0x8b5b, 0xffff, 0x9222);
593 r8168d_phy_param(phydev, 0x8b6d, 0xffff, 0x8000);
594 r8168d_phy_param(phydev, 0x8b76, 0xffff, 0x8000);
597 phy_write(phydev, 0x1f, 0x0005);
598 phy_write(phydev, 0x05, 0x8b80);
599 phy_set_bits(phydev, 0x17, 0x0006);
600 phy_write(phydev, 0x1f, 0x0000);
603 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0010);
604 phy_set_bits(phydev, 0x14, BIT(15));
607 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001);
610 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000);
615 phy_write(phydev, 0x1f, 0x0003);
616 phy_set_bits(phydev, 0x19, BIT(0));
617 phy_set_bits(phydev, 0x10, BIT(10));
618 phy_write(phydev, 0x1f, 0x0000);
619 phy_modify_paged(phydev, 0x0005, 0x01, 0, BIT(8));
626 r8168d_phy_param(phydev, 0x8b80, 0x0000, 0x0006);
629 r8168d_modify_extpage(phydev, 0x002d, 0x18, 0x0000, 0x0010);
630 phy_set_bits(phydev, 0x14, BIT(15));
633 r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001);
644 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f);
647 r8168d_phy_param(phydev, 0x8b55, 0xffff, 0x0000);
648 r8168d_phy_param(phydev, 0x8b5e, 0xffff, 0x0000);
649 r8168d_phy_param(phydev, 0x8b67, 0xffff, 0x0000);
650 r8168d_phy_param(phydev, 0x8b70, 0xffff, 0x0000);
651 r8168d_modify_extpage(phydev, 0x0078, 0x17, 0xffff, 0x0000);
652 r8168d_modify_extpage(phydev, 0x0078, 0x19, 0xffff, 0x00fb);
655 r8168d_phy_param(phydev, 0x8b79, 0xffff, 0xaa00);
658 phy_write_paged(phydev, 0x0003, 0x01, 0x328a);
663 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000);
682 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000);
685 phy_write_paged(phydev, 0x0003, 0x09, 0xa20f);
688 r8168d_phy_param(phydev, 0x8b55, 0xffff, 0x0000);
689 r8168d_phy_param(phydev, 0x8b5e, 0xffff, 0x0000);
690 r8168d_phy_param(phydev, 0x8b67, 0xffff, 0x0000);
691 r8168d_phy_param(phydev, 0x8b70, 0xffff, 0x0000);
692 r8168d_modify_extpage(phydev, 0x0078, 0x17, 0xffff, 0x0000);
693 r8168d_modify_extpage(phydev, 0x0078, 0x19, 0xffff, 0x00aa);
696 r8168d_phy_param(phydev, 0x8b79, 0xffff, 0xaa00);
699 phy_write_paged(phydev, 0x0003, 0x01, 0x328a);
702 r8168d_phy_param(phydev, 0x8b54, 0x0800, 0x0000);
703 r8168d_phy_param(phydev, 0x8b5d, 0x0800, 0x0000);
704 r8168d_phy_param(phydev, 0x8a7c, 0x0100, 0x0000);
705 r8168d_phy_param(phydev, 0x8a7f, 0x0000, 0x0100);
706 r8168d_phy_param(phydev, 0x8a82, 0x0100, 0x0000);
707 r8168d_phy_param(phydev, 0x8a85, 0x0100, 0x0000);
708 r8168d_phy_param(phydev, 0x8a88, 0x0100, 0x0000);
711 r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x8000);
714 phy_write(phydev, 0x1f, 0x0003);
715 phy_clear_bits(phydev, 0x19, BIT(0));
716 phy_clear_bits(phydev, 0x10, BIT(10));
717 phy_write(phydev, 0x1f, 0x0000);
722 phy_modify_paged(phydev, 0x0a43, 0x10, BIT(2), 0);
727 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(11));
732 phy_modify_paged(phydev, 0x0bcc, 0x14, BIT(8), 0);
733 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(7) | BIT(6));
734 r8168g_phy_param(phydev, 0x8084, 0x6000, 0x0000);
735 phy_modify_paged(phydev, 0x0a43, 0x10, 0x0000, 0x1003);
745 ret = phy_read_paged(phydev, 0x0a46, 0x10);
747 phy_modify_paged(phydev, 0x0bcc, 0x12, BIT(15), 0);
749 phy_modify_paged(phydev, 0x0bcc, 0x12, 0, BIT(15));
751 ret = phy_read_paged(phydev, 0x0a46, 0x13);
753 phy_modify_paged(phydev, 0x0c41, 0x15, 0, BIT(1));
755 phy_modify_paged(phydev, 0x0c41, 0x15, BIT(1), 0);
758 phy_modify_paged(phydev, 0x0a44, 0x11, 0, BIT(3) | BIT(2));
763 phy_modify_paged(phydev, 0x0a4b, 0x11, 0, BIT(2));
766 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x8000);
768 phy_modify_paged(phydev, 0x0c42, 0x11, BIT(13), BIT(14));
771 phy_write(phydev, 0x1f, 0x0bcd);
772 phy_write(phydev, 0x14, 0x5065);
773 phy_write(phydev, 0x14, 0xd065);
774 phy_write(phydev, 0x1f, 0x0bc8);
775 phy_write(phydev, 0x11, 0x5655);
776 phy_write(phydev, 0x1f, 0x0bcd);
777 phy_write(phydev, 0x14, 0x1065);
778 phy_write(phydev, 0x14, 0x9065);
779 phy_write(phydev, 0x14, 0x1065);
780 phy_write(phydev, 0x1f, 0x0000);
802 r8168g_phy_param(phydev, 0x808a, 0x003f, 0x000a);
805 r8168g_phy_param(phydev, 0x0811, 0x0000, 0x0800);
806 phy_modify_paged(phydev, 0x0a42, 0x16, 0x0000, 0x0002);
811 if (ioffset != 0xffff)
812 phy_write_paged(phydev, 0x0bcf, 0x16, ioffset);
815 data = phy_read_paged(phydev, 0x0bcd, 0x16);
816 data &= 0x000f;
817 rlen = 0;
821 phy_write_paged(phydev, 0x0bcd, 0x17, data);
824 phy_modify_paged(phydev, 0x0a44, 0x11, BIT(7), 0);
827 phy_modify_paged(phydev, 0x0a43, 0x10, BIT(0), 0);
839 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x8000);
842 phy_modify_paged(phydev, 0x0c42, 0x11, BIT(13), BIT(14));
845 r8168g_phy_param(phydev, 0x80f3, 0xff00, 0x8b00);
846 r8168g_phy_param(phydev, 0x80f0, 0xff00, 0x3a00);
847 r8168g_phy_param(phydev, 0x80ef, 0xff00, 0x0500);
848 r8168g_phy_param(phydev, 0x80f6, 0xff00, 0x6e00);
849 r8168g_phy_param(phydev, 0x80ec, 0xff00, 0x6800);
850 r8168g_phy_param(phydev, 0x80ed, 0xff00, 0x7c00);
851 r8168g_phy_param(phydev, 0x80f2, 0xff00, 0xf400);
852 r8168g_phy_param(phydev, 0x80f4, 0xff00, 0x8500);
853 r8168g_phy_param(phydev, 0x8110, 0xff00, 0xa800);
854 r8168g_phy_param(phydev, 0x810f, 0xff00, 0x1d00);
855 r8168g_phy_param(phydev, 0x8111, 0xff00, 0xf500);
856 r8168g_phy_param(phydev, 0x8113, 0xff00, 0x6100);
857 r8168g_phy_param(phydev, 0x8115, 0xff00, 0x9200);
858 r8168g_phy_param(phydev, 0x810e, 0xff00, 0x0400);
859 r8168g_phy_param(phydev, 0x810c, 0xff00, 0x7c00);
860 r8168g_phy_param(phydev, 0x810b, 0xff00, 0x5a00);
861 r8168g_phy_param(phydev, 0x80d1, 0xff00, 0xff00);
862 r8168g_phy_param(phydev, 0x80cd, 0xff00, 0x9e00);
863 r8168g_phy_param(phydev, 0x80d3, 0xff00, 0x0e00);
864 r8168g_phy_param(phydev, 0x80d5, 0xff00, 0xca00);
865 r8168g_phy_param(phydev, 0x80d7, 0xff00, 0x8400);
868 phy_write(phydev, 0x1f, 0x0bcd);
869 phy_write(phydev, 0x14, 0x5065);
870 phy_write(phydev, 0x14, 0xd065);
871 phy_write(phydev, 0x1f, 0x0bc8);
872 phy_write(phydev, 0x12, 0x00ed);
873 phy_write(phydev, 0x1f, 0x0bcd);
874 phy_write(phydev, 0x14, 0x1065);
875 phy_write(phydev, 0x14, 0x9065);
876 phy_write(phydev, 0x14, 0x1065);
877 phy_write(phydev, 0x1f, 0x0000);
887 r8168g_phy_param(phydev, 0x808e, 0xff00, 0x4800);
888 r8168g_phy_param(phydev, 0x8090, 0xff00, 0xcc00);
889 r8168g_phy_param(phydev, 0x8092, 0xff00, 0xb000);
891 r8168g_phy_param(phydev, 0x8088, 0xff00, 0x6000);
892 r8168g_phy_param(phydev, 0x808b, 0x3f00, 0x0b00);
893 r8168g_phy_param(phydev, 0x808d, 0x1f00, 0x0600);
894 r8168g_phy_param(phydev, 0x808c, 0xff00, 0xb000);
895 r8168g_phy_param(phydev, 0x80a0, 0xff00, 0x2800);
896 r8168g_phy_param(phydev, 0x80a2, 0xff00, 0x5000);
897 r8168g_phy_param(phydev, 0x809b, 0xf800, 0xb000);
898 r8168g_phy_param(phydev, 0x809a, 0xff00, 0x4b00);
899 r8168g_phy_param(phydev, 0x809d, 0x3f00, 0x0800);
900 r8168g_phy_param(phydev, 0x80a1, 0xff00, 0x7000);
901 r8168g_phy_param(phydev, 0x809f, 0x1f00, 0x0300);
902 r8168g_phy_param(phydev, 0x809e, 0xff00, 0x8800);
903 r8168g_phy_param(phydev, 0x80b2, 0xff00, 0x2200);
904 r8168g_phy_param(phydev, 0x80ad, 0xf800, 0x9800);
905 r8168g_phy_param(phydev, 0x80af, 0x3f00, 0x0800);
906 r8168g_phy_param(phydev, 0x80b3, 0xff00, 0x6f00);
907 r8168g_phy_param(phydev, 0x80b1, 0x1f00, 0x0300);
908 r8168g_phy_param(phydev, 0x80b0, 0xff00, 0x9300);
910 r8168g_phy_param(phydev, 0x8011, 0x0000, 0x0800);
914 r8168g_phy_param(phydev, 0x8016, 0x0000, 0x0400);
924 { 0x1f, 0x0003 },
925 { 0x08, 0x441d },
926 { 0x01, 0x9100 },
927 { 0x1f, 0x0000 }
930 phy_set_bits(phydev, 0x11, BIT(12));
931 phy_set_bits(phydev, 0x19, BIT(13));
932 phy_set_bits(phydev, 0x10, BIT(15));
940 phy_set_bits(phydev, 0x11, BIT(12));
941 phy_modify_paged(phydev, 0x0002, 0x0f, 0x0000, 0x0003);
948 phy_write(phydev, 0x18, 0x0310);
953 phy_write_paged(phydev, 0x0005, 0x1a, 0x0000);
954 phy_write_paged(phydev, 0x0004, 0x1c, 0x0000);
955 phy_write_paged(phydev, 0x0001, 0x15, 0x7701);
962 phy_write(phydev, 0x18, 0x0310);
968 phy_write(phydev, 0x1f, 0x0004);
969 phy_write(phydev, 0x10, 0x401f);
970 phy_write(phydev, 0x19, 0x7030);
971 phy_write(phydev, 0x1f, 0x0000);
978 { 0x1f, 0x0004 },
979 { 0x10, 0xc07f },
980 { 0x19, 0x7030 },
981 { 0x1f, 0x0000 }
985 phy_write(phydev, 0x18, 0x0310);
995 phy_modify_paged(phydev, 0xa5b, 0x12, BIT(15), 0);
1003 phy_modify_paged(phydev, 0xad4, 0x17, 0x0000, 0x0010);
1004 phy_modify_paged(phydev, 0xad1, 0x13, 0x03ff, 0x03ff);
1005 phy_modify_paged(phydev, 0xad3, 0x11, 0x003f, 0x0006);
1006 phy_modify_paged(phydev, 0xac0, 0x14, 0x1100, 0x0000);
1007 phy_modify_paged(phydev, 0xacc, 0x10, 0x0003, 0x0002);
1008 phy_modify_paged(phydev, 0xad4, 0x10, 0x00e7, 0x0044);
1009 phy_modify_paged(phydev, 0xac1, 0x12, 0x0080, 0x0000);
1010 phy_modify_paged(phydev, 0xac8, 0x10, 0x0300, 0x0000);
1011 phy_modify_paged(phydev, 0xac5, 0x17, 0x0007, 0x0002);
1012 phy_write_paged(phydev, 0xad4, 0x16, 0x00a8);
1013 phy_write_paged(phydev, 0xac5, 0x16, 0x01ff);
1014 phy_modify_paged(phydev, 0xac8, 0x15, 0x00f0, 0x0030);
1016 rtl8125_phy_param(phydev, 0x80a2, 0xffff, 0x0153);
1017 rtl8125_phy_param(phydev, 0x809c, 0xffff, 0x0153);
1019 phy_write(phydev, 0x1f, 0x0a43);
1020 phy_write(phydev, 0x13, 0x81B3);
1021 phy_write(phydev, 0x14, 0x0043);
1022 phy_write(phydev, 0x14, 0x00A7);
1023 phy_write(phydev, 0x14, 0x00D6);
1024 phy_write(phydev, 0x14, 0x00EC);
1025 phy_write(phydev, 0x14, 0x00F6);
1026 phy_write(phydev, 0x14, 0x00FB);
1027 phy_write(phydev, 0x14, 0x00FD);
1028 phy_write(phydev, 0x14, 0x00FF);
1029 phy_write(phydev, 0x14, 0x00BB);
1030 phy_write(phydev, 0x14, 0x0058);
1031 phy_write(phydev, 0x14, 0x0029);
1032 phy_write(phydev, 0x14, 0x0013);
1033 phy_write(phydev, 0x14, 0x0009);
1034 phy_write(phydev, 0x14, 0x0004);
1035 phy_write(phydev, 0x14, 0x0002);
1036 for (i = 0; i < 25; i++)
1037 phy_write(phydev, 0x14, 0x0000);
1038 phy_write(phydev, 0x1f, 0x0000);
1040 r8168g_phy_param(phydev, 0x8257, 0xffff, 0x020F);
1041 r8168g_phy_param(phydev, 0x80ea, 0xffff, 0x7843);
1045 phy_modify_paged(phydev, 0xd06, 0x14, 0x0000, 0x2000);
1047 r8168g_phy_param(phydev, 0x81a2, 0x0000, 0x0100);
1049 phy_modify_paged(phydev, 0xb54, 0x16, 0xff00, 0xdb00);
1050 phy_modify_paged(phydev, 0xa45, 0x12, 0x0001, 0x0000);
1051 phy_modify_paged(phydev, 0xa5d, 0x12, 0x0000, 0x0020);
1052 phy_modify_paged(phydev, 0xad4, 0x17, 0x0010, 0x0000);
1053 phy_modify_paged(phydev, 0xa86, 0x15, 0x0001, 0x0000);
1066 phy_modify_paged(phydev, 0xac4, 0x13, 0x00f0, 0x0090);
1067 phy_modify_paged(phydev, 0xad3, 0x10, 0x0003, 0x0001);
1069 rtl8125_phy_param(phydev, 0x80f5, 0xffff, 0x760e);
1070 rtl8125_phy_param(phydev, 0x8107, 0xffff, 0x360e);
1071 rtl8125_phy_param(phydev, 0x8551, 0xff00, 0x0800);
1073 phy_modify_paged(phydev, 0xbf0, 0x10, 0xe000, 0xa000);
1074 phy_modify_paged(phydev, 0xbf4, 0x13, 0x0f00, 0x0300);
1076 r8168g_phy_param(phydev, 0x8044, 0xffff, 0x2417);
1077 r8168g_phy_param(phydev, 0x804a, 0xffff, 0x2417);
1078 r8168g_phy_param(phydev, 0x8050, 0xffff, 0x2417);
1079 r8168g_phy_param(phydev, 0x8056, 0xffff, 0x2417);
1080 r8168g_phy_param(phydev, 0x805c, 0xffff, 0x2417);
1081 r8168g_phy_param(phydev, 0x8062, 0xffff, 0x2417);
1082 r8168g_phy_param(phydev, 0x8068, 0xffff, 0x2417);
1083 r8168g_phy_param(phydev, 0x806e, 0xffff, 0x2417);
1084 r8168g_phy_param(phydev, 0x8074, 0xffff, 0x2417);
1085 r8168g_phy_param(phydev, 0x807a, 0xffff, 0x2417);
1087 phy_modify_paged(phydev, 0xa4c, 0x15, 0x0000, 0x0040);
1088 phy_modify_paged(phydev, 0xbf8, 0x12, 0xe000, 0xa000);
1111 r8168g_phy_param(phydev, 0x8010, 0x0800, 0x0000);
1113 rtl8125_phy_param(phydev, 0x8088, 0xff00, 0x9000);
1114 rtl8125_phy_param(phydev, 0x808f, 0xff00, 0x9000);
1116 r8168g_phy_param(phydev, 0x8174, 0x2000, 0x1800);
1139 r8168g_phy_param(phydev, 0x8415, 0xff00, 0x9300);
1140 r8168g_phy_param(phydev, 0x81a3, 0xff00, 0x0f00);
1141 r8168g_phy_param(phydev, 0x81ae, 0xff00, 0x0f00);
1142 r8168g_phy_param(phydev, 0x81b9, 0xff00, 0xb900);
1143 rtl8125_phy_param(phydev, 0x83b0, 0x0e00, 0x0000);
1144 rtl8125_phy_param(phydev, 0x83C5, 0x0e00, 0x0000);
1145 rtl8125_phy_param(phydev, 0x83da, 0x0e00, 0x0000);
1146 rtl8125_phy_param(phydev, 0x83ef, 0x0e00, 0x0000);
1147 phy_modify_paged(phydev, 0x0bf3, 0x14, 0x01f0, 0x0160);
1148 phy_modify_paged(phydev, 0x0bf3, 0x15, 0x001f, 0x0014);
1149 phy_modify_paged(phydev, 0x0bf2, 0x14, 0x6000, 0x0000);
1150 phy_modify_paged(phydev, 0x0bf2, 0x16, 0xc000, 0x0000);
1151 phy_modify_paged(phydev, 0x0bf2, 0x14, 0x1fff, 0x0187);
1152 phy_modify_paged(phydev, 0x0bf2, 0x15, 0x003f, 0x0003);
1154 r8168g_phy_param(phydev, 0x8173, 0xffff, 0x8620);
1155 r8168g_phy_param(phydev, 0x8175, 0xffff, 0x8671);
1156 r8168g_phy_param(phydev, 0x817c, 0x0000, 0x2000);
1157 r8168g_phy_param(phydev, 0x8187, 0x0000, 0x2000);
1158 r8168g_phy_param(phydev, 0x8192, 0x0000, 0x2000);
1159 r8168g_phy_param(phydev, 0x819d, 0x0000, 0x2000);
1160 r8168g_phy_param(phydev, 0x81a8, 0x2000, 0x0000);
1161 r8168g_phy_param(phydev, 0x81b3, 0x2000, 0x0000);
1162 r8168g_phy_param(phydev, 0x81be, 0x0000, 0x2000);
1163 r8168g_phy_param(phydev, 0x817d, 0xff00, 0xa600);
1164 r8168g_phy_param(phydev, 0x8188, 0xff00, 0xa600);
1165 r8168g_phy_param(phydev, 0x8193, 0xff00, 0xa600);
1166 r8168g_phy_param(phydev, 0x819e, 0xff00, 0xa600);
1167 r8168g_phy_param(phydev, 0x81a9, 0xff00, 0x1400);
1168 r8168g_phy_param(phydev, 0x81b4, 0xff00, 0x1400);
1169 r8168g_phy_param(phydev, 0x81bf, 0xff00, 0xa600);
1171 phy_modify_paged(phydev, 0x0aea, 0x15, 0x0028, 0x0000);
1173 rtl8125_phy_param(phydev, 0x84f0, 0xffff, 0x201c);
1174 rtl8125_phy_param(phydev, 0x84f2, 0xffff, 0x3117);
1176 phy_write_paged(phydev, 0x0aec, 0x13, 0x0000);
1177 phy_write_paged(phydev, 0x0ae2, 0x10, 0xffff);
1178 phy_write_paged(phydev, 0x0aec, 0x17, 0xffff);
1179 phy_write_paged(phydev, 0x0aed, 0x11, 0xffff);
1180 phy_write_paged(phydev, 0x0aec, 0x14, 0x0000);
1181 phy_modify_paged(phydev, 0x0aed, 0x10, 0x0001, 0x0000);
1182 phy_write_paged(phydev, 0x0adb, 0x14, 0x0150);
1183 rtl8125_phy_param(phydev, 0x8197, 0xff00, 0x5000);
1184 rtl8125_phy_param(phydev, 0x8231, 0xff00, 0x5000);
1185 rtl8125_phy_param(phydev, 0x82cb, 0xff00, 0x5000);
1186 rtl8125_phy_param(phydev, 0x82cd, 0xff00, 0x5700);
1187 rtl8125_phy_param(phydev, 0x8233, 0xff00, 0x5700);
1188 rtl8125_phy_param(phydev, 0x8199, 0xff00, 0x5700);
1190 rtl8125_phy_param(phydev, 0x815a, 0xffff, 0x0150);
1191 rtl8125_phy_param(phydev, 0x81f4, 0xffff, 0x0150);
1192 rtl8125_phy_param(phydev, 0x828e, 0xffff, 0x0150);
1193 rtl8125_phy_param(phydev, 0x81b1, 0xffff, 0x0000);
1194 rtl8125_phy_param(phydev, 0x824b, 0xffff, 0x0000);
1195 rtl8125_phy_param(phydev, 0x82e5, 0xffff, 0x0000);
1197 rtl8125_phy_param(phydev, 0x84f7, 0xff00, 0x2800);
1198 phy_modify_paged(phydev, 0x0aec, 0x11, 0x0000, 0x1000);
1199 rtl8125_phy_param(phydev, 0x81b3, 0xff00, 0xad00);
1200 rtl8125_phy_param(phydev, 0x824d, 0xff00, 0xad00);
1201 rtl8125_phy_param(phydev, 0x82e7, 0xff00, 0xad00);
1202 phy_modify_paged(phydev, 0x0ae4, 0x17, 0x000f, 0x0001);
1203 rtl8125_phy_param(phydev, 0x82ce, 0xf000, 0x4000);
1205 rtl8125_phy_param(phydev, 0x84ac, 0xffff, 0x0000);
1206 rtl8125_phy_param(phydev, 0x84ae, 0xffff, 0x0000);
1207 rtl8125_phy_param(phydev, 0x84b0, 0xffff, 0xf818);
1208 rtl8125_phy_param(phydev, 0x84b2, 0xff00, 0x6000);
1210 rtl8125_phy_param(phydev, 0x8ffc, 0xffff, 0x6008);
1211 rtl8125_phy_param(phydev, 0x8ffe, 0xffff, 0xf450);
1213 rtl8125_phy_param(phydev, 0x8015, 0x0000, 0x0200);
1214 rtl8125_phy_param(phydev, 0x8016, 0x0800, 0x0000);
1215 rtl8125_phy_param(phydev, 0x8fe6, 0xff00, 0x0800);
1216 rtl8125_phy_param(phydev, 0x8fe4, 0xffff, 0x2114);
1218 rtl8125_phy_param(phydev, 0x8647, 0xffff, 0xa7b1);
1219 rtl8125_phy_param(phydev, 0x8649, 0xffff, 0xbbca);
1220 rtl8125_phy_param(phydev, 0x864b, 0xff00, 0xdc00);
1222 rtl8125_phy_param(phydev, 0x8154, 0xc000, 0x4000);
1223 rtl8125_phy_param(phydev, 0x8158, 0xc000, 0x0000);
1225 rtl8125_phy_param(phydev, 0x826c, 0xffff, 0xffff);
1226 rtl8125_phy_param(phydev, 0x826e, 0xffff, 0xffff);
1228 rtl8125_phy_param(phydev, 0x8872, 0xff00, 0x0e00);
1229 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x0800);
1230 r8168g_phy_param(phydev, 0x8012, 0x0000, 0x4000);
1231 phy_modify_paged(phydev, 0x0b57, 0x13, 0x0000, 0x0001);
1232 r8168g_phy_param(phydev, 0x834a, 0xff00, 0x0700);
1233 rtl8125_phy_param(phydev, 0x8217, 0x3f00, 0x2a00);
1234 r8168g_phy_param(phydev, 0x81b1, 0xff00, 0x0b00);
1235 rtl8125_phy_param(phydev, 0x8fed, 0xff00, 0x4e00);
1237 rtl8125_phy_param(phydev, 0x88ac, 0xff00, 0x2300);
1238 phy_modify_paged(phydev, 0x0bf0, 0x16, 0x0000, 0x3800);
1239 rtl8125_phy_param(phydev, 0x88de, 0xff00, 0x0000);
1240 rtl8125_phy_param(phydev, 0x80b4, 0xffff, 0x5195);
1242 r8168g_phy_param(phydev, 0x8370, 0xffff, 0x8671);
1243 r8168g_phy_param(phydev, 0x8372, 0xffff, 0x86c8);
1245 r8168g_phy_param(phydev, 0x8401, 0xffff, 0x86c8);
1246 r8168g_phy_param(phydev, 0x8403, 0xffff, 0x86da);
1247 r8168g_phy_param(phydev, 0x8406, 0x1800, 0x1000);
1248 r8168g_phy_param(phydev, 0x8408, 0x1800, 0x1000);
1249 r8168g_phy_param(phydev, 0x840a, 0x1800, 0x1000);
1250 r8168g_phy_param(phydev, 0x840c, 0x1800, 0x1000);
1251 r8168g_phy_param(phydev, 0x840e, 0x1800, 0x1000);
1252 r8168g_phy_param(phydev, 0x8410, 0x1800, 0x1000);
1253 r8168g_phy_param(phydev, 0x8412, 0x1800, 0x1000);
1254 r8168g_phy_param(phydev, 0x8414, 0x1800, 0x1000);
1255 r8168g_phy_param(phydev, 0x8416, 0x1800, 0x1000);
1257 r8168g_phy_param(phydev, 0x82bd, 0xffff, 0x1f40);
1259 phy_modify_paged(phydev, 0x0bfb, 0x12, 0x07ff, 0x0328);
1260 phy_write_paged(phydev, 0x0bfb, 0x13, 0x3e14);
1262 r8168g_phy_param(phydev, 0x81c4, 0xffff, 0x003b);
1263 r8168g_phy_param(phydev, 0x81c6, 0xffff, 0x0086);
1264 r8168g_phy_param(phydev, 0x81c8, 0xffff, 0x00b7);
1265 r8168g_phy_param(phydev, 0x81ca, 0xffff, 0x00db);
1266 r8168g_phy_param(phydev, 0x81cc, 0xffff, 0x00fe);
1267 r8168g_phy_param(phydev, 0x81ce, 0xffff, 0x00fe);
1268 r8168g_phy_param(phydev, 0x81d0, 0xffff, 0x00fe);
1269 r8168g_phy_param(phydev, 0x81d2, 0xffff, 0x00fe);
1270 r8168g_phy_param(phydev, 0x81d4, 0xffff, 0x00c3);
1271 r8168g_phy_param(phydev, 0x81d6, 0xffff, 0x0078);
1272 r8168g_phy_param(phydev, 0x81d8, 0xffff, 0x0047);
1273 r8168g_phy_param(phydev, 0x81da, 0xffff, 0x0023);
1275 rtl8125_phy_param(phydev, 0x88d7, 0xffff, 0x01a0);
1276 rtl8125_phy_param(phydev, 0x88d9, 0xffff, 0x01a0);
1277 rtl8125_phy_param(phydev, 0x8ffa, 0xffff, 0x002a);
1279 rtl8125_phy_param(phydev, 0x8fee, 0xffff, 0xffdf);
1280 rtl8125_phy_param(phydev, 0x8ff0, 0xffff, 0xffff);
1281 rtl8125_phy_param(phydev, 0x8ff2, 0xffff, 0x0a4a);
1282 rtl8125_phy_param(phydev, 0x8ff4, 0xffff, 0xaa5a);
1283 rtl8125_phy_param(phydev, 0x8ff6, 0xffff, 0x0a4a);
1285 rtl8125_phy_param(phydev, 0x8ff8, 0xffff, 0xaa5a);
1286 rtl8125_phy_param(phydev, 0x88d5, 0xff00, 0x0200);
1288 r8168g_phy_param(phydev, 0x84bb, 0xff00, 0x0a00);
1289 r8168g_phy_param(phydev, 0x84c0, 0xff00, 0x1600);
1291 phy_modify_paged(phydev, 0x0a43, 0x10, 0x0000, 0x0003);