diff mbox series

[04/38] dt-bindings: power: supply: bq25890: Convert to DT schema format

Message ID 20210312154357.1561730-5-sebastian.reichel@collabora.com
State Accepted
Commit 648d383253c7305f2f26967e95f6474449e13c97
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/bq25890.txt         |  60 ---------
 .../bindings/power/supply/bq25890.yaml        | 125 ++++++++++++++++++
 2 files changed, 125 insertions(+), 60 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.txt
 create mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.yaml

Comments

Rob Herring March 15, 2021, 6:21 p.m. UTC | #1
On Fri, Mar 12, 2021 at 8:44 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/bq25890.txt         |  60 ---------

>  .../bindings/power/supply/bq25890.yaml        | 125 ++++++++++++++++++

>  2 files changed, 125 insertions(+), 60 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.txt

>  create mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.yaml

>

> diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.txt b/Documentation/devicetree/bindings/power/supply/bq25890.txt

> deleted file mode 100644

> index 805040c6fff9..000000000000

> --- a/Documentation/devicetree/bindings/power/supply/bq25890.txt

> +++ /dev/null

> @@ -1,60 +0,0 @@

> -Binding for TI bq25890 Li-Ion Charger

> -

> -This driver will support the bq25892, the bq25896 and the bq25890. There are

> -other ICs in the same family but those have not been tested.

> -

> -Required properties:

> -- compatible: Should contain one of the following:

> -    * "ti,bq25890"

> -    * "ti,bq25892"

> -    * "ti,bq25895"

> -    * "ti,bq25896"

> -- reg: integer, i2c address of the device.

> -- interrupts: interrupt line;

> -- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);

> -- ti,charge-current: integer, maximum charging current (in uA);

> -- ti,termination-current: integer, charge will be terminated when current in

> -    constant-voltage phase drops below this value (in uA);

> -- ti,precharge-current: integer, maximum charge current during precharge

> -    phase (in uA);

> -- ti,minimum-sys-voltage: integer, when battery is charging and it is below

> -    minimum system voltage, the system will be regulated above

> -    minimum-sys-voltage setting (in uV);

> -- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);

> -- ti,boost-max-current: integer, maximum allowed current draw in boost mode

> -    (in uA).

> -

> -Optional properties:

> -- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,

> -    otherwise 1.5MHz;

> -- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the

> -    input current will be the lower between the resistor setting and the IINLIM

> -    register setting;

> -- ti,thermal-regulation-threshold: integer, temperature above which the charge

> -    current is lowered, to avoid overheating (in degrees Celsius). If omitted,

> -    the default setting will be used (120 degrees);

> -- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with

> -    the battery;

> -- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due

> -    to expected voltage drop on in-series resistor;

> -

> -Example:

> -

> -bq25890 {

> -       compatible = "ti,bq25890";

> -       reg = <0x6a>;

> -

> -       interrupt-parent = <&gpio1>;

> -       interrupts = <16 IRQ_TYPE_EDGE_FALLING>;

> -

> -       ti,battery-regulation-voltage = <4200000>;

> -       ti,charge-current = <1000000>;

> -       ti,termination-current = <50000>;

> -       ti,precharge-current = <128000>;

> -       ti,minimum-sys-voltage = <3600000>;

> -       ti,boost-voltage = <5000000>;

> -       ti,boost-max-current = <1000000>;

> -

> -       ti,use-ilim-pin;

> -       ti,thermal-regulation-threshold = <120>;

> -};

> diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.yaml b/Documentation/devicetree/bindings/power/supply/bq25890.yaml

> new file mode 100644

> index 000000000000..de6e03ec120c

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/power/supply/bq25890.yaml

> @@ -0,0 +1,125 @@

> +# SPDX-License-Identifier: GPL-2.0

> +# Copyright (C) 2021 Sebastian Reichel

> +%YAML 1.2

> +---

> +$id: "http://devicetree.org/schemas/power/supply/bq25890.yaml#"

> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"

> +

> +title: Binding for bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger

> +

> +maintainers:

> +  - Sebastian Reichel <sre@kernel.org>

> +

> +allOf:

> +  - $ref: power-supply.yaml#

> +

> +properties:

> +  compatible:

> +    enum:

> +      - ti,bq25890

> +      - ti,bq25892

> +      - ti,bq25895

> +      - ti,bq25896

> +

> +  reg:

> +    maxItems: 1

> +

> +  interrupts:

> +    maxItems: 1

> +

> +  ti,battery-regulation-voltage:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: maximum charging voltage (in uV)

> +

> +  ti,charge-current:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: maximum charging current (in uA)

> +

> +  ti,termination-current:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: |

> +      charge will be terminated when current in constant-voltage phase

> +      drops below this value (in uA)

> +

> +  ti,precharge-current:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: maximum charge current during precharge phase (in uA)

> +

> +  ti,minimum-sys-voltage:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: |

> +      when battery is charging and it is below minimum system voltage,

> +      the system will be regulated above minimum-sys-voltage setting (in uV)

> +

> +  ti,boost-voltage:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: VBUS voltage level in boost mode (in uV)

> +

> +  ti,boost-max-current:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: maximum allowed current draw in boost mode (in uA)

> +

> +  ti,boost-low-freq:

> +    description: boost mode frequency will be 500kHz, otherwise 1.5MHz

> +    type: boolean

> +

> +  ti,use-ilim-pin:

> +    description: |

> +      ILIM resistor will be used and the input current will be the lower

> +      between the resistor setting and the IINLIM register setting

> +    type: boolean

> +

> +  ti,thermal-regulation-threshold:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: |

> +      temperature above which the charge current is lowered, to avoid overheating

> +      (in degrees Celsius). If omitted, the default setting will be used (120 degrees)

> +

> +  ti,ibatcomp-micro-ohms:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: value of a resistor in series with the battery (in Micro Ohms)

> +

> +  ti,ibatcomp-clamp-microvolt:

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    description: max. charging voltage adjustment due to expected voltage drop on in-series resistor


You don't need a type $ref on properties with a standard unit suffix.
Though it looks like there's some non-standard ones (-microvolts) in
the series.

Rob
Sebastian Reichel March 16, 2021, 4:46 p.m. UTC | #2
Hi,

On Mon, Mar 15, 2021 at 12:21:34PM -0600, Rob Herring wrote:
> On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel

> <sebastian.reichel@collabora.com> wrote:

> > +  ti,ibatcomp-clamp-microvolt:

> > +    $ref: /schemas/types.yaml#/definitions/uint32

> > +    description: max. charging voltage adjustment due to expected voltage drop on in-series resistor

> 

> You don't need a type $ref on properties with a standard unit suffix.

> Though it looks like there's some non-standard ones (-microvolts) in

> the series.


Ok. Unfortunately most properties in this series use non-standard
ones :(. Newer bindings using common properties have already been
written in YAML and/or make use of simple-battery.

Can we have a warning for this in the dt_binding_check? Maybe
something like

superfluous $ref for property with standard suffix

-- Sebastian
Rob Herring March 16, 2021, 5:50 p.m. UTC | #3
On Tue, Mar 16, 2021 at 10:46 AM Sebastian Reichel
<sebastian.reichel@collabora.com> wrote:
>
> Hi,
>
> On Mon, Mar 15, 2021 at 12:21:34PM -0600, Rob Herring wrote:
> > On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> > <sebastian.reichel@collabora.com> wrote:
> > > +  ti,ibatcomp-clamp-microvolt:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
> >
> > You don't need a type $ref on properties with a standard unit suffix.
> > Though it looks like there's some non-standard ones (-microvolts) in
> > the series.
>
> Ok. Unfortunately most properties in this series use non-standard
> ones :(. Newer bindings using common properties have already been
> written in YAML and/or make use of simple-battery.
>
> Can we have a warning for this in the dt_binding_check? Maybe
> something like

Yeah, I'm working on that.

> superfluous $ref for property with standard suffix

And having more helpful error messages is on my todo, but not much BW
to work on ATM.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.txt b/Documentation/devicetree/bindings/power/supply/bq25890.txt
deleted file mode 100644
index 805040c6fff9..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq25890.txt
+++ /dev/null
@@ -1,60 +0,0 @@ 
-Binding for TI bq25890 Li-Ion Charger
-
-This driver will support the bq25892, the bq25896 and the bq25890. There are
-other ICs in the same family but those have not been tested.
-
-Required properties:
-- compatible: Should contain one of the following:
-    * "ti,bq25890"
-    * "ti,bq25892"
-    * "ti,bq25895"
-    * "ti,bq25896"
-- reg: integer, i2c address of the device.
-- interrupts: interrupt line;
-- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);
-- ti,charge-current: integer, maximum charging current (in uA);
-- ti,termination-current: integer, charge will be terminated when current in
-    constant-voltage phase drops below this value (in uA);
-- ti,precharge-current: integer, maximum charge current during precharge
-    phase (in uA);
-- ti,minimum-sys-voltage: integer, when battery is charging and it is below
-    minimum system voltage, the system will be regulated above
-    minimum-sys-voltage setting (in uV);
-- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);
-- ti,boost-max-current: integer, maximum allowed current draw in boost mode
-    (in uA).
-
-Optional properties:
-- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,
-    otherwise 1.5MHz;
-- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the
-    input current will be the lower between the resistor setting and the IINLIM
-    register setting;
-- ti,thermal-regulation-threshold: integer, temperature above which the charge
-    current is lowered, to avoid overheating (in degrees Celsius). If omitted,
-    the default setting will be used (120 degrees);
-- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with
-    the battery;
-- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due
-    to expected voltage drop on in-series resistor;
-
-Example:
-
-bq25890 {
-	compatible = "ti,bq25890";
-	reg = <0x6a>;
-
-	interrupt-parent = <&gpio1>;
-	interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
-
-	ti,battery-regulation-voltage = <4200000>;
-	ti,charge-current = <1000000>;
-	ti,termination-current = <50000>;
-	ti,precharge-current = <128000>;
-	ti,minimum-sys-voltage = <3600000>;
-	ti,boost-voltage = <5000000>;
-	ti,boost-max-current = <1000000>;
-
-	ti,use-ilim-pin;
-	ti,thermal-regulation-threshold = <120>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.yaml b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
new file mode 100644
index 000000000000..de6e03ec120c
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
@@ -0,0 +1,125 @@ 
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq25890.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger
+
+maintainers:
+  - Sebastian Reichel <sre@kernel.org>
+
+allOf:
+  - $ref: power-supply.yaml#
+
+properties:
+  compatible:
+    enum:
+      - ti,bq25890
+      - ti,bq25892
+      - ti,bq25895
+      - ti,bq25896
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  ti,battery-regulation-voltage:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: maximum charging voltage (in uV)
+
+  ti,charge-current:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: maximum charging current (in uA)
+
+  ti,termination-current:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      charge will be terminated when current in constant-voltage phase
+      drops below this value (in uA)
+
+  ti,precharge-current:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: maximum charge current during precharge phase (in uA)
+
+  ti,minimum-sys-voltage:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      when battery is charging and it is below minimum system voltage,
+      the system will be regulated above minimum-sys-voltage setting (in uV)
+
+  ti,boost-voltage:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: VBUS voltage level in boost mode (in uV)
+
+  ti,boost-max-current:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: maximum allowed current draw in boost mode (in uA)
+
+  ti,boost-low-freq:
+    description: boost mode frequency will be 500kHz, otherwise 1.5MHz
+    type: boolean
+
+  ti,use-ilim-pin:
+    description: |
+      ILIM resistor will be used and the input current will be the lower
+      between the resistor setting and the IINLIM register setting
+    type: boolean
+
+  ti,thermal-regulation-threshold:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      temperature above which the charge current is lowered, to avoid overheating
+      (in degrees Celsius). If omitted, the default setting will be used (120 degrees)
+
+  ti,ibatcomp-micro-ohms:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: value of a resistor in series with the battery (in Micro Ohms)
+
+  ti,ibatcomp-clamp-microvolt:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - ti,battery-regulation-voltage
+  - ti,charge-current
+  - ti,termination-current
+  - ti,precharge-current
+  - ti,minimum-sys-voltage
+  - ti,boost-voltage
+  - ti,boost-max-current
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c0 {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      charger@6a {
+        compatible = "ti,bq25890";
+        reg = <0x6a>;
+
+        interrupt-parent = <&gpio1>;
+        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+
+        ti,battery-regulation-voltage = <4200000>;
+        ti,charge-current = <1000000>;
+        ti,termination-current = <50000>;
+        ti,precharge-current = <128000>;
+        ti,minimum-sys-voltage = <3600000>;
+        ti,boost-voltage = <5000000>;
+        ti,boost-max-current = <1000000>;
+
+        ti,use-ilim-pin;
+        ti,thermal-regulation-threshold = <120>;
+      };
+    };