void rt_set_freq(struct rt_softc *sc, u_int32_t nfreq) { u_int32_t reg; if (nfreq > MAX_FM_FREQ) nfreq = MAX_FM_FREQ; if (nfreq < MIN_FM_FREQ) nfreq = MIN_FM_FREQ; sc->sc_freq = nfreq; reg = lm700x_encode_freq(nfreq, sc->sc_rf); reg |= sc->sc_stereo | sc->sc_rf | LM700X_DIVIDER_FM; lm700x_hardware_write(&sc->lm, reg, RT_VOLUME_STEADY); rt_set_mute(sc, sc->sc_vol); }
void az_set_freq(struct az_softc *sc, u_int32_t nfreq) { u_int8_t vol; u_int32_t reg; vol = sc->mute ? 0 : sc->vol; if (nfreq > MAX_FM_FREQ) nfreq = MAX_FM_FREQ; if (nfreq < MIN_FM_FREQ) nfreq = MIN_FM_FREQ; sc->freq = nfreq; reg = lm700x_encode_freq(nfreq, sc->rf); reg |= sc->stereo | sc->rf | LM700X_DIVIDER_FM; lm700x_hardware_write(&sc->lm, reg, vol); az_set_mute(sc); }