Re: [PATCH v2 3/3] dt-bindings: mfd: stpmic1: add fsl,pmic-poweroff property
From: Sean Nyekjaer
Date: Thu Jun 01 2023 - 10:06:09 EST
Hi Krzysztof,
> On 1 Jun 2023, at 09.12, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> 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.
I didn’t mention anything with registers in the patch:
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).
^^ That’s is exactly what is happening if the option is enabled.
Do you have a suggestion wording?
What do you think about removing this option and make it default behaviour?
/Sean
>
> Best regards,
> Krzysztof
>