Hi Pavel, On Sun, Jul 15, 2018 at 6:57 PM Pavel Machek <pavel@xxxxxx> 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 (see commit > > 6eb0bfae6973eb6a ("regulator: bd9571mwv: Add support for backup mode")) > > 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 allows performing step 1 when the user writes > > "on" to the PMIC's "backup_mode" virtual file in sysfs, e.g. > > > > echo on > /sys/bus/i2c/drivers/bd9571mwv/*/bd9571mwv-regulator*/backup_mode > > Do you expect more boards to have similar design? > > If so, we may want to have standard place in /sys/ not depending on > i2c paths and driver names, but I believe such design is so... awkward > that it is not going to appear anywhere else...? I have no idea. The BD9571MWV PMIC supports two power switch wirings. Only one of them is problematic for usability reasons. The newer Renesas ULCB boards use the good wiring. 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