RE: [PATCH v2 2/4] mfd: Add RZ/V2M PWC core driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert,

Thanks for your feedback!

> -----Original Message-----
> From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Sent: 03 January 2023 08:37
> To: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>; Bartosz Golaszewski
> <brgl@xxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>; Sebastian Reichel <sre@xxxxxxxxxx>;
> Geert Uytterhoeven <geert+renesas@xxxxxxxxx>; Lee Jones <lee@xxxxxxxxxx>;
> linux-gpio@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; Chris Paterson
> <Chris.Paterson2@xxxxxxxxxxx>; Biju Das <biju.das@xxxxxxxxxxxxxx>; linux-
> renesas-soc@xxxxxxxxxxxxxxx; Laurent Pinchart
> <laurent.pinchart@xxxxxxxxxxxxxxxx>; Jacopo Mondi <jacopo@xxxxxxxxxx>
> Subject: Re: [PATCH v2 2/4] mfd: Add RZ/V2M PWC core driver
> 
> 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?

I am not a big fan of MFD, either.
I picked MFD because we were not 100% sure of what the IP could do
when we started working on it.
I have received more information regarding the IP now (which I don't
have the liberty to discuss), I am still not 100% sure that's all
of it, but basically its support may require expansion later on.

I liked the solution based on syscon and simple-mfd for several reasons,
but having dropped syscon and simple-mfd due to issues with the dt-bindings
I have moved on with a core driver to instantiate the required SW support.
We could of course move to a unified driver if that makes more sense?
If we were to move to unified driver, under which directory would you
suggest we put it?

> 
> 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.

No MFD cells are planned for now, but I can't exclude we won't
have any in the future.

Thanks,
Fab

> 
> 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@linux-
> m68k.org
> 
> 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




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux