[PATCH v8 1/9] dt-bindings: regulator: Document MediaTek MT6316 PMIC Regulators

Rob Herring robh at kernel.org
Thu Oct 9 12:18:52 PDT 2025


On Fri, Oct 03, 2025 at 11:11:50AM +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 at chromium.org>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> ---
>  .../regulator/mediatek,mt6316b-regulator.yaml | 80 +++++++++++++++++++
>  .../regulator/mediatek,mt6316c-regulator.yaml | 80 +++++++++++++++++++
>  .../regulator/mediatek,mt6316d-regulator.yaml | 79 ++++++++++++++++++
>  3 files changed, 239 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..53d2c9913e55
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
> @@ -0,0 +1,80 @@
> +# 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 at 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
> +
> +  reg:
> +    maxItems: 1
> +
> +  '#address-cells':
> +    const: 0

You don't have any child nodes with addresses. Drop.

> +
> +patternProperties:
> +  "^vbuck(12|34)$":
> +    type: object
> +    $ref: regulator.yaml#
> +    unevaluatedProperties: false
> +    properties:
> +      regulator-allowed-modes:
> +        description: |
> +          Allowed Buck regulator operating modes allowed. Valid values below.
> +            0 - Normal mode with automatic power saving, reducing the switching
> +                frequency when light load conditions are detected
> +            1 - Forced Continuous Conduction mode (FCCM) for improved voltage
> +                regulation accuracy with constant switching frequency but lower
> +                regulator efficiency
> +            2 - Forced Low Power mode for improved regulator efficiency, used
> +                when no heavy load is expected, will shut down unnecessary IP
> +                blocks and secondary phases to reduce quiescent current.
> +                This mode does not limit the maximum output current but unless
> +                only a light load is applied, there will be regulation accuracy
> +                and efficiency losses.
> +        maxItems: 3

If you can only specify all the modes, why do you need it? Perhaps you 
want 'minItems: 1' as well?

> +        items:
> +          enum: [ 0, 1, 2 ]
> +
> +required:
> +  - compatible
> +  - reg
> +  - '#address-cells'
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/spmi/spmi.h>
> +
> +    spmi {
> +      #address-cells = <2>;
> +      #size-cells = <0>;
> +
> +      pmic at 8 {
> +        compatible = "mediatek,mt6316b-regulator";
> +        reg = <0x8 SPMI_USID>;
> +        #address-cells = <0>;
> +
> +        vbuck12 {
> +          regulator-name = "dvdd_core";
> +          regulator-min-microvolt = <450000>;
> +          regulator-max-microvolt = <965000>;
> +          regulator-allowed-modes = <0 1 2>;
> +          regulator-enable-ramp-delay = <256>;
> +        };
> +      };
> +    };
> +...



More information about the Linux-mediatek mailing list