Lines Matching full:rf

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