INT32 tun_nt220x_status(UINT32 tuner_id, UINT8 *lock) { INT32 result = 0; tmErrorCode_t err; tmbslFrontEndState_t PLLLockMaster = tmbslFrontEndStateUnknown; struct QAM_TUNER_CONFIG_EXT * tuner_dev_ptr = NULL; if ((tuner_id>=nt220x_tuner_cnt) || (tuner_id>=MAX_TUNER_SUPPORT_NUM)) return ERR_FAILUE; tuner_dev_ptr = nt220x_dev_id[tuner_id]; /* Get NT220X Master PLL Lock status */ err = tmbslNT220xGetLockStatus(0, &PLLLockMaster); if(err != TM_OK) { *lock = 0; result = !SUCCESS; } else { if (tmbslFrontEndStateLocked == PLLLockMaster) { *lock = 1; } else { *lock = 0; } result = SUCCESS; } return result; }
int set_tuner_fj2207(struct aml_demod_sta *demod_sta, struct aml_demod_i2c *adap) { tmErrorCode_t err = TM_OK; tmNT220xStandardMode_t StandardMode; tmbslFrontEndState_t PLLLock; UInt32 ch_if; UInt32 ch_pow; int only_set_freq; only_set_freq = (demod_sta->ch_freq)&0x1; unsigned long ch_freq; int ch_bw; ch_freq = demod_sta->ch_freq; // kHz ch_bw = demod_sta->ch_bw / 1000; // MHz printk("Set Tuner FJ2207 to %ld kHz, demod mode is %d\n", ch_freq, demod_sta->dvb_mode); ch_freq *= 1000; // Hz StandardMode = demod_sta->dvb_mode==0 ? (ch_bw<8 ? tmNT220x_QAM_6MHz : tmNT220x_QAM_8MHz) : demod_sta->dvb_mode==1 ? (ch_bw-6 + tmNT220x_DVBT_6MHz) : demod_sta->dvb_mode==2 ? tmNT220x_DVBT_8MHz:tmNT220x_DVBT_8MHz;//tmNT220x_ISDBT_6MHz if (only_set_freq == 1) { } else { printk("Mode: %s\n", NT220x_mode_name[StandardMode]); err = tmbslNT220xSetStandardMode(0, StandardMode); if(err != TM_OK) return err; } err = tmbslNT220xSetRf(0, ch_freq); if(err != TM_OK) return err; err = tmbslNT220xGetLockStatus(0, &PLLLock); if(err != TM_OK) return err; err = tmbslNT220xGetIF(0, &ch_if); if(err != TM_OK) return err; demod_sta->ch_if = ch_if / 1000; printk("IF: %d kHz\n", demod_sta->ch_if); err = tmbslNT220xGetPowerLevel(0, &ch_pow); if(err != TM_OK) return err; printk("Signal Power: %d dBuV\n", (int)ch_pow); return err; }