Hi all, On Wed, Mar 14, 2018 at 12:26 PM, Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: > The ROHM BD9571MWV PMIC on the Renesas Salvator-X(S) and ULCB > development boards supports DDR Backup Power, which means that the DDR > power rails can be kept powered while the main SoC is powered down. > > This patch series extends the support for DDR backup mode[1] to systems > with toggle instead of momentary power switches. > > With a toggle power switch (or level signal), the following steps must > be followed exactly: > 1. Configure PMIC for backup mode, which changes the role of the > power switch to a wake-up switch, > 2. Switch accessory power switch off, to prepare for system suspend, > which is a manual step not controlled by software, > 3. Suspend system, > 4. Switch accessory power switch on, to resume. > > Unlike on systems with a momentary toggle switch, an additional step 2 > must be performed in between step 1 and step 3. Hence step 1 can no > longer be handled in the PMIC's suspend callback. > > This patch series proposes a new callback for wake-up change > notification, which allows performing step 1 when the user writes > "enabled" to the PMIC's "wakeup" virtual file in sysfs, e.g. > > echo enabled > /sys/devices/platform/soc/e60b0000.i2c/i2c-7/7-0030/bd9571mwv-regulator.2.auto/power/wakeup > > Conversely, writing "disabled" reverts the role of the accessory switch > to a power switch. > Note that unlike with momentary switches, backup mode is not enabled by > default, as enabling it prevents the board from being powered off using > the power switch, which may confuse the user. > > This has been tested on M3ULCB (thanks Jacopo!), and on Salvator-X(S). > > For testing, driver and DTS patches are available in the > topic/bd9571-ddr-backup-mode-driver-v2 and > topic/bd9571-ddr-backup-mode-dt-v2 branches of my renesas-drivers git > repository at > git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git. > > Thanks for your comments! > > [1] https://lkml.org/lkml/2018/3/14/302 > > Geert Uytterhoeven (2): > PM / wakeup: Add callback for wake-up change notification > regulator: bd9571mwv: Add support for toggle power switches > > drivers/base/power/wakeup.c | 4 ++++ > drivers/regulator/bd9571mwv-regulator.c | 24 ++++++++++++++++++++++++ > include/linux/pm.h | 1 + > 3 files changed, 29 insertions(+) Any comments/suggestions? In case you lost the patches from the thread: https://www.spinics.net/lists/linux-renesas-soc/msg24955.html Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds