[PATCH v5 3/8] dt-bindings: regulator: Document MediaTek MT6363 PMIC Regulators
Rob Herring
robh at kernel.org
Thu Jul 17 08:29:47 PDT 2025
On Tue, Jul 15, 2025 at 04:02:19PM +0200, AngeloGioacchino Del Regno wrote:
> Add bindings for the regulators found in the MediaTek MT6363 PMIC,
> usually found in board designs using the MT6991 Dimensity 9400 and
> on MT8196 Kompanio SoC for Chromebooks, along with the MT6316 and
> MT6373 PMICs.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> ---
> .../regulator/mediatek,mt6363-regulator.yaml | 193 ++++++++++++++++++
> 1 file changed, 193 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
> new file mode 100644
> index 000000000000..ea1f6c92cffc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
> @@ -0,0 +1,193 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/mediatek,mt6363-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT6363 PMIC Regulators
> +
> +maintainers:
> + - AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> +
> +description:
> + The MT6363 SPMI PMIC provides 10 BUCK and 25 LDO (Low DropOut) regulators
> + and can optionally provide overcurrent warnings with one ocp interrupt
> + for each voltage regulator.
> +
> +properties:
> + compatible:
> + const: mediatek,mt6363-regulator
> +
> + reg:
> + maxItems: 1
> +
> + vsys-vbuck1-supply:
> + description: Input supply for vbuck1
blank line
> + vsys-vbuck2-supply:
> + description: Input supply for vbuck2
blank line, and so on...
> + vsys-vbuck3-supply:
> + description: Input supply for vbuck3
> + vsys-vbuck4-supply:
> + description: Input supply for vbuck4
> + vsys-vbuck5-supply:
> + description: Input supply for vbuck5
> + vsys-vbuck6-supply:
> + description: Input supply for vbuck6
> + vsys-vbuck7-supply:
> + description: Input supply for vbuck7
> + vsys-vs1-supply:
> + description: Input supply for vs1
> + vsys-vs2-supply:
> + description: Input supply for vs2
> + vsys-vs3-supply:
> + description: Input supply for vs3
> + vs1-ldo1-supply:
> + description: Input supply for va15, vio0p75, vm18, vrf18, vrf-io18
> + vs1-ldo2-supply:
> + description: Input supply for vcn15, vio18, vufs18
> + vs2-ldo1-supply:
> + description: Input supply for vsram-cpub, vsram-cpum, vrf12, vrf13, vufs12
> + vs2-ldo2-supply:
> + description: Input supply for va12-1, va12-2, vcn13, vsram-cpul
> + vs3-ldo1-supply:
> + description: Input supply for vsram-apu, vsram-digrf, vsram-mdfe
> + vs3-ldo2-supply:
> + description: Input supply for vsram-modem, vrf0p9
> + vsys-ldo1-supply:
> + description: Input supply for vaux18, vemc, vtref18
> +
> +patternProperties:
> + "^v(buck[1-7]|s[1-3])$":
> + description: Buck regulators
> + type: object
> + $ref: regulator.yaml#
> + 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, does not limit the maximum out
> + current but unless only a light load is applied, there will be
> + regulation accuracy and efficiency losses.
> + 3 - Forced Ultra Low Power mode for ultra low load, this greatly
> + reduces the maximum output power, makes the regulator to be
> + efficient only for ultra light load, and greatly reduces the
> + quiescent current (Iq) of the buck.
> + maxItems: 3
> + items:
> + enum: [ 0, 1, 2, 3 ]
> + unevaluatedProperties: false
Move this after $ref.
> +
> + "^va(12-1|12-2|15)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + description: |
> + Allowed LDO regulator operating modes allowed. Valid values below.
> + 0 - Normal mode with automatic power saving, reducing the switching
> + frequency when light load conditions are detected
> + 2 - Forced Low Power mode for improved regulator efficiency, used
> + when no heavy load is expected, does not limit the maximum out
> + current but unless only a light load is applied, there will be
> + regulation accuracy and efficiency losses.
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^v(aux|m|rf-io|tref)18$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^v(cn13|cn15|emc)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^vio(0p75|18)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^vrf(0p9|12|13|18)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^vsram-(apu|cpub|cpum|cpul|digrf|mdfe|modem)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
> +
> + "^vufs(12|18)$":
> + type: object
> + $ref: regulator.yaml#
> + properties:
> + regulator-allowed-modes:
> + maxItems: 2
> + items:
> + enum: [ 0, 2 ]
> + unevaluatedProperties: false
A lot of duplication here. Either combine the regex's to 1 entry or add
a $defs entry and make all of these a 1 line $ref.
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
I thought I said this already, but drop the example here. 1 complete
example in the mfd schema only.
> +
> + pmic {
> + interrupt-controller;
> + #address-cells = <1>;
> + #interrupt-cells = <3>;
> +
> + regulators at 30 {
> + compatible = "mediatek,mt6363-regulator";
> + reg = <0x
> +
> + vio18 {
> + regulator-name = "pp1800-vio18-s3";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-allowed-modes = <0 2>;
> + regulator-allow-set-load;
> + regulator-over-current-protection;
> + };
> + };
> + };
> +...
> --
> 2.50.1
>
More information about the Linux-mediatek
mailing list