[RFC,v2,1/5] dt-bindings: battry: add new battery parameters
diff mbox series

Message ID 205c01fe0555fe89226521a89a5b20933578780d.1581597365.git.matti.vaittinen@fi.rohmeurope.com
State Changes Requested
Headers show
Series
  • Support ROHM BD99954 charger IC
Related show

Checks

Context Check Description
robh/checkpatch success

Commit Message

Vaittinen, Matti Feb. 14, 2020, 7:30 a.m. UTC
Add:

 - tricklecharge-current-microamp:

Some chargers have 3 charging stages. First one when battery is almost
empty is often called as trickle-charge. Last state when battery has been
"woken up" is usually called as fast-charge. In addition to this some
chargers have a 'middle state' which ROHM BD99954 data-sheet describes as
pre-charge. Some batteries can benefit from this 3-phase charging
[citation needed].

Introduce tricklecharge-current-microamp so that batteries can give
charging current limit for all three states.

 - precharge-upper-limit-microvolt:

When battery voltage has reached certain limit we change from
trickle-charge to next charging state (pre-charge for BD99954). Allow
battery to specify this limit.

 - re-charge-voltage-microvolt:

Allow giving a battery specific voltage limit for chargers which can
automatically re-start charging when battery has discharghed down to
this limit.

- over-voltage-threshold-microvolt

Allow specifying voltage threshold after which the battery is assumed to
be faulty.

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
---
 Documentation/devicetree/bindings/power/supply/battery.txt | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Rob Herring Feb. 19, 2020, 7:57 p.m. UTC | #1
On Fri, Feb 14, 2020 at 09:30:05AM +0200, Matti Vaittinen wrote:
> Add:
> 
>  - tricklecharge-current-microamp:
> 
> Some chargers have 3 charging stages. First one when battery is almost
> empty is often called as trickle-charge. Last state when battery has been
> "woken up" is usually called as fast-charge. In addition to this some
> chargers have a 'middle state' which ROHM BD99954 data-sheet describes as
> pre-charge. Some batteries can benefit from this 3-phase charging
> [citation needed].

For car batteries at least, trickle charge is to keep battery full. But 
maybe in that context, it would be 'charge-term-current-microamp'.

I'm just concerned that we end up with multiple properties that mean the 
same thing. I think you're okay here.

> Introduce tricklecharge-current-microamp so that batteries can give
> charging current limit for all three states.
> 
>  - precharge-upper-limit-microvolt:
> 
> When battery voltage has reached certain limit we change from
> trickle-charge to next charging state (pre-charge for BD99954). Allow
> battery to specify this limit.
> 
>  - re-charge-voltage-microvolt:
> 
> Allow giving a battery specific voltage limit for chargers which can
> automatically re-start charging when battery has discharghed down to
> this limit.
> 
> - over-voltage-threshold-microvolt
> 
> Allow specifying voltage threshold after which the battery is assumed to
> be faulty.
> 
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> ---
>  Documentation/devicetree/bindings/power/supply/battery.txt | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/power/supply/battery.txt b/Documentation/devicetree/bindings/power/supply/battery.txt
> index 5c913d4cf36c..7da044273e08 100644
> --- a/Documentation/devicetree/bindings/power/supply/battery.txt
> +++ b/Documentation/devicetree/bindings/power/supply/battery.txt
> @@ -11,15 +11,21 @@ different type. This prevents unpredictable, potentially harmful,
>  behavior should a replacement that changes the battery type occur
>  without a corresponding update to the dtb.
>  
> +Please note that not all charger drivers respect all of the properties.
> +
>  Required Properties:
>   - compatible: Must be "simple-battery"
>  
>  Optional Properties:
> + - over-voltage-threshold-microvolt: battery over-voltage limit
> + - re-charge-voltage-microvolt: limit to automatically start charging again
>   - voltage-min-design-microvolt: drained battery voltage
>   - voltage-max-design-microvolt: fully charged battery voltage
>   - energy-full-design-microwatt-hours: battery design energy
>   - charge-full-design-microamp-hours: battery design capacity
> + - tricklecharge-current-microamp: current for trickle-charge phase

trickle-charge-...

>   - precharge-current-microamp: current for pre-charge phase
> + - precharge-upper-limit-microvolt: limit when to change to constant charging
>   - charge-term-current-microamp: current for charge termination phase
>   - constant-charge-current-max-microamp: maximum constant input current
>   - constant-charge-voltage-max-microvolt: maximum constant input voltage
> -- 
> 2.21.0
> 
> 
> -- 
> Matti Vaittinen, Linux device drivers
> ROHM Semiconductors, Finland SWDC
> Kiviharjunlenkki 1E
> 90220 OULU
> FINLAND
> 
> ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
> Simon says - in Latin please.
> ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> Thanks to Simon Glass for the translation =]
Vaittinen, Matti Feb. 20, 2020, 6:39 a.m. UTC | #2
Hello Rob,

On Wed, 2020-02-19 at 13:57 -0600, Rob Herring wrote:
> On Fri, Feb 14, 2020 at 09:30:05AM +0200, Matti Vaittinen wrote:
> > Add:
> > 
> >  - tricklecharge-current-microamp:
> > 
> > Some chargers have 3 charging stages. First one when battery is
> > almost
> > empty is often called as trickle-charge. Last state when battery
> > has been
> > "woken up" is usually called as fast-charge. In addition to this
> > some
> > chargers have a 'middle state' which ROHM BD99954 data-sheet
> > describes as
> > pre-charge. Some batteries can benefit from this 3-phase charging
> > [citation needed].
> 
> For car batteries at least, trickle charge is to keep battery full.
> But 
> maybe in that context, it would be 'charge-term-current-microamp'.
> 
> I'm just concerned that we end up with multiple properties that mean
> the 
> same thing. I think you're okay here.

While I was doing this I took a quick look in few other binding docs
under power/supply. Unfortunately my knowledge about batteries and
chargers is really limited - but I had a feeling that we already now
have bunch of vendor specific properties for same things. So I actually
hope that adding generic ones will decrease the birth rate of vendor
specific ones ;)

> > Introduce tricklecharge-current-microamp so that batteries can give
> > charging current limit for all three states.
> > 
> >  - precharge-upper-limit-microvolt:
> > 
> > When battery voltage has reached certain limit we change from
> > trickle-charge to next charging state (pre-charge for BD99954).
> > Allow
> > battery to specify this limit.
> > 
> >  - re-charge-voltage-microvolt:
> > 
> > Allow giving a battery specific voltage limit for chargers which
> > can
> > automatically re-start charging when battery has discharghed down
> > to
> > this limit.
> > 
> > - over-voltage-threshold-microvolt
> > 
> > Allow specifying voltage threshold after which the battery is
> > assumed to
> > be faulty.
> > 
> > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> > ---
> >  Documentation/devicetree/bindings/power/supply/battery.txt | 6
> > ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/power/supply/battery.txt
> > b/Documentation/devicetree/bindings/power/supply/battery.txt
> > index 5c913d4cf36c..7da044273e08 100644
> > --- a/Documentation/devicetree/bindings/power/supply/battery.txt
> > +++ b/Documentation/devicetree/bindings/power/supply/battery.txt
> > @@ -11,15 +11,21 @@ different type. This prevents unpredictable,
> > potentially harmful,
> >  behavior should a replacement that changes the battery type occur
> >  without a corresponding update to the dtb.
> >  
> > +Please note that not all charger drivers respect all of the
> > properties.
> > +
> >  Required Properties:
> >   - compatible: Must be "simple-battery"
> >  
> >  Optional Properties:
> > + - over-voltage-threshold-microvolt: battery over-voltage limit
> > + - re-charge-voltage-microvolt: limit to automatically start
> > charging again
> >   - voltage-min-design-microvolt: drained battery voltage
> >   - voltage-max-design-microvolt: fully charged battery voltage
> >   - energy-full-design-microwatt-hours: battery design energy
> >   - charge-full-design-microamp-hours: battery design capacity
> > + - tricklecharge-current-microamp: current for trickle-charge
> > phase
> 
> trickle-charge-...

Ok. I'll change this

> 
> >   - precharge-current-microamp: current for pre-charge phase
> > + - precharge-upper-limit-microvolt: limit when to change to
> > constant charging
> >   - charge-term-current-microamp: current for charge termination
> > phase
> >   - constant-charge-current-max-microamp: maximum constant input
> > current
> >   - constant-charge-voltage-max-microvolt: maximum constant input
> > voltage
> > -- 
> > 2.21.0
> > 
> > 
> > -- 
> > Matti Vaittinen, Linux device drivers
> > ROHM Semiconductors, Finland SWDC
> > Kiviharjunlenkki 1E
> > 90220 OULU
> > FINLAND
> > 
> > ~~~ "I don't think so," said Rene Descartes. Just then he vanished
> > ~~~
> > Simon says - in Latin please.
> > ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> > Thanks to Simon Glass for the translation =]

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/power/supply/battery.txt b/Documentation/devicetree/bindings/power/supply/battery.txt
index 5c913d4cf36c..7da044273e08 100644
--- a/Documentation/devicetree/bindings/power/supply/battery.txt
+++ b/Documentation/devicetree/bindings/power/supply/battery.txt
@@ -11,15 +11,21 @@  different type. This prevents unpredictable, potentially harmful,
 behavior should a replacement that changes the battery type occur
 without a corresponding update to the dtb.
 
+Please note that not all charger drivers respect all of the properties.
+
 Required Properties:
  - compatible: Must be "simple-battery"
 
 Optional Properties:
+ - over-voltage-threshold-microvolt: battery over-voltage limit
+ - re-charge-voltage-microvolt: limit to automatically start charging again
  - voltage-min-design-microvolt: drained battery voltage
  - voltage-max-design-microvolt: fully charged battery voltage
  - energy-full-design-microwatt-hours: battery design energy
  - charge-full-design-microamp-hours: battery design capacity
+ - tricklecharge-current-microamp: current for trickle-charge phase
  - precharge-current-microamp: current for pre-charge phase
+ - precharge-upper-limit-microvolt: limit when to change to constant charging
  - charge-term-current-microamp: current for charge termination phase
  - constant-charge-current-max-microamp: maximum constant input current
  - constant-charge-voltage-max-microvolt: maximum constant input voltage