| | |
| | | |
| | | power_param_t m_power_param; |
| | | |
| | | static uint8_t config_flag = 0; |
| | | static uint8_t config_flag = 0xFF; |
| | | |
| | | bool PW_ParamIsHas(void) |
| | | { |
| | |
| | | m_power_param.buck_out_trim = p_otp->m.buck_out_trim; |
| | | m_power_param.hp_ldo_trim = p_otp->m.hp_ldo_trim; |
| | | m_power_param.lph_ldo_vref_trim = p_otp->m_v2.lph_ldo_vref_trim; |
| | | m_power_param.lpl_ldo_trim = p_otp->m.lph_ldo_trim; |
| | | m_power_param.lpl_ldo_trim = p_otp->m.lpl_ldo_trim; |
| | | } |
| | | |
| | | void PW_AutoOptimizeParams(int16_t temp) |
| | |
| | | //LPLDOL trim; FT+1 |
| | | tmp = ANA->LP_LP_LDO_3V; |
| | | tmp &= ~(0xFu << 1); |
| | | tmp |= ((m_power_param.lpl_ldo_trim + 1) << 1); |
| | | // tmp |= ((m_power_param.lpl_ldo_trim + 1) << 1); |
| | | tmp |= (0xf << 1); |
| | | ANA->LP_LP_LDO_3V = tmp; |
| | | |
| | | //HPLDO(DVDD) default:8; FT |
| | |
| | | //LPLDOL trim; FT |
| | | tmp = ANA->LP_LP_LDO_3V; |
| | | tmp &= ~(0xFu << 1); |
| | | tmp |= ((m_power_param.lpl_ldo_trim) << 1); |
| | | // tmp |= ((m_power_param.lpl_ldo_trim) << 1); |
| | | tmp |= (0xf << 1); |
| | | ANA->LP_LP_LDO_3V = tmp; |
| | | |
| | | //HPLDO(DVDD) default:8; FT |
| | |
| | | tmp &= ~(0xFu << 1); |
| | | tmp |= ((m_power_param.lpl_ldo_trim) << 1); |
| | | ANA->LP_LP_LDO_3V = tmp; |
| | | |
| | | |
| | | #if CONFIG_DVDD_VOL_OPTIMIZE_EN |
| | | //HPLDO(DVDD) default - 1/2; default:8 |
| | | tmp = ANA->LP_HP_LDO; |
| | | tmp &= ~(0xFul <<3); |
| | | tmp |= ((m_power_param.hp_ldo_trim - 2)<<3); //~1.12V |
| | | ANA->LP_HP_LDO = tmp; |
| | | #else |
| | | //HPLDO(DVDD) default:8; FT-1 |
| | | tmp = ANA->LP_HP_LDO; |
| | | tmp &= ~(0xFul <<3); |
| | | tmp |= ((m_power_param.hp_ldo_trim - 1)<<3); |
| | | tmp |= ((m_power_param.hp_ldo_trim - 1)<<3); //~1.16V |
| | | ANA->LP_HP_LDO = tmp; |
| | | |
| | | #endif |
| | | } |
| | | } |