Re: [PATCH v2 3/3] dt-bindings: mfd: stpmic1: add fsl,pmic-poweroff property

From: Sean Nyekjaer
Date: Wed May 24 2023 - 06:31:33 EST




> On 24 May 2023, at 12.08, Conor Dooley <conor.dooley@xxxxxxxxxxxxx> wrote:
>
> On Wed, May 24, 2023 at 10:16:13AM +0200, Sean Nyekjær wrote:
>> Hi Conor,
>>
>>> On 23 May 2023, at 19.29, Conor Dooley <conor@xxxxxxxxxx> wrote:
>>>
>>> On Tue, May 23, 2023 at 11:55:50AM +0200, Sean Nyekjær wrote:
>>>>> On 16 May 2023, at 20.06, Conor Dooley <conor@xxxxxxxxxx> wrote:
>>>>> On Tue, May 16, 2023 at 03:22:24PM +0200, Sean Nyekjaer wrote:
>>>>>> Document the new optional "fsl,pmic-poweroff" property.
>>>>>>
>>>>>> Signed-off-by: Sean Nyekjaer <sean@xxxxxxxxxx>
>>>>>> ---
>>>>>> Documentation/devicetree/bindings/mfd/st,stpmic1.yaml | 8 ++++++++
>>>>>> 1 file changed, 8 insertions(+)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml b/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
>>>>>> index 9573e4af949e..5183a7c660d2 100644
>>>>>> --- a/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
>>>>>> @@ -26,6 +26,14 @@ properties:
>>>>>>
>>>>>> interrupt-controller: true
>>>>>>
>>>>>> + st,pmic-poweroff:
>>>>>> + $ref: /schemas/types.yaml#/definitions/flag
>>>>>> + description: |
>>>>>> + if present, configure the PMIC to shutdown all power rails when
>>>>>> + power off sequence have finished.
>>>>>> + Use this option if the SoC should be powered off by external power management
>>>>>> + IC (PMIC).
>>>>>
>>>>> Just reading this description, this is sounding quite like a "software
>>>>> behaviour" type of property, which are not permitted, rather than
>>>>> describing some element of the hardware. Clearly you are trying to solve
>>>>> an actual problem though, so try re-phrasing the description (and
>>>>> property name) to focus on what exact hardware configuration it is that
>>>>> you are trying to special-case.
>>>>> Krzysztof suggested that the samsung,s2mps11-acokb-ground property in
>>>>> samsung,s2mps11.yaml is addressing a similar problem, so that could be
>>>>> good to look at.
>>>>
>>>> Better wording?
>>>> Indicates that the power management IC (PMIC) is used to power off the board.
>>>> So as the last step in the power off sequence set the SWOFF bit in the
>>>> main control register (MAIN_CR) register, to shutdown all power rails.
>>>
>>> The description for the property that Krzysztof mentioned is
>>> samsung,s2mps11-acokb-ground:
>>> description: |
>>> Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so
>>> the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the
>>> power. Usually the ACOKB is pulled up to VBATT so when PWRHOLD pin goes
>>> low, the rising ACOKB will trigger power off.
>>>
>>> In other words, I am asking what (abnormal?) scenario there is that means
>>> you need the property, rather than what setting the property does.
>>> Or am I totally off, and this is the only way this PMIC works?
>>
>> Indicates that the power management IC (PMIC) turn-off condition is met
>> by setting the SWOFF bit in the main control register (MAIN_CR) register.
>> Turn-off condition can still be reached by the PONKEY input.
>>
>> ?
>>
>> I must admit I’m somewhat lost here :)
>
> Sorry about that. I'm trying to understand what is different about your
> hardware that it needs the property rather than what adding the property
> does. If you look at the samsung one, it describes both the
> configuration of the hardware ("ACOKB pin of S2MPS11 PMIC is connected to
> the ground") and how that is different from normal ("Usually the ACOKB is
> pulled up to VBATT so when PWRHOLD pin goes low, the rising ACOKB will
> trigger power off.")
>
> Looking at your datasheet, you don't have such a pin though - just the
> sw poweroff bit & the PONKEY stuff. My angle is just that I am trying
> to figure out why you need this property when it has not been needed
> before. Or why you would not always want to "shutdown all power rails
> when power-off sequence have finished". I'm sorry if these are silly
> questions.
>

No silly questions, maybe they trick me to come up with the correct answer :D

Basically without this, you won’t be able to power off the system
other than hitting the PONKEY.
So it’s a new feature that wasn’t supported before.
Maybe this feature should not be optional?

If st,pmic-poweroff == true:
System will power off as the last step in the power off sequence.
If st,pmic-powerof == false:
System will reboot in the last step in the power off sequence.

I thought of this, as an always on system failsafe.

/Sean