From: Chen-Yu Tsai <wenst@chromium.org>
To: Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Mark Brown <broonie@kernel.org>
Cc: Chen-Yu Tsai <wenst@chromium.org>, Lee Jones <lee@kernel.org>,
Zhiyong Tao <zhiyong.tao@mediatek.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: [PATCH v4 03/12] regulator: dt-bindings: mt6358: Add regulator-allowed-modes property
Date: Thu, 28 Sep 2023 16:55:26 +0800 [thread overview]
Message-ID: <20230928085537.3246669-4-wenst@chromium.org> (raw)
In-Reply-To: <20230928085537.3246669-1-wenst@chromium.org>
The MT6358 PMIC allows changing operating modes for the buck regulators,
but not the LDOs. Existing device trees and the Linux implementation
already utilize this through the standard regulator-allowed-modes
property.
The values currently used in existing device trees are simply raw
numbers. The values in the Linux driver are matching numbers defined
with macros denoting the two supported modes. Turns out these two
modes are common across parts of the larger MT63xx PMIC family. The
MT6397 regulator binding already has macros for the two modes, with
matching numbers.
Codify the supported values for regulator-allowed-modes for the MT6358
in the device tree binding: 0 and 1 are supported for buck regulators,
and the property should not be present for LDO regulators. Users should
use the dt-bindings/regulator/mediatek,mt6397-regulator.h header for
the macros, instead of using raw numbers.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v3:
- adapt to ldo_vxo22 and ldo_vusb movement to properties
Changes since v2:
- new patch
.../regulator/mediatek,mt6358-regulator.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml
index 126f502a2bda..e8c3299d698f 100644
--- a/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml
@@ -22,12 +22,16 @@ properties:
description: LDOs with fixed 2.2V output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
ldo_vusb:
description: LDOs with fixed 3.0V output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
@@ -36,36 +40,55 @@ patternProperties:
description: Buck regulators
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes:
+ description: |
+ Buck regulatpr operating modes allowed. Valid values below.
+ Users should use the macros from dt-bindings/regulator/mediatek,mt6397-regulator.h
+ 0 (MT6397_BUCK_MODE_AUTO): Auto PFM/PWM mode
+ 1 (MT6397_BUCK_MODE_FORCE_PWM): Forced PWM mode
+ items:
+ enum: [0, 1]
unevaluatedProperties: false
"^ldo_v(a|rf)12$":
description: LDOs with fixed 1.2V output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
"^ldo_v((aux|cn|io|rf)18|camio)$":
description: LDOs with fixed 1.8V output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
"^ldo_v(aud|bif|cn|fe|io)28$":
description: LDOs with fixed 2.8V output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
"^ldo_vsram_(gpu|others|proc1[12])$":
description: LDOs with variable output
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
"^ldo_v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|mc|mch|sim[12])$":
description: LDOs with variable output and 0~100/10mV tuning
type: object
$ref: regulator.yaml#
+ properties:
+ regulator-allowed-modes: false
unevaluatedProperties: false
required:
@@ -75,6 +98,8 @@ additionalProperties: false
examples:
- |
+ #include <dt-bindings/regulator/mediatek,mt6397-regulator.h>
+
regulator {
compatible = "mediatek,mt6358-regulator";
@@ -84,6 +109,8 @@ examples:
regulator-max-microvolt = <900000>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <200>;
+ regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
+ MT6397_BUCK_MODE_FORCE_PWM>;
};
ldo_vsram_gpu {
--
2.42.0.582.g8ccd20d70d-goog
next prev parent reply other threads:[~2023-09-28 8:56 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-28 8:55 [PATCH v4 00/12] regulator: mt6366: Split out of MT6358 and cleanup Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 01/12] dt-bindings: mfd: mt6397: Split out compatible for MediaTek MT6366 PMIC Chen-Yu Tsai
2023-09-28 10:25 ` AngeloGioacchino Del Regno
2023-09-28 12:34 ` Lee Jones
2023-10-04 9:11 ` (subset) " Lee Jones
2023-09-28 8:55 ` [PATCH v4 02/12] regulator: dt-bindings: mt6358: Convert to DT schema Chen-Yu Tsai
2023-10-02 16:10 ` Rob Herring
2023-09-28 8:55 ` Chen-Yu Tsai [this message]
2023-10-02 16:15 ` [PATCH v4 03/12] regulator: dt-bindings: mt6358: Add regulator-allowed-modes property Rob Herring
2023-09-28 8:55 ` [PATCH v4 04/12] regulator: dt-bindings: mt6358: Add regulator supplies Chen-Yu Tsai
2023-10-02 16:16 ` Rob Herring
2023-09-28 8:55 ` [PATCH v4 05/12] regulator: dt-bindings: mt6358: Add MT6366 PMIC Chen-Yu Tsai
2023-10-02 16:18 ` Rob Herring
2023-09-28 8:55 ` [PATCH v4 06/12] regulator: mt6358: Use mt6397-regulator.h binding header for buck mode macros Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 07/12] regulator: mt6358: Add supply names for MT6358 regulators Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 08/12] regulator: mt6358: fix and drop type prefix in MT6366 regulator node names Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 09/12] regulator: mt6358: Make MT6366 vcn18 LDO configurable Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 10/12] regulator: mt6358: Add missing regulators for MT6366 Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 11/12] regulator: mt6358: Add supply names for MT6366 regulators Chen-Yu Tsai
2023-09-28 8:55 ` [PATCH v4 12/12] arm64: dts: mediatek: mt8183-kukui: Add PMIC regulator supplies Chen-Yu Tsai
2023-09-28 10:26 ` AngeloGioacchino Del Regno
2023-10-03 12:18 ` (subset) [PATCH v4 00/12] regulator: mt6366: Split out of MT6358 and cleanup Mark Brown
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=20230928085537.3246669-4-wenst@chromium.org \
--to=wenst@chromium.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=zhiyong.tao@mediatek.com \
/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).