Lines Matching refs:mac

86 static void	bwi_tbl_write_2(struct bwi_mac *mac, uint16_t, uint16_t);
87 static void bwi_tbl_write_4(struct bwi_mac *mac, uint16_t, uint32_t);
135 bwi_phy_write(struct bwi_mac *mac, uint16_t ctrl, uint16_t data) in bwi_phy_write() argument
137 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_write()
144 bwi_phy_read(struct bwi_mac *mac, uint16_t ctrl) in bwi_phy_read() argument
146 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_read()
153 bwi_phy_attach(struct bwi_mac *mac) in bwi_phy_attach() argument
155 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_attach()
156 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_attach()
225 bwi_phy_set_bbp_atten(struct bwi_mac *mac, uint16_t bbp_atten) in bwi_phy_set_bbp_atten() argument
227 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_set_bbp_atten()
231 CSR_FILT_SETBITS_2(mac->mac_sc, BWI_BBP_ATTEN, ~mask, in bwi_phy_set_bbp_atten()
238 PHY_FILT_SETBITS(mac, BWI_PHYR_BBP_ATTEN, ~mask, in bwi_phy_set_bbp_atten()
244 bwi_phy_calibrate(struct bwi_mac *mac) in bwi_phy_calibrate() argument
246 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_calibrate()
249 CSR_READ_4(mac->mac_sc, BWI_MAC_STATUS); in bwi_phy_calibrate()
256 bwi_mac_reset(mac, 0); in bwi_phy_calibrate()
257 bwi_phy_init_11g(mac); in bwi_phy_calibrate()
258 bwi_mac_reset(mac, 1); in bwi_phy_calibrate()
266 bwi_tbl_write_2(struct bwi_mac *mac, uint16_t ofs, uint16_t data) in bwi_tbl_write_2() argument
268 struct bwi_phy *phy = &mac->mac_phy; in bwi_tbl_write_2()
273 PHY_WRITE(mac, phy->phy_tbl_ctrl, ofs); in bwi_tbl_write_2()
274 PHY_WRITE(mac, phy->phy_tbl_data_lo, data); in bwi_tbl_write_2()
278 bwi_tbl_write_4(struct bwi_mac *mac, uint16_t ofs, uint32_t data) in bwi_tbl_write_4() argument
280 struct bwi_phy *phy = &mac->mac_phy; in bwi_tbl_write_4()
287 PHY_WRITE(mac, phy->phy_tbl_ctrl, ofs); in bwi_tbl_write_4()
288 PHY_WRITE(mac, phy->phy_tbl_data_hi, data >> 16); in bwi_tbl_write_4()
289 PHY_WRITE(mac, phy->phy_tbl_data_lo, data & 0xffff); in bwi_tbl_write_4()
293 bwi_nrssi_write(struct bwi_mac *mac, uint16_t ofs, int16_t data) in bwi_nrssi_write() argument
295 PHY_WRITE(mac, BWI_PHYR_NRSSI_CTRL, ofs); in bwi_nrssi_write()
296 PHY_WRITE(mac, BWI_PHYR_NRSSI_DATA, (uint16_t)data); in bwi_nrssi_write()
300 bwi_nrssi_read(struct bwi_mac *mac, uint16_t ofs) in bwi_nrssi_read() argument
302 PHY_WRITE(mac, BWI_PHYR_NRSSI_CTRL, ofs); in bwi_nrssi_read()
303 return (int16_t)PHY_READ(mac, BWI_PHYR_NRSSI_DATA); in bwi_nrssi_read()
307 bwi_phy_init_11a(struct bwi_mac *mac) in bwi_phy_init_11a() argument
313 bwi_phy_init_11g(struct bwi_mac *mac) in bwi_phy_init_11g() argument
315 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_init_11g()
316 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_init_11g()
317 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11g()
318 const struct bwi_tpctl *tpctl = &mac->mac_tpctl; in bwi_phy_init_11g()
321 bwi_phy_init_11b_rev5(mac); in bwi_phy_init_11g()
323 bwi_phy_init_11b_rev6(mac); in bwi_phy_init_11g()
326 bwi_phy_config_11g(mac); in bwi_phy_init_11g()
329 PHY_WRITE(mac, 0x814, 0); in bwi_phy_init_11g()
330 PHY_WRITE(mac, 0x815, 0); in bwi_phy_init_11g()
333 PHY_WRITE(mac, 0x811, 0); in bwi_phy_init_11g()
334 PHY_WRITE(mac, 0x15, 0xc0); in bwi_phy_init_11g()
336 PHY_WRITE(mac, 0x811, 0x400); in bwi_phy_init_11g()
337 PHY_WRITE(mac, 0x15, 0xc0); in bwi_phy_init_11g()
344 val = PHY_READ(mac, 0x400) & 0xff; in bwi_phy_init_11g()
346 PHY_WRITE(mac, 0x4c2, 0x1816); in bwi_phy_init_11g()
347 PHY_WRITE(mac, 0x4c3, 0x8006); in bwi_phy_init_11g()
349 PHY_FILT_SETBITS(mac, 0x4cc, in bwi_phy_init_11g()
357 PHY_WRITE(mac, 0x47e, 0x78); in bwi_phy_init_11g()
360 PHY_SETBITS(mac, 0x801, 0x80); in bwi_phy_init_11g()
361 PHY_SETBITS(mac, 0x43e, 0x4); in bwi_phy_init_11g()
365 bwi_rf_get_gains(mac); in bwi_phy_init_11g()
368 bwi_rf_init(mac); in bwi_phy_init_11g()
371 bwi_rf_lo_update(mac); in bwi_phy_init_11g()
374 RF_WRITE(mac, 0x52, in bwi_phy_init_11g()
377 RF_FILT_SETBITS(mac, 0x52, 0xfff0, tpctl->tp_ctrl2); in bwi_phy_init_11g()
381 PHY_FILT_SETBITS(mac, 0x36, 0xfff, in bwi_phy_init_11g()
386 PHY_WRITE(mac, 0x2e, 0x8075); in bwi_phy_init_11g()
388 PHY_WRITE(mac, 0x2e, 0x807f); in bwi_phy_init_11g()
391 PHY_WRITE(mac, 0x2f, 0x101); in bwi_phy_init_11g()
393 PHY_WRITE(mac, 0x2f, 0x202); in bwi_phy_init_11g()
397 bwi_rf_lo_adjust(mac, tpctl); in bwi_phy_init_11g()
398 PHY_WRITE(mac, 0x80f, 0x8078); in bwi_phy_init_11g()
402 bwi_rf_init_hw_nrssi_table(mac, 0xffff /* XXX */); in bwi_phy_init_11g()
403 bwi_rf_set_nrssi_thr(mac); in bwi_phy_init_11g()
408 bwi_rf_calc_nrssi_slope(mac); in bwi_phy_init_11g()
412 bwi_rf_set_nrssi_thr(mac); in bwi_phy_init_11g()
417 PHY_WRITE(mac, 0x805, 0x3230); in bwi_phy_init_11g()
419 bwi_mac_init_tpctl_11bg(mac); in bwi_phy_init_11g()
422 PHY_CLRBITS(mac, 0x429, 0x4000); in bwi_phy_init_11g()
423 PHY_CLRBITS(mac, 0x4c3, 0x8000); in bwi_phy_init_11g()
428 bwi_phy_init_11b_rev2(struct bwi_mac *mac) in bwi_phy_init_11b_rev2() argument
431 if_printf(mac->mac_sc->sc_ifp, in bwi_phy_init_11b_rev2()
436 bwi_phy_init_11b_rev4(struct bwi_mac *mac) in bwi_phy_init_11b_rev4() argument
438 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_init_11b_rev4()
439 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev4()
445 PHY_WRITE(mac, 0x20, 0x301c); in bwi_phy_init_11b_rev4()
446 PHY_WRITE(mac, 0x26, 0); in bwi_phy_init_11b_rev4()
447 PHY_WRITE(mac, 0x30, 0xc6); in bwi_phy_init_11b_rev4()
448 PHY_WRITE(mac, 0x88, 0x3e00); in bwi_phy_init_11b_rev4()
451 PHY_WRITE(mac, 0x89 + ofs, val); in bwi_phy_init_11b_rev4()
458 bwi_rf_set_chan(mac, chan, 0); in bwi_phy_init_11b_rev4()
461 RF_WRITE(mac, 0x75, 0x80); in bwi_phy_init_11b_rev4()
462 RF_WRITE(mac, 0x79, 0x81); in bwi_phy_init_11b_rev4()
465 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev4()
466 RF_WRITE(mac, 0x50, 0x23); in bwi_phy_init_11b_rev4()
469 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev4()
470 RF_WRITE(mac, 0x5a, 0x70); in bwi_phy_init_11b_rev4()
471 RF_WRITE(mac, 0x5b, 0x7b); in bwi_phy_init_11b_rev4()
472 RF_WRITE(mac, 0x5c, 0xb0); in bwi_phy_init_11b_rev4()
473 RF_WRITE(mac, 0x7a, 0xf); in bwi_phy_init_11b_rev4()
474 PHY_WRITE(mac, 0x38, 0x677); in bwi_phy_init_11b_rev4()
475 bwi_rf_init_bcm2050(mac); in bwi_phy_init_11b_rev4()
478 PHY_WRITE(mac, 0x14, 0x80); in bwi_phy_init_11b_rev4()
479 PHY_WRITE(mac, 0x32, 0xca); in bwi_phy_init_11b_rev4()
481 PHY_WRITE(mac, 0x32, 0xe0); in bwi_phy_init_11b_rev4()
482 PHY_WRITE(mac, 0x35, 0x7c2); in bwi_phy_init_11b_rev4()
484 bwi_rf_lo_update(mac); in bwi_phy_init_11b_rev4()
486 PHY_WRITE(mac, 0x26, 0xcc00); in bwi_phy_init_11b_rev4()
488 PHY_WRITE(mac, 0x26, 0xce00); in bwi_phy_init_11b_rev4()
492 PHY_WRITE(mac, 0x2a, 0x88a3); in bwi_phy_init_11b_rev4()
494 PHY_WRITE(mac, 0x2a, 0x88c2); in bwi_phy_init_11b_rev4()
496 bwi_mac_set_tpctl_11bg(mac, NULL); in bwi_phy_init_11b_rev4()
498 bwi_rf_calc_nrssi_slope(mac); in bwi_phy_init_11b_rev4()
499 bwi_rf_set_nrssi_thr(mac); in bwi_phy_init_11b_rev4()
501 bwi_mac_init_tpctl_11bg(mac); in bwi_phy_init_11b_rev4()
505 bwi_phy_init_11b_rev5(struct bwi_mac *mac) in bwi_phy_init_11b_rev5() argument
507 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_init_11b_rev5()
508 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev5()
509 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_init_11b_rev5()
513 RF_SETBITS(mac, 0x7a, 0x50); in bwi_phy_init_11b_rev5()
521 PHY_WRITE(mac, ofs, val); in bwi_phy_init_11b_rev5()
526 PHY_FILT_SETBITS(mac, 0x35, 0xf0ff, 0x700); in bwi_phy_init_11b_rev5()
529 PHY_WRITE(mac, 0x38, 0x667); in bwi_phy_init_11b_rev5()
533 RF_SETBITS(mac, 0x7a, 0x20); in bwi_phy_init_11b_rev5()
534 RF_SETBITS(mac, 0x51, 0x4); in bwi_phy_init_11b_rev5()
539 PHY_SETBITS(mac, 0x802, 0x100); in bwi_phy_init_11b_rev5()
540 PHY_SETBITS(mac, 0x42b, 0x2000); in bwi_phy_init_11b_rev5()
541 PHY_WRITE(mac, 0x1c, 0x186a); in bwi_phy_init_11b_rev5()
543 PHY_FILT_SETBITS(mac, 0x13, 0xff, 0x1900); in bwi_phy_init_11b_rev5()
544 PHY_FILT_SETBITS(mac, 0x35, 0xffc0, 0x64); in bwi_phy_init_11b_rev5()
545 PHY_FILT_SETBITS(mac, 0x5d, 0xff80, 0xa); in bwi_phy_init_11b_rev5()
551 PHY_WRITE(mac, 0x26, 0xce00); in bwi_phy_init_11b_rev5()
552 PHY_WRITE(mac, 0x21, 0x3763); in bwi_phy_init_11b_rev5()
553 PHY_WRITE(mac, 0x22, 0x1bc3); in bwi_phy_init_11b_rev5()
554 PHY_WRITE(mac, 0x23, 0x6f9); in bwi_phy_init_11b_rev5()
555 PHY_WRITE(mac, 0x24, 0x37e); in bwi_phy_init_11b_rev5()
557 PHY_WRITE(mac, 0x26, 0xcc00); in bwi_phy_init_11b_rev5()
559 PHY_WRITE(mac, 0x30, 0xc6); in bwi_phy_init_11b_rev5()
564 PHY_WRITE(mac, 0x20, 0x3e1c); in bwi_phy_init_11b_rev5()
566 PHY_WRITE(mac, 0x20, 0x301c); in bwi_phy_init_11b_rev5()
573 bwi_rf_set_chan(mac, 7, 0); in bwi_phy_init_11b_rev5()
576 RF_WRITE(mac, 0x75, 0x80); in bwi_phy_init_11b_rev5()
577 RF_WRITE(mac, 0x79, 0x81); in bwi_phy_init_11b_rev5()
580 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev5()
581 RF_WRITE(mac, 0x50, 0x23); in bwi_phy_init_11b_rev5()
584 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev5()
585 RF_WRITE(mac, 0x5a, 0x70); in bwi_phy_init_11b_rev5()
588 RF_WRITE(mac, 0x5b, 0x7b); in bwi_phy_init_11b_rev5()
589 RF_WRITE(mac, 0x5c, 0xb0); in bwi_phy_init_11b_rev5()
590 RF_SETBITS(mac, 0x7a, 0x7); in bwi_phy_init_11b_rev5()
592 bwi_rf_set_chan(mac, orig_chan, 0); in bwi_phy_init_11b_rev5()
594 PHY_WRITE(mac, 0x14, 0x80); in bwi_phy_init_11b_rev5()
595 PHY_WRITE(mac, 0x32, 0xca); in bwi_phy_init_11b_rev5()
596 PHY_WRITE(mac, 0x2a, 0x88a3); in bwi_phy_init_11b_rev5()
598 bwi_mac_set_tpctl_11bg(mac, NULL); in bwi_phy_init_11b_rev5()
601 RF_WRITE(mac, 0x5d, 0xd); in bwi_phy_init_11b_rev5()
607 bwi_phy_init_11b_rev6(struct bwi_mac *mac) in bwi_phy_init_11b_rev6() argument
609 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_init_11b_rev6()
610 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev6()
611 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_init_11b_rev6()
615 PHY_WRITE(mac, 0x3e, 0x817a); in bwi_phy_init_11b_rev6()
616 RF_SETBITS(mac, 0x7a, 0x58); in bwi_phy_init_11b_rev6()
619 RF_WRITE(mac, 0x51, 0x37); in bwi_phy_init_11b_rev6()
620 RF_WRITE(mac, 0x52, 0x70); in bwi_phy_init_11b_rev6()
621 RF_WRITE(mac, 0x53, 0xb3); in bwi_phy_init_11b_rev6()
622 RF_WRITE(mac, 0x54, 0x9b); in bwi_phy_init_11b_rev6()
623 RF_WRITE(mac, 0x5a, 0x88); in bwi_phy_init_11b_rev6()
624 RF_WRITE(mac, 0x5b, 0x88); in bwi_phy_init_11b_rev6()
625 RF_WRITE(mac, 0x5d, 0x88); in bwi_phy_init_11b_rev6()
626 RF_WRITE(mac, 0x5e, 0x88); in bwi_phy_init_11b_rev6()
627 RF_WRITE(mac, 0x7d, 0x88); in bwi_phy_init_11b_rev6()
628 HFLAGS_SETBITS(mac, BWI_HFLAG_MAGIC1); in bwi_phy_init_11b_rev6()
630 RF_WRITE(mac, 0x51, 0); in bwi_phy_init_11b_rev6()
631 RF_WRITE(mac, 0x52, 0x40); in bwi_phy_init_11b_rev6()
632 RF_WRITE(mac, 0x53, 0xb7); in bwi_phy_init_11b_rev6()
633 RF_WRITE(mac, 0x54, 0x98); in bwi_phy_init_11b_rev6()
634 RF_WRITE(mac, 0x5a, 0x88); in bwi_phy_init_11b_rev6()
635 RF_WRITE(mac, 0x5b, 0x6b); in bwi_phy_init_11b_rev6()
636 RF_WRITE(mac, 0x5c, 0xf); in bwi_phy_init_11b_rev6()
638 RF_WRITE(mac, 0x5d, 0xfa); in bwi_phy_init_11b_rev6()
639 RF_WRITE(mac, 0x5e, 0xd8); in bwi_phy_init_11b_rev6()
641 RF_WRITE(mac, 0x5d, 0xf5); in bwi_phy_init_11b_rev6()
642 RF_WRITE(mac, 0x5e, 0xb8); in bwi_phy_init_11b_rev6()
644 RF_WRITE(mac, 0x73, 0x3); in bwi_phy_init_11b_rev6()
645 RF_WRITE(mac, 0x7d, 0xa8); in bwi_phy_init_11b_rev6()
646 RF_WRITE(mac, 0x7c, 0x1); in bwi_phy_init_11b_rev6()
647 RF_WRITE(mac, 0x7e, 0x8); in bwi_phy_init_11b_rev6()
652 PHY_WRITE(mac, ofs, val); in bwi_phy_init_11b_rev6()
658 PHY_WRITE(mac, ofs, val); in bwi_phy_init_11b_rev6()
664 PHY_WRITE(mac, ofs, (val & 0x3f3f)); in bwi_phy_init_11b_rev6()
672 RF_SETBITS(mac, 0x7a, 0x20); in bwi_phy_init_11b_rev6()
673 RF_SETBITS(mac, 0x51, 0x4); in bwi_phy_init_11b_rev6()
674 PHY_SETBITS(mac, 0x802, 0x100); in bwi_phy_init_11b_rev6()
675 PHY_SETBITS(mac, 0x42b, 0x2000); in bwi_phy_init_11b_rev6()
676 PHY_WRITE(mac, 0x5b, 0); in bwi_phy_init_11b_rev6()
677 PHY_WRITE(mac, 0x5c, 0); in bwi_phy_init_11b_rev6()
683 bwi_rf_set_chan(mac, 1, 0); in bwi_phy_init_11b_rev6()
685 bwi_rf_set_chan(mac, 13, 0); in bwi_phy_init_11b_rev6()
687 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev6()
688 RF_WRITE(mac, 0x50, 0x23); in bwi_phy_init_11b_rev6()
693 RF_SETBITS(mac, 0x7c, 0x2); in bwi_phy_init_11b_rev6()
694 RF_WRITE(mac, 0x50, 0x20); in bwi_phy_init_11b_rev6()
697 RF_WRITE(mac, 0x7c, 0x20); in bwi_phy_init_11b_rev6()
698 RF_WRITE(mac, 0x5a, 0x70); in bwi_phy_init_11b_rev6()
699 RF_WRITE(mac, 0x5b, 0x7b); in bwi_phy_init_11b_rev6()
700 RF_WRITE(mac, 0x5c, 0xb0); in bwi_phy_init_11b_rev6()
703 RF_FILT_SETBITS(mac, 0x7a, 0xf8, 0x7); in bwi_phy_init_11b_rev6()
705 bwi_rf_set_chan(mac, orig_chan, 0); in bwi_phy_init_11b_rev6()
707 PHY_WRITE(mac, 0x14, 0x200); in bwi_phy_init_11b_rev6()
709 PHY_WRITE(mac, 0x2a, 0x88c2); in bwi_phy_init_11b_rev6()
711 PHY_WRITE(mac, 0x2a, 0x8ac0); in bwi_phy_init_11b_rev6()
712 PHY_WRITE(mac, 0x38, 0x668); in bwi_phy_init_11b_rev6()
714 bwi_mac_set_tpctl_11bg(mac, NULL); in bwi_phy_init_11b_rev6()
717 PHY_FILT_SETBITS(mac, 0x5d, 0xff80, 0x3); in bwi_phy_init_11b_rev6()
719 RF_WRITE(mac, 0x5d, 0xd); in bwi_phy_init_11b_rev6()
724 PHY_CLRBITS(mac, 0x61, 0xf000); in bwi_phy_init_11b_rev6()
726 PHY_FILT_SETBITS(mac, 0x2, 0xffc0, 0x4); in bwi_phy_init_11b_rev6()
731 PHY_WRITE(mac, 0x16, 0x410); in bwi_phy_init_11b_rev6()
732 PHY_WRITE(mac, 0x17, 0x820); in bwi_phy_init_11b_rev6()
733 PHY_WRITE(mac, 0x62, 0x7); in bwi_phy_init_11b_rev6()
735 bwi_rf_init_bcm2050(mac); in bwi_phy_init_11b_rev6()
736 bwi_rf_lo_update(mac); in bwi_phy_init_11b_rev6()
738 bwi_rf_calc_nrssi_slope(mac); in bwi_phy_init_11b_rev6()
739 bwi_rf_set_nrssi_thr(mac); in bwi_phy_init_11b_rev6()
741 bwi_mac_init_tpctl_11bg(mac); in bwi_phy_init_11b_rev6()
750 bwi_phy_config_11g(struct bwi_mac *mac) in bwi_phy_config_11g() argument
752 struct bwi_softc *sc = mac->mac_sc; in bwi_phy_config_11g()
753 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_config_11g()
759 PHY_WRITE(mac, 0x406, 0x4f19); in bwi_phy_config_11g()
760 PHY_FILT_SETBITS(mac, 0x429, 0xfc3f, 0x340); in bwi_phy_config_11g()
761 PHY_WRITE(mac, 0x42c, 0x5a); in bwi_phy_config_11g()
762 PHY_WRITE(mac, 0x427, 0x1a); in bwi_phy_config_11g()
766 bwi_tbl_write_2(mac, BWI_PHYTBL_FREQ + i, in bwi_phy_config_11g()
772 bwi_tbl_write_2(mac, BWI_PHYTBL_NOISE + i, in bwi_phy_config_11g()
779 bwi_tbl_write_4(mac, BWI_PHYTBL_ROTOR + i, in bwi_phy_config_11g()
783 bwi_nrssi_write(mac, 0xba98, (int16_t)0x7654); /* XXX */ in bwi_phy_config_11g()
786 PHY_WRITE(mac, 0x4c0, 0x1861); in bwi_phy_config_11g()
787 PHY_WRITE(mac, 0x4c1, 0x271); in bwi_phy_config_11g()
789 PHY_WRITE(mac, 0x4c0, 0x98); in bwi_phy_config_11g()
790 PHY_WRITE(mac, 0x4c1, 0x70); in bwi_phy_config_11g()
791 PHY_WRITE(mac, 0x4c9, 0x80); in bwi_phy_config_11g()
793 PHY_SETBITS(mac, 0x42b, 0x800); in bwi_phy_config_11g()
797 bwi_tbl_write_2(mac, BWI_PHYTBL_RSSI + i, i); in bwi_phy_config_11g()
801 bwi_tbl_write_2(mac, BWI_PHYTBL_NOISE + i, in bwi_phy_config_11g()
812 } else if (phy->phy_rev >= 7 && (PHY_READ(mac, 0x449) & 0x200)) { in bwi_phy_config_11g()
820 bwi_tbl_write_2(mac, BWI_PHYTBL_NOISE_SCALE + i, tbl[i]); in bwi_phy_config_11g()
836 bwi_tbl_write_2(mac, BWI_PHYTBL_SIGMA_SQ + i, tbl[i]); in bwi_phy_config_11g()
841 bwi_tbl_write_4(mac, BWI_PHYTBL_DELAY + i, in bwi_phy_config_11g()
847 bwi_tbl_write_2(mac, BWI_PHYTBL_WRSSI_REV1 + i, 0x20); in bwi_phy_config_11g()
849 bwi_phy_config_agc(mac); in bwi_phy_config_11g()
856 bwi_tbl_write_2(mac, BWI_PHYTBL_WRSSI + i, 0x820); in bwi_phy_config_11g()
858 bwi_phy_config_agc(mac); in bwi_phy_config_11g()
860 PHY_READ(mac, 0x400); /* Dummy read */ in bwi_phy_config_11g()
861 PHY_WRITE(mac, 0x403, 0x1000); in bwi_phy_config_11g()
862 bwi_tbl_write_2(mac, 0x3c02, 0xf); in bwi_phy_config_11g()
863 bwi_tbl_write_2(mac, 0x3c03, 0x14); in bwi_phy_config_11g()
870 bwi_tbl_write_2(mac, wrd_ofs1, 0x2); in bwi_phy_config_11g()
871 bwi_tbl_write_2(mac, wrd_ofs2, 0x1); in bwi_phy_config_11g()
876 PHY_WRITE(mac, 0x46e, 0x3cf); in bwi_phy_config_11g()
885 bwi_phy_config_agc(struct bwi_mac *mac) in bwi_phy_config_agc() argument
887 struct bwi_phy *phy = &mac->mac_phy; in bwi_phy_config_agc()
892 bwi_tbl_write_2(mac, ofs, 0xfe); in bwi_phy_config_agc()
893 bwi_tbl_write_2(mac, ofs + 1, 0xd); in bwi_phy_config_agc()
894 bwi_tbl_write_2(mac, ofs + 2, 0x13); in bwi_phy_config_agc()
895 bwi_tbl_write_2(mac, ofs + 3, 0x19); in bwi_phy_config_agc()
898 bwi_tbl_write_2(mac, 0x1800, 0x2710); in bwi_phy_config_agc()
899 bwi_tbl_write_2(mac, 0x1801, 0x9b83); in bwi_phy_config_agc()
900 bwi_tbl_write_2(mac, 0x1802, 0x9b83); in bwi_phy_config_agc()
901 bwi_tbl_write_2(mac, 0x1803, 0xf8d); in bwi_phy_config_agc()
902 PHY_WRITE(mac, 0x455, 0x4); in bwi_phy_config_agc()
905 PHY_FILT_SETBITS(mac, 0x4a5, 0xff, 0x5700); in bwi_phy_config_agc()
906 PHY_FILT_SETBITS(mac, 0x41a, 0xff80, 0xf); in bwi_phy_config_agc()
907 PHY_FILT_SETBITS(mac, 0x41a, 0xc07f, 0x2b80); in bwi_phy_config_agc()
908 PHY_FILT_SETBITS(mac, 0x48c, 0xf0ff, 0x300); in bwi_phy_config_agc()
910 RF_SETBITS(mac, 0x7a, 0x8); in bwi_phy_config_agc()
912 PHY_FILT_SETBITS(mac, 0x4a0, 0xfff0, 0x8); in bwi_phy_config_agc()
913 PHY_FILT_SETBITS(mac, 0x4a1, 0xf0ff, 0x600); in bwi_phy_config_agc()
914 PHY_FILT_SETBITS(mac, 0x4a2, 0xf0ff, 0x700); in bwi_phy_config_agc()
915 PHY_FILT_SETBITS(mac, 0x4a0, 0xf0ff, 0x100); in bwi_phy_config_agc()
918 PHY_FILT_SETBITS(mac, 0x4a2, 0xfff0, 0x7); in bwi_phy_config_agc()
920 PHY_FILT_SETBITS(mac, 0x488, 0xff00, 0x1c); in bwi_phy_config_agc()
921 PHY_FILT_SETBITS(mac, 0x488, 0xc0ff, 0x200); in bwi_phy_config_agc()
922 PHY_FILT_SETBITS(mac, 0x496, 0xff00, 0x1c); in bwi_phy_config_agc()
923 PHY_FILT_SETBITS(mac, 0x489, 0xff00, 0x20); in bwi_phy_config_agc()
924 PHY_FILT_SETBITS(mac, 0x489, 0xc0ff, 0x200); in bwi_phy_config_agc()
925 PHY_FILT_SETBITS(mac, 0x482, 0xff00, 0x2e); in bwi_phy_config_agc()
926 PHY_FILT_SETBITS(mac, 0x496, 0xff, 0x1a00); in bwi_phy_config_agc()
927 PHY_FILT_SETBITS(mac, 0x481, 0xff00, 0x28); in bwi_phy_config_agc()
928 PHY_FILT_SETBITS(mac, 0x481, 0xff, 0x2c00); in bwi_phy_config_agc()
931 PHY_WRITE(mac, 0x430, 0x92b); in bwi_phy_config_agc()
932 PHY_FILT_SETBITS(mac, 0x41b, 0xffe1, 0x2); in bwi_phy_config_agc()
934 PHY_CLRBITS(mac, 0x41b, 0x1e); in bwi_phy_config_agc()
935 PHY_WRITE(mac, 0x41f, 0x287a); in bwi_phy_config_agc()
936 PHY_FILT_SETBITS(mac, 0x420, 0xfff0, 0x4); in bwi_phy_config_agc()
939 PHY_WRITE(mac, 0x422, 0x287a); in bwi_phy_config_agc()
940 PHY_FILT_SETBITS(mac, 0x420, 0xfff, 0x3000); in bwi_phy_config_agc()
944 PHY_FILT_SETBITS(mac, 0x4a8, 0x8080, 0x7874); in bwi_phy_config_agc()
945 PHY_WRITE(mac, 0x48e, 0x1c00); in bwi_phy_config_agc()
948 PHY_FILT_SETBITS(mac, 0x4ab, 0xf0ff, 0x600); in bwi_phy_config_agc()
949 PHY_WRITE(mac, 0x48b, 0x5e); in bwi_phy_config_agc()
950 PHY_FILT_SETBITS(mac, 0x48c, 0xff00, 0x1e); in bwi_phy_config_agc()
951 PHY_WRITE(mac, 0x48d, 0x2); in bwi_phy_config_agc()
954 bwi_tbl_write_2(mac, ofs + 0x800, 0); in bwi_phy_config_agc()
955 bwi_tbl_write_2(mac, ofs + 0x801, 7); in bwi_phy_config_agc()
956 bwi_tbl_write_2(mac, ofs + 0x802, 16); in bwi_phy_config_agc()
957 bwi_tbl_write_2(mac, ofs + 0x803, 28); in bwi_phy_config_agc()
960 PHY_CLRBITS(mac, 0x426, 0x3); in bwi_phy_config_agc()
961 PHY_CLRBITS(mac, 0x426, 0x1000); in bwi_phy_config_agc()
966 bwi_set_gains(struct bwi_mac *mac, const struct bwi_gains *gains) in bwi_set_gains() argument
968 struct bwi_phy *phy = &mac->mac_phy; in bwi_set_gains()
988 bwi_tbl_write_2(mac, tbl_gain_ofs1 + i, tbl_gain); in bwi_set_gains()
996 bwi_tbl_write_2(mac, tbl_gain_ofs2 + i, tbl_gain); in bwi_set_gains()
1011 PHY_FILT_SETBITS(mac, 0x4a0, 0xbfbf, phy_gain1); in bwi_set_gains()
1012 PHY_FILT_SETBITS(mac, 0x4a1, 0xbfbf, phy_gain1); in bwi_set_gains()
1013 PHY_FILT_SETBITS(mac, 0x4a2, 0xbfbf, phy_gain2); in bwi_set_gains()
1015 bwi_mac_dummy_xmit(mac); in bwi_set_gains()