diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6397-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6397-regulator.yaml
new file mode 100644
index 0000000..c5e8df0
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6397-regulator.yaml
@@ -0,0 +1,275 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mediatek,mt6397-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6397 Regulator
+
+maintainers:
+  - Sen Chu <sen.chu@mediatek.com>
+  - Macpaul Lin <macpaul.lin@mediatek.com>
+
+description:
+  Regulator node of the PMIC. This node should under the PMIC's device node.
+  All voltage regulators provided by the PMIC are described as sub-nodes of
+  this node.
+
+properties:
+  compatible:
+    items:
+      - const: mediatek,mt6397-regulator
+
+patternProperties:
+  "^(buck_)?v(core|drm|gpu|io18|pca(7|15)|sramca(7|15))$":
+    description: Buck regulators
+    type: object
+    $ref: regulator.yaml#
+    properties:
+      regulator-allowed-modes:
+        description: |
+          BUCK regulators can set regulator-initial-mode and regulator-allowed-modes to
+          values specified in dt-bindings/regulator/mediatek,mt6397-regulator.h
+        items:
+          enum: [0, 1]
+      regulator-compatible:
+        pattern: "^(buck_)?v(core|drm|gpu|io18|pca(7|15)|sramca(7|15))$"
+    unevaluatedProperties: false
+
+  "^(ldo_)?v(tcxo|(a|io)28)$":
+    description: LDOs with fixed 2.8V output and 0~100/10mV tuning
+    type: object
+    $ref: regulator.yaml#
+    properties:
+      regulator-allowed-modes: false
+      regulator-compatible:
+        pattern: "^(ldo_)?v(tcxo|(a|io)28)$"
+    unevaluatedProperties: false
+
+  "^(ldo_)?vusb$":
+    description: LDOs with fixed 3.0V output and 0~100/10mV tuning
+    type: object
+    $ref: regulator.yaml#
+    properties:
+      regulator-allowed-modes: false
+      regulator-compatible:
+        pattern: "^(ldo_)?vusb$"
+    unevaluatedProperties: false
+
+  "^(ldo_)?v(cama|emc3v3|gp[123456]|ibr|mc|mch)$":
+    description: LDOs with variable output and 0~100/10mV tuning
+    type: object
+    $ref: regulator.yaml#
+    properties:
+      regulator-allowed-modes: false
+      regulator-compatible:
+        pattern: "^(ldo_)?v(cama|emc3v3|gp[123456]|ibr|mc|mch)$"
+    unevaluatedProperties: false
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    pwrap {
+       	pmic {
+            compatible = "mediatek,mt6397";
+
+            mt6397regulator: mt6397regulator {
+                compatible = "mediatek,mt6397-regulator";
+
+                mt6397_vpca15_reg: buck_vpca15 {
+                    regulator-compatible = "buck_vpca15";
+                    regulator-name = "vpca15";
+                    regulator-min-microvolt = < 850000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <200>;
+                };
+
+                mt6397_vpca7_reg: buck_vpca7 {
+                    regulator-compatible = "buck_vpca7";
+                    regulator-name = "vpca7";
+                    regulator-min-microvolt = < 850000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <115>;
+                };
+
+                mt6397_vsramca15_reg: buck_vsramca15 {
+                    regulator-compatible = "buck_vsramca15";
+                    regulator-name = "vsramca15";
+                    regulator-min-microvolt = < 850000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <115>;
+                };
+
+                mt6397_vsramca7_reg: buck_vsramca7 {
+                    regulator-compatible = "buck_vsramca7";
+                    regulator-name = "vsramca7";
+                    regulator-min-microvolt = < 850000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <115>;
+                };
+
+                mt6397_vcore_reg: buck_vcore {
+                    regulator-compatible = "buck_vcore";
+                    regulator-name = "vcore";
+                    regulator-min-microvolt = < 850000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <115>;
+                };
+
+                mt6397_vgpu_reg: buck_vgpu {
+                    regulator-compatible = "buck_vgpu";
+                    regulator-name = "vgpu";
+                    regulator-min-microvolt = < 700000>;
+                    regulator-max-microvolt = <1350000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <115>;
+                };
+
+                mt6397_vdrm_reg: buck_vdrm {
+                    regulator-compatible = "buck_vdrm";
+                    regulator-name = "vdrm";
+                    regulator-min-microvolt = < 800000>;
+                    regulator-max-microvolt = <1400000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <500>;
+                };
+
+                mt6397_vio18_reg: buck_vio18 {
+                    regulator-compatible = "buck_vio18";
+                    regulator-name = "vio18";
+                    regulator-min-microvolt = <1500000>;
+                    regulator-max-microvolt = <2120000>;
+                    regulator-ramp-delay = <12500>;
+                    regulator-enable-ramp-delay = <500>;
+                };
+
+                mt6397_vtcxo_reg: ldo_vtcxo {
+                    regulator-compatible = "ldo_vtcxo";
+                    regulator-name = "vtcxo";
+                    regulator-min-microvolt = <2800000>;
+                    regulator-max-microvolt = <2800000>;
+                    regulator-enable-ramp-delay = <90>;
+                };
+
+                mt6397_va28_reg: ldo_va28 {
+                    regulator-compatible = "ldo_va28";
+                    regulator-name = "va28";
+                    /* fixed output 2.8 V */
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vcama_reg: ldo_vcama {
+                    regulator-compatible = "ldo_vcama";
+                    regulator-name = "vcama";
+                    regulator-min-microvolt = <1500000>;
+                    regulator-max-microvolt = <2800000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vio28_reg: ldo_vio28 {
+                    regulator-compatible = "ldo_vio28";
+                    regulator-name = "vio28";
+                    /* fixed output 2.8 V */
+                    regulator-enable-ramp-delay = <240>;
+                };
+
+                mt6397_usb_reg: ldo_vusb {
+                    regulator-compatible = "ldo_vusb";
+                    regulator-name = "vusb";
+                    /* fixed output 3.3 V */
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vmc_reg: ldo_vmc {
+                    regulator-compatible = "ldo_vmc";
+                    regulator-name = "vmc";
+                    regulator-min-microvolt = <1800000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vmch_reg: ldo_vmch {
+                    regulator-compatible = "ldo_vmch";
+                    regulator-name = "vmch";
+                    regulator-min-microvolt = <3000000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vemc_3v3_reg: ldo_vemc3v3 {
+                    regulator-compatible = "ldo_vemc3v3";
+                    regulator-name = "vemc_3v3";
+                    regulator-min-microvolt = <3000000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vgp1_reg: ldo_vgp1 {
+                    regulator-compatible = "ldo_vgp1";
+                    regulator-name = "vcamd";
+                    regulator-min-microvolt = <1220000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <240>;
+                };
+
+                mt6397_vgp2_reg: ldo_vgp2 {
+                    regulator-compatible = "ldo_vgp2";
+                    regulator-name = "vcamio";
+                    regulator-min-microvolt = <1000000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vgp3_reg: ldo_vgp3 {
+                    regulator-compatible = "ldo_vgp3";
+                    regulator-name = "vcamaf";
+                    regulator-min-microvolt = <1200000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vgp4_reg: ldo_vgp4 {
+                    regulator-compatible = "ldo_vgp4";
+                    regulator-name = "vgp4";
+                    regulator-min-microvolt = <1200000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vgp5_reg: ldo_vgp5 {
+                    regulator-compatible = "ldo_vgp5";
+                    regulator-name = "vgp5";
+                    regulator-min-microvolt = <1200000>;
+                    regulator-max-microvolt = <3000000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vgp6_reg: ldo_vgp6 {
+                    regulator-compatible = "ldo_vgp6";
+                    regulator-name = "vgp6";
+                    regulator-min-microvolt = <1200000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+
+                mt6397_vibr_reg: ldo_vibr {
+                    regulator-compatible = "ldo_vibr";
+                    regulator-name = "vibr";
+                    regulator-min-microvolt = <1200000>;
+                    regulator-max-microvolt = <3300000>;
+                    regulator-enable-ramp-delay = <218>;
+                };
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt
deleted file mode 100644
index c080086..0000000
--- a/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt
+++ /dev/null
@@ -1,220 +0,0 @@
-Mediatek MT6397 Regulator
-
-Required properties:
-- compatible: "mediatek,mt6397-regulator"
-- mt6397regulator: List of regulators provided by this controller. It is named
-  according to its regulator type, buck_<name> and ldo_<name>.
-  The definition for each of these nodes is defined using the standard binding
-  for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
-
-The valid names for regulators are::
-BUCK:
-  buck_vpca15, buck_vpca7, buck_vsramca15, buck_vsramca7, buck_vcore, buck_vgpu,
-  buck_vdrm, buck_vio18
-LDO:
-  ldo_vtcxo, ldo_va28, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch,
-  ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vgp4, ldo_vgp5, ldo_vgp6,
-  ldo_vibr
-
-BUCK regulators can set regulator-initial-mode and regulator-allowed-modes to
-values specified in dt-bindings/regulator/mediatek,mt6397-regulator.h
-
-Example:
-	pmic {
-		compatible = "mediatek,mt6397";
-
-		mt6397regulator: mt6397regulator {
-			compatible = "mediatek,mt6397-regulator";
-
-			mt6397_vpca15_reg: buck_vpca15 {
-				regulator-compatible = "buck_vpca15";
-				regulator-name = "vpca15";
-				regulator-min-microvolt = < 850000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <200>;
-			};
-
-			mt6397_vpca7_reg: buck_vpca7 {
-				regulator-compatible = "buck_vpca7";
-				regulator-name = "vpca7";
-				regulator-min-microvolt = < 850000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <115>;
-			};
-
-			mt6397_vsramca15_reg: buck_vsramca15 {
-				regulator-compatible = "buck_vsramca15";
-				regulator-name = "vsramca15";
-				regulator-min-microvolt = < 850000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <115>;
-
-			};
-
-			mt6397_vsramca7_reg: buck_vsramca7 {
-				regulator-compatible = "buck_vsramca7";
-				regulator-name = "vsramca7";
-				regulator-min-microvolt = < 850000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <115>;
-
-			};
-
-			mt6397_vcore_reg: buck_vcore {
-				regulator-compatible = "buck_vcore";
-				regulator-name = "vcore";
-				regulator-min-microvolt = < 850000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <115>;
-			};
-
-			mt6397_vgpu_reg: buck_vgpu {
-				regulator-compatible = "buck_vgpu";
-				regulator-name = "vgpu";
-				regulator-min-microvolt = < 700000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <115>;
-			};
-
-			mt6397_vdrm_reg: buck_vdrm {
-				regulator-compatible = "buck_vdrm";
-				regulator-name = "vdrm";
-				regulator-min-microvolt = < 800000>;
-				regulator-max-microvolt = <1400000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <500>;
-			};
-
-			mt6397_vio18_reg: buck_vio18 {
-				regulator-compatible = "buck_vio18";
-				regulator-name = "vio18";
-				regulator-min-microvolt = <1500000>;
-				regulator-max-microvolt = <2120000>;
-				regulator-ramp-delay = <12500>;
-				regulator-enable-ramp-delay = <500>;
-			};
-
-			mt6397_vtcxo_reg: ldo_vtcxo {
-				regulator-compatible = "ldo_vtcxo";
-				regulator-name = "vtcxo";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-				regulator-enable-ramp-delay = <90>;
-			};
-
-			mt6397_va28_reg: ldo_va28 {
-				regulator-compatible = "ldo_va28";
-				regulator-name = "va28";
-				/* fixed output 2.8 V */
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vcama_reg: ldo_vcama {
-				regulator-compatible = "ldo_vcama";
-				regulator-name = "vcama";
-				regulator-min-microvolt = <1500000>;
-				regulator-max-microvolt = <2800000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vio28_reg: ldo_vio28 {
-				regulator-compatible = "ldo_vio28";
-				regulator-name = "vio28";
-				/* fixed output 2.8 V */
-				regulator-enable-ramp-delay = <240>;
-			};
-
-			mt6397_usb_reg: ldo_vusb {
-				regulator-compatible = "ldo_vusb";
-				regulator-name = "vusb";
-				/* fixed output 3.3 V */
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vmc_reg: ldo_vmc {
-				regulator-compatible = "ldo_vmc";
-				regulator-name = "vmc";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vmch_reg: ldo_vmch {
-				regulator-compatible = "ldo_vmch";
-				regulator-name = "vmch";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vemc_3v3_reg: ldo_vemc3v3 {
-				regulator-compatible = "ldo_vemc3v3";
-				regulator-name = "vemc_3v3";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vgp1_reg: ldo_vgp1 {
-				regulator-compatible = "ldo_vgp1";
-				regulator-name = "vcamd";
-				regulator-min-microvolt = <1220000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <240>;
-			};
-
-			mt6397_vgp2_reg: ldo_vgp2 {
-				egulator-compatible = "ldo_vgp2";
-				regulator-name = "vcamio";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vgp3_reg: ldo_vgp3 {
-				regulator-compatible = "ldo_vgp3";
-				regulator-name = "vcamaf";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vgp4_reg: ldo_vgp4 {
-				regulator-compatible = "ldo_vgp4";
-				regulator-name = "vgp4";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vgp5_reg: ldo_vgp5 {
-				regulator-compatible = "ldo_vgp5";
-				regulator-name = "vgp5";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vgp6_reg: ldo_vgp6 {
-				regulator-compatible = "ldo_vgp6";
-				regulator-name = "vgp6";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-
-			mt6397_vibr_reg: ldo_vibr {
-				regulator-compatible = "ldo_vibr";
-				regulator-name = "vibr";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-enable-ramp-delay = <218>;
-			};
-		};
-	};
