dt-bindings: mfd: Convert lp873x.txt to json-schema
authorNathan Morrisson <nmorrisson@phytec.com>
Mon, 29 Apr 2024 19:58:29 +0000 (12:58 -0700)
committerLee Jones <lee@kernel.org>
Fri, 10 May 2024 14:39:18 +0000 (15:39 +0100)
Convert the lp873x binding to DT schema format. The gpio-controller
and #gpio-cells properties were removed from required because using
the device as a GPIO controller is optional.

Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240429195830.4027250-1-nmorrisson@phytec.com
Signed-off-by: Lee Jones <lee@kernel.org>
Documentation/devicetree/bindings/mfd/lp873x.txt [deleted file]
Documentation/devicetree/bindings/mfd/ti,lp8732.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/mfd/lp873x.txt b/Documentation/devicetree/bindings/mfd/lp873x.txt
deleted file mode 100644 (file)
index ae9cf39..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-TI LP873X PMIC MFD driver
-
-Required properties:
-  - compatible:        "ti,lp8732", "ti,lp8733"
-  - reg:               I2C slave address.
-  - gpio-controller:   Marks the device node as a GPIO Controller.
-  - #gpio-cells:       Should be two.  The first cell is the pin number and
-                       the second cell is used to specify flags.
-                       See ../gpio/gpio.txt for more information.
-  - xxx-in-supply:     Phandle to parent supply node of each regulator
-                       populated under regulators node. xxx can be
-                       buck0, buck1, ldo0 or ldo1.
-  - regulators:        List of child nodes that specify the regulator
-                       initialization data.
-Example:
-
-pmic: lp8733@60 {
-       compatible = "ti,lp8733";
-       reg = <0x60>;
-       gpio-controller;
-       #gpio-cells = <2>;
-
-       buck0-in-supply = <&vsys_3v3>;
-       buck1-in-supply = <&vsys_3v3>;
-       ldo0-in-supply = <&vsys_3v3>;
-       ldo1-in-supply = <&vsys_3v3>;
-
-       regulators {
-               lp8733_buck0: buck0 {
-                       regulator-name = "lp8733-buck0";
-                       regulator-min-microvolt = <800000>;
-                       regulator-max-microvolt = <1400000>;
-                       regulator-min-microamp = <1500000>;
-                       regulator-max-microamp = <4000000>;
-                       regulator-ramp-delay = <10000>;
-                       regulator-always-on;
-                       regulator-boot-on;
-               };
-
-               lp8733_buck1: buck1 {
-                       regulator-name = "lp8733-buck1";
-                       regulator-min-microvolt = <800000>;
-                       regulator-max-microvolt = <1400000>;
-                       regulator-min-microamp = <1500000>;
-                       regulator-max-microamp = <4000000>;
-                       regulator-ramp-delay = <10000>;
-                       regulator-boot-on;
-                       regulator-always-on;
-               };
-
-               lp8733_ldo0: ldo0 {
-                       regulator-name = "lp8733-ldo0";
-                       regulator-min-microvolt = <800000>;
-                       regulator-max-microvolt = <3000000>;
-                       regulator-boot-on;
-                       regulator-always-on;
-               };
-
-               lp8733_ldo1: ldo1 {
-                       regulator-name = "lp8733-ldo1";
-                       regulator-min-microvolt = <800000>;
-                       regulator-max-microvolt = <3000000>;
-                       regulator-always-on;
-                       regulator-boot-on;
-               };
-       };
-};
diff --git a/Documentation/devicetree/bindings/mfd/ti,lp8732.yaml b/Documentation/devicetree/bindings/mfd/ti,lp8732.yaml
new file mode 100644 (file)
index 0000000..9a90cee
--- /dev/null
@@ -0,0 +1,112 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,lp8732.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI LP873X Power Management Integrated Circuit
+
+maintainers:
+  - J Keerthy <j-keerthy@ti.com>
+
+description:
+  PMIC with two high-current buck converters and two linear regulators.
+
+properties:
+  compatible:
+    enum:
+      - ti,lp8732
+      - ti,lp8733
+
+  reg:
+    maxItems: 1
+
+  gpio-controller: true
+
+  '#gpio-cells':
+    const: 2
+
+  regulators:
+    description:
+      List of child nodes that specify the regulator initialization data.
+    type: object
+    patternProperties:
+      "^buck[01]|ldo[01]$":
+        type: object
+        $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
+    additionalProperties: false
+
+patternProperties:
+  '^(buck[01]|ldo[01])-in-supply$':
+    description: Phandle to parent supply of each regulator populated under regulators node.
+
+required:
+  - compatible
+  - reg
+  - regulators
+  - buck0-in-supply
+  - buck1-in-supply
+  - ldo0-in-supply
+  - ldo1-in-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic: pmic@60 {
+            compatible = "ti,lp8733";
+            reg = <0x60>;
+            gpio-controller;
+            #gpio-cells = <2>;
+
+            buck0-in-supply = <&vsys_3v3>;
+            buck1-in-supply = <&vsys_3v3>;
+            ldo0-in-supply = <&vsys_3v3>;
+            ldo1-in-supply = <&vsys_3v3>;
+
+            regulators {
+                buck0: buck0 {
+                    regulator-name = "buck0";
+                    regulator-min-microvolt = <800000>;
+                    regulator-max-microvolt = <1400000>;
+                    regulator-min-microamp = <1500000>;
+                    regulator-max-microamp = <4000000>;
+                    regulator-ramp-delay = <10000>;
+                    regulator-always-on;
+                    regulator-boot-on;
+                };
+
+                buck1: buck1 {
+                    regulator-name = "buck1";
+                    regulator-min-microvolt = <800000>;
+                    regulator-max-microvolt = <1400000>;
+                    regulator-min-microamp = <1500000>;
+                    regulator-max-microamp = <4000000>;
+                    regulator-ramp-delay = <10000>;
+                    regulator-boot-on;
+                    regulator-always-on;
+                };
+
+                ldo0: ldo0 {
+                    regulator-name = "ldo0";
+                    regulator-min-microvolt = <800000>;
+                    regulator-max-microvolt = <3000000>;
+                    regulator-boot-on;
+                    regulator-always-on;
+                };
+
+                ldo1: ldo1 {
+                    regulator-name = "ldo1";
+                    regulator-min-microvolt = <800000>;
+                    regulator-max-microvolt = <3000000>;
+                    regulator-always-on;
+                    regulator-boot-on;
+                };
+            };
+        };
+    };