Lines Matching +full:factional +full:- +full:n

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for the Integrant ITD1000 "Zero-IF Tuner IC for Direct Broadcast Satellite"
5 * Copyright (c) 2007-8 Patrick Boettcher <pb@linuxtv.org>
46 .addr = state->cfg->i2c_address, .flags = 0, .buf = buf, .len = len+1 in itd1000_write_regs()
51 "itd1000: i2c wr reg=%04x: len=%d is too big!\n", in itd1000_write_regs()
53 return -EINVAL; in itd1000_write_regs()
59 /* itd_dbg("wr %02x: %02x\n", reg, v[0]); */ in itd1000_write_regs()
61 if (i2c_transfer(state->i2c, &msg, 1) != 1) { in itd1000_write_regs()
62 printk(KERN_WARNING "itd1000 I2C write failed\n"); in itd1000_write_regs()
63 return -EREMOTEIO; in itd1000_write_regs()
72 { .addr = state->cfg->i2c_address, .flags = 0, .buf = &reg, .len = 1 }, in itd1000_read_reg()
73 { .addr = state->cfg->i2c_address, .flags = I2C_M_RD, .buf = &val, .len = 1 }, in itd1000_read_reg()
77 itd1000_write_regs(state, (reg - 1) & 0xff, &state->shadow[(reg - 1) & 0xff], 1); in itd1000_read_reg()
79 if (i2c_transfer(state->i2c, msg, 2) != 2) { in itd1000_read_reg()
80 itd_warn("itd1000 I2C read failed\n"); in itd1000_read_reg()
81 return -EREMOTEIO; in itd1000_read_reg()
90 state->shadow[r] = tmp; in itd1000_write_reg()
125 itd_dbg("symbol_rate = %d\n", symbol_rate); in itd1000_set_lpf_bw()
127 /* not sure what is that ? - starting to download the table */ in itd1000_set_lpf_bw()
132 …itd_dbg("symrate: index: %d pgaext: %x, bbgvmin: %x\n", i, itd1000_lpf_pga[i].pgaext, itd1000_lpf_… in itd1000_set_lpf_bw()
180 …itd_dbg("VCO: %dkHz: %d -> ADCOUT: %d %02x\n", freq_khz, itd1000_vcorg[i].vcorg, adcout, vco_chp1_… in itd1000_set_vco()
187 itd1000_write_reg(state, VCO_CHP1_I2C, vco_chp1_i2c | ((itd1000_vcorg[i].vcorg - 1) << 4)); in itd1000_set_vco()
196 u8 values[10]; /* RFTR, RFST1 - RFST9 */
221 /* Compute the factional part times 1000 */ in itd1000_set_lo()
229 state->frequency = ((plln * 1000) + (pllf * 1000)/1048576) * 2*FREF; in itd1000_set_lo()
230 …itd_dbg("frequency: %dkHz (wanted) %dkHz (set), PLLF = %d, PLLN = %d\n", freq_khz, state->frequenc… in itd1000_set_lo()
240 itd_dbg("fre_values: %d\n", i); in itd1000_set_lo()
253 struct dtv_frontend_properties *c = &fe->dtv_property_cache; in itd1000_set_parameters()
254 struct itd1000_state *state = fe->tuner_priv; in itd1000_set_parameters()
257 itd1000_set_lo(state, c->frequency); in itd1000_set_parameters()
258 itd1000_set_lpf_bw(state, c->symbol_rate); in itd1000_set_parameters()
269 struct itd1000_state *state = fe->tuner_priv; in itd1000_get_frequency()
270 *frequency = state->frequency; in itd1000_get_frequency()
321 struct itd1000_state *state = fe->tuner_priv; in itd1000_init()
340 kfree(fe->tuner_priv); in itd1000_release()
341 fe->tuner_priv = NULL; in itd1000_release()
372 state->cfg = cfg; in itd1000_attach()
373 state->i2c = i2c; in itd1000_attach()
380 itd_info("successfully identified (ID: %d)\n", i); in itd1000_attach()
382 memset(state->shadow, 0xff, sizeof(state->shadow)); in itd1000_attach()
384 state->shadow[i] = itd1000_read_reg(state, i); in itd1000_attach()
386 memcpy(&fe->ops.tuner_ops, &itd1000_tuner_ops, sizeof(struct dvb_tuner_ops)); in itd1000_attach()
388 fe->tuner_priv = state; in itd1000_attach()