Sabre Board and PMIC MMPF0100: how to disable startup when power is applied?

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

Sabre Board and PMIC MMPF0100: how to disable startup when power is applied?

3,076 Views
carlobarbaro
Contributor III

I'm studing the interactions between the i.MX6 processor and the PMIC MMPF0100 using the Sabre SD board Rev C2.

I need to understand how the power is managed before implementing our own project using these two components.

Actually when the Sabre board is powered for the first time using switch SW3, the PMIC applies all powers to i.MX6 processor and the system performs the boot procedure.

I think that this occurs for the presence of 10K resistor R31 that brings to high level (3.0V from VSNVS_3V0 power) the PMIC PWRON input.

I don't want this automatic power on feature, I want that the system boots up only after the user presses the PWR button (swithc SW1).

Then I removed resistor R31 and in effect the system don't boot anymore when power is applied through SW3.

Unfortunately the system don't boot anymore pressing SW1 switch.

I measured some voltages around the board:

SYS_4V2 = 4.6V

VSNSV_3V0 = 3.0V

MX6_ONOFF = 3.0V with SW1 not pressed, 0V with SW1 pressed.

PWRON = 2.04V with SW1 not pressed, 1.58V with SW1 pressed.

The problem is on the PWRON signal voltage driven by the PMIC_ON_REQ by the R30 1K resistor:

Why is the PMIC_ON_REQ to 2.04V if the processor is in OFF state?

Why don't the PMIC_ON_REQ go to 3.0V when the SW1 is pressed and the processor is turned ON?

Thank you to the one that can explain to me this behaviour.

Regards,

Carlo

Labels (1)
11 Replies

1,447 Views
YixingKong
Senior Contributor IV

Carlo

This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.

Thanks,

Yixing

0 Kudos

1,448 Views
zhilongxu
Contributor I

------>

I think that this occurs for the presence of 10K resistor R31 that brings to high level (3.0V from VSNVS_3V0 power) the PMIC PWRON input.

I don't want this automatic power on feature, I want that the system boots up only after the user presses the PWR button (swithc SW1).

Then I removed resistor R31 and in effect the system don't boot anymore when power is applied through SW3.

Unfortunately the system don't boot anymore pressing SW1 switch.

I measured some voltages around the board:

SYS_4V2 = 4.6V

VSNSV_3V0 = 3.0V

MX6_ONOFF = 3.0V with SW1 not pressed, 0V with SW1 pressed.

PWRON = 2.04V with SW1 not pressed, 1.58V with SW1 pressed.

The problem is on the PWRON signal voltage driven by the PMIC_ON_REQ by the R30 1K resistor:

Why is the PMIC_ON_REQ to 2.04V if the processor is in OFF state?

Why don't the PMIC_ON_REQ go to 3.0V when the SW1 is pressed and the processor is turned ON?

<---------

hi Yixing Kong,

I have the same issues,please check,and how I can fix this? I do not need automatic power on.

Thanks!

zhilong xu

0 Kudos

1,448 Views
YixingKong
Senior Contributor IV

Carlo

Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel free to reply with an update to this discussion.

Thanks,

Yixing

0 Kudos

1,448 Views
YixingKong
Senior Contributor IV

Carlo

We are sorry for getting back to you so late. Are you still stuck with the issue? If you have somehow resolved the issue, can we close the discussion? If you still need help, please feel free to reply with an update to this discussion.

Thanks,

Yixing

0 Kudos

1,448 Views
EgleTeam
Contributor V

Carlo,

I think this is due to the configuration of PWRON (6.1.2.2 in datasheet). By default in sabre SD, our custom board also, PWRON is configured as level sensitive: what means that '1' turns on and '0' turns off. This configuration is good if you want to turn on join with the supply or using a 2 positions switch (ON/OFF).

If you want to turn on / turn off the system using a push-button switch (momentary ON /OFF) like in a mobile phone or a tablet... you need to configure PWRON as edge sensitive (fuse PWRON_CFG).

I hope it helps. Regards,

Manuel.

1,448 Views
carlobarbaro
Contributor III

Hello Manuel,

I understand what you mean, but I don't think that the problem is due to the PWRON signal configured as level sensitive instead of edge sensitive.

In the iMX6 datasheet are described mainly two configurations to manage system power ON/OFF:

1) Power button connected to PMIC PWRON signal: pressing the button (if edge sensitive) or closing the switch (if level sensitive) the PMIC applies power to processor that performs the boot.

2) Power button connected to processor ONOFF signal: pressing the button the processor rises the PMIC_ON_REQ signal that is connected to the PMIC PWRON input. This must be level sensitive, so that when the signal goes high, the power is applied to processor that performs the boot.

I think that in Sabre SD board is used configuration 2).

What I don't understand is why the PMIC_ON_REQ line is at 2.0V with the processor in OFF state?, and why asserting low the ONOFF signal the PMIC_ON_REQ line don't go up to 3.0V and instead goes down to 1.58V?

In these conditions the PMIC don't turn on the power supplies and the board don't boot.

But the strange behaviour is on the iMX6 side, not on the PMIC.

Thank you anyway for your answer and best regards,

Carlo

0 Kudos

1,448 Views
EgleTeam
Contributor V

Carlo,

Now I understand you.

We don't have a sabre sdb so I really don't know 100% but...: are you sure that the alternative method is available? I mean: the last schematics I downloaded still marking U509 as "not populated", can you see this IC in your board?. Schematic explicitly says:

To turn off board "AUTO ON" feature, depopulate

R30 and R31, and populate U509. This feature has not

yet been tested. See the Freescale HW User

Guide for the Smart

Device board for

details (to be

published 2Q13).

Best regards,

Manuel.

0 Kudos

1,448 Views
sebimohan
Contributor III

Hi Egle Team,

I have a doubt regarding the wake up and shutdown of i.MX6.

    In my scenario, some input signals are ORed and given to the PMIC PWRON input. So while i.MX6 is in shutdown state if any of the input signals gets active, the system boots and that is the expected behavior.

I am using the shutdown command of Linux (shutdown -h -P now). So my problem is, I give a shutdown command, then system do all the shutdown activities(takes around 10 sec) during that time if any of the inputs to PMIC PWRON input goes active, the i.MX6 goes to shutdown(but LEDs used for system power remains ON) and it will not comes out of shutdown without a power cycling(PMIC is still in ON condition even after Linux shutdowns).

i.e., While issueing shutdown command or after issuing shutdown command if input to PMIC PWRON is active, the system shutdownsand  cannot capture an event to wake up. Is there any way to overcome this.

Thanks

Sebi

0 Kudos

1,448 Views
EgleTeam
Contributor V

Hi Sebi,

not sure about what you try to explain, on any case, as far as I know PWRON is designed only to turn on/off the PMIC.

Please check section 59.2 of the DQ refencence manual where are explained different scenarios.

Best regards,

Manuel.

0 Kudos

1,448 Views
sebimohan
Contributor III

Hi Manuel

    Sorry , the questions were not clear. I would like to get some clarifications

1. Are you guys using Linux shutdown command(eg: shutdown -h -P now) to shutdown ARM core? or just switch off PMIC so that i.MX6 ARM core is abruptly stoped.

2. If using Linux shutdown command,

     a)there any way to switch off PMIC even if PWRON is active so that a later event can be captured

     or

     b)If PWRON is active, is there any way to tell Linux not to shutdown ARM core or Just wake ARM core after shutdown

3. Related to PMIC_ON_REQ( not related to the above cases)

    a) First time board is powerd, PMIC_ON_REQ remain HIGH. During first shutdown, in SNVS_LPCR the TOP and DP_EN bit are set so that PMIC_ON_REQ goes low. If wake up is by RTC alarm, PMIC_ON_REQ comes high. But if wake up is by PWRON input to PMIC, then PMIC_ON_REQ stays low.

      So how to make PMIC_ON_REQ high even if wake by PWRON

Thanks

Sebi

1,448 Views
EgleTeam
Contributor V

Sebi,

sorry: we can't help you. We use a more primitive method: 1 GPIO to turn on the board + 1 GPIO to sense and then turn off the board.

I hope someone can give you a hint.

Best regards,

Manuel.

0 Kudos