iMX8QM SNVS PMIC On Request

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX8QM SNVS PMIC On Request

1,860 Views
sbertrand
Contributor III

Hi,

I would like to understand the behavior of the iMX8QM PMIC_ON_REQ line coming from the SNVS block.

Hardware Question :

  • Is it possible to configure the default state of the PMIC_ON_REQ line ? By default it is high when SNVS power is applied.
  • Can PMIC_ON_REQ line be configured to be low by default ? How is it done ? Efuse ?
  • Is ON_OFF_BUTTON the only way to power up when the system if OFF? Or would enabling the PMIC ( PWRON )  cause a power up as well ?

Software Question :

  • How to access the SNVS control from the different firmware ( SCFW, Linux ) ?  What API is there ?
  • The SCFW has SNVS_PowerOff to turn off the system.
    • Does SNVS_PowerOff set the PMIC_ON_REQ line low directly ?
    • Is there an API to get the current state of the SNVS_Power or the PMIC_ON_REQ line ?
    • Is there an API to set the state of PMIC_ON_REQ ?
    • The SNVS API in the SCFW has SNVS_PowerOff_IRQHandler. How is the interrupt cleared ?

Regards,
Stan

0 Kudos
Reply
2 Replies

50 Views
chirag_patel1
Contributor I

Hi gusarambula, when power is initially applied to VDD_SNVS_IN pin , does it generate a Low --> High pulse on PMIC_ON_REQ  pin ? How long the PMIC_ON_REQ stay High ?

Thanks

Chirag

0 Kudos
Reply

1,621 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Stan,

The PMIC_ON_REQ is controlled by a hardware state machine only, there is no control over it's operation, when SNVS is powered it becomes active, indicating to the PMIC to switch on the other supplies, the ON_OFF button can be used force KS0 mode, which deaserts PMIC_ON_REQ, you can only use the ON_OFF input or RTC to leave KS0.

 

There is no API for this, you can modify some of the parameters, length of required button press, long press, etc via board.c, but this is at boot time only. See the SCFW Porting guide, relates to board.c and specifically the function  

 

sc_err_t SNVS_ButtonTime(snvs_btn_on_time_t on, snvs_btn_debounce_t debounce,

     snvs_btn_press_time_t press);

 

I hope that this helps!

Regards,

0 Kudos
Reply