diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
index c2357fecb56cc..4ced6e471d338 100644
--- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
@@ -50,7 +50,7 @@ allOf:
           properties:
             compatible:
               const: ti,twl4030-wdt
-
+        $ref: /schemas/regulator/ti,twl4030-regulator.yaml
   - if:
       properties:
         compatible:
@@ -63,6 +63,7 @@ allOf:
           properties:
             compatible:
               const: ti,twl6030-gpadc
+        $ref: /schemas/regulator/ti,twl6030-regulator.yaml
   - if:
       properties:
         compatible:
@@ -75,6 +76,7 @@ allOf:
           properties:
             compatible:
               const: ti,twl6032-gpadc
+        $ref: /schemas/regulator/ti,twl6032-regulator.yaml
 
 properties:
   compatible:
diff --git a/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml b/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml
new file mode 100644
index 0000000000000..9623c110605ef
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml
@@ -0,0 +1,402 @@
+# SPDX-License-Identifier: (GPL-2.0)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,twl4030-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Regulators in the TWL4030 PMIC
+
+maintainers:
+  - Andreas Kemnade <andreas@kemnade.info>
+
+properties:
+  regulator-vaux1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vaux1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vaux2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vaux2"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vaux3:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vaux3"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vaux4:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vaux4"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vmmc1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vmmc1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vmmc2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vmmc2"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vpll1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vpll1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vpll2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vpll2"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vsim:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vsim"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vdac:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vdac"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vintana2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vintana2"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vio:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vio"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vdd1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vdd1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vdd2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vdd2"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vintana1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vintana1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vintdig:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vintdig"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vusb1v5:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vusb1v5"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vusb1v8:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vusb1v8"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+  regulator-vusb3v1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl4030-vusb3v1"
+
+      regulator-initial-mode:
+        items:
+          - items:
+              enum:
+                - 0x08 # Sleep mode, the nominal output voltage is maintained
+                       # with low power consumption with low load current capability
+                - 0x0e # Active mode, the regulator can deliver its nominal output
+                       # voltage with full-load current capability
+
+    required:
+      - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    regulator-vaux1 {
+        compatible = "ti,twl4030-vaux1";
+        regulator-min-microvolt  = <1000000>;
+        regulator-max-microvolt  = <3000000>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/regulator/ti,twl6030-regulator.yaml b/Documentation/devicetree/bindings/regulator/ti,twl6030-regulator.yaml
new file mode 100644
index 0000000000000..bda4c83a789d9
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,twl6030-regulator.yaml
@@ -0,0 +1,292 @@
+# SPDX-License-Identifier: (GPL-2.0)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,twl6030-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Regulators in the TWL6030 PMIC
+
+maintainers:
+  - Andreas Kemnade <andreas@kemnade.info>
+
+properties:
+  regulator-vaux1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vaux1"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vaux2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vaux2"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vaux3:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vaux3"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vmmc:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vmmc"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vpp:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vpp"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vusim:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vusim"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vana:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vana"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vcxio:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vcxio"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vdac:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vdac"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vusb:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vusb"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-v1v8:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-v1v8"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-v2v1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-v2v1"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vdd1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vdd1"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vdd2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vdd2"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vdd3:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6030-vdd3"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    regulator-vaux1 {
+        compatible = "ti,twl6030-vaux1";
+        regulator-min-microvolt  = <1000000>;
+        regulator-max-microvolt  = <3000000>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/regulator/ti,twl6032-regulator.yaml b/Documentation/devicetree/bindings/regulator/ti,twl6032-regulator.yaml
new file mode 100644
index 0000000000000..2e9871e178151
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,twl6032-regulator.yaml
@@ -0,0 +1,238 @@
+# SPDX-License-Identifier: (GPL-2.0)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,twl6032-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Regulators in the TWL6032 PMIC
+
+maintainers:
+  - Andreas Kemnade <andreas@kemnade.info>
+
+properties:
+  regulator-ldo1:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo1"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo2:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo2"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo3:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo3"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo4:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo4"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo5:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo5"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo6:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo6"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldo7:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldo7"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldoln:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldoln"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-ldousb:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-ldousb"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-smps3:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-smps3"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-smps4:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-smps4"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+  regulator-vio:
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: "ti,twl6032-vio"
+      ti,retain-on-reset:
+        description:
+          Does not turn off the supplies during warm
+          reset. Could be needed for VMMC, as TWL6030
+          reset sequence for this signal does not comply
+          with the SD specification.
+        type: boolean
+
+    required:
+      - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    regulator-ldo1 {
+        compatible = "ti,twl6032-ldo1";
+        regulator-min-microvolt  = <1000000>;
+        regulator-max-microvolt  = <3000000>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/regulator/twl-regulator.txt b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
deleted file mode 100644
index 549f80436debc..0000000000000
--- a/Documentation/devicetree/bindings/regulator/twl-regulator.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-TWL family of regulators
-
-Required properties:
-For twl6030 regulators/LDOs
-- compatible:
-  - "ti,twl6030-vaux1" for VAUX1 LDO
-  - "ti,twl6030-vaux2" for VAUX2 LDO
-  - "ti,twl6030-vaux3" for VAUX3 LDO
-  - "ti,twl6030-vmmc" for VMMC LDO
-  - "ti,twl6030-vpp" for VPP LDO
-  - "ti,twl6030-vusim" for VUSIM LDO
-  - "ti,twl6030-vana" for VANA LDO
-  - "ti,twl6030-vcxio" for VCXIO LDO
-  - "ti,twl6030-vdac" for VDAC LDO
-  - "ti,twl6030-vusb" for VUSB LDO
-  - "ti,twl6030-v1v8" for V1V8 LDO
-  - "ti,twl6030-v2v1" for V2V1 LDO
-  - "ti,twl6030-vdd1" for VDD1 SMPS
-  - "ti,twl6030-vdd2" for VDD2 SMPS
-  - "ti,twl6030-vdd3" for VDD3 SMPS
-For twl6032 regulators/LDOs
-- compatible:
-  - "ti,twl6032-ldo1" for LDO1 LDO
-  - "ti,twl6032-ldo2" for LDO2 LDO
-  - "ti,twl6032-ldo3" for LDO3 LDO
-  - "ti,twl6032-ldo4" for LDO4 LDO
-  - "ti,twl6032-ldo5" for LDO5 LDO
-  - "ti,twl6032-ldo6" for LDO6 LDO
-  - "ti,twl6032-ldo7" for LDO7 LDO
-  - "ti,twl6032-ldoln" for LDOLN LDO
-  - "ti,twl6032-ldousb" for LDOUSB LDO
-  - "ti,twl6032-smps3" for SMPS3 SMPS
-  - "ti,twl6032-smps4" for SMPS4 SMPS
-  - "ti,twl6032-vio" for VIO SMPS
-For twl4030 regulators/LDOs
-- compatible:
-  - "ti,twl4030-vaux1" for VAUX1 LDO
-  - "ti,twl4030-vaux2" for VAUX2 LDO
-  - "ti,twl5030-vaux2" for VAUX2 LDO
-  - "ti,twl4030-vaux3" for VAUX3 LDO
-  - "ti,twl4030-vaux4" for VAUX4 LDO
-  - "ti,twl4030-vmmc1" for VMMC1 LDO
-  - "ti,twl4030-vmmc2" for VMMC2 LDO
-  - "ti,twl4030-vpll1" for VPLL1 LDO
-  - "ti,twl4030-vpll2" for VPLL2 LDO
-  - "ti,twl4030-vsim" for VSIM LDO
-  - "ti,twl4030-vdac" for VDAC LDO
-  - "ti,twl4030-vintana2" for VINTANA2 LDO
-  - "ti,twl4030-vio" for VIO LDO
-  - "ti,twl4030-vdd1" for VDD1 SMPS
-  - "ti,twl4030-vdd2" for VDD2 SMPS
-  - "ti,twl4030-vintana1" for VINTANA1 LDO
-  - "ti,twl4030-vintdig" for VINTDIG LDO
-  - "ti,twl4030-vusb1v5" for VUSB1V5 LDO
-  - "ti,twl4030-vusb1v8" for VUSB1V8 LDO
-  - "ti,twl4030-vusb3v1" for VUSB3V1 LDO
-
-Optional properties:
-- Any optional property defined in bindings/regulator/regulator.txt
-For twl4030 regulators/LDOs:
- - regulator-initial-mode:
-  - 0x08 - Sleep mode, the nominal output voltage is maintained with low power
-           consumption with low load current capability.
-  - 0x0e - Active mode, the regulator can deliver its nominal output voltage
-           with full-load current capability.
-
-Example:
-
-	xyz: regulator@0 {
-		compatible = "ti,twl6030-vaux1";
-		regulator-min-microvolt  = <1000000>;
-		regulator-max-microvolt  = <3000000>;
-	};
-
-For twl6030 regulators/LDOs:
-
- - ti,retain-on-reset: Does not turn off the supplies during warm
-                       reset. Could be needed for VMMC, as TWL6030
-                       reset sequence for this signal does not comply
-                       with the SD specification.
