int8 tunerbb_drv_lg2102_tune(int nFreqNo) { uint32 ulFreq; INC_UINT8 nRet = INC_ERROR; ulFreq = tunerbb_drv_lg2102_get_freq(nFreqNo); //printk("tunerbb_drv_lg2102_tune nFreqNo = %d, ulFreq = %d \n", nFreqNo, ulFreq); nRet = INTERFACE_SCAN(TDMB_RFBB_DEV_ADDR,ulFreq); return nRet; }
int8 tunerbb_drv_lg2102_tune(int nFreqNo) { uint32 ulFreq; LGD_UINT8 nRet = LGD_ERROR; ulFreq = tunerbb_drv_lg2102_get_freq(nFreqNo); printk("tunerbb_drv_lg2102_tune nFreqNo = %d, ulFreq = %d \n", nFreqNo, ulFreq); nRet = LGD_READY(TDMB_RFBB_DEV_ADDR, ulFreq); if(nRet != LGD_ERROR) { printk("tunerbb_drv_lg2102_tune READY OK = %d \n", nRet); nRet = LGD_SYNCDETECTOR(TDMB_RFBB_DEV_ADDR, ulFreq, 0); } printk("tunerbb_drv_lg2102_tune result = %d \n", nRet); return nRet; }
int8 tunerbb_drv_lg2102_multi_set_channel(int32 freq_num, uint8 subch_cnt, uint8 subch_id[], uint8 op_mode[]) { int i; //INC_INT16 nLoop; INC_ERROR_INFO ErrorInfo; uint32 set_freq; if(subch_cnt>INC_MULTI_MAX_CHANNEL) { return INC_ERROR; } serviceType = (lg2102_service_type)op_mode[0]; set_freq = tunerbb_drv_lg2102_get_freq(freq_num); if(op_mode[0]==LG2102_ENSQUERY) { if(INTERFACE_SCAN(TDMB_RFBB_DEV_ADDR, set_freq)==INC_SUCCESS) { return INC_SUCCESS; } } else { #ifdef LGE_FW_LARGE_STACK // for build error INC_CHANNEL_INFO ChInfo[INC_MULTI_MAX_CHANNEL]; ST_SUBCH_INFO stSubInfo; for(i=0;i<subch_cnt;i++) { switch(op_mode[i]) { case LG2102_DAB: ChInfo[i].ucSubChID = subch_id[i]; ChInfo[i].ulRFFreq = set_freq; ChInfo[i].ucServiceType = 0x00; ChInfo[i].uiTmID = TMID_0; ChInfo[i].ucDataType = TDMB_BB_DATA_DAB; ChInfo[i].ulDataThreshold = 188*10; break; case LG2102_DATA: ChInfo[i].ucSubChID = subch_id[i]; ChInfo[i].ulRFFreq = set_freq; ChInfo[i].ucServiceType = 0x3C; ChInfo[i].uiTmID = TMID_3; ChInfo[i].ucDataType = TDMB_BB_DATA_PACK; ChInfo[i].ulDataThreshold = 288*10;//288; break; case LG2102_DMB: case LG2102_VISUAL: case LG2102_BLT_TEST: ChInfo[i].ucSubChID = subch_id[i]; ChInfo[i].ulRFFreq = set_freq; ChInfo[i].ucServiceType = 0x18; ChInfo[i].uiTmID = TMID_1; ChInfo[i].ucDataType = TDMB_BB_DATA_TS; ChInfo[i].ulDataThreshold = 188*32; break; default: return INC_ERROR; } memcpy(&stSubInfo.astSubChInfo[i], &ChInfo[i], sizeof(INC_CHANNEL_INFO)); } stSubInfo.nSetCnt = subch_cnt; INC_MULTI_SORT_INIT(); memcpy(&g_stSubInfo, &stSubInfo, sizeof(ST_SUBCH_INFO)); //for(nLoop = 0; nLoop < 2; nLoop++) { if(INTERFACE_START(TDMB_RFBB_DEV_ADDR, &stSubInfo)) { return INC_SUCCESS; } ErrorInfo = INTERFACE_ERROR_STATUS(TDMB_RFBB_DEV_ADDR); printk("[INC]^__^ INTERFACE_STATUS = (0x%04x)\n", ErrorInfo); if(ErrorInfo == ERROR_SYNC_NULL || ErrorInfo == ERROR_FICDECODER || ErrorInfo == ERROR_SYNC_TIMEOUT) continue; // 약전계시 한번더 호출함. else { return INC_ERROR; } } #else for(i=0;i<subch_cnt;i++) { INC_CHANNEL_INFO *_ChInfo = &g_stSubInfo.astSubChInfo[i]; switch(op_mode[i]) { case LG2102_DAB: _ChInfo->ucSubChID = subch_id[i]; _ChInfo->ulRFFreq = set_freq; _ChInfo->ucServiceType = 0x00; _ChInfo->uiTmID = TMID_0; _ChInfo->ucDataType = TDMB_BB_DATA_DAB; _ChInfo->ulDataThreshold = 188*10; break; case LG2102_DATA: _ChInfo->ucSubChID = subch_id[i]; _ChInfo->ulRFFreq = set_freq; _ChInfo->ucServiceType = 0x3C; _ChInfo->uiTmID = TMID_3; _ChInfo->ucDataType = TDMB_BB_DATA_PACK; _ChInfo->ulDataThreshold = 288*10;//288; break; case LG2102_DMB: case LG2102_VISUAL: case LG2102_BLT_TEST: _ChInfo->ucSubChID = subch_id[i]; _ChInfo->ulRFFreq = set_freq; _ChInfo->ucServiceType = 0x18; _ChInfo->uiTmID = TMID_1; _ChInfo->ucDataType = TDMB_BB_DATA_TS; _ChInfo->ulDataThreshold = 188*32; break; default: return INC_ERROR; } } g_stSubInfo.nSetCnt = subch_cnt; printk("[INC_set_channel] subch_cnt = %d\n", subch_cnt); INC_MULTI_SORT_INIT(); //for(nLoop = 0; nLoop < 2; nLoop++) { if(INTERFACE_START(TDMB_RFBB_DEV_ADDR, &g_stSubInfo)) { return INC_SUCCESS; } ErrorInfo = INTERFACE_ERROR_STATUS(TDMB_RFBB_DEV_ADDR); printk("[INC]^__^ INTERFACE_STATUS = (0x%04x)\n", ErrorInfo); if(ErrorInfo == ERROR_SYNC_NO_SIGNAL || ErrorInfo == ERROR_FICDECODER || ErrorInfo == ERROR_SYNC_TIMEOUT) return INC_ERROR; else { return INC_ERROR; } } #endif } return INC_ERROR; }