[+CC Tony Lindgren] Rob & Sebastian & Tony & Andrew, With this binding we allow a DT to hard-code battery characteristics. But mainline dts files for boards & boxes really should NOT include immutable battery properties unless the battery is inseparable from the electronics. We want to prevent unpredictable behavior due to incorrect DT properties after a user changes a battery to a different type. It's OK for device vendors to hard-code battery characteristics in DT, but mainline dts is another matter. If this is agreed, how should we document it? On Mon, Mar 20, 2017 at 2:43 AM, Liam Breck <liam@xxxxxxxxxxxxxxxxx> wrote: > From: Liam Breck <kernel@xxxxxxxxxxxxxxxxx> > > Documentation of static battery characteristics that can be defined > for batteries which cannot self-identify. This information is required > by fuel-gauge and charger chips for proper handling of the battery. > > Cc: Rob Herring <robh@xxxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx > Signed-off-by: Matt Ranostay <matt@ranostay.consulting> > Signed-off-by: Liam Breck <kernel@xxxxxxxxxxxxxxxxx> > --- > .../devicetree/bindings/power/supply/battery.txt | 43 ++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/supply/battery.txt > > diff --git a/Documentation/devicetree/bindings/power/supply/battery.txt b/Documentation/devicetree/bindings/power/supply/battery.txt > new file mode 100644 > index 0000000..53a68c0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/supply/battery.txt > @@ -0,0 +1,43 @@ > +Battery Characteristics > + > +The devicetree battery node provides static battery characteristics. > +In smart batteries, these are typically stored in non-volatile memory > +on a fuel gauge chip. The battery node should be used where there is > +no appropriate non-volatile memory, or it is unprogrammed/incorrect. > + > +Required Properties: > + - compatible: Must be "simple-battery" > + > +Optional Properties: > + - voltage-min-design-microvolt: drained battery voltage > + - energy-full-design-microwatt-hours: battery design energy > + - charge-full-design-microamp-hours: battery design capacity > + > +Battery properties are named, where possible, for the corresponding > +elements in enum power_supply_property, defined in > +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/power_supply.h#n86 > + > +Batteries must be referenced by chargers and/or fuel-gauges > +using a phandle. The phandle's property should be named > +"monitored-battery". > + > +Example: > + > + bat: battery { > + compatible = "simple-battery"; > + voltage-min-design-microvolt = <3200000>; > + energy-full-design-microwatt-hours = <5290000>; > + charge-full-design-microamp-hours = <1430000>; > + }; > + > + charger: charger@11 { > + .... > + monitored-battery = <&bat>; > + ... > + }; > + > + fuel_gauge: fuel-gauge@22 { > + .... > + monitored-battery = <&bat>; > + ... > + }; > -- > 2.9.3 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html