Lines Matching refs:dev

115 static void rtl8225_write_bitbang(struct ieee80211_hw *dev, u8 addr, u16 data)  in rtl8225_write_bitbang()  argument
117 struct rtl8187_priv *priv = dev->priv; in rtl8225_write_bitbang()
158 static void rtl8225_write_8051(struct ieee80211_hw *dev, u8 addr, __le16 data) in rtl8225_write_8051() argument
160 struct rtl8187_priv *priv = dev->priv; in rtl8225_write_8051()
197 static void rtl8225_write(struct ieee80211_hw *dev, u8 addr, u16 data) in rtl8225_write() argument
199 struct rtl8187_priv *priv = dev->priv; in rtl8225_write()
202 rtl8225_write_8051(dev, addr, cpu_to_le16(data)); in rtl8225_write()
204 rtl8225_write_bitbang(dev, addr, data); in rtl8225_write()
207 static u16 rtl8225_read(struct ieee80211_hw *dev, u8 addr) in rtl8225_read() argument
209 struct rtl8187_priv *priv = dev->priv; in rtl8225_read()
371 static void rtl8225_rf_set_tx_power(struct ieee80211_hw *dev, int channel) in rtl8225_rf_set_tx_power() argument
373 struct rtl8187_priv *priv = dev->priv; in rtl8225_rf_set_tx_power()
397 rtl8225_write_phy_cck(dev, 0x44 + i, *tmp++); in rtl8225_rf_set_tx_power()
412 rtl8225_write_phy_ofdm(dev, 2, 0x42); in rtl8225_rf_set_tx_power()
413 rtl8225_write_phy_ofdm(dev, 6, 0x00); in rtl8225_rf_set_tx_power()
414 rtl8225_write_phy_ofdm(dev, 8, 0x00); in rtl8225_rf_set_tx_power()
421 rtl8225_write_phy_ofdm(dev, 5, *tmp); in rtl8225_rf_set_tx_power()
422 rtl8225_write_phy_ofdm(dev, 7, *tmp); in rtl8225_rf_set_tx_power()
427 static void rtl8225_rf_init(struct ieee80211_hw *dev) in rtl8225_rf_init() argument
429 struct rtl8187_priv *priv = dev->priv; in rtl8225_rf_init()
432 rtl8225_write(dev, 0x0, 0x067); in rtl8225_rf_init()
433 rtl8225_write(dev, 0x1, 0xFE0); in rtl8225_rf_init()
434 rtl8225_write(dev, 0x2, 0x44D); in rtl8225_rf_init()
435 rtl8225_write(dev, 0x3, 0x441); in rtl8225_rf_init()
436 rtl8225_write(dev, 0x4, 0x486); in rtl8225_rf_init()
437 rtl8225_write(dev, 0x5, 0xBC0); in rtl8225_rf_init()
438 rtl8225_write(dev, 0x6, 0xAE6); in rtl8225_rf_init()
439 rtl8225_write(dev, 0x7, 0x82A); in rtl8225_rf_init()
440 rtl8225_write(dev, 0x8, 0x01F); in rtl8225_rf_init()
441 rtl8225_write(dev, 0x9, 0x334); in rtl8225_rf_init()
442 rtl8225_write(dev, 0xA, 0xFD4); in rtl8225_rf_init()
443 rtl8225_write(dev, 0xB, 0x391); in rtl8225_rf_init()
444 rtl8225_write(dev, 0xC, 0x050); in rtl8225_rf_init()
445 rtl8225_write(dev, 0xD, 0x6DB); in rtl8225_rf_init()
446 rtl8225_write(dev, 0xE, 0x029); in rtl8225_rf_init()
447 rtl8225_write(dev, 0xF, 0x914); msleep(100); in rtl8225_rf_init()
449 rtl8225_write(dev, 0x2, 0xC4D); msleep(200); in rtl8225_rf_init()
450 rtl8225_write(dev, 0x2, 0x44D); msleep(200); in rtl8225_rf_init()
452 if (!(rtl8225_read(dev, 6) & (1 << 7))) { in rtl8225_rf_init()
453 rtl8225_write(dev, 0x02, 0x0c4d); in rtl8225_rf_init()
455 rtl8225_write(dev, 0x02, 0x044d); in rtl8225_rf_init()
457 if (!(rtl8225_read(dev, 6) & (1 << 7))) in rtl8225_rf_init()
458 wiphy_warn(dev->wiphy, "RF Calibration Failed! %x\n", in rtl8225_rf_init()
459 rtl8225_read(dev, 6)); in rtl8225_rf_init()
462 rtl8225_write(dev, 0x0, 0x127); in rtl8225_rf_init()
465 rtl8225_write(dev, 0x1, i + 1); in rtl8225_rf_init()
466 rtl8225_write(dev, 0x2, rtl8225bcd_rxgain[i]); in rtl8225_rf_init()
469 rtl8225_write(dev, 0x0, 0x027); in rtl8225_rf_init()
470 rtl8225_write(dev, 0x0, 0x22F); in rtl8225_rf_init()
473 rtl8225_write_phy_ofdm(dev, 0xB, rtl8225_agc[i]); in rtl8225_rf_init()
474 rtl8225_write_phy_ofdm(dev, 0xA, 0x80 + i); in rtl8225_rf_init()
479 rtl8225_write_phy_ofdm(dev, 0x00, 0x01); in rtl8225_rf_init()
480 rtl8225_write_phy_ofdm(dev, 0x01, 0x02); in rtl8225_rf_init()
481 rtl8225_write_phy_ofdm(dev, 0x02, 0x42); in rtl8225_rf_init()
482 rtl8225_write_phy_ofdm(dev, 0x03, 0x00); in rtl8225_rf_init()
483 rtl8225_write_phy_ofdm(dev, 0x04, 0x00); in rtl8225_rf_init()
484 rtl8225_write_phy_ofdm(dev, 0x05, 0x00); in rtl8225_rf_init()
485 rtl8225_write_phy_ofdm(dev, 0x06, 0x40); in rtl8225_rf_init()
486 rtl8225_write_phy_ofdm(dev, 0x07, 0x00); in rtl8225_rf_init()
487 rtl8225_write_phy_ofdm(dev, 0x08, 0x40); in rtl8225_rf_init()
488 rtl8225_write_phy_ofdm(dev, 0x09, 0xfe); in rtl8225_rf_init()
489 rtl8225_write_phy_ofdm(dev, 0x0a, 0x09); in rtl8225_rf_init()
490 rtl8225_write_phy_ofdm(dev, 0x0b, 0x80); in rtl8225_rf_init()
491 rtl8225_write_phy_ofdm(dev, 0x0c, 0x01); in rtl8225_rf_init()
492 rtl8225_write_phy_ofdm(dev, 0x0e, 0xd3); in rtl8225_rf_init()
493 rtl8225_write_phy_ofdm(dev, 0x0f, 0x38); in rtl8225_rf_init()
494 rtl8225_write_phy_ofdm(dev, 0x10, 0x84); in rtl8225_rf_init()
495 rtl8225_write_phy_ofdm(dev, 0x11, 0x06); in rtl8225_rf_init()
496 rtl8225_write_phy_ofdm(dev, 0x12, 0x20); in rtl8225_rf_init()
497 rtl8225_write_phy_ofdm(dev, 0x13, 0x20); in rtl8225_rf_init()
498 rtl8225_write_phy_ofdm(dev, 0x14, 0x00); in rtl8225_rf_init()
499 rtl8225_write_phy_ofdm(dev, 0x15, 0x40); in rtl8225_rf_init()
500 rtl8225_write_phy_ofdm(dev, 0x16, 0x00); in rtl8225_rf_init()
501 rtl8225_write_phy_ofdm(dev, 0x17, 0x40); in rtl8225_rf_init()
502 rtl8225_write_phy_ofdm(dev, 0x18, 0xef); in rtl8225_rf_init()
503 rtl8225_write_phy_ofdm(dev, 0x19, 0x19); in rtl8225_rf_init()
504 rtl8225_write_phy_ofdm(dev, 0x1a, 0x20); in rtl8225_rf_init()
505 rtl8225_write_phy_ofdm(dev, 0x1b, 0x76); in rtl8225_rf_init()
506 rtl8225_write_phy_ofdm(dev, 0x1c, 0x04); in rtl8225_rf_init()
507 rtl8225_write_phy_ofdm(dev, 0x1e, 0x95); in rtl8225_rf_init()
508 rtl8225_write_phy_ofdm(dev, 0x1f, 0x75); in rtl8225_rf_init()
509 rtl8225_write_phy_ofdm(dev, 0x20, 0x1f); in rtl8225_rf_init()
510 rtl8225_write_phy_ofdm(dev, 0x21, 0x27); in rtl8225_rf_init()
511 rtl8225_write_phy_ofdm(dev, 0x22, 0x16); in rtl8225_rf_init()
512 rtl8225_write_phy_ofdm(dev, 0x24, 0x46); in rtl8225_rf_init()
513 rtl8225_write_phy_ofdm(dev, 0x25, 0x20); in rtl8225_rf_init()
514 rtl8225_write_phy_ofdm(dev, 0x26, 0x90); in rtl8225_rf_init()
515 rtl8225_write_phy_ofdm(dev, 0x27, 0x88); in rtl8225_rf_init()
517 rtl8225_write_phy_ofdm(dev, 0x0d, rtl8225_gain[2 * 4]); in rtl8225_rf_init()
518 rtl8225_write_phy_ofdm(dev, 0x1b, rtl8225_gain[2 * 4 + 2]); in rtl8225_rf_init()
519 rtl8225_write_phy_ofdm(dev, 0x1d, rtl8225_gain[2 * 4 + 3]); in rtl8225_rf_init()
520 rtl8225_write_phy_ofdm(dev, 0x23, rtl8225_gain[2 * 4 + 1]); in rtl8225_rf_init()
522 rtl8225_write_phy_cck(dev, 0x00, 0x98); in rtl8225_rf_init()
523 rtl8225_write_phy_cck(dev, 0x03, 0x20); in rtl8225_rf_init()
524 rtl8225_write_phy_cck(dev, 0x04, 0x7e); in rtl8225_rf_init()
525 rtl8225_write_phy_cck(dev, 0x05, 0x12); in rtl8225_rf_init()
526 rtl8225_write_phy_cck(dev, 0x06, 0xfc); in rtl8225_rf_init()
527 rtl8225_write_phy_cck(dev, 0x07, 0x78); in rtl8225_rf_init()
528 rtl8225_write_phy_cck(dev, 0x08, 0x2e); in rtl8225_rf_init()
529 rtl8225_write_phy_cck(dev, 0x10, 0x9b); in rtl8225_rf_init()
530 rtl8225_write_phy_cck(dev, 0x11, 0x88); in rtl8225_rf_init()
531 rtl8225_write_phy_cck(dev, 0x12, 0x47); in rtl8225_rf_init()
532 rtl8225_write_phy_cck(dev, 0x13, 0xd0); in rtl8225_rf_init()
533 rtl8225_write_phy_cck(dev, 0x19, 0x00); in rtl8225_rf_init()
534 rtl8225_write_phy_cck(dev, 0x1a, 0xa0); in rtl8225_rf_init()
535 rtl8225_write_phy_cck(dev, 0x1b, 0x08); in rtl8225_rf_init()
536 rtl8225_write_phy_cck(dev, 0x40, 0x86); in rtl8225_rf_init()
537 rtl8225_write_phy_cck(dev, 0x41, 0x8d); in rtl8225_rf_init()
538 rtl8225_write_phy_cck(dev, 0x42, 0x15); in rtl8225_rf_init()
539 rtl8225_write_phy_cck(dev, 0x43, 0x18); in rtl8225_rf_init()
540 rtl8225_write_phy_cck(dev, 0x44, 0x1f); in rtl8225_rf_init()
541 rtl8225_write_phy_cck(dev, 0x45, 0x1e); in rtl8225_rf_init()
542 rtl8225_write_phy_cck(dev, 0x46, 0x1a); in rtl8225_rf_init()
543 rtl8225_write_phy_cck(dev, 0x47, 0x15); in rtl8225_rf_init()
544 rtl8225_write_phy_cck(dev, 0x48, 0x10); in rtl8225_rf_init()
545 rtl8225_write_phy_cck(dev, 0x49, 0x0a); in rtl8225_rf_init()
546 rtl8225_write_phy_cck(dev, 0x4a, 0x05); in rtl8225_rf_init()
547 rtl8225_write_phy_cck(dev, 0x4b, 0x02); in rtl8225_rf_init()
548 rtl8225_write_phy_cck(dev, 0x4c, 0x05); in rtl8225_rf_init()
552 rtl8225_rf_set_tx_power(dev, 1); in rtl8225_rf_init()
555 rtl8225_write_phy_cck(dev, 0x10, 0x9b); /* B: 0xDB */ in rtl8225_rf_init()
556 rtl8225_write_phy_ofdm(dev, 0x26, 0x90); /* B: 0x10 */ in rtl8225_rf_init()
563 rtl8225_write(dev, 0x0c, 0x50); in rtl8225_rf_init()
564 rtl8225_write_phy_ofdm(dev, 0x0d, rtl8225_gain[2 * 4]); in rtl8225_rf_init()
565 rtl8225_write_phy_ofdm(dev, 0x1b, rtl8225_gain[2 * 4 + 2]); in rtl8225_rf_init()
566 rtl8225_write_phy_ofdm(dev, 0x1d, rtl8225_gain[2 * 4 + 3]); in rtl8225_rf_init()
567 rtl8225_write_phy_ofdm(dev, 0x23, rtl8225_gain[2 * 4 + 1]); in rtl8225_rf_init()
568 rtl8225_write_phy_cck(dev, 0x41, rtl8225_threshold[2]); in rtl8225_rf_init()
618 static void rtl8225z2_rf_set_tx_power(struct ieee80211_hw *dev, int channel) in rtl8225z2_rf_set_tx_power() argument
620 struct rtl8187_priv *priv = dev->priv; in rtl8225z2_rf_set_tx_power()
646 rtl8225_write_phy_cck(dev, 0x44 + i, *tmp++); in rtl8225z2_rf_set_tx_power()
663 rtl8225_write_phy_ofdm(dev, 2, 0x42); in rtl8225z2_rf_set_tx_power()
664 rtl8225_write_phy_ofdm(dev, 5, 0x00); in rtl8225z2_rf_set_tx_power()
665 rtl8225_write_phy_ofdm(dev, 6, 0x40); in rtl8225z2_rf_set_tx_power()
666 rtl8225_write_phy_ofdm(dev, 7, 0x00); in rtl8225z2_rf_set_tx_power()
667 rtl8225_write_phy_ofdm(dev, 8, 0x40); in rtl8225z2_rf_set_tx_power()
674 static void rtl8225z2_b_rf_set_tx_power(struct ieee80211_hw *dev, int channel) in rtl8225z2_b_rf_set_tx_power() argument
676 struct rtl8187_priv *priv = dev->priv; in rtl8225z2_b_rf_set_tx_power()
719 rtl8225_write_phy_cck(dev, 0x44 + i, *tmp++); in rtl8225z2_b_rf_set_tx_power()
729 rtl8225_write_phy_ofdm(dev, 0x87, 0x60); in rtl8225z2_b_rf_set_tx_power()
730 rtl8225_write_phy_ofdm(dev, 0x89, 0x60); in rtl8225z2_b_rf_set_tx_power()
732 rtl8225_write_phy_ofdm(dev, 0x87, 0x5c); in rtl8225z2_b_rf_set_tx_power()
733 rtl8225_write_phy_ofdm(dev, 0x89, 0x5c); in rtl8225z2_b_rf_set_tx_power()
737 rtl8225_write_phy_ofdm(dev, 0x87, 0x5c); in rtl8225z2_b_rf_set_tx_power()
738 rtl8225_write_phy_ofdm(dev, 0x89, 0x5c); in rtl8225z2_b_rf_set_tx_power()
740 rtl8225_write_phy_ofdm(dev, 0x87, 0x54); in rtl8225z2_b_rf_set_tx_power()
741 rtl8225_write_phy_ofdm(dev, 0x89, 0x54); in rtl8225z2_b_rf_set_tx_power()
743 rtl8225_write_phy_ofdm(dev, 0x87, 0x50); in rtl8225z2_b_rf_set_tx_power()
744 rtl8225_write_phy_ofdm(dev, 0x89, 0x50); in rtl8225z2_b_rf_set_tx_power()
775 static void rtl8225z2_rf_init(struct ieee80211_hw *dev) in rtl8225z2_rf_init() argument
777 struct rtl8187_priv *priv = dev->priv; in rtl8225z2_rf_init()
780 rtl8225_write(dev, 0x0, 0x2BF); in rtl8225z2_rf_init()
781 rtl8225_write(dev, 0x1, 0xEE0); in rtl8225z2_rf_init()
782 rtl8225_write(dev, 0x2, 0x44D); in rtl8225z2_rf_init()
783 rtl8225_write(dev, 0x3, 0x441); in rtl8225z2_rf_init()
784 rtl8225_write(dev, 0x4, 0x8C3); in rtl8225z2_rf_init()
785 rtl8225_write(dev, 0x5, 0xC72); in rtl8225z2_rf_init()
786 rtl8225_write(dev, 0x6, 0x0E6); in rtl8225z2_rf_init()
787 rtl8225_write(dev, 0x7, 0x82A); in rtl8225z2_rf_init()
788 rtl8225_write(dev, 0x8, 0x03F); in rtl8225z2_rf_init()
789 rtl8225_write(dev, 0x9, 0x335); in rtl8225z2_rf_init()
790 rtl8225_write(dev, 0xa, 0x9D4); in rtl8225z2_rf_init()
791 rtl8225_write(dev, 0xb, 0x7BB); in rtl8225z2_rf_init()
792 rtl8225_write(dev, 0xc, 0x850); in rtl8225z2_rf_init()
793 rtl8225_write(dev, 0xd, 0xCDF); in rtl8225z2_rf_init()
794 rtl8225_write(dev, 0xe, 0x02B); in rtl8225z2_rf_init()
795 rtl8225_write(dev, 0xf, 0x114); in rtl8225z2_rf_init()
798 rtl8225_write(dev, 0x0, 0x1B7); in rtl8225z2_rf_init()
801 rtl8225_write(dev, 0x1, i + 1); in rtl8225z2_rf_init()
802 rtl8225_write(dev, 0x2, rtl8225z2_rxgain[i]); in rtl8225z2_rf_init()
805 rtl8225_write(dev, 0x3, 0x080); in rtl8225z2_rf_init()
806 rtl8225_write(dev, 0x5, 0x004); in rtl8225z2_rf_init()
807 rtl8225_write(dev, 0x0, 0x0B7); in rtl8225z2_rf_init()
808 rtl8225_write(dev, 0x2, 0xc4D); in rtl8225z2_rf_init()
811 rtl8225_write(dev, 0x2, 0x44D); in rtl8225z2_rf_init()
814 if (!(rtl8225_read(dev, 6) & (1 << 7))) { in rtl8225z2_rf_init()
815 rtl8225_write(dev, 0x02, 0x0C4D); in rtl8225z2_rf_init()
817 rtl8225_write(dev, 0x02, 0x044D); in rtl8225z2_rf_init()
819 if (!(rtl8225_read(dev, 6) & (1 << 7))) in rtl8225z2_rf_init()
820 wiphy_warn(dev->wiphy, "RF Calibration Failed! %x\n", in rtl8225z2_rf_init()
821 rtl8225_read(dev, 6)); in rtl8225z2_rf_init()
826 rtl8225_write(dev, 0x0, 0x2BF); in rtl8225z2_rf_init()
829 rtl8225_write_phy_ofdm(dev, 0xB, rtl8225_agc[i]); in rtl8225z2_rf_init()
830 rtl8225_write_phy_ofdm(dev, 0xA, 0x80 + i); in rtl8225z2_rf_init()
835 rtl8225_write_phy_ofdm(dev, 0x00, 0x01); in rtl8225z2_rf_init()
836 rtl8225_write_phy_ofdm(dev, 0x01, 0x02); in rtl8225z2_rf_init()
837 rtl8225_write_phy_ofdm(dev, 0x02, 0x42); in rtl8225z2_rf_init()
838 rtl8225_write_phy_ofdm(dev, 0x03, 0x00); in rtl8225z2_rf_init()
839 rtl8225_write_phy_ofdm(dev, 0x04, 0x00); in rtl8225z2_rf_init()
840 rtl8225_write_phy_ofdm(dev, 0x05, 0x00); in rtl8225z2_rf_init()
841 rtl8225_write_phy_ofdm(dev, 0x06, 0x40); in rtl8225z2_rf_init()
842 rtl8225_write_phy_ofdm(dev, 0x07, 0x00); in rtl8225z2_rf_init()
843 rtl8225_write_phy_ofdm(dev, 0x08, 0x40); in rtl8225z2_rf_init()
844 rtl8225_write_phy_ofdm(dev, 0x09, 0xfe); in rtl8225z2_rf_init()
845 rtl8225_write_phy_ofdm(dev, 0x0a, 0x08); in rtl8225z2_rf_init()
846 rtl8225_write_phy_ofdm(dev, 0x0b, 0x80); in rtl8225z2_rf_init()
847 rtl8225_write_phy_ofdm(dev, 0x0c, 0x01); in rtl8225z2_rf_init()
848 rtl8225_write_phy_ofdm(dev, 0x0d, 0x43); in rtl8225z2_rf_init()
849 rtl8225_write_phy_ofdm(dev, 0x0e, 0xd3); in rtl8225z2_rf_init()
850 rtl8225_write_phy_ofdm(dev, 0x0f, 0x38); in rtl8225z2_rf_init()
851 rtl8225_write_phy_ofdm(dev, 0x10, 0x84); in rtl8225z2_rf_init()
852 rtl8225_write_phy_ofdm(dev, 0x11, 0x07); in rtl8225z2_rf_init()
853 rtl8225_write_phy_ofdm(dev, 0x12, 0x20); in rtl8225z2_rf_init()
854 rtl8225_write_phy_ofdm(dev, 0x13, 0x20); in rtl8225z2_rf_init()
855 rtl8225_write_phy_ofdm(dev, 0x14, 0x00); in rtl8225z2_rf_init()
856 rtl8225_write_phy_ofdm(dev, 0x15, 0x40); in rtl8225z2_rf_init()
857 rtl8225_write_phy_ofdm(dev, 0x16, 0x00); in rtl8225z2_rf_init()
858 rtl8225_write_phy_ofdm(dev, 0x17, 0x40); in rtl8225z2_rf_init()
859 rtl8225_write_phy_ofdm(dev, 0x18, 0xef); in rtl8225z2_rf_init()
860 rtl8225_write_phy_ofdm(dev, 0x19, 0x19); in rtl8225z2_rf_init()
861 rtl8225_write_phy_ofdm(dev, 0x1a, 0x20); in rtl8225z2_rf_init()
862 rtl8225_write_phy_ofdm(dev, 0x1b, 0x15); in rtl8225z2_rf_init()
863 rtl8225_write_phy_ofdm(dev, 0x1c, 0x04); in rtl8225z2_rf_init()
864 rtl8225_write_phy_ofdm(dev, 0x1d, 0xc5); in rtl8225z2_rf_init()
865 rtl8225_write_phy_ofdm(dev, 0x1e, 0x95); in rtl8225z2_rf_init()
866 rtl8225_write_phy_ofdm(dev, 0x1f, 0x75); in rtl8225z2_rf_init()
867 rtl8225_write_phy_ofdm(dev, 0x20, 0x1f); in rtl8225z2_rf_init()
868 rtl8225_write_phy_ofdm(dev, 0x21, 0x17); in rtl8225z2_rf_init()
869 rtl8225_write_phy_ofdm(dev, 0x22, 0x16); in rtl8225z2_rf_init()
870 rtl8225_write_phy_ofdm(dev, 0x23, 0x80); in rtl8225z2_rf_init()
871 rtl8225_write_phy_ofdm(dev, 0x24, 0x46); in rtl8225z2_rf_init()
872 rtl8225_write_phy_ofdm(dev, 0x25, 0x00); in rtl8225z2_rf_init()
873 rtl8225_write_phy_ofdm(dev, 0x26, 0x90); in rtl8225z2_rf_init()
874 rtl8225_write_phy_ofdm(dev, 0x27, 0x88); in rtl8225z2_rf_init()
876 rtl8225_write_phy_ofdm(dev, 0x0b, rtl8225z2_gain_bg[4 * 3]); in rtl8225z2_rf_init()
877 rtl8225_write_phy_ofdm(dev, 0x1b, rtl8225z2_gain_bg[4 * 3 + 1]); in rtl8225z2_rf_init()
878 rtl8225_write_phy_ofdm(dev, 0x1d, rtl8225z2_gain_bg[4 * 3 + 2]); in rtl8225z2_rf_init()
879 rtl8225_write_phy_ofdm(dev, 0x21, 0x37); in rtl8225z2_rf_init()
881 rtl8225_write_phy_cck(dev, 0x00, 0x98); in rtl8225z2_rf_init()
882 rtl8225_write_phy_cck(dev, 0x03, 0x20); in rtl8225z2_rf_init()
883 rtl8225_write_phy_cck(dev, 0x04, 0x7e); in rtl8225z2_rf_init()
884 rtl8225_write_phy_cck(dev, 0x05, 0x12); in rtl8225z2_rf_init()
885 rtl8225_write_phy_cck(dev, 0x06, 0xfc); in rtl8225z2_rf_init()
886 rtl8225_write_phy_cck(dev, 0x07, 0x78); in rtl8225z2_rf_init()
887 rtl8225_write_phy_cck(dev, 0x08, 0x2e); in rtl8225z2_rf_init()
888 rtl8225_write_phy_cck(dev, 0x10, 0x9b); in rtl8225z2_rf_init()
889 rtl8225_write_phy_cck(dev, 0x11, 0x88); in rtl8225z2_rf_init()
890 rtl8225_write_phy_cck(dev, 0x12, 0x47); in rtl8225z2_rf_init()
891 rtl8225_write_phy_cck(dev, 0x13, 0xd0); in rtl8225z2_rf_init()
892 rtl8225_write_phy_cck(dev, 0x19, 0x00); in rtl8225z2_rf_init()
893 rtl8225_write_phy_cck(dev, 0x1a, 0xa0); in rtl8225z2_rf_init()
894 rtl8225_write_phy_cck(dev, 0x1b, 0x08); in rtl8225z2_rf_init()
895 rtl8225_write_phy_cck(dev, 0x40, 0x86); in rtl8225z2_rf_init()
896 rtl8225_write_phy_cck(dev, 0x41, 0x8d); in rtl8225z2_rf_init()
897 rtl8225_write_phy_cck(dev, 0x42, 0x15); in rtl8225z2_rf_init()
898 rtl8225_write_phy_cck(dev, 0x43, 0x18); in rtl8225z2_rf_init()
899 rtl8225_write_phy_cck(dev, 0x44, 0x36); in rtl8225z2_rf_init()
900 rtl8225_write_phy_cck(dev, 0x45, 0x35); in rtl8225z2_rf_init()
901 rtl8225_write_phy_cck(dev, 0x46, 0x2e); in rtl8225z2_rf_init()
902 rtl8225_write_phy_cck(dev, 0x47, 0x25); in rtl8225z2_rf_init()
903 rtl8225_write_phy_cck(dev, 0x48, 0x1c); in rtl8225z2_rf_init()
904 rtl8225_write_phy_cck(dev, 0x49, 0x12); in rtl8225z2_rf_init()
905 rtl8225_write_phy_cck(dev, 0x4a, 0x09); in rtl8225z2_rf_init()
906 rtl8225_write_phy_cck(dev, 0x4b, 0x04); in rtl8225z2_rf_init()
907 rtl8225_write_phy_cck(dev, 0x4c, 0x05); in rtl8225z2_rf_init()
911 rtl8225z2_rf_set_tx_power(dev, 1); in rtl8225z2_rf_init()
914 rtl8225_write_phy_cck(dev, 0x10, 0x9b); /* B: 0xDB */ in rtl8225z2_rf_init()
915 rtl8225_write_phy_ofdm(dev, 0x26, 0x90); /* B: 0x10 */ in rtl8225z2_rf_init()
922 static void rtl8225z2_b_rf_init(struct ieee80211_hw *dev) in rtl8225z2_b_rf_init() argument
924 struct rtl8187_priv *priv = dev->priv; in rtl8225z2_b_rf_init()
927 rtl8225_write(dev, 0x0, 0x0B7); in rtl8225z2_b_rf_init()
928 rtl8225_write(dev, 0x1, 0xEE0); in rtl8225z2_b_rf_init()
929 rtl8225_write(dev, 0x2, 0x44D); in rtl8225z2_b_rf_init()
930 rtl8225_write(dev, 0x3, 0x441); in rtl8225z2_b_rf_init()
931 rtl8225_write(dev, 0x4, 0x8C3); in rtl8225z2_b_rf_init()
932 rtl8225_write(dev, 0x5, 0xC72); in rtl8225z2_b_rf_init()
933 rtl8225_write(dev, 0x6, 0x0E6); in rtl8225z2_b_rf_init()
934 rtl8225_write(dev, 0x7, 0x82A); in rtl8225z2_b_rf_init()
935 rtl8225_write(dev, 0x8, 0x03F); in rtl8225z2_b_rf_init()
936 rtl8225_write(dev, 0x9, 0x335); in rtl8225z2_b_rf_init()
937 rtl8225_write(dev, 0xa, 0x9D4); in rtl8225z2_b_rf_init()
938 rtl8225_write(dev, 0xb, 0x7BB); in rtl8225z2_b_rf_init()
939 rtl8225_write(dev, 0xc, 0x850); in rtl8225z2_b_rf_init()
940 rtl8225_write(dev, 0xd, 0xCDF); in rtl8225z2_b_rf_init()
941 rtl8225_write(dev, 0xe, 0x02B); in rtl8225z2_b_rf_init()
942 rtl8225_write(dev, 0xf, 0x114); in rtl8225z2_b_rf_init()
944 rtl8225_write(dev, 0x0, 0x1B7); in rtl8225z2_b_rf_init()
947 rtl8225_write(dev, 0x1, i + 1); in rtl8225z2_b_rf_init()
948 rtl8225_write(dev, 0x2, rtl8225z2_rxgain[i]); in rtl8225z2_b_rf_init()
951 rtl8225_write(dev, 0x3, 0x080); in rtl8225z2_b_rf_init()
952 rtl8225_write(dev, 0x5, 0x004); in rtl8225z2_b_rf_init()
953 rtl8225_write(dev, 0x0, 0x0B7); in rtl8225z2_b_rf_init()
955 rtl8225_write(dev, 0x2, 0xC4D); in rtl8225z2_b_rf_init()
957 rtl8225_write(dev, 0x2, 0x44D); in rtl8225z2_b_rf_init()
958 rtl8225_write(dev, 0x0, 0x2BF); in rtl8225z2_b_rf_init()
964 rtl8225_write_phy_ofdm(dev, 0x80, 0x12); in rtl8225z2_b_rf_init()
966 rtl8225_write_phy_ofdm(dev, 0xF, rtl8225z2_agc[i]); in rtl8225z2_b_rf_init()
967 rtl8225_write_phy_ofdm(dev, 0xE, 0x80 + i); in rtl8225z2_b_rf_init()
968 rtl8225_write_phy_ofdm(dev, 0xE, 0); in rtl8225z2_b_rf_init()
970 rtl8225_write_phy_ofdm(dev, 0x80, 0x10); in rtl8225z2_b_rf_init()
973 rtl8225_write_phy_ofdm(dev, i, rtl8225z2_ofdm[i]); in rtl8225z2_b_rf_init()
975 rtl8225_write_phy_ofdm(dev, 0x97, 0x46); in rtl8225z2_b_rf_init()
976 rtl8225_write_phy_ofdm(dev, 0xa4, 0xb6); in rtl8225z2_b_rf_init()
977 rtl8225_write_phy_ofdm(dev, 0x85, 0xfc); in rtl8225z2_b_rf_init()
978 rtl8225_write_phy_cck(dev, 0xc1, 0x88); in rtl8225z2_b_rf_init()
981 static void rtl8225_rf_stop(struct ieee80211_hw *dev) in rtl8225_rf_stop() argument
983 rtl8225_write(dev, 0x4, 0x1f); in rtl8225_rf_stop()
986 static void rtl8225_rf_set_channel(struct ieee80211_hw *dev, in rtl8225_rf_set_channel() argument
989 struct rtl8187_priv *priv = dev->priv; in rtl8225_rf_set_channel()
994 rtl8225_rf_set_tx_power(dev, chan); in rtl8225_rf_set_channel()
996 rtl8225z2_rf_set_tx_power(dev, chan); in rtl8225_rf_set_channel()
998 rtl8225z2_b_rf_set_tx_power(dev, chan); in rtl8225_rf_set_channel()
1000 rtl8225_write(dev, 0x7, rtl8225_chan[chan - 1]); in rtl8225_rf_set_channel()
1025 const struct rtl818x_rf_ops * rtl8187_detect_rf(struct ieee80211_hw *dev) in rtl8187_detect_rf() argument
1028 struct rtl8187_priv *priv = dev->priv; in rtl8187_detect_rf()
1031 rtl8225_write(dev, 0, 0x1B7); in rtl8187_detect_rf()
1033 reg8 = rtl8225_read(dev, 8); in rtl8187_detect_rf()
1034 reg9 = rtl8225_read(dev, 9); in rtl8187_detect_rf()
1036 rtl8225_write(dev, 0, 0x0B7); in rtl8187_detect_rf()