int init_tuner_fj2207(struct aml_demod_sta *demod_sta, struct aml_demod_i2c *adap) { tmErrorCode_t err = TM_OK; tmbslFrontEndDependency_t sSrvTunerFunc; I2C_adap = adap; /* Low layer struct set-up to link with user written functions */ sSrvTunerFunc.sIo.Write = UserWrittenI2CWrite; sSrvTunerFunc.sIo.Read = UserWrittenI2CRead; sSrvTunerFunc.sTime.Get = Null; sSrvTunerFunc.sTime.Wait = UserWrittenWait; sSrvTunerFunc.sDebug.Print = UserWrittenPrint; sSrvTunerFunc.sMutex.Init = UserWrittenMutexInit; sSrvTunerFunc.sMutex.DeInit = UserWrittenMutexDeInit; sSrvTunerFunc.sMutex.Acquire = UserWrittenMutexAcquire; sSrvTunerFunc.sMutex.Release = UserWrittenMutexRelease; sSrvTunerFunc.dwAdditionalDataSize = 0; sSrvTunerFunc.pAdditionalData = Null; err = tmbslNT220xInit(0, &sSrvTunerFunc); if(err != TM_OK) return err; err = tmbslNT220xReset(0); if(err != TM_OK) return err; return err; }
INT32 tun_nt220x_control(UINT32 tuner_id, UINT32 freq, UINT32 sym, UINT8 AGC_Time_Const, UINT8 _i2c_cmd) { INT32 result; tmErrorCode_t err = TM_OK; static INT8 tun_status=0; tmNT220xStandardMode_t stdModeMaster; UInt32 uRFMaster = freq*1000; UInt32 uIFMaster = 0; if (0==tun_status) { /* Variable declarations */ tmbslFrontEndDependency_t sSrvTunerFunc; /* Low layer struct set-up to link with user written functions */ sSrvTunerFunc.sIo.Write = UserWrittenI2CWrite; sSrvTunerFunc.sIo.Read = UserWrittenI2CRead; sSrvTunerFunc.sTime.Get = Null; sSrvTunerFunc.sTime.Wait = UserWrittenWait; sSrvTunerFunc.sDebug.Print = UserWrittenPrint; sSrvTunerFunc.sMutex.Init = UserWrittenMutexInit; sSrvTunerFunc.sMutex.DeInit = UserWrittenMutexDeInit; sSrvTunerFunc.sMutex.Acquire = UserWrittenMutexAcquire; sSrvTunerFunc.sMutex.Release = UserWrittenMutexRelease; sSrvTunerFunc.dwAdditionalDataSize = 0; sSrvTunerFunc.pAdditionalData = Null; /* NT220X Master Driver low layer setup */ err = tmbslNT220xInit(0, &sSrvTunerFunc); if(err != TM_OK) { NT220X_PRINTF("tmNT220x init failed\n"); return err; } /* NT220X Master Hardware initialization */ do { err = tmbslNT220xReset(0); if(err != TM_OK) { NT220X_PRINTF("tmNT220x reset again\n"); osal_task_sleep(100); } }while(err != TM_OK); if(err != TM_OK) { NT220X_PRINTF("tmNT220x reset failed\n"); return err; } /* NT220X Master Hardware power state */ err = tmbslNT220xSetPowerState(0, tmNT220x_PowerNormalMode); if(err != TM_OK) { NT220X_PRINTF("tmNT220x_error 1\n"); return err; } #if (1) /* NT220X Master standard mode */ #ifdef NT220x_IF5M_BW8M stdModeMaster = tmNT220x_QAM_8MHz; #else stdModeMaster = tmNT220x_QAM_6MHz; #endif err = tmbslNT220xSetStandardMode(0, stdModeMaster); if(err != TM_OK) { NT220X_PRINTF("tmNT220x_error 2\n"); return err; } #endif tun_status = 1; } #if (0) /* if(sym<= 4500) { stdModeMaster = tmNT220x_QAM_6MHz; NT220X_PRINTF("tmNT220x_QAM_6MHz\n"); } else { stdModeMaster = tmNT220x_QAM_8MHz; NT220X_PRINTF("tmNT220x_QAM_8MHz\n"); } */ stdModeMaster = tmNT220x_QAM_6MHz; NT220X_PRINTF("tmNT220x_QAM_6MHz\n"); /* NT220X Master standard mode */ err = tmbslNT220xSetStandardMode(0, stdModeMaster); NT220X_PRINTF("tmNT220x_QAM,stdModeMaster=%d\n",stdModeMaster); if(err != TM_OK) { NT220X_PRINTF("set tmNT220x_QAM failed\n"); return err; } #endif /* NT220X Master RF frequency */ err = tmbslNT220xSetRf(0, uRFMaster);// tUnit-> 0: master 1:slaver,uRF(hz) if(err != TM_OK) { NT220X_PRINTF("tmbslNT220xSetRf failed! uRFMaster=%d\n",uRFMaster); return err; } osal_task_sleep(100); // we don't know wait how long, just give a norminal value. /* Get NT220X Master IF */ /* err = tmbslNT220xGetIF(0, &uIFMaster); if(err != TM_OK) return err; */ if (err !=TM_OK) { result= ERR_FAILED; } else { result = SUCCESS; } return result; }