On 30/04/2020 09:07:01-0500, Rob Herring wrote: > On Fri, Apr 17, 2020 at 07:08:23PM +0200, Thierry Reding wrote: > > From: Thierry Reding <treding@xxxxxxxxxx> > > > > The RTC present on MAX77620 can be used to generate an alarm at a given > > time, which in turn can be used as a wakeup source for the system if it > > is properly wired up. > > > > Document how to enable the RTC to act as a wakeup source. > > > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > > --- > > .../devicetree/bindings/mfd/max77620.txt | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documentation/devicetree/bindings/mfd/max77620.txt > > index 5a642a51d58e..f05005b0993e 100644 > > --- a/Documentation/devicetree/bindings/mfd/max77620.txt > > +++ b/Documentation/devicetree/bindings/mfd/max77620.txt > > @@ -125,6 +125,17 @@ MAX77663 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. > > control) then, GPIO1/nRST_IO goes LOW. > > this property is valid for max20024 only. > > > > +Realtime Clock > > +-------------- > > +The MAX77620 family of power management ICs contain a realtime clock block > > +that can be used to keep track of time even when the system is powered off. > > + > > +The realtime clock can also be programmed to trigger alerts, which can be > > +used to wake the system up from sleep. In order to configure the RTC to act > > +as a wakeup source, add an "rtc" child node and add the "wakeup-source" > > +property. > > + > > + > > For DT binding details of different sub modules like GPIO, pincontrol, > > regulator, power, please refer respective device-tree binding document > > under their respective sub-system directories. > > @@ -159,4 +170,8 @@ max77620@3c { > > maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_SW>; > > }; > > }; > > + > > + rtc { > > + wakeup-source; > > Is the RTC really the only thing that could wake the system in this > PMIC? > > I don't think it's really valid to have 'wakeup-source' without > 'interrupts' unless the wakeup mechanism is somehow not an interrupt. So > I think this belongs in the parent node. > I don't think this is true because in the case of a discrete RTC, its interrupt pin can be connected directly to a PMIC to power up a board instead of being connected to the SoC. In that case we don't have an interrupt property but the RTC is still a wakeup source. This is the usual use case for wakeup-source in the RTC subsystem. Else, if there is an interrupt, then we assume the RTC is a wakeup source and there is no need to have the wakeup-source property. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com