[PATCH v4 5/8] dt-bindings: regulator: Document MediaTek MT6373 PMIC Regulators
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Tue Jul 15 04:57:15 PDT 2025
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
MT6363 PMICs.
Link: https://lore.kernel.org/r/20250624073548.29732-6-angelogioacchino.delregno@collabora.com
Link: https://lore.kernel.org/r/20250707134451.154346-6-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
---
.../regulator/mediatek,mt6373-regulator.yaml | 175 ++++++++++++++++++
1 file changed, 175 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6373-regulator.yaml
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6373-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6373-regulator.yaml
new file mode 100644
index 000000000000..dec4bf90e892
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6373-regulator.yaml
@@ -0,0 +1,175 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mediatek,mt6373-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6373 PMIC Regulators
+
+maintainers:
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
+
+description:
+ The MT6373 SPMI PMIC provides 11 BUCK and 23 LDO (Low Dropout) regulators
+ and can optionally provide overcurrent warnings with one ocp interrupt
+ for each voltage regulator.
+
+properties:
+ compatible:
+ const: mediatek,mt6373-regulator
+
+ interrupts:
+ description: Overcurrent warning interrupts
+ minItems: 1
+ maxItems: 34
+
+ interrupt-names:
+ description:
+ Names for the overcurrent interrupts are the same as the name
+ of a regulator (hence the same as each regulator's node name).
+ For example, the interrupt name for regulator vfp will be "vfp".
+ minItems: 1
+ maxItems: 34
+ contains:
+ enum:
+ - vbuck0
+ - vbuck1
+ - vbuck2
+ - vbuck3
+ - vbuck4
+ - vbuck4-ufs
+ - vbuck5
+ - vbuck6
+ - vbuck7
+ - vbuck8
+ - vbuck9
+ - vant18
+ - vaud18
+ - vaux18
+ - vcn33-1
+ - vcn33-2
+ - vcn33-3
+ - vcn18io
+ - vefuse
+ - vfp
+ - vibr
+ - vio28
+ - vmc
+ - vmch
+ - vrfio18-aif
+ - vrf09-aif
+ - vrf12-aif
+ - vrf13-aif
+ - vrf18-aif
+ - vsim1
+ - vsim2
+ - vsram-digrf-aif
+ - vtp
+ - vusb
+
+patternProperties:
+ "^v(ant|aud|aux)18$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vbuck([0123456789]|4-ufs)$":
+ 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
+
+ "^vbuck4(-ufs)?$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vcn33-[123]$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^v(f|t)p":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^v(cn18io|efuse|ibr|io28|sram-digrf-aif|usb)":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vmc(h)?$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vmch-(eint-low|eint-high)?$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vrf(09|12|13|18|io18)-aif$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vsim[12]$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ pmic {
+ interrupt-controller;
+ #interrupt-cells = <3>;
+
+ regulators {
+ compatible = "mediatek,mt6373-regulator";
+ interrupts = <5 17 IRQ_TYPE_LEVEL_HIGH>, <5 18 IRQ_TYPE_LEVEL_HIGH>,
+ <5 19 IRQ_TYPE_LEVEL_HIGH>, <5 20 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vusb", "vaux18", "vrf13-aif", "vrf18-aif";
+
+ vaux18 {
+ regulator-name = "avss18-auxadc-mt6373";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-allowed-modes = <0 1 2>;
+ };
+
+ vmc {
+ regulator-name = "pp1800-2900-vmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2900000>;
+ regulator-allowed-modes = <0 2>;
+ };
+ };
+ };
+...
--
2.50.1
More information about the Linux-mediatek
mailing list