VOS_VOID GU_OamHsicPortInit(VOS_VOID) { /* 产品不支持HSIC特性,直接返回 */ if (BSP_MODULE_SUPPORT != DRV_GET_HSIC_SUPPORT()) { return; } /* 如果HSIC通道已经枚举成功,则由协议栈执行初始化操作;否则将初始化函数注册至底软, 由底软在HSIC枚举成功后调用以进行初始化*/ if (VOS_TRUE == DRV_GET_HSIC_ENUM_STATUS()) { GU_OamHsicPortOpen(); } else { DRV_HSIC_REGUDI_ENABLECB((HSIC_UDI_ENABLE_CB_T)GU_OamHsicPortOpen); } DRV_HSIC_REGUDI_DISABLECB((HSIC_UDI_DISABLE_CB_T)GU_OamHsicPortClose); CPM_PhySendReg(CPM_HSIC_PORT, GU_OamHsicSendData); return; }
/***************************************************************************** 函 数 名 : PPM_UsbIndPortInit 功能描述 : 用于USB 上OM主动上报端口通道的初始化 输入参数 : 无 输出参数 : 无 返 回 值 : VOS_ERR -- 初始化失败 VOS_OK -- 初始化成功 修改历史 : 1.日 期 : 2014年5月25日 作 者 : L00256032 修改内容 : V8R1 OM_Optimize项目新增 *****************************************************************************/ VOS_UINT32 PPM_UsbIndPortInit(VOS_VOID) { /* USB承载的OM IND端口,调用底软的异步接口发送数据,现在需要伪造成同步接口,申请信号量 */ if(VOS_OK != VOS_SmCCreate("UIND", 0, VOS_SEMA4_FIFO, &g_stUsbIndPseudoSync.ulPseudoSyncSemId)) { vos_printf("\r\nPPM_UsbIndPortInit: create g_stUsbIndPseudoSync.ulPseudoSyncSemId failedd\r\n"); g_stPpmDebugInfo.ulUsbIndSemErr++; return VOS_ERR; } mdrv_usb_reg_enablecb((USB_UDI_ENABLE_CB_T)PPM_UsbIndPortOpen); vos_printf("\r\nPPM_UsbIndPortInit mdrv_usb_reg_enablecb: reg %p", PPM_UsbIndPortOpen); g_stPpmDebugInfo.ulUsbIndRegOpen++; mdrv_usb_reg_disablecb((USB_UDI_DISABLE_CB_T)PPM_UsbIndPortClose); vos_printf("\r\nPPM_UsbIndPortInit mdrv_usb_reg_disablecb: reg %p", PPM_UsbIndPortClose); g_stPpmDebugInfo.ulUsbIndRegClose++; CPM_PhySendReg(CPM_IND_PORT, PPM_UsbIndSendData); 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; }
VOS_VOID GU_OamAppPortInit(VOS_VOID) { DRV_USB_REGUDI_ENABLECB((USB_UDI_ENABLE_CB_T)GU_OamAppPortOpen); DRV_USB_REGUDI_DISABLECB((USB_UDI_DISABLE_CB_T)GU_OamAppPortClose); CPM_PhySendReg(CPM_APP_PORT, GU_OamAppSendData); return; }
VOS_VOID GU_OamCtrlPortInit(VOS_VOID) { DRV_USB_REGUDI_ENABLECB((USB_UDI_ENABLE_CB_T)GU_OamCtrlPortOpen); DRV_USB_REGUDI_DISABLECB((USB_UDI_DISABLE_CB_T)GU_OamCtrlPortClose); GU_OamCtrlPortOpen(); /*当前切换的时候USB一定是连接的*/ CPM_PhySendReg(CPM_CTRL_PORT, GU_OamCtrlSendData); g_GUOmOnCtrlPort = VOS_TRUE; return; }
VOS_UINT32 PPM_UsbIndPortInit(VOS_VOID) { /* USB承载的OM IND端口,调用底软的异步接口发送数据,现在需要伪造成同步接口,申请信号量 */ if(VOS_OK != VOS_SmCCreate("UIND", 0, VOS_SEMA4_FIFO, &g_stUsbIndPseudoSync.ulPseudoSyncSemId)) { LogPrint("\r\nPPM_UsbIndPortInit: create g_stUsbIndPseudoSync.ulPseudoSyncSemId failedd\r\n"); return VOS_ERR; } DRV_USB_REGUDI_ENABLECB((USB_UDI_ENABLE_CB_T)PPM_UsbIndPortOpen); DRV_USB_REGUDI_DISABLECB((USB_UDI_DISABLE_CB_T)PPM_UsbIndPortClose); CPM_PhySendReg(CPM_IND_PORT, PPM_UsbIndSendData); return VOS_OK; }
VOS_VOID GU_OamVComPortInit(VOS_VOID) { VOS_MemSet(&g_stVComDebugInfo, 0, sizeof(g_stVComDebugInfo)); #if (VOS_LINUX == VOS_OS_VER) sema_init(&g_stVCOMRxBuffSem, 1); #endif APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_LOG, GU_OamVComReadData); APP_VCOM_RegEvtCallback(APP_VCOM_DEV_INDEX_LOG, GU_OamVComStatus); CPM_PhySendReg(CPM_VCOM_PORT, GU_OamVComSendData); #if (FEATURE_ON == FEATURE_CBT_LOG) APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_CBT, OMRL_AcpuRcvCBTData); VOS_MemSet(&g_stVComCBTDebugInfo, 0, sizeof(g_stVComCBTDebugInfo)); #endif return; }