INT32 mtk_wcn_consys_hw_bt_paldo_ctrl(UINT32 enable) { /* spin_lock_irqsave(&gBtWifiV33.lock,gBtWifiV33.flags); */ if (enable) { if (1 == gBtWifiV33.counter) { gBtWifiV33.counter++; WMT_PLAT_DBG_FUNC("V33 has been enabled,counter(%d)\n", gBtWifiV33.counter); } else if (2 == gBtWifiV33.counter) { WMT_PLAT_DBG_FUNC("V33 has been enabled,counter(%d)\n", gBtWifiV33.counter); } else { #if CONSYS_PMIC_CTRL_ENABLE /*do BT PMIC on,depenency PMIC API ready */ /*switch BT PALDO control from SW mode to HW mode:0x416[5]-->0x1 */ /* VOL_DEFAULT, VOL_3300, VOL_3400, VOL_3500, VOL_3600 */ hwPowerOn(MT6325_POWER_LDO_VCN33, VOL_3300, "wcn_drv"); mt6325_upmu_set_rg_vcn33_on_ctrl(1); #endif WMT_PLAT_INFO_FUNC("WMT do BT/WIFI v3.3 on\n"); gBtWifiV33.counter++; } } else { if (1 == gBtWifiV33.counter) { /*do BT PMIC off */ /*switch BT PALDO control from HW mode to SW mode:0x416[5]-->0x0 */ #if CONSYS_PMIC_CTRL_ENABLE mt6325_upmu_set_rg_vcn33_on_ctrl(0); hwPowerDown(MT6325_POWER_LDO_VCN33, "wcn_drv"); #endif WMT_PLAT_INFO_FUNC("WMT do BT/WIFI v3.3 off\n"); gBtWifiV33.counter--; } else if (2 == gBtWifiV33.counter) { gBtWifiV33.counter--; WMT_PLAT_DBG_FUNC("V33 no need disabled,counter(%d)\n", gBtWifiV33.counter); } else { WMT_PLAT_DBG_FUNC("V33 has been disabled,counter(%d)\n", gBtWifiV33.counter); } } /* spin_unlock_irqrestore(&gBtWifiV33.lock,gBtWifiV33.flags); */ return 0; }
INT32 mtk_wcn_consys_hw_wifi_paldo_ctrl(UINT32 enable) { if(enable){ /*do WIFI PMIC on,depenency PMIC API ready*/ /*switch WIFI PALDO control from SW mode to HW mode:0x418[14]-->0x1*/ #if CONSYS_PMIC_CTRL_ENABLE hwPowerOn(MT6325_POWER_LDO_VCN33, VOL_3300, "wcn_drv"); mt6325_upmu_set_rg_vcn33_on_ctrl(1); #endif WMT_PLAT_INFO_FUNC("WMT do WIFI PMIC on\n"); }else{ /*do WIFI PMIC off*/ /*switch WIFI PALDO control from HW mode to SW mode:0x418[14]-->0x0*/ #if CONSYS_PMIC_CTRL_ENABLE mt6325_upmu_set_rg_vcn33_on_ctrl(0); hwPowerDown(MT6325_POWER_LDO_VCN33,"wcn_drv"); #endif WMT_PLAT_INFO_FUNC("WMT do WIFI PMIC off\n"); } return 0; }