Add bindings for the regulators found in the MediaTek MT6316 PMIC,
usually found in board designs using the MT6991 Dimensity 9400 and
on MT8196 Kompanio SoC for Chromebooks.
This chip is fully controlled by SPMI and has multiple variants
providing different phase configurations.
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20250715140224.206329-2-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
.../regulator/mediatek,mt6316b-regulator.yaml | 46 +++++++++++++++++++
.../regulator/mediatek,mt6316c-regulator.yaml | 46 +++++++++++++++++++
.../regulator/mediatek,mt6316d-regulator.yaml | 41 +++++++++++++++++
3 files changed, 133 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
new file mode 100644
index 000000000000..e7a6b70cdab2
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mediatek,mt6316b-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6316 BP/VP SPMI PMIC Regulators
+
+maintainers:
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+description:
+ The MediaTek MT6316BP/VP PMICs are fully controlled by SPMI interface, both
+ feature four step-down DC/DC (buck) converters, and provides 2+2 Phases,
+ joining Buck 1+2 for the first phase, and Buck 3+4 for the second phase.
+
+properties:
+ compatible:
+ const: mediatek,mt6316b-regulator
+
+ vbuck12:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ vbuck34:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ regulators {
+ compatible = "mediatek,mt6316b-regulator";
+
+ vbuck12 {
+ regulator-min-microvolt = <450000>;
+ regulator-max-microvolt = <965000>;
+ regulator-always-on;
+ };
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
new file mode 100644
index 000000000000..0b9239a595ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mediatek,mt6316c-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6316 CP/HP/KP SPMI PMIC Regulators
+
+maintainers:
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+description:
+ The MediaTek MT6316CP/HP/KP PMICs are fully controlled by SPMI interface,
+ features four step-down DC/DC (buck) converters, and provides 3+1 Phases,
+ joining Buck 1+2+4 for the first phase, and uses Buck 3 for the second.
+
+properties:
+ compatible:
+ const: mediatek,mt6316c-regulator
+
+ vbuck124:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ vbuck3:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ regulators {
+ compatible = "mediatek,mt6316c-regulator";
+
+ vbuck124 {
+ regulator-min-microvolt = <450000>;
+ regulator-max-microvolt = <1277500>;
+ regulator-always-on;
+ };
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
new file mode 100644
index 000000000000..460c02bf69de
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mediatek,mt6316d-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6316 DP/TP SPMI PMIC Regulators
+
+maintainers:
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+description:
+ The MediaTek MT6316DP/TP PMICs are fully controlled by SPMI interface, both
+ feature four step-down DC/DC (buck) converters, and provides a single Phase,
+ joining Buck 1+2+3+4.
+
+properties:
+ compatible:
+ const: mediatek,mt6316d-regulator
+
+ vbuck1234:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ regulators {
+ compatible = "mediatek,mt6316d-regulator";
+
+ vbuck1234 {
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <1277500>;
+ regulator-always-on;
+ };
+ };
+ };
+...
--
2.51.0
On Wed, Oct 01, 2025 at 01:13:08PM +0200, AngeloGioacchino Del Regno wrote:
> Add bindings for the regulators found in the MediaTek MT6316 PMIC,
> usually found in board designs using the MT6991 Dimensity 9400 and
> on MT8196 Kompanio SoC for Chromebooks.
>
> This chip is fully controlled by SPMI and has multiple variants
> providing different phase configurations.
>
> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
> Link: https://lore.kernel.org/r/20250715140224.206329-2-angelogioacchino.delregno@collabora.com
Why do we want a link to v5 here in the git history forever? You've seen
Linus' recent comments on Link usage?
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> .../regulator/mediatek,mt6316b-regulator.yaml | 46 +++++++++++++++++++
> .../regulator/mediatek,mt6316c-regulator.yaml | 46 +++++++++++++++++++
> .../regulator/mediatek,mt6316d-regulator.yaml | 41 +++++++++++++++++
> 3 files changed, 133 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
> new file mode 100644
> index 000000000000..e7a6b70cdab2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/mediatek,mt6316b-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT6316 BP/VP SPMI PMIC Regulators
> +
> +maintainers:
> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> +
> +description:
> + The MediaTek MT6316BP/VP PMICs are fully controlled by SPMI interface, both
> + feature four step-down DC/DC (buck) converters, and provides 2+2 Phases,
> + joining Buck 1+2 for the first phase, and Buck 3+4 for the second phase.
> +
> +properties:
> + compatible:
> + const: mediatek,mt6316b-regulator
> +
> + vbuck12:
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> +
> + vbuck34:
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pmic {
> + regulators {
> + compatible = "mediatek,mt6316b-regulator";
> +
> + vbuck12 {
> + regulator-min-microvolt = <450000>;
> + regulator-max-microvolt = <965000>;
> + regulator-always-on;
> + };
> + };
> + };
One complete example for the pmic please rather than incomplete child
node examples.
Rob
Il 01/10/25 17:45, Rob Herring ha scritto:
> On Wed, Oct 01, 2025 at 01:13:08PM +0200, AngeloGioacchino Del Regno wrote:
>> Add bindings for the regulators found in the MediaTek MT6316 PMIC,
>> usually found in board designs using the MT6991 Dimensity 9400 and
>> on MT8196 Kompanio SoC for Chromebooks.
>>
>> This chip is fully controlled by SPMI and has multiple variants
>> providing different phase configurations.
>>
>> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
>> Link: https://lore.kernel.org/r/20250715140224.206329-2-angelogioacchino.delregno@collabora.com
>
> Why do we want a link to v5 here in the git history forever? You've seen
> Linus' recent comments on Link usage?
>
Yes, I've seen that, and I fully agree with him.
That was a mistake and was totally unintentional - I actually wanted to, but then
forgot to, remove the links.
I really have to spend those 5 minutes to configure b4 correctly.
Sorry about that, will fix in v7.
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>> ---
>> .../regulator/mediatek,mt6316b-regulator.yaml | 46 +++++++++++++++++++
>> .../regulator/mediatek,mt6316c-regulator.yaml | 46 +++++++++++++++++++
>> .../regulator/mediatek,mt6316d-regulator.yaml | 41 +++++++++++++++++
>> 3 files changed, 133 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
>> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
>> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
>> new file mode 100644
>> index 000000000000..e7a6b70cdab2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
>> @@ -0,0 +1,46 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/regulator/mediatek,mt6316b-regulator.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: MediaTek MT6316 BP/VP SPMI PMIC Regulators
>> +
>> +maintainers:
>> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>> +
>> +description:
>> + The MediaTek MT6316BP/VP PMICs are fully controlled by SPMI interface, both
>> + feature four step-down DC/DC (buck) converters, and provides 2+2 Phases,
>> + joining Buck 1+2 for the first phase, and Buck 3+4 for the second phase.
>> +
>> +properties:
>> + compatible:
>> + const: mediatek,mt6316b-regulator
>> +
>> + vbuck12:
>> + type: object
>> + $ref: regulator.yaml#
>> + unevaluatedProperties: false
>> +
>> + vbuck34:
>> + type: object
>> + $ref: regulator.yaml#
>> + unevaluatedProperties: false
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + pmic {
>> + regulators {
>> + compatible = "mediatek,mt6316b-regulator";
>> +
>> + vbuck12 {
>> + regulator-min-microvolt = <450000>;
>> + regulator-max-microvolt = <965000>;
>> + regulator-always-on;
>> + };
>> + };
>> + };
>
> One complete example for the pmic please rather than incomplete child
> node examples.
>
Thanks for making me notice - actually, this example is even wrong... as I
eventually changed the node, but for whatever reason I completely forgot
about updating the binding. UGH.
The MT6316(x) are PMICs themselves, providing only regulators.
I'll come up with a decent example.
Cheers,
Angelo
© 2016 - 2026 Red Hat, Inc.