Message ID | 20210312154357.1561730-5-sebastian.reichel@collabora.com |
---|---|
State | Accepted |
Commit | 648d383253c7305f2f26967e95f6474449e13c97 |
Headers | show |
Series | Convert power-supply DT bindings to YAML | expand |
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
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
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 --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>; + }; + };
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