Hi Fabrizio, On Wed, Dec 21, 2022 at 10:09 PM Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx> wrote: > The External Power Sequence Controller (PWC) IP (found in the > RZ/V2M SoC) is a controller for external power supplies (regulators > and power switches), and it supports the following features: it > generates a power on/off sequence for external power supplies, > it generates an on/off sequence for the LPDDR4 core power supply > (LPVDD), it comes with General-Purpose Outputs, and it processes > key input signals. Thanks for your patch! > The PWC is basically a Multi-Function Device (MFD), its software > support comes with a core driver, and specialized drivers for > its specific features. I have to admit I'm not such a big fan of MFD. In this driver, you are not even sharing resources in the MFD cells, just the mapped register base. So I think you can easily save +100 LoC and reduce maintenance synchronization overhead across subsystems by just having a single non-MFD driver instead. Did you pick MFD because the PWC poweroff feature depends on board wiring, and thus is optional? Are there any other MFD cells planned (e.g. regulators) to be added later? The public datasheet does not list the actual registers of the block, only a high-level overview with (rather detailed) behavioral information. Thanks! > --- /dev/null > +++ b/drivers/mfd/rzv2m-pwc.h > +struct rzv2m_pwc_priv { > + void __iomem *base; > +}; > + > +#endif /* __LINUX_RZV2M_PWC_H__ */ 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