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

From: Krzysztof Kozlowski
Date: Thu Jun 01 2023 - 03:12:22 EST


On 24/05/2023 12:30, Sean Nyekjaer wrote:
>
>
>> 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?

You are still describing what driver should do with registers. What you
are missing is describing real cause for this. It's exactly the same
case as was with s2mps11.

Best regards,
Krzysztof