dt-bindings: mfd: maxim,max14577: Convert to dtschema
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Tue, 15 Feb 2022 07:47:59 +0000 (08:47 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 7 Mar 2022 12:55:50 +0000 (12:55 +0000)
Convert the MFD part of Maxim MAX14577/MAX77836 MUIC to DT schema
format.  The example DTS was copied from existing DTS
(exynos3250-rinato.dts), so keep the license as GPL-2.0-only.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220215074759.29402-4-krzysztof.kozlowski@canonical.com
Documentation/devicetree/bindings/mfd/max14577.txt [deleted file]
Documentation/devicetree/bindings/mfd/maxim,max14577.yaml [new file with mode: 0644]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/mfd/max14577.txt b/Documentation/devicetree/bindings/mfd/max14577.txt
deleted file mode 100644 (file)
index be11943..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-Maxim MAX14577/77836 Multi-Function Device
-
-MAX14577 is a Multi-Function Device with Micro-USB Interface Circuit, Li+
-Battery Charger and SFOUT LDO output for powering USB devices. It is
-interfaced to host controller using I2C.
-
-MAX77836 additionally contains PMIC (with two LDO regulators) and Fuel Gauge.
-For the description of Fuel Gauge low SOC alert interrupt see:
-../power/supply/max17040_battery.txt
-
-
-Required properties:
-- compatible : Must be "maxim,max14577" or "maxim,max77836".
-- reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)
-- interrupts : IRQ line for the chip.
-
-
-Required nodes:
- - charger :
-       Node for configuring the charger driver.
-       Required properties:
-               - compatible : "maxim,max14577-charger"
-                       or "maxim,max77836-charger"
-               - maxim,fast-charge-uamp : Current in uA for Fast Charge;
-                       Valid values:
-                       - for max14577: 90000 - 950000;
-                       - for max77836: 45000 - 475000;
-               - maxim,eoc-uamp : Current in uA for End-Of-Charge mode;
-                       Valid values:
-                       - for max14577: 50000 - 200000;
-                       - for max77836: 5000 - 100000;
-               - maxim,ovp-uvolt : OverVoltage Protection Threshold in uV;
-                       In an overvoltage condition, INT asserts and charging
-                       stops. Valid values:
-                       - 6000000, 6500000, 7000000, 7500000;
-               - maxim,constant-uvolt : Battery Constant Voltage in uV;
-                       Valid values:
-                       - 4000000 - 4280000 (step by 20000);
-                       - 4350000;
-
-
-Optional nodes:
-- max14577-muic/max77836-muic :
-       Node used only by extcon consumers.
-       Required properties:
-               - compatible : "maxim,max14577-muic" or "maxim,max77836-muic"
-
-- regulators :
-       Required properties:
-               - compatible : "maxim,max14577-regulator"
-                       or "maxim,max77836-regulator"
-
-       May contain a sub-node per regulator from the list below. Each
-       sub-node should contain the constraints and initialization information
-       for that regulator. See regulator.txt for a description of standard
-       properties for these sub-nodes.
-
-       List of valid regulator names:
-       - for max14577: CHARGER, SAFEOUT.
-       - for max77836: CHARGER, SAFEOUT, LDO1, LDO2.
-
-       The SAFEOUT is a fixed voltage regulator so there is no need to specify
-       voltages for it.
-
-
-Example:
-
-#include <dt-bindings/interrupt-controller/irq.h>
-
-max14577@25 {
-       compatible = "maxim,max14577";
-       reg = <0x25>;
-       interrupt-parent = <&gpx1>;
-       interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
-
-       muic: max14577-muic {
-               compatible = "maxim,max14577-muic";
-       };
-
-       regulators {
-               compatible = "maxim,max14577-regulator";
-
-               SAFEOUT {
-                       regulator-name = "SAFEOUT";
-               };
-               CHARGER {
-                       regulator-name = "CHARGER";
-                       regulator-min-microamp = <90000>;
-                       regulator-max-microamp = <950000>;
-                       regulator-boot-on;
-               };
-       };
-
-       charger {
-               compatible = "maxim,max14577-charger";
-
-               maxim,constant-uvolt = <4350000>;
-               maxim,fast-charge-uamp = <450000>;
-               maxim,eoc-uamp = <50000>;
-               maxim,ovp-uvolt = <6500000>;
-       };
-};
-
-
-max77836@25 {
-       compatible = "maxim,max77836";
-       reg = <0x25>;
-       interrupt-parent = <&gpx1>;
-       interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
-
-       muic: max77836-muic {
-               compatible = "maxim,max77836-muic";
-       };
-
-       regulators {
-               compatible = "maxim,max77836-regulator";
-
-               SAFEOUT {
-                       regulator-name = "SAFEOUT";
-               };
-               CHARGER {
-                       regulator-name = "CHARGER";
-                       regulator-min-microamp = <90000>;
-                       regulator-max-microamp = <950000>;
-                       regulator-boot-on;
-               };
-               LDO1 {
-                       regulator-name = "LDO1";
-                       regulator-min-microvolt = <2700000>;
-                       regulator-max-microvolt = <2700000>;
-               };
-               LDO2 {
-                       regulator-name = "LDO2";
-                       regulator-min-microvolt = <800000>;
-                       regulator-max-microvolt = <3950000>;
-               };
-       };
-
-       charger {
-               compatible = "maxim,max77836-charger";
-
-               maxim,constant-uvolt = <4350000>;
-               maxim,fast-charge-uamp = <225000>;
-               maxim,eoc-uamp = <7500>;
-               maxim,ovp-uvolt = <6500000>;
-       };
-};
diff --git a/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml b/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml
new file mode 100644 (file)
index 0000000..27870b8
--- /dev/null
@@ -0,0 +1,195 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/maxim,max14577.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim MAX14577/MAX77836 MicroUSB and Companion Power Management IC
+
+maintainers:
+  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
+
+description: |
+  This is a part of device tree bindings for Maxim MAX14577/MAX77836 MicroUSB
+  Integrated Circuit (MUIC).
+
+  The Maxim MAX14577 is a MicroUSB and Companion Power Management IC which
+  includes voltage safeout regulators, charger and MicroUSB management IC.
+
+  The Maxim MAX77836 is a MicroUSB and Companion Power Management IC which
+  includes voltage safeout and LDO regulators, charger, fuel-gauge and MicroUSB
+  management IC.
+
+properties:
+  compatible:
+    enum:
+      - maxim,max14577
+      - maxim,max77836
+
+  interrupts:
+    maxItems: 1
+
+  reg:
+    maxItems: 1
+
+  wakeup-source: true
+
+  charger:
+    $ref: /schemas/power/supply/maxim,max14577.yaml
+
+  extcon:
+    type: object
+    properties:
+      compatible:
+        enum:
+          - maxim,max14577-muic
+          - maxim,max77836-muic
+
+    required:
+      - compatible
+
+  regulators:
+    $ref: /schemas/regulator/maxim,max14577.yaml
+
+required:
+  - compatible
+  - interrupts
+  - reg
+  - charger
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: maxim,max14577
+    then:
+      properties:
+        charger:
+          properties:
+            compatible:
+              const: maxim,max14577-charger
+        extcon:
+          properties:
+            compatible:
+              const: maxim,max14577-muic
+        regulator:
+          properties:
+            compatible:
+              const: maxim,max14577-regulator
+    else:
+      properties:
+        charger:
+          properties:
+            compatible:
+              const: maxim,max77836-charger
+        extcon:
+          properties:
+            compatible:
+              const: maxim,max77836-muic
+        regulator:
+          properties:
+            compatible:
+              const: maxim,max77836-regulator
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic@25 {
+            compatible = "maxim,max14577";
+            reg = <0x25>;
+            interrupt-parent = <&gpx1>;
+            interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
+
+            extcon {
+                compatible = "maxim,max14577-muic";
+            };
+
+            regulators {
+                compatible = "maxim,max14577-regulator";
+
+                SAFEOUT {
+                    regulator-name = "SAFEOUT";
+                };
+
+                CHARGER {
+                    regulator-name = "CHARGER";
+                    regulator-min-microamp = <90000>;
+                    regulator-max-microamp = <950000>;
+                    regulator-boot-on;
+                };
+            };
+
+            charger {
+                compatible = "maxim,max14577-charger";
+
+                maxim,constant-uvolt = <4350000>;
+                maxim,fast-charge-uamp = <450000>;
+                maxim,eoc-uamp = <50000>;
+                maxim,ovp-uvolt = <6500000>;
+            };
+        };
+    };
+
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic@25 {
+            compatible = "maxim,max77836";
+            interrupt-parent = <&gpx1>;
+            interrupts = <5 IRQ_TYPE_NONE>;
+            reg = <0x25>;
+            wakeup-source;
+
+            extcon {
+                compatible = "maxim,max77836-muic";
+            };
+
+            regulators {
+                compatible = "maxim,max77836-regulator";
+
+                SAFEOUT {
+                    regulator-name = "SAFEOUT";
+                };
+
+                CHARGER {
+                    regulator-name = "CHARGER";
+                    regulator-min-microamp = <45000>;
+                    regulator-max-microamp = <475000>;
+                    regulator-boot-on;
+                };
+
+                LDO1 {
+                    regulator-name = "MOT_2.7V";
+                    regulator-min-microvolt = <1100000>;
+                    regulator-max-microvolt = <2700000>;
+                };
+
+                LDO2 {
+                    regulator-name = "UNUSED_LDO2";
+                    regulator-min-microvolt = <800000>;
+                    regulator-max-microvolt = <3950000>;
+                };
+            };
+
+            charger {
+                compatible = "maxim,max77836-charger";
+
+                maxim,constant-uvolt = <4350000>;
+                maxim,fast-charge-uamp = <225000>;
+                maxim,eoc-uamp = <7500>;
+                maxim,ovp-uvolt = <6500000>;
+            };
+        };
+    };
index 636bd6da988c97a67f3a6af2319c87244cf52f6a..31d1c0926697a7f5cc29a635d702983aa54828b7 100644 (file)
@@ -11720,10 +11720,10 @@ M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
 M:     Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
 L:     linux-kernel@vger.kernel.org
 S:     Supported
+F:     Documentation/devicetree/bindings/*/maxim,max14577.yaml
 F:     Documentation/devicetree/bindings/*/maxim,max77686.yaml
 F:     Documentation/devicetree/bindings/*/maxim,max77843.yaml
 F:     Documentation/devicetree/bindings/clock/maxim,max77686.txt
-F:     Documentation/devicetree/bindings/mfd/max14577.txt
 F:     Documentation/devicetree/bindings/mfd/max77693.txt
 F:     drivers/*/*max77843.c
 F:     drivers/*/max14577*.c