Re: [PATCH v5 1/2] pwm: sifive: Add DT documentation for SiFive PWM Controller

From: Thierry Reding
Date: Wed Feb 06 2019 - 07:41:03 EST


On Wed, Feb 06, 2019 at 12:07:30PM +0100, Uwe Kleine-KÃnig wrote:
> On Wed, Feb 06, 2019 at 04:18:47PM +0530, Yash Shah wrote:
> > On Wed, Jan 30, 2019 at 1:44 PM Uwe Kleine-KÃnig
> > <u.kleine-koenig@xxxxxxxxxxxxxx> wrote:
> > >
> > > On Tue, Jan 29, 2019 at 05:13:18PM +0530, Yash Shah wrote:
> > > > DT documentation for PWM controller added.
> > > >
> > > > Signed-off-by: Wesley W. Terpstra <wesley@xxxxxxxxxx>
> > > > [Atish: Compatible string update]
> > > > Signed-off-by: Atish Patra <atish.patra@xxxxxxx>
> > > > Signed-off-by: Yash Shah <yash.shah@xxxxxxxxxx>
> > > > ---
> > > > .../devicetree/bindings/pwm/pwm-sifive.txt | 33 ++++++++++++++++++++++
> > > > 1 file changed, 33 insertions(+)
> > > > create mode 100644 Documentation/devicetree/bindings/pwm/pwm-sifive.txt
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/pwm/pwm-sifive.txt b/Documentation/devicetree/bindings/pwm/pwm-sifive.txt
> > > > new file mode 100644
> > > > index 0000000..8dcb40d
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/pwm/pwm-sifive.txt
> > > > @@ -0,0 +1,33 @@
> > > > +SiFive PWM controller
> > > > +
> > > > +Unlike most other PWM controllers, the SiFive PWM controller currently only
> > > > +supports one period for all channels in the PWM. This is set globally in DTS.
> > >
> > > You can simply drop this if the first user can set this using the usual
> > > interface. Don't you like this suggestion that I already made a few
> > > times now?
> > >
> > > Did you consider to make the driver support only a single output with a
> > > more flexible period setting?
> >
> > We cannot consider supporting only single output since we have boards that
> > use the additional PWM channels to control individual LED brightness
> > of a tri-color LED.
> > If we go down to one channel, then we can't control the brightness of
> > the individual LEDs.
> > It will break the use case.
>
> OK.
>
> > I am considering the below approach, let me know if it's fine by you.
> >
> > - Drop the global period property and allow the only first user to change period
> > using the usual interface.
> > - A note in the binding that all PWMs need to run at the same
> > period. If the driver already refuses to apply incompatible periods,
> > the users are going to notice that they've got the DT wrong.
> > - In driver code, count the users using the .request and .free callbacks.
> > Based on this, allow changes to period iff the user count is one.
>
> Not sure you need to point this limitation in the binding doc. Other
> than that this is fine.

I think it's useful to point this out in the binding documentation since
it's something that device tree writers will want to know.

Thierry

Attachment: signature.asc
Description: PGP signature