Join pf1550 SHIP state

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Join pf1550 SHIP state

771 次查看
anthony-loiseau-act
Contributor III

Context

I am using a pf1550 PMIC alongside a iMX6 processor, and I use Yocto to build iMX6 processor software.

I appended linux-fslc recipe in my layer to switch from 4.9.x+fslc branch to 4.9-1.0.x-imx branch, which contains pf1550 regulator driver. My pf1550 regulator driver loads flawlessly with wanted running-state voltages applied to all outputs.

The product is powered from an external source, with a internal lithium fallback battery.

I want the product to join pf1550 SHIP state in few cases (factory is the easier case), waiting to be main powered to preserve internal lithium battery.

Issue

I read pf1550 datasheet (transition J in state machine chapter) and linux driver, but I fail to see how this driver can put pf1550 in this SHIP state. I guess there should be a way to fill registers appropriately and shut-down the processor.

  • Am I missing something?
  • Has this been implemented (maybe in another branch)?

Also, maybe linked but I am not sure: when I power-off my main processor, the board consumes more power than when processor is running. Not sure REGS_DISABLE state is reached when main processor is off.

External links

标签 (2)
标记 (1)
0 项奖励
回复
1 回复

570 次查看
reyes
NXP TechSupport
NXP TechSupport

Hi,

The SHIP mode is entered if the GOTO_SHIP bit is set in the REGS_DISABLE state. The only way to exit from this mode is by a charger attach event. The state machine exits to the REGS_DISABLE state when this happens. A battery re-attach can also be used to exit SHIP mode.

 

GOTO_SHIP = 1. This is used to initiate the device to go into the SHIP mode. When GOTO_SHIP bit is set to 1, the state machine proceeds from one of the “System On” states to the REGS_DISABLE mode to the SHIP mode.

 

Transition from REGS_DISABLE to SHIP mode, GOTO_SHIP = 1 && VBUS_INVALID = 1

 

The transition to SHIP mode is not implemented in the linux driver, I’m afraid that if you need to use this mode, you need to implement it in your driver.

Regards,

Jose

0 项奖励
回复