/*----------------电流源其他设置相关接口,给lcd背光模块调用的接口-------------------*/ s32 hi6559_lcd_bl_power_switch(power_switch_e sw) { s32 iret = BSP_PMU_OK; switch(sw) { case POWER_OFF: iret = bsp_hi6559_dr_disable(PMIC_HI6559_DR01); break; case POWER_ON: iret = bsp_hi6559_dr_enable(PMIC_HI6559_DR01); break; default: break; } pmic_print_info("hi6559_bl_power ok!\n"); return iret; }
int bsp_dr_switch(int dr_id, power_switch_e sw) { int iret = BSP_PMU_OK; switch(sw) { case POWER_OFF: iret = bsp_hi6559_dr_disable(dr_id); break; case POWER_ON: iret = bsp_hi6559_dr_enable(dr_id); break; default: break; } pmic_print_info("hi6559_ldo14_switch ok!\n"); return iret; }
/***************************************************************************** 函 数 名 : hi6559_dr_onoff_err_test 功能描述 : DR开关错误流程测试 输入参数 : 无 输出参数 : 无 返 回 值 : 0 - 成功;else - 失败 *****************************************************************************/ s32 hi6559_dr_onoff_err_test(void) { s32 iret = 0; s32 result = BSP_PMU_OK; /* 异常id */ iret = bsp_hi6559_dr_enable(PMIC_HI6559_DR_MIN - 1);/*lint !e415 !e831*/ if(BSP_PMU_OK != iret) { pmic_print_error("bsp_hi6559_dr_enable err, ret %d!\n", iret); result |= iret; } /* 异常id */ iret = bsp_hi6559_dr_disable(PMIC_HI6559_DR_MAX + 1);/*lint !e415 !e831*/ if(BSP_PMU_OK != iret) { pmic_print_error("bsp_hi6559_dr_disable err, ret %d!\n", iret); result |= iret; } /* 异常id */ iret = bsp_hi6559_dr_is_enabled(PMIC_HI6559_DR_MIN - 1);/*lint !e415 !e831*/ if(BSP_PMU_OK != iret) { pmic_print_error("bsp_hi6559_dr_is_enabled err, ret %d!\n", iret); result |= iret; } if(result) { pmic_print_error("hi6559_dr_onoff_err_test ok!!\n"); } else { pmic_print_error("hi6559_dr_onoff_err_test failed!!\n"); } return result; }
/***************************************************************************** 函 数 名 : hi6559_dr_disable_test 功能描述 : DR不使能测试 输入参数 : 无 输出参数 : 无 返 回 值 : 0 - 成功;else - 失败 *****************************************************************************/ s32 hi6559_dr_disable_test(void) { s32 id_test = 0, ret = BSP_PMU_OK; s32 result = BSP_PMU_OK; for(id_test = PMIC_HI6559_DR_MIN; id_test <= PMIC_HI6559_DR_MAX; id_test++) { /* fla模式 */ ret = bsp_hi6559_dr_set_mode(id_test,PMU_DRS_MODE_FLA_FLASH); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_set_mode failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_disable(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_disable failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_is_enabled(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_is_enabled failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } /* bre模式 */ ret = bsp_hi6559_dr_set_mode(id_test,PMU_DRS_MODE_BRE_FLASH); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_set_mode failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_disable(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_disable failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_is_enabled(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_is_enabled failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } /* fla模式 */ ret = bsp_hi6559_dr_set_mode(id_test,PMU_DRS_MODE_FLA_LIGHT); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_set_mode failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_disable(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_disable failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_is_enabled(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_is_enabled failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } /* bre模式 */ ret = bsp_hi6559_dr_set_mode(id_test,PMU_DRS_MODE_BRE); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_set_mode failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_disable(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_disable failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_is_enabled(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_is_enabled failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } /* 呼吸常亮模式 */ ret = bsp_hi6559_dr_set_mode(id_test,PMU_DRS_MODE_BRE_LIGHT); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_set_mode failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_disable(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_disable failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } ret = bsp_hi6559_dr_is_enabled(id_test); if(ret) { pmic_print_error("ERROR bsp_hi6559_dr_is_enabled failed, dr_id %d, ret %d!\n", id_test, ret); result |= ret; } } if(result) { pmic_print_error("hi6559_dr_disable_test ok!!\n"); } else { pmic_print_error("hi6559_dr_disable_test failed!!\n"); } return result; }