linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Klein <michael@fossekall.de>
To: Maxime Ripard <maxime@cerno.tech>
Cc: Sebastian Reichel <sre@kernel.org>,
	Rob Herring <robh+dt@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 2/3] Documentation: DT: binding documentation for regulator-poweroff
Date: Tue, 8 Dec 2020 13:52:14 +0100	[thread overview]
Message-ID: <20201208125214.GA2785@a98shuttle.de> (raw)
In-Reply-To: <20201208101358.mwxmlgqonmunb2m2@gilmour>

Thanks for reviewing!

On Tue, Dec 08, 2020 at 11:13:58AM +0100, Maxime Ripard wrote:
>On Mon, Dec 07, 2020 at 03:27:55PM +0100, Michael Klein wrote:
>> Add devicetree binding documentation for regulator-poweroff driver.
>>
>> Signed-off-by: Michael Klein <michael@fossekall.de>
>> ---
>>  .../power/reset/regulator-poweroff.yaml       | 53 +++++++++++++++++++
>>  1 file changed, 53 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/power/reset/regulator-poweroff.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/power/reset/regulator-poweroff.yaml b/Documentation/devicetree/bindings/power/reset/regulator-poweroff.yaml
>> new file mode 100644
>> index 000000000000..8c8ce6bb031a
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/reset/regulator-poweroff.yaml
>> @@ -0,0 +1,53 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/power/reset/regulator-poweroff.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Force-disable power regulators to turn the power off.
>> +
>> +maintainers:
>> +  - Michael Klein <michael@fossekall.de>
>> +
>> +description: |
>> +  When the power-off handler is called, one more regulators are disabled
>> +  by calling regulator_force_disable(). If the power is still on and the
>> +  CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.
>> +
>> +properties:
>> +  compatible:
>> +    const: "regulator-poweroff"
>> +
>> +  regulator-names:
>> +    description:
>> +      Array of regulator names
>> +    $ref: /schemas/types.yaml#/definitions/string-array
>> +
>> +  REGULATOR-supply:
>
>This should be a patternProperties
>
>> +    description:
>> +      For any REGULATOR listed in regulator-names, a phandle
>> +      to the corresponding regulator node
>> +    $ref: /schemas/types.yaml#/definitions/phandle
>> +
>> +  timeout-ms:
>> +    description:
>> +      Time to wait before asserting a WARN_ON(1). If nothing is
>> +      specified, 3000 ms is used.
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +
>> +required:
>> +  - compatible
>> +  - regulator-names
>> +  - REGULATOR-supply
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    regulator-poweroff {
>> +        compatible = "regulator-poweroff";
>> +        regulator-names = "vcc1v2", "vcc-dram";
>> +        vcc1v2-supply = <&reg_vcc1v2>;
>> +        vcc-dram-supply = <&reg_vcc_dram>;
>> +    };
>
>I'm not entirely sure how multiple regulators would work here. I guess
>the ordering is board/purpose sensitive. In this particular case, I
>assume that vcc1v2 would be shut down before vcc-dram?

yes, the regulators are shut down from left to right.

>If so, I would expect that one regulator_force_disable is run, the CPU
>is disabled and you never get the chance to cut vcc-dram.

I assume that any relevant regulator here has enough capacitance on the 
output that provides enough charge to disable any remaining regulators 
(my board has 3*10µF for vcc1v2 and 1*10µF for vcc-dram). But there is 
of course no guarantee, so I'm shutting down the most relevant (in terms 
of current consumption) regulator first.

In any case, if it's deemed unnecessary to allow more than one regulator 
in the driver I could remove the regulator-names property altogether and 
reduce the DT node to:

   regulator-poweroff {
       compatible = "regulator-poweroff";
       poweroff-supply = <&reg_vcc1v2>;
   };

-- 
Michael

  reply	other threads:[~2020-12-08 13:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 16:10 [PATCH] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add gpio-poweroff to DT Michael Klein
2020-11-24  4:14 ` Samuel Holland
2020-11-24  4:41   ` Chen-Yu Tsai
2020-11-24 13:21     ` Maxime Ripard
2020-11-24 13:19 ` Maxime Ripard
2020-11-24 13:36   ` [PATCH v2] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add poweroff node " Michael Klein
2020-11-24 14:26     ` Maxime Ripard
2020-11-24 22:31       ` Michael Klein
2020-11-28 10:39         ` Maxime Ripard
2020-12-07 14:27           ` [PATCH v3 0/3] BPi M2 Zero poweroff support via new regulator-poweroff driver Michael Klein
2020-12-07 14:27             ` [PATCH v3 1/3] power: reset: new driver regulator-poweroff Michael Klein
2020-12-08 10:10               ` Maxime Ripard
2020-12-09 20:34                 ` Michael Klein
2020-12-07 14:27             ` [PATCH v3 2/3] Documentation: DT: binding documentation for regulator-poweroff Michael Klein
2020-12-08 10:13               ` Maxime Ripard
2020-12-08 12:52                 ` Michael Klein [this message]
2020-12-10 14:30                   ` Maxime Ripard
2020-12-08 15:21               ` Rob Herring
2020-12-08 15:39               ` Rob Herring
2020-12-07 14:27             ` [PATCH v3 3/3] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add poweroff node Michael Klein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201208125214.GA2785@a98shuttle.de \
    --to=michael@fossekall.de \
    --cc=devicetree@vger.kernel.org \
    --cc=jernej.skrabec@siol.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=maxime@cerno.tech \
    --cc=robh+dt@kernel.org \
    --cc=sre@kernel.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).