iMX6Q PMIC_ON_REQ fail to assert by SD/UART?

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

iMX6Q PMIC_ON_REQ fail to assert by SD/UART?

577 Views
AndyHo
Contributor III

Hi,

We have a imx6q customer board ( imx6q, pf0100 pmic) which runs android 4.4.3 bsp (kernel 3.10.53) . After integrate wifi+bt module (rtl8723bs, sdio wifi+ uart BT), we found the android can't power off any more ( through android power menu , the pm_on_req will not become low).

After some measurement, we found

1. If module removed, the system can power off, pm_power_off is executed. if module is installed, I can't see pm_power_off excuted. so I move pm_power_off to early stage, the result is same, set snvs off bit will not make pm_on_req to low

2. Force Wifi/BT module to off first, system still can't power off.

3. Some SD signals (Sdio2) and the BT (uart4) signals are remain high during power off progress, force all bus signal to gpio low and shutdown module power, system can powered off "sometimes".

4. Force NVCC_ENET to low (uart4 power domain), system can power off, sure uart4 signals are low because nvcc_enet gone.

5. when power off fail, at this time we shutdown pmic by press and hold power button for 4 seconds, although system can power on again, but pmic will not work normal anymore ( can never powered off by press and hold power button) , seems pm_on_req low is a flag to restart pmic.

So my question are,

1. what is the possible root cause can block pm_on_req to low?  uart sdio bus signal are high?

2. How to avoid this issue? by modiy uart/sd driver, of pm_power_off? how?

3. Are there any register to gate-off nvcc_xxx power domain?

Andy

Labels (4)
0 Kudos
2 Replies

431 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andy

seems there is leakage from wifi+bt module power, so processor

can not power off. It is necessary to completely remove power fom

external lines of processor, only then try to turn it off. Probably

big delay after shutdown module power will help.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

432 Views
AndyHo
Contributor III

Hi Igor,

Thank you again for the suggest.

That is what I need to find the root cause and solve "BUS signals will cause processor can not power off?",

because

1.We can never control/ask external device pull down their bus signals ,and they may never know when the system perform power off, like external uart device?

2.Why top/ep_en of snvs_lpcr is set but pmic_on_req is not work as expected if bus signals not asserted to low? should we check all the bus, i2c spi ssi...etc?

2.For the NVCC_xxxx power is supplied by PMIC, and may share to another module, if pmic_on_req is not drived to low, how to turn off NVCCs?

It's observed when system stop(loop/block) during(after) pm_power_off (I believe because at this time vibrator never stop) , pulldown the NVCC_ENET will make pmic_on_reg to be drived to low ( continue the hardware power off progress? ),

I have tried to set the functional enable bits ( like uarten txen rxen) but without success, some bus has been implemented this in their  driver's shutdown function, So I hope you can provide a way to debug or solve this issue.

Andy

0 Kudos