Lines Matching full:rf

271 	/* retrieve RF rev. no and various other things from EEPROM */  in rt2860_attach()
274 "RF %s (MIMO %dT%dR), address %6D\n", in rt2860_attach()
2080 * Write to one of the 4 programmable 24-bit RF registers.
2094 device_printf(sc->sc_dev, "could not write to RF\n"); in rt2860_rf_write()
2098 /* RF registers are 24-bit on the RT2860 */ in rt2860_rf_write()
2116 device_printf(sc->sc_dev, "could not read RF register\n"); in rt3090_rf_read()
2129 device_printf(sc->sc_dev, "could not read RF register\n"); in rt3090_rf_read()
2147 device_printf(sc->sc_dev, "could not write to RF\n"); in rt3090_rf_write()
2464 uint8_t rf; in rt3090_set_chan() local
2478 rf = rt3090_rf_read(sc, 3); in rt3090_set_chan()
2479 rf = (rf & ~0x0f) | rt3090_freqs[i].k; in rt3090_set_chan()
2480 rt3090_rf_write(sc, 3, rf); in rt3090_set_chan()
2481 rf = rt3090_rf_read(sc, 6); in rt3090_set_chan()
2482 rf = (rf & ~0x03) | rt3090_freqs[i].r; in rt3090_set_chan()
2483 rt3090_rf_write(sc, 6, rf); in rt3090_set_chan()
2486 rf = rt3090_rf_read(sc, 12); in rt3090_set_chan()
2487 rf = (rf & ~0x1f) | txpow1; in rt3090_set_chan()
2488 rt3090_rf_write(sc, 12, rf); in rt3090_set_chan()
2491 rf = rt3090_rf_read(sc, 13); in rt3090_set_chan()
2492 rf = (rf & ~0x1f) | txpow2; in rt3090_set_chan()
2493 rt3090_rf_write(sc, 13, rf); in rt3090_set_chan()
2495 rf = rt3090_rf_read(sc, 1); in rt3090_set_chan()
2496 rf &= ~0xfc; in rt3090_set_chan()
2498 rf |= RT3070_TX1_PD | RT3070_TX2_PD; in rt3090_set_chan()
2500 rf |= RT3070_TX2_PD; in rt3090_set_chan()
2502 rf |= RT3070_RX1_PD | RT3070_RX2_PD; in rt3090_set_chan()
2504 rf |= RT3070_RX2_PD; in rt3090_set_chan()
2505 rt3090_rf_write(sc, 1, rf); in rt3090_set_chan()
2507 /* set RF offset */ in rt3090_set_chan()
2508 rf = rt3090_rf_read(sc, 23); in rt3090_set_chan()
2509 rf = (rf & ~0x7f) | sc->freq; in rt3090_set_chan()
2510 rt3090_rf_write(sc, 23, rf); in rt3090_set_chan()
2512 /* program RF filter */ in rt3090_set_chan()
2513 rf = rt3090_rf_read(sc, 24); /* Tx */ in rt3090_set_chan()
2514 rf = (rf & ~0x3f) | sc->rf24_20mhz; in rt3090_set_chan()
2515 rt3090_rf_write(sc, 24, rf); in rt3090_set_chan()
2516 rf = rt3090_rf_read(sc, 31); /* Rx */ in rt3090_set_chan()
2517 rf = (rf & ~0x3f) | sc->rf24_20mhz; in rt3090_set_chan()
2518 rt3090_rf_write(sc, 31, rf); in rt3090_set_chan()
2520 /* enable RF tuning */ in rt3090_set_chan()
2521 rf = rt3090_rf_read(sc, 7); in rt3090_set_chan()
2522 rt3090_rf_write(sc, 7, rf | RT3070_TUNE); in rt3090_set_chan()
2528 uint8_t h20mhz, rf, tmp; in rt5390_set_chan() local
2544 rf = rt3090_rf_read(sc, 11); in rt5390_set_chan()
2545 rf = (rf & ~0x03) | (rt3090_freqs[i].r & 0x03); in rt5390_set_chan()
2546 rt3090_rf_write(sc, 11, rf); in rt5390_set_chan()
2548 rf = rt3090_rf_read(sc, 49); in rt5390_set_chan()
2549 rf = (rf & ~0x3f) | (txpow1 & 0x3f); in rt5390_set_chan()
2550 /* the valid range of the RF R49 is 0x00~0x27 */ in rt5390_set_chan()
2551 if ((rf & 0x3f) > 0x27) in rt5390_set_chan()
2552 rf = (rf & ~0x3f) | 0x27; in rt5390_set_chan()
2553 rt3090_rf_write(sc, 49, rf); in rt5390_set_chan()
2555 rf = rt3090_rf_read(sc, 50); in rt5390_set_chan()
2556 rf = (rf & ~0x3f) | (txpow2 & 0x3f); in rt5390_set_chan()
2557 /* the valid range of the RF R50 is 0x00~0x27 */ in rt5390_set_chan()
2558 if ((rf & 0x3f) > 0x27) in rt5390_set_chan()
2559 rf = (rf & ~0x3f) | 0x27; in rt5390_set_chan()
2560 rt3090_rf_write(sc, 50, rf); in rt5390_set_chan()
2563 rf = rt3090_rf_read(sc, 1); in rt5390_set_chan()
2564 rf |= RT3070_RF_BLOCK | RT3070_PLL_PD | RT3070_RX0_PD | RT3070_TX0_PD; in rt5390_set_chan()
2566 rf |= RT3070_RX1_PD | RT3070_TX1_PD; in rt5390_set_chan()
2567 rt3090_rf_write(sc, 1, rf); in rt5390_set_chan()
2569 rf = rt3090_rf_read(sc, 2); in rt5390_set_chan()
2570 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL); in rt5390_set_chan()
2572 rt3090_rf_write(sc, 2, rf & ~RT3593_RESCAL); in rt5390_set_chan()
2574 rf = rt3090_rf_read(sc, 17); in rt5390_set_chan()
2575 tmp = rf; in rt5390_set_chan()
2576 rf = (rf & ~0x7f) | (sc->freq & 0x7f); in rt5390_set_chan()
2577 rf = MIN(rf, 0x5f); in rt5390_set_chan()
2578 if (tmp != rf) in rt5390_set_chan()
2579 rt2860_mcu_cmd(sc, 0x74, (tmp << 8 ) | rf, 0); in rt5390_set_chan()
2583 rf = 0x73; in rt5390_set_chan()
2585 rf = 0x63; in rt5390_set_chan()
2587 rf = 0x53; in rt5390_set_chan()
2589 rf = 43; in rt5390_set_chan()
2590 rt3090_rf_write(sc, 55, rf); in rt5390_set_chan()
2593 rf = 0x0c; in rt5390_set_chan()
2595 rf = 0x0b; in rt5390_set_chan()
2597 rf = 0x0a; in rt5390_set_chan()
2599 rf = 0x09; in rt5390_set_chan()
2601 rf = 0x08; in rt5390_set_chan()
2603 rf = 0x07; in rt5390_set_chan()
2605 rf = 0x06; in rt5390_set_chan()
2606 rt3090_rf_write(sc, 59, rf); in rt5390_set_chan()
2611 rf = rt3090_rf_read(sc, 30); in rt5390_set_chan()
2612 rf = (rf & ~0x06) | (h20mhz << 1) | (h20mhz << 2); in rt5390_set_chan()
2613 rt3090_rf_write(sc, 30, rf); in rt5390_set_chan()
2616 rf = rt3090_rf_read(sc, 30); in rt5390_set_chan()
2617 rf = (rf & ~0x18) | 0x10; in rt5390_set_chan()
2618 rt3090_rf_write(sc, 30, rf); in rt5390_set_chan()
2621 rf = rt3090_rf_read(sc, 3); in rt5390_set_chan()
2622 rf |= RT3593_VCOCAL; in rt5390_set_chan()
2623 rt3090_rf_write(sc, 3, rf); in rt5390_set_chan()
2630 uint8_t rf, bbp; in rt3090_rf_init() local
2633 rf = rt3090_rf_read(sc, 30); in rt3090_rf_init()
2634 /* toggle RF R30 bit 7 */ in rt3090_rf_init()
2635 rt3090_rf_write(sc, 30, rf | 0x80); in rt3090_rf_init()
2637 rt3090_rf_write(sc, 30, rf & ~0x80); in rt3090_rf_init()
2651 /* initialize RF registers to default value */ in rt3090_rf_init()
2660 rf = rt3090_rf_read(sc, 6); in rt3090_rf_init()
2661 rt3090_rf_write(sc, 6, rf | 0x40); in rt3090_rf_init()
2671 rf = rt3090_rf_read(sc, 31); in rt3090_rf_init()
2672 rt3090_rf_write(sc, 31, rf | 0x20); in rt3090_rf_init()
2709 rf = rt3090_rf_read(sc, 1); in rt3090_rf_init()
2710 rf &= ~(RT3070_RX0_PD | RT3070_TX0_PD); in rt3090_rf_init()
2711 rf |= RT3070_RF_BLOCK | RT3070_RX1_PD | RT3070_TX1_PD; in rt3090_rf_init()
2712 rt3090_rf_write(sc, 1, rf); in rt3090_rf_init()
2714 rf = rt3090_rf_read(sc, 15); in rt3090_rf_init()
2715 rt3090_rf_write(sc, 15, rf & ~RT3070_TX_LO2); in rt3090_rf_init()
2717 rf = rt3090_rf_read(sc, 17); in rt3090_rf_init()
2718 rf &= ~RT3070_TX_LO1; in rt3090_rf_init()
2720 rf |= 0x20; /* fix for long range Rx issue */ in rt3090_rf_init()
2722 rf = (rf & ~0x7) | sc->txmixgain_2ghz; in rt3090_rf_init()
2723 rt3090_rf_write(sc, 17, rf); in rt3090_rf_init()
2725 rf = rt3090_rf_read(sc, 20); in rt3090_rf_init()
2726 rt3090_rf_write(sc, 20, rf & ~RT3070_RX_LO1); in rt3090_rf_init()
2728 rf = rt3090_rf_read(sc, 21); in rt3090_rf_init()
2729 rt3090_rf_write(sc, 21, rf & ~RT3070_RX_LO2); in rt3090_rf_init()
2737 uint8_t rf, bbp; in rt5390_rf_init() local
2740 rf = rt3090_rf_read(sc, 2); in rt5390_rf_init()
2741 /* Toggle RF R2 bit 7. */ in rt5390_rf_init()
2742 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL); in rt5390_rf_init()
2744 rt3090_rf_write(sc, 2, rf & ~RT3593_RESCAL); in rt5390_rf_init()
2746 /* Initialize RF registers to default value. */ in rt5390_rf_init()
2798 rf = rt3090_rf_read(sc, 30); in rt5390_rf_init()
2799 rf = (rf & ~0x18) | 0x10; in rt5390_rf_init()
2800 rt3090_rf_write(sc, 30, rf); in rt5390_rf_init()
2807 uint8_t rf; in rt3090_rf_wakeup() local
2811 rf = rt3090_rf_read(sc, 1); in rt3090_rf_wakeup()
2812 rt3090_rf_write(sc, 1, rf | RT3593_VCO); in rt3090_rf_wakeup()
2815 rf = rt3090_rf_read(sc, 3); in rt3090_rf_wakeup()
2816 rt3090_rf_write(sc, 3, rf | RT3593_VCOCAL); in rt3090_rf_wakeup()
2819 rf = rt3090_rf_read(sc, 6); in rt3090_rf_wakeup()
2820 rt3090_rf_write(sc, 6, rf | RT3593_VCO_IC); in rt3090_rf_wakeup()
2823 rf = rt3090_rf_read(sc, 2); in rt3090_rf_wakeup()
2824 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL); in rt3090_rf_wakeup()
2827 rf = rt3090_rf_read(sc, 22); in rt3090_rf_wakeup()
2828 rf &= ~RT3593_CP_IC_MASK; in rt3090_rf_wakeup()
2829 rf |= 1 << RT3593_CP_IC_SHIFT; in rt3090_rf_wakeup()
2830 rt3090_rf_write(sc, 22, rf); in rt3090_rf_wakeup()
2833 rf = rt3090_rf_read(sc, 46); in rt3090_rf_wakeup()
2834 rt3090_rf_write(sc, 46, rf | RT3593_RX_CTB); in rt3090_rf_wakeup()
2836 rf = rt3090_rf_read(sc, 20); in rt3090_rf_wakeup()
2837 rf &= ~(RT3593_LDO_RF_VC_MASK | RT3593_LDO_PLL_VC_MASK); in rt3090_rf_wakeup()
2838 rt3090_rf_write(sc, 20, rf); in rt3090_rf_wakeup()
2840 /* enable RF block */ in rt3090_rf_wakeup()
2841 rf = rt3090_rf_read(sc, 1); in rt3090_rf_wakeup()
2842 rt3090_rf_write(sc, 1, rf | RT3070_RF_BLOCK); in rt3090_rf_wakeup()
2845 rf = rt3090_rf_read(sc, 7); in rt3090_rf_wakeup()
2846 rt3090_rf_write(sc, 7, rf | 0x30); in rt3090_rf_wakeup()
2848 rf = rt3090_rf_read(sc, 9); in rt3090_rf_wakeup()
2849 rt3090_rf_write(sc, 9, rf | 0x0e); in rt3090_rf_wakeup()
2852 rf = rt3090_rf_read(sc, 21); in rt3090_rf_wakeup()
2853 rt3090_rf_write(sc, 21, rf | RT3070_RX_CTB); in rt3090_rf_wakeup()
2855 /* fix Tx to Rx IQ glitch by raising RF voltage */ in rt3090_rf_wakeup()
2856 rf = rt3090_rf_read(sc, 27); in rt3090_rf_wakeup()
2857 rf &= ~0x77; in rt3090_rf_wakeup()
2859 rf |= 0x03; in rt3090_rf_wakeup()
2860 rt3090_rf_write(sc, 27, rf); in rt3090_rf_wakeup()
2873 uint8_t rf; in rt5390_rf_wakeup() local
2875 rf = rt3090_rf_read(sc, 1); in rt5390_rf_wakeup()
2876 rf |= RT3070_RF_BLOCK | RT3070_PLL_PD | RT3070_RX0_PD | in rt5390_rf_wakeup()
2879 rf |= RT3070_RX1_PD | RT3070_TX1_PD; in rt5390_rf_wakeup()
2880 rt3090_rf_write(sc, 1, rf); in rt5390_rf_wakeup()
2882 rf = rt3090_rf_read(sc, 6); in rt5390_rf_wakeup()
2883 rf |= RT3593_VCO_IC | RT3593_VCOCAL; in rt5390_rf_wakeup()
2885 rf &= ~RT3593_VCO_IC; in rt5390_rf_wakeup()
2886 rt3090_rf_write(sc, 6, rf); in rt5390_rf_wakeup()
2890 rf = rt3090_rf_read(sc, 22); in rt5390_rf_wakeup()
2891 rf = (rf & ~0xe0) | 0x20; in rt5390_rf_wakeup()
2892 rt3090_rf_write(sc, 22, rf); in rt5390_rf_wakeup()
2992 /* initialize RF registers from ROM */ in rt3090_rf_setup()
2995 if (sc->rf[i].reg == 0 || sc->rf[i].reg == 0xff) in rt3090_rf_setup()
2997 rt3090_rf_write(sc, sc->rf[i].reg, sc->rf[i].val); in rt3090_rf_setup()
3391 /* read vendor RF settings */ in rt2860_read_eeprom()
3394 sc->rf[i].val = val & 0xff; in rt2860_read_eeprom()
3395 sc->rf[i].reg = val >> 8; in rt2860_read_eeprom()
3396 DPRINTF(("RF%d=0x%02x\n", sc->rf[i].reg, in rt2860_read_eeprom()
3397 sc->rf[i].val)); in rt2860_read_eeprom()
3401 /* read RF frequency offset from EEPROM */ in rt2860_read_eeprom()
3421 /* read RF information */ in rt2860_read_eeprom()
3429 DPRINTF(("EEPROM RF rev=0x%02x chains=%dT%dR\n", in rt2860_read_eeprom()
3432 /* check if RF supports automatic Tx access gain control */ in rt2860_read_eeprom()
3441 /* check if RF supports automatic Tx access gain control */ in rt2860_read_eeprom()
4027 /* reset RF from MCU */ in rt2860_init_locked()