Re: [PATCH 1/2] dt-bindings: rtc: add properties to set battery-related functions

From: Hugo Villeneuve
Date: Tue Sep 19 2023 - 11:33:06 EST


On Tue, 5 Sep 2023 11:30:58 -0400
Hugo Villeneuve <hugo@xxxxxxxxxxx> wrote:

> On Tue, 8 Aug 2023 08:44:26 -0400
> Hugo Villeneuve <hugo@xxxxxxxxxxx> wrote:
>
> > On Tue, 8 Aug 2023 14:32:26 +0200
> > Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote:
> >
> > > On 08/08/2023 08:25:33-0400, Hugo Villeneuve wrote:
> > > > On Tue, 8 Aug 2023 12:21:24 +0100
> > > > Conor Dooley <conor@xxxxxxxxxx> wrote:
> > > >
> > > > > Hey Hugo,
> > > > >
> > > > > On Wed, Aug 02, 2023 at 03:11:52PM -0400, Hugo Villeneuve wrote:
> > > > > > From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> > > > > >
> > > > > > These properties can be defined in the board's device tree to set the
> > > > > > default power-on values for battery-related functions.
> > > > > >
> > > > > > Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> > > > > > ---
> > > > > > .../devicetree/bindings/rtc/rtc.yaml | 19 +++++++++++++++++++
> > > > > > 1 file changed, 19 insertions(+)
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/rtc/rtc.yaml b/Documentation/devicetree/bindings/rtc/rtc.yaml
> > > > > > index efb66df82782..0217d229e3fa 100644
> > > > > > --- a/Documentation/devicetree/bindings/rtc/rtc.yaml
> > > > > > +++ b/Documentation/devicetree/bindings/rtc/rtc.yaml
> > > > > > @@ -26,6 +26,25 @@ properties:
> > > > > > 0: not chargeable
> > > > > > 1: chargeable
> > > > > >
> > > > > > + battery-low-detect:
> > > > > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > > > > + enum: [0, 1]
> > > > > > + description: |
> > > > > > + For RTC devices supporting a backup battery/supercap, this flag can be
> > > > > > + used to configure the battery low detection reporting function:
> > > > > > + 0: disabled
> > > > > > + 1: enabled
> > > > > > +
> > > > > > + battery-switch-over:
> > > > > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > > > > + enum: [0, 1]
> > > > > > + description: |
> > > > > > + For RTC devices supporting a backup battery/supercap, this flag can be
> > > > > > + used to configure the battery switch over when the main voltage source is
> > > > > > + turned off:
> > > > > > + 0: disabled
> > > > > > + 1: enabled
> > > > >
> > > > > Why are these implemented as enums? This seems to fall into the category
> > > > > of using DT to determine software policy - why's it not sufficient to
> > > > > have boolean properties that indicate hardware support and let the software
> > > > > decide what to do with them?
> > > >
> > > > Hi Conor,
> > > > the reason is that I based the new properties on the existing property
> > > > "aux-voltage-chargeable":
> > > >
> > > > -------------------
> > > > aux-voltage-chargeable:
> > > > $ref: /schemas/types.yaml#/definitions/uint32
> > > > enum: [0, 1]
> > > > description: |
> > > > Tells whether the battery/supercap of the RTC (if any) is
> > > > chargeable or not:
> > > > 0: not chargeable
> > > > 1: chargeable
> > > > -------------------
> > > >
> > > > I agree with you that a boolean would be more appropriate. Should I
> > > > also submit a (separate) patch to fix the "aux-voltage-chargeable"
> > > > property to a boolean?
> > > >
> > >
> > > No, this is an enum on purpose.
> > > I will not take battery switch over related properties, this is not
> > > hardware description but software configuration. There is an ioctl for
> > > this.
> >
> > Hi Alexandre,
> > can you suggest then how we can set default PWRMNG values for the
> > PCF2131 then?
> >
> > I looked at Documentation/ABI/testing/rtc-cdev but couldn't find an
> > ioctl to activate the battery switch over function, nor one to activate
> > the battery-low detection...
>
> Ping...

Second ping...

Hugo.


> > Thank you,
> > Hugo.
> >
> >
> > >
> > > > Hugo.
> > > >
> > > >
> > > > > Thanks,
> > > > > Conor.
> > > > >
> > > > > > +
> > > > > > quartz-load-femtofarads:
> > > > > > description:
> > > > > > The capacitive load of the quartz(x-tal), expressed in femto
> > > > > > --
> > > > > > 2.30.2
> > > > > >
> > >
> > > --
> > > Alexandre Belloni, co-owner and COO, Bootlin
> > > Embedded Linux and Kernel engineering
> > > https://bootlin.com
>