dt-bindings: rtc: let aux-voltage-chargeable supersede trickle-diode-disable
authorBastian Krause <bst@pengutronix.de>
Thu, 17 Sep 2020 18:32:39 +0000 (20:32 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 24 Sep 2020 07:56:03 +0000 (09:56 +0200)
commit965fe1ceea05de735f63d1c1f90f0310fc830a8d
tree92c748dd8eda99d758cf0e2ed23e8476039292df
parent35425bafc772ee189e3c3790d7c672b80ba65909
dt-bindings: rtc: let aux-voltage-chargeable supersede trickle-diode-disable

Some RTCs can be equipped with a chargeable battery or supercap.
Every RTC allowing this whose driver's implement it are charged by
default. To disable this the trickle-diode-disable flag exists.

If a driver did not support charging and some time later one wants to
add that feature, there is currently no way to do it without breaking
dt backwards compatibility. RTCs on boards without the
trickle-diode-disable flag in their device tree would suddenly charge
their battery/supercap which is a change in behavior.

Change that by introducing aux-voltage-chargeable, not as a flag but as
a uint32 enum allowing to set "do not charge" (0) or "charge" (1). This
dt property is optional, so we can now distinguish these cases.

Care must be taken to support the old behavior for device trees without
aux-voltage-chargeable nonetheless to stay compatible.

Signed-off-by: Bastian Krause <bst@pengutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200917183246.19446-2-bst@pengutronix.de
Documentation/devicetree/bindings/rtc/rtc.yaml