Home | History | Annotate | Download | only in ic

Lines Matching refs:rf

250 	/* retrieve RF rev. no and various other things from EEPROM */
255 "RF %s (MIMO %dT%dR)\n",
2086 * Write to one of the 4 programmable 24-bit RF registers.
2100 aprint_error_dev(sc->sc_dev, "could not write to RF\n");
2104 /* RF registers are 24-bit on the RT2860 */
2122 aprint_error_dev(sc->sc_dev, "could not read RF register\n");
2135 aprint_error_dev(sc->sc_dev, "could not read RF register\n");
2153 aprint_error_dev(sc->sc_dev, "could not write to RF\n");
2420 uint8_t rf;
2433 rf = rt3090_rf_read(sc, 3);
2434 rf = (rf & ~0x0f) | rt3090_freqs[i].k;
2435 rt3090_rf_write(sc, 3, rf);
2436 rf = rt3090_rf_read(sc, 6);
2437 rf = (rf & ~0x03) | rt3090_freqs[i].r;
2438 rt3090_rf_write(sc, 6, rf);
2441 rf = rt3090_rf_read(sc, 12);
2442 rf = (rf & ~0x1f) | txpow1;
2443 rt3090_rf_write(sc, 12, rf);
2446 rf
2447 rf = (rf & ~0x1f) | txpow2;
2448 rt3090_rf_write(sc, 13, rf);
2450 rf = rt3090_rf_read(sc, 1);
2451 rf &= ~0xfc;
2453 rf |= RT3070_TX1_PD | RT3070_TX2_PD;
2455 rf |= RT3070_TX2_PD;
2457 rf |= RT3070_RX1_PD | RT3070_RX2_PD;
2459 rf |= RT3070_RX2_PD;
2460 rt3090_rf_write(sc, 1, rf);
2462 /* set RF offset */
2463 rf = rt3090_rf_read(sc, 23);
2464 rf = (rf & ~0x7f) | sc->freq;
2465 rt3090_rf_write(sc, 23, rf);
2467 /* program RF filter */
2468 rf = rt3090_rf_read(sc, 24); /* Tx */
2469 rf = (rf & ~0x3f) | sc->rf24_20mhz;
2470 rt3090_rf_write(sc, 24, rf);
2471 rf = rt3090_rf_read(sc, 31); /* Rx */
2472 rf = (rf & ~0x3f) | sc->rf24_20mhz;
2473 rt3090_rf_write(sc, 31, rf);
2475 /* enable RF tuning */
2476 rf = rt3090_rf_read(sc, 7);
2477 rt3090_rf_write(sc, 7, rf | RT3070_TUNE);
2483 uint8_t h20mhz, rf, tmp;
2499 rf = rt3090_rf_read(sc, 11);
2500 rf = (rf & ~0x03) | (rt3090_freqs[i].r & 0x03);
2501 rt3090_rf_write(sc, 11, rf);
2503 rf = rt3090_rf_read(sc, 49);
2504 rf = (rf & ~0x3f) | (txpow1 & 0x3f);
2505 /* the valid range of the RF R49 is 0x00~0x27 */
2506 if ((rf & 0x3f) > 0x27)
2507 rf = (rf & ~0x3f) | 0x27;
2508 rt3090_rf_write(sc, 49, rf);
2510 rf = rt3090_rf_read(sc, 50);
2511 rf = (rf & ~0x3f) | (txpow2 & 0x3f);
2512 /* the valid range of the RF R50 is 0x00~0x27 */
2513 if ((rf & 0x3f) > 0x27)
2514 rf = (rf & ~0x3f) | 0x27;
2515 rt3090_rf_write(sc, 50, rf);
2518 rf = rt3090_rf_read(sc, 1);
2519 rf |= RT3070_RF_BLOCK | RT3070_PLL_PD | RT3070_RX0_PD | RT3070_TX0_PD;
2521 rf |= RT3070_RX1_PD | RT3070_TX1_PD;
2522 rt3090_rf_write(sc, 1, rf);
2524 rf = rt3090_rf_read(sc, 2);
2525 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL);
2527 rt3090_rf_write(sc, 2, rf & ~RT3593_RESCAL);
2529 rf = rt3090_rf_read(sc, 17);
2530 tmp = rf;
2531 rf = (rf & ~0x7f) | (sc->freq & 0x7f);
2532 rf = MIN(rf, 0x5f);
2533 if (tmp != rf)
2534 rt2860_mcu_cmd(sc, 0x74, (tmp << 8 ) | rf, 0);
2538 rf = 0x73;
2540 rf = 0x63;
2542 rf = 0x53;
2544 rf = 43;
2545 rt3090_rf_write(sc, 55, rf);
2548 rf = 0x0c;
2550 rf = 0x0b;
2552 rf = 0x0a;
2554 rf = 0x09;
2556 rf = 0x08;
2558 rf = 0x07;
2560 rf = 0x06;
2561 rt3090_rf_write(sc, 59, rf);
2566 rf = rt3090_rf_read(sc, 30);
2567 rf = (rf & ~0x06) | (h20mhz << 1) | (h20mhz << 2);
2568 rt3090_rf_write(sc, 30, rf);
2571 rf = rt3090_rf_read(sc, 30);
2572 rf = (rf & ~0x18) | 0x10;
2573 rt3090_rf_write(sc, 30, rf);
2576 rf = rt3090_rf_read(sc, 3);
2577 rf |= RT3593_VCOCAL;
2578 rt3090_rf_write(sc, 3, rf);
2585 uint8_t rf, bbp;
2588 rf = rt3090_rf_read(sc, 30);
2589 /* toggle RF R30 bit 7 */
2590 rt3090_rf_write(sc, 30, rf | 0x80);
2592 rt3090_rf_write(sc, 30, rf & ~0x80);
2606 /* initialize RF registers to default value */
2622 rf = rt3090_rf_read(sc, 6);
2623 rt3090_rf_write(sc, 6, rf | 0x40);
2633 rf = rt3090_rf_read(sc, 31);
2634 rt3090_rf_write(sc, 31, rf | 0x20);
2671 rf = rt3090_rf_read(sc, 1);
2672 rf &= ~(RT3070_RX0_PD | RT3070_TX0_PD);
2673 rf |= RT3070_RF_BLOCK | RT3070_RX1_PD | RT3070_TX1_PD;
2674 rt3090_rf_write(sc, 1, rf);
2676 rf = rt3090_rf_read(sc, 15);
2677 rt3090_rf_write(sc, 15, rf & ~RT3070_TX_LO2);
2679 rf = rt3090_rf_read(sc, 17);
2680 rf &= ~RT3070_TX_LO1;
2682 rf |= 0x20; /* fix for long range Rx issue */
2684 rf = (rf & ~0x7) | sc->txmixgain_2ghz;
2685 rt3090_rf_write(sc, 17, rf);
2687 rf = rt3090_rf_read(sc, 20);
2688 rt3090_rf_write(sc, 20, rf & ~RT3070_RX_LO1);
2690 rf = rt3090_rf_read(sc, 21);
2691 rt3090_rf_write(sc, 21, rf & ~RT3070_RX_LO2);
2697 uint8_t rf, bbp;
2700 rf = rt3090_rf_read(sc, 2);
2701 /* Toggle RF R2 bit 7. */
2702 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL);
2704 rt3090_rf_write(sc, 2, rf & ~RT3593_RESCAL);
2706 /* Initialize RF registers to default value. */
2758 rf = rt3090_rf_read(sc, 30);
2759 rf = (rf & ~0x18) | 0x10;
2760 rt3090_rf_write(sc, 30, rf);
2767 uint8_t rf;
2771 rf = rt3090_rf_read(sc, 1);
2772 rt3090_rf_write(sc, 1, rf | RT3593_VCO);
2775 rf = rt3090_rf_read(sc, 3);
2776 rt3090_rf_write(sc, 3, rf | RT3593_VCOCAL);
2779 rf = rt3090_rf_read(sc, 6);
2780 rt3090_rf_write(sc, 6, rf | RT3593_VCO_IC);
2783 rf = rt3090_rf_read(sc, 2);
2784 rt3090_rf_write(sc, 2, rf | RT3593_RESCAL);
2787 rf = rt3090_rf_read(sc, 22);
2788 rf &= ~RT3593_CP_IC_MASK;
2789 rf |= 1 << RT3593_CP_IC_SHIFT;
2790 rt3090_rf_write(sc, 22, rf);
2793 rf = rt3090_rf_read(sc, 46);
2794 rt3090_rf_write(sc, 46, rf | RT3593_RX_CTB);
2796 rf = rt3090_rf_read(sc, 20);
2797 rf &= ~(RT3593_LDO_RF_VC_MASK | RT3593_LDO_PLL_VC_MASK);
2798 rt3090_rf_write(sc, 20, rf);
2800 /* enable RF block */
2801 rf = rt3090_rf_read(sc, 1);
2802 rt3090_rf_write(sc, 1, rf | RT3070_RF_BLOCK);
2805 rf = rt3090_rf_read(sc, 7);
2806 rt3090_rf_write(sc, 7, rf | 0x30);
2808 rf = rt3090_rf_read(sc, 9);
2809 rt3090_rf_write(sc, 9, rf | 0x0e);
2812 rf = rt3090_rf_read(sc, 21);
2813 rt3090_rf_write(sc, 21, rf | RT3070_RX_CTB);
2815 /* fix Tx to Rx IQ glitch by raising RF voltage */
2816 rf = rt3090_rf_read(sc, 27);
2817 rf &= ~0x77;
2819 rf |= 0x03;
2820 rt3090_rf_write(sc, 27, rf);
2833 uint8_t rf;
2835 rf = rt3090_rf_read(sc, 1);
2836 rf |= RT3070_RF_BLOCK | RT3070_PLL_PD | RT3070_RX0_PD |
2839 rf |= RT3070_RX1_PD | RT3070_TX1_PD;
2840 rt3090_rf_write(sc, 1, rf);
2842 rf = rt3090_rf_read(sc, 6);
2843 rf |= RT3593_VCO_IC | RT3593_VCOCAL;
2845 rf &= ~RT3593_VCO_IC;
2846 rt3090_rf_write(sc, 6, rf);
2850 rf = rt3090_rf_read(sc, 22);
2851 rf = (rf & ~0xe0) | 0x20;
2852 rt3090_rf_write(sc, 22, rf);
2952 /* initialize RF registers from ROM */
2955 if (sc->rf[i].reg == 0 || sc->rf[i].reg == 0xff)
2957 rt3090_rf_write(sc, sc->rf[i].reg, sc->rf[i].val);
3355 /* read vendor RF settings */
3358 sc->rf[i].val = val & 0xff;
3359 sc->rf[i].reg = val >> 8;
3360 DPRINTF(("RF%d=0x%02x\n", sc->rf[i].reg,
3361 sc->rf[i].val));
3365 /* read RF frequency offset from EEPROM */
3385 /* read RF information */
3393 DPRINTF(("EEPROM RF rev=0x%02x chains=%dT%dR\n",
3396 /* check if RF supports automatic Tx access gain control */
3405 /* check if RF supports automatic Tx access gain control */
3988 /* reset RF from MCU */