[PATCH v2 5/6] dt-bindings: regulator: Document MediaTek MT6373 PMIC Regulators

AngeloGioacchino Del Regno
2025-06-24T08:07:06Z

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.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
.../regulator/mediatek,mt6373-regulator.yaml | 119 ++++++++++++++++++
1 file changed, 119 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..08deb1258b98
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6373-regulator.yaml
@@ -0,0 +1,119 @@
+# 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@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,mt6373-regulator
+
+ interrupts:
+ description: Overcurrent warning interrupts
+ minItems: 1
+ maxItems: 35
+
+ 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 vs2 will be "vs2".
+ minItems: 1
+ maxItems: 35
+
+patternProperties:
+ "^v(ant|aud|aux)18$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ "^vbuck[12356789]$":
+ type: object
+ $ref: regulator.yaml#
+ 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.49.0