diff mbox series

[30/38] dt-bindings: power: supply: lp8727: Convert to DT schema format

Message ID 20210312154357.1561730-31-sebastian.reichel@collabora.com (mailing list archive)
State Not Applicable, archived
Headers show
Series Convert power-supply DT bindings to YAML | expand

Commit Message

Sebastian Reichel March 12, 2021, 3:43 p.m. UTC
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 .../bindings/power/supply/lp8727_charger.txt  |  43 -------
 .../bindings/power/supply/ti,lp8727.yaml      | 112 ++++++++++++++++++
 2 files changed, 112 insertions(+), 43 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
 create mode 100644 Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml

Comments

Rob Herring March 15, 2021, 6:37 p.m. UTC | #1
On Fri, Mar 12, 2021 at 8:52 AM Sebastian Reichel
<sebastian.reichel@collabora.com> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  .../bindings/power/supply/lp8727_charger.txt  |  43 -------
>  .../bindings/power/supply/ti,lp8727.yaml      | 112 ++++++++++++++++++
>  2 files changed, 112 insertions(+), 43 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
>  create mode 100644 Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
>
> diff --git a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt b/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
> deleted file mode 100644
> index 0355a4b68f79..000000000000
> --- a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -Binding for TI/National Semiconductor LP8727 Charger
> -
> -Required properties:
> -- compatible: "ti,lp8727"
> -- reg: I2C slave address 27h
> -
> -Optional properties:
> -- interrupts: interrupt specifier (see interrupt binding[0])
> -- debounce-ms: interrupt debounce time. (u32)
> -
> -AC and USB charging parameters
> -- charger-type: "ac" or "usb" (string)
> -- eoc-level: value of 'enum lp8727_eoc_level' (u8)
> -- charging-current: value of 'enum lp8727_ichg' (u8)
> -
> -[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
> -
> -Example)
> -
> -lp8727@27 {
> -       compatible = "ti,lp8727";
> -       reg = <0x27>;
> -
> -       /* GPIO 134 is used for LP8728 interrupt pin */
> -       interrupt-parent = <&gpio5>;    /* base = 128 */
> -       interrupts = <6 0x2>;           /* offset = 6, falling edge type */
> -
> -       debounce-ms = <300>;
> -
> -       /* AC charger: 5% EOC and 500mA charging current */
> -       ac {
> -               charger-type = "ac";
> -               eoc-level = /bits/ 8 <0>;
> -               charging-current = /bits/ 8 <4>;
> -       };
> -
> -       /* USB charger: 10% EOC and 400mA charging current */
> -       usb {
> -               charger-type = "usb";
> -               eoc-level = /bits/ 8 <1>;
> -               charging-current = /bits/ 8 <2>;
> -       };
> -};
> diff --git a/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
> new file mode 100644
> index 000000000000..65894b36a69d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
> @@ -0,0 +1,112 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/ti,lp8727.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Binding for TI/National Semiconductor LP8727 Charger
> +
> +maintainers:
> +  - Sebastian Reichel <sre@kernel.org>
> +
> +allOf:
> +  - $ref: power-supply.yaml#
> +
> +properties:
> +  compatible:
> +    const: ti,lp8727
> +
> +  reg:
> +    const: 0x27
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  debounce-ms:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: interrupt debounce time in ms
> +
> +  ac:
> +    type: object
> +    description: AC charging parameters
> +    properties:
> +      charger-type:
> +        const: ac
> +
> +      eoc-level:
> +        $ref: /schemas/types.yaml#/definitions/uint8
> +        minimum: 0
> +        maximum: 6
> +        description: |
> +          End of Charge Percentage with the following mapping:
> +          0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
> +
> +      charging-current:
> +        $ref: /schemas/types.yaml#/definitions/uint8
> +        minimum: 0
> +        maximum: 9
> +        description: |
> +          Charging current with the following mapping:
> +          0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
> +          6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
> +
> +  usb:
> +    type: object
> +    description: USB charging parameters
> +    properties:
> +      charger-type:
> +        const: usb
> +
> +      eoc-level:
> +        $ref: /schemas/types.yaml#/definitions/uint8
> +        minimum: 0
> +        maximum: 6
> +        description: |
> +          End of Charge Percentage with the following mapping:
> +          0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
> +
> +      charging-current:
> +        $ref: /schemas/types.yaml#/definitions/uint8
> +        minimum: 0
> +        maximum: 9
> +        description: |
> +          Charging current with the following mapping:
> +          0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
> +          6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA

You can avoid the duplication here with:

patternProperties:
  '^(ac|usb)$':
     type: object
     ...

> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    i2c0 {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      lp8727: charger@27 {
> +        compatible = "ti,lp8727";
> +        reg = <0x27>;
> +        interrupt-parent = <&gpio5>;
> +        interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
> +        debounce-ms = <300>;
> +
> +        /* AC charger: 5% EOC and 500mA charging current */
> +        ac {
> +          charger-type = "ac";
> +          eoc-level = /bits/ 8 <0>;
> +          charging-current = /bits/ 8 <4>;
> +        };
> +
> +        /* USB charger: 10% EOC and 400mA charging current */
> +        usb {
> +          charger-type = "usb";
> +          eoc-level = /bits/ 8 <1>;
> +          charging-current = /bits/ 8 <2>;
> +        };
> +      };
> +    };
> +
> --
> 2.30.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt b/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
deleted file mode 100644
index 0355a4b68f79..000000000000
--- a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
+++ /dev/null
@@ -1,43 +0,0 @@ 
-Binding for TI/National Semiconductor LP8727 Charger
-
-Required properties:
-- compatible: "ti,lp8727"
-- reg: I2C slave address 27h
-
-Optional properties:
-- interrupts: interrupt specifier (see interrupt binding[0])
-- debounce-ms: interrupt debounce time. (u32)
-
-AC and USB charging parameters
-- charger-type: "ac" or "usb" (string)
-- eoc-level: value of 'enum lp8727_eoc_level' (u8)
-- charging-current: value of 'enum lp8727_ichg' (u8)
-
-[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
-
-Example)
-
-lp8727@27 {
-	compatible = "ti,lp8727";
-	reg = <0x27>;
-
-	/* GPIO 134 is used for LP8728 interrupt pin */
-	interrupt-parent = <&gpio5>; 	/* base = 128 */
-	interrupts = <6 0x2>;		/* offset = 6, falling edge type */
-
-	debounce-ms = <300>;
-
-	/* AC charger: 5% EOC and 500mA charging current */
-	ac {
-		charger-type = "ac";
-		eoc-level = /bits/ 8 <0>;
-		charging-current = /bits/ 8 <4>;
-	};
-
-	/* USB charger: 10% EOC and 400mA charging current */
-	usb {
-		charger-type = "usb";
-		eoc-level = /bits/ 8 <1>;
-		charging-current = /bits/ 8 <2>;
-	};
-};
diff --git a/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
new file mode 100644
index 000000000000..65894b36a69d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
@@ -0,0 +1,112 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/ti,lp8727.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Binding for TI/National Semiconductor LP8727 Charger
+
+maintainers:
+  - Sebastian Reichel <sre@kernel.org>
+
+allOf:
+  - $ref: power-supply.yaml#
+
+properties:
+  compatible:
+    const: ti,lp8727
+
+  reg:
+    const: 0x27
+
+  interrupts:
+    maxItems: 1
+
+  debounce-ms:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: interrupt debounce time in ms
+
+  ac:
+    type: object
+    description: AC charging parameters
+    properties:
+      charger-type:
+        const: ac
+
+      eoc-level:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        minimum: 0
+        maximum: 6
+        description: |
+          End of Charge Percentage with the following mapping:
+          0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
+
+      charging-current:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        minimum: 0
+        maximum: 9
+        description: |
+          Charging current with the following mapping:
+          0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
+          6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
+
+  usb:
+    type: object
+    description: USB charging parameters
+    properties:
+      charger-type:
+        const: usb
+
+      eoc-level:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        minimum: 0
+        maximum: 6
+        description: |
+          End of Charge Percentage with the following mapping:
+          0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
+
+      charging-current:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        minimum: 0
+        maximum: 9
+        description: |
+          Charging current with the following mapping:
+          0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
+          6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c0 {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      lp8727: charger@27 {
+        compatible = "ti,lp8727";
+        reg = <0x27>;
+        interrupt-parent = <&gpio5>;
+        interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+        debounce-ms = <300>;
+
+        /* AC charger: 5% EOC and 500mA charging current */
+        ac {
+          charger-type = "ac";
+          eoc-level = /bits/ 8 <0>;
+          charging-current = /bits/ 8 <4>;
+        };
+
+        /* USB charger: 10% EOC and 400mA charging current */
+        usb {
+          charger-type = "usb";
+          eoc-level = /bits/ 8 <1>;
+          charging-current = /bits/ 8 <2>;
+        };
+      };
+    };
+