Join pf1550 SHIP state

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

Join pf1550 SHIP state

665 Views
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

Labels (2)
Tags (1)
0 Kudos
Reply
1 Reply

464 Views
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 Kudos
Reply