Platform/ECM3532/M3/hw/power/ecm3532/src/eta_pwr_gov.c
/**
 * pwr gov do lpm
 *
 * @param ticks  amounts of ticks in idle
 *
 * @return int
 */
pwr gov do lpm
@param ticks  amounts of ticks in idle

@return int
pwr gov do lpm @param ticks amounts of ticks in idle @return int
int ecm35xx_enter_lpm(uint32_t sticks)
{
    int ret = 0;
    if (ecm3531_pg.curr_freq >= 40)
        ret |= EtaCspBuckM3VoltageSet(eBuckM3Voltage700Mv, 0);
    else
        ret |= EtaCspBuckM3VoltageSet(eBuckM3Voltage600Mv, 0);
    if (ret)
        ecm35xx_printf("Err in setting buck %s\r\n", __func__);
#ifdef CONFIG_LPM_LED
    HalGpioWrite( CONFIG_LPM_LED_GPIO, 0);
#endif
    EtaCspSocCtrlStallAnyIrq();
#ifdef CONFIG_LPM_LED
    HalGpioWrite(CONFIG_LPM_LED_GPIO, 1);
#endif
    ecm3531_set_policy(ecm3531_pg.curr_freq);
    return 0;
}
int ecm35xx_enter_lpm ( uint32_t sticks ) { int ret = 0 ; if ( ecm3531_pg . curr_freq >= 40 ) ret |= EtaCspBuckM3VoltageSet ( eBuckM3Voltage700Mv , 0 ) ; else ret |= EtaCspBuckM3VoltageSet ( eBuckM3Voltage600Mv , 0 ) ; if ( ret ) ecm35xx_printf ( " \r \n " , __func__ ) ; #ifdef CONFIG_LPM_LED HalGpioWrite ( CONFIG_LPM_LED_GPIO , 0 ) ; #endif EtaCspSocCtrlStallAnyIrq ( ) ; #ifdef CONFIG_LPM_LED HalGpioWrite ( CONFIG_LPM_LED_GPIO , 1 ) ; #endif ecm3531_set_policy ( ecm3531_pg . curr_freq ) ; return 0 ; }
pwr gov do lpm
 @param ticks  amounts of ticks in idle
pwr gov do lpm @param ticks amounts of ticks in idle
/* do M3 Stall */