AVL_DVBSx_ErrorCode AVL_DVBSx_IBase_GetChipStatus( enum AVL_DVBSx_Sleep_Wake_Status * pChipStatus, const struct AVL_DVBSx_Chip * pAVLChip ) { AVL_DVBSx_ErrorCode r = AVL_DVBSx_EC_OK; AVL_uint16 uiStatus; r = AVL_DVBSx_II2C_Read16(pAVLChip, rp_sleep_wake_status_addr, &uiStatus); if( AVL_DVBSx_EC_OK == r ) { if((enum AVL_DVBSx_Sleep_Wake_Status)(uiStatus) == AVL_DVBSx_Sleep_Mode) { *pChipStatus = AVL_DVBSx_Sleep_Mode; } else if((enum AVL_DVBSx_Sleep_Wake_Status)(uiStatus) == AVL_DVBSx_Wake_Mode) { *pChipStatus = AVL_DVBSx_Wake_Mode; } else { r = AVL_DVBSx_EC_GeneralFail; } } return(r); }
AVL_DVBSx_ErrorCode AVL_DVBSx_IBase_GetFunctionalMode(enum AVL_DVBSx_FunctionalMode * pFunctionalMode, const struct AVL_DVBSx_Chip * pAVLChip) { AVL_DVBSx_ErrorCode r = AVL_DVBSx_EC_OK; AVL_uint16 uiTemp; r = AVL_DVBSx_II2C_Read16(pAVLChip, rc_functional_mode_addr, &uiTemp); *pFunctionalMode = (enum AVL_DVBSx_FunctionalMode)(uiTemp & 0x0001); return(r); }
static int AVL6211_Blindscan_Readchannelinfo(struct dvb_frontend* fe, struct dvbsx_frontend_parameters *pchannel) { struct AVL_DVBSx_BlindScanAPI_Setting pBSsetting; unsigned short pChannelCount; unsigned short m_uiProgress; int i1; AVL_DVBSx_ErrorCode r = AVL_DVBSx_EC_OK; AVL_DVBSx_II2C_Read16(pAVLChip_all, rs_blind_scan_channel_count_addr, &pChannelCount); AVL_DVBSx_II2C_Read16(pAVLChip_all, rs_blind_scan_progress_addr, &m_uiProgress); r=AVL_DVBSx_IBlindScan_ReadChannelInfo(0, &pChannelCount, &(pBSsetting.channels_Temp), pAVLChip_all); if(r!= AVL_DVBSx_EC_OK) { pr_dbg("AVL_DVBSx_IBlindScan_ReadChannelInfo,fail\n"); } for( i1=0; i1<pChannelCount; i1++ ){ pchannel->parameters[i1].frequency=pBSsetting.channels_Temp[i1].m_uiFrequency_kHz; pchannel->parameters[i1].u.qam.symbol_rate=pBSsetting.channels_Temp[i1].m_uiSymbolRate_Hz; } return r; }
AVL_DVBSx_ErrorCode AVL_DVBSx_IBase_GetStatus( struct AVL_DVBSx_Chip * pAVLChip ) { AVL_DVBSx_ErrorCode r = AVL_DVBSx_EC_OK; AVL_uint16 uiReadValue; AVL_uint32 uiTemp; r = AVL_DVBSx_II2C_Read32(pAVLChip, core_reset_b_reg, &uiTemp); r |= AVL_DVBSx_II2C_Read16(pAVLChip, core_ready_word_addr, &uiReadValue); if( (AVL_DVBSx_EC_OK == r) ) { if( (0 == uiTemp) || (uiReadValue != 0xA55A) ) { r = AVL_DVBSx_EC_GeneralFail; } } return(r); }