Example #1
0
/*****************************************************************************
 函 数 名  : bsp_hi6559_otp_threshold_set
 功能描述  : 系统启动时设置过温警告阈值
 输入参数  : @threshold 要设置的温度(摄氏度)
 输出参数  : 无
 返 回 值  : 无
*****************************************************************************/
void bsp_hi6559_otp_threshold_set(s32 threshold)
{
    hi6559_excflags_t exc_flags = 0;
    
    /*lint --e{746,718}*/
    spin_lock_irqsave(&g_hi6559_exc_st.lock,exc_flags);
    
    switch(threshold)
    {
        case 105:
            bsp_hi6559_reg_write_mask(HI6559_BANDGAP_THSD_ADJ2_OFFSET, 0x00,0x30);
            break;
        case 115:
            bsp_hi6559_reg_write_mask(HI6559_BANDGAP_THSD_ADJ2_OFFSET, 0x10,0x30);
            break;
        case 125:
            bsp_hi6559_reg_write_mask(HI6559_BANDGAP_THSD_ADJ2_OFFSET, 0x20,0x30);;
            break;
        case 135:
            bsp_hi6559_reg_write_mask(HI6559_BANDGAP_THSD_ADJ2_OFFSET, 0x30,0x30);;
            break;
        default:    /* 不处理,采用寄存器默认值125°*/
            break;            
    }
    
    spin_unlock_irqrestore(&g_hi6559_exc_st.lock,exc_flags);

    return;
}
Example #2
0
/*****************************************************************************
 函 数 名  : bsp_hi6559_uvp_threshold_set
 功能描述  : 系统启动时设置欠压警告阈值
 输入参数  : @threshold 要设置的电压(mV)
 输出参数  : 无
 返 回 值  : 无
*****************************************************************************/
void bsp_hi6559_uvp_threshold_set(s32 threshold)
{
    hi6559_excflags_t exc_flags = 0;

    spin_lock_irqsave(&g_hi6559_exc_st.lock, exc_flags);
    switch(threshold)
    {
        case 3000:
            bsp_hi6559_reg_write_mask(HI6559_NP_REG_ADJ_OFFSET, 0x10,0x10);
            break;
        case 2850:
            bsp_hi6559_reg_write_mask(HI6559_NP_REG_ADJ_OFFSET, 0x00,0x10);
            break;
        default:            /* 不处理,采用默认值2.85V */
            break;
    }
    spin_unlock_irqrestore(&g_hi6559_exc_st.lock, exc_flags);

    return;
}
/*****************************************************************************
* 函 数 名  : hi6559_reg_write_mask
*
* 功能描述  : 对pmu芯片寄存器的某些bit置位
*
* 输入参数  : u16 addr:待写入的寄存器地址
*             u8 u8Data:读出的数据
*
* 输出参数  : 无
*
* 返 回 值  : 无
*****************************************************************************/
void bsp_dr_reg_write_mask(u16 addr, u8 value, u8 mask)
{
    bsp_hi6559_reg_write_mask(addr, value, mask);
}