/***************************************************************************** * 函 数 名 : DRV_SOCP_DSPCHN_STOP * 功能描述 : disable DSP channel * 输入参数 : * 输出参数 : 无 * 返 回 值 : *****************************************************************************/ BSP_VOID DRV_SOCP_DSPCHN_STOP(BSP_VOID) { VOS_UINT32 IdleFlag; VOS_UINT32 j; if(SOCP_REG_GETBITS(SOCP_REG_ENCSRC_BUFCFG1(SOCP_DSPLOG_CHN), 0, 1)) { SOCP_REG_SETBITS(SOCP_REG_ENCSRC_BUFCFG1(SOCP_DSPLOG_CHN), 0, 1, 0); } /*lint -e525 -e746*/ for (j = 0; j < (SOCP_RESET_TIME*2); j++) { IdleFlag = SOCP_REG_GETBITS(SOCP_REG_ENCSTAT, SOCP_DSPLOG_CHN, 1); if (0 == IdleFlag) { break; } if ((SOCP_RESET_TIME - 1) == j) { vos_printf("bsp_socp_stop_dsp failed!\n"); return ; } } /*lint +e525 +e746*/ }
BSP_VOID DRV_SOCP_ENABLE_LTE_BBP_DSP(BSP_U32 ulChanId) { if(0==(SOCP_REG_GETBITS(SOCP_REG_ENCSRC_BUFCFG1(ulChanId), 0, 1))) { SOCP_REG_SETBITS(SOCP_REG_ENCSRC_BUFCFG1(ulChanId), 0, 1, 1); } }
/***************************************************************************** * 函 数 名 : DRV_SOCP_DSPCHN_START * 功能描述 : enable DSP channel * 输入参数 : * 输出参数 : 无 * 返 回 值 : *****************************************************************************/ BSP_VOID DRV_SOCP_DSPCHN_START(BSP_VOID) { if(0==(SOCP_REG_GETBITS(SOCP_REG_ENCSRC_BUFCFG1(SOCP_DSPLOG_CHN), 0, 1))) { SOCP_REG_SETBITS(SOCP_REG_ENCSRC_BUFCFG1(SOCP_DSPLOG_CHN), 0, 1, 1); } }
/***************************************************************************** * 函 数 名 : bsp_socp_enable * * 功能描述 : 使能socp 通道,仅针对M3 上的两个通道 * * 输入参数 : * * 输出参数 : * * 返 回 值 : 操作完成与否的标识码 *****************************************************************************/ void bsp_socp_enable(u32 u32SrcChanId) { /**/ if((u32SrcChanId != SOCP_ENCSRC_LPM3_BASE) && (u32SrcChanId != SOCP_ENCSRC_IOM3_BASE)) { printk("socp_enable:wrong chan id %d\n",u32SrcChanId); return ; } if(!SOCP_REG_GETBITS(SOCP_REG_ENCSRC_BUFCFG1(u32SrcChanId), 0, 1)) { SOCP_REG_SETBITS(SOCP_REG_ENCSRC_BUFCFG1(u32SrcChanId), 0, 1, 1); } }