/***************************************************************************** 函 数 名 : CPM_PortAssociateInit 功能描述 : 根据端口类型关联物理端口和逻辑端口 输入参数 : VOS_VOID 输出参数 : 无 返 回 值 : VOS_OK:成功,其他为失败 *****************************************************************************/ VOS_UINT32 CPM_PortAssociateInit(VOS_VOID) { VOS_UINT32 i; for (i = 0; i < CPM_COMM_BUTT; i++) { g_astCPMLogicPortCfg[i].enPhyPort = CPM_PORT_BUTT; } #if (VOS_OS_VER == VOS_WIN32) g_stPortCfg.enPortNum = CPM_OM_PORT_TYPE_WIFI; #else /* 产品支持HSIC特性,直接返回成功,不做端口关联 */ if (BSP_MODULE_SUPPORT == mdrv_misc_support_check(BSP_MODULE_TYPE_HSIC)) { return VOS_OK; } /* 读取OM的物理输出通道 */ if (NV_OK != NV_Read(en_NV_Item_Om_Port_Type, &g_stPortCfg, sizeof(OM_CHANNLE_PORT_CFG_STRU))) { return VOS_ERR; } #endif /* 检测参数*/ if (CPM_OM_PORT_TYPE_USB == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_IND_PORT, CPM_OM_IND_COMM); } else if (CPM_OM_PORT_TYPE_VCOM == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_VCOM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_VCOM_IND_PORT, CPM_OM_IND_COMM); } else if (CPM_OM_PORT_TYPE_WIFI == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_WIFI_AT_PORT, CPM_AT_COMM); CPM_ConnectPorts(CPM_WIFI_OM_IND_PORT, CPM_OM_IND_COMM); CPM_ConnectPorts(CPM_WIFI_OM_CFG_PORT, CPM_OM_CFG_COMM); } /* NV项不正确时按USB输出处理 */ else { CPM_ConnectPorts(CPM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_IND_PORT, CPM_OM_IND_COMM); g_stPortCfg.enPortNum = CPM_OM_PORT_TYPE_USB; } /*如果当前连接为USB输出,需要设置SOCP默认超时*/ if(g_stPortCfg.enPortNum == CPM_OM_PORT_TYPE_USB) { mdrv_socp_set_log_int_default_timeout(); } return VOS_OK; }
/***************************************************************************** 函 数 名 : CPM_PortAssociateInit 功能描述 : 根据端口类型关联物理端口和逻辑端口 输入参数 : VOS_VOID 输出参数 : 无 返 回 值 : VOS_OK:成功,其他为失败 *****************************************************************************/ VOS_UINT32 CPM_PortAssociateInit(VOS_VOID) { VOS_UINT32 i; for (i = 0; i < CPM_COMM_BUTT; i++) { g_astCPMLogicPortCfg[i].enPhyPort = CPM_PORT_BUTT; } #if (VOS_OS_VER == VOS_WIN32) g_stPortCfg.enPortNum = CPM_OM_PORT_TYPE_WIFI; #else /* Modified by h59254 for AP-Modem Personalisation Project, 2012/04/12, begin */ /* 产品支持HSIC特性,直接返回成功,不做端口关联 */ if (BSP_MODULE_SUPPORT == mdrv_misc_support_check(BSP_MODULE_TYPE_HSIC)) { return VOS_OK; } /* Modified by h59254 for AP-Modem Personalisation Project, 2012/04/12, end */ /* 读取OM的物理输出通道 */ if (NV_OK != NV_Read(en_NV_Item_Om_Port_Type, &g_stPortCfg, sizeof(OM_CHANNLE_PORT_CFG_STRU))) { return VOS_ERR; } #endif /* 检测参数*/ if (CPM_OM_PORT_TYPE_USB == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_IND_PORT, CPM_OM_IND_COMM); } else if (CPM_OM_PORT_TYPE_VCOM == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_VCOM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_VCOM_IND_PORT, CPM_OM_IND_COMM); } else if (CPM_OM_PORT_TYPE_WIFI == g_stPortCfg.enPortNum) { CPM_ConnectPorts(CPM_WIFI_AT_PORT, CPM_AT_COMM); CPM_ConnectPorts(CPM_WIFI_OM_IND_PORT, CPM_OM_IND_COMM); CPM_ConnectPorts(CPM_WIFI_OM_CFG_PORT, CPM_OM_CFG_COMM); } /* NV项不正确时按USB输出处理 */ else { CPM_ConnectPorts(CPM_CFG_PORT, CPM_OM_CFG_COMM); CPM_ConnectPorts(CPM_IND_PORT, CPM_OM_IND_COMM); g_stPortCfg.enPortNum = CPM_OM_PORT_TYPE_USB; } return VOS_OK; }
VOS_UINT32 PPM_SockPortInit(VOS_VOID) { #if (VOS_OS_VER != VOS_WIN32) if ((BSP_MODULE_SUPPORT == mdrv_misc_support_check(BSP_MODULE_TYPE_WIFI)) && (VOS_TRUE == PPM_SockIsEnable())) { /*CPM_PhySendReg(CPM_WIFI_OM_IND_PORT, (CPM_SEND_FUNC)PPM_SockOMIndComSend);*/ CPM_PhySendReg(CPM_WIFI_OM_IND_PORT, (CPM_SEND_FUNC)PPM_SockOMCfgComSend); CPM_PhySendReg(CPM_WIFI_OM_CFG_PORT, (CPM_SEND_FUNC)PPM_SockOMCfgComSend); CPM_PhySendReg(CPM_WIFI_AT_PORT, (CPM_SEND_FUNC)PPM_SockATComSend); } #endif VOS_SpinLockInit(&g_stSockTaskSpinLock); return VOS_OK; }