Re: [PATCH v9 07/11] dt-bindings: pwm: pwm-mediatek: add a property "num-pwms"

From: Thierry Reding
Date: Mon Sep 23 2019 - 11:21:03 EST


On Mon, Sep 23, 2019 at 11:11:55PM +0800, Sam Shih wrote:
> On Mon, 2019-09-23 at 15:36 +0200, Thierry Reding wrote:
> > On Mon, Sep 23, 2019 at 11:20:57AM +0800, Sam Shih wrote:
> > > On Sat, 2019-09-21 at 02:21 +0200, Thierry Reding wrote:
> > > > On Fri, Sep 20, 2019 at 06:49:07AM +0800, Sam Shih wrote:
> > > > > From: Ryder Lee <ryder.lee@xxxxxxxxxxxx>
> > > > >
> > > > > This adds a property "num-pwms" in example so that we could
> > > > > specify the number of PWM channels via device tree.
> > > > >
> > > > > Signed-off-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx>
> > > > > Signed-off-by: Sam Shih <sam.shih@xxxxxxxxxxxx>
> > > > > Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
> > > > > Acked-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
> > > > > ---
> > > > > Changes since v6:
> > > > > Follow reviewers's comments:
> > > > > - The subject should indicate this is for Mediatek
> > > > >
> > > > > Changes since v5:
> > > > > - Add an Acked-by tag
> > > > > - This file is original v4 patch 5/10
> > > > > (https://patchwork.kernel.org/patch/11102577/)
> > > > >
> > > > > ---
> > > > > Documentation/devicetree/bindings/pwm/pwm-mediatek.txt | 7 ++++---
> > > > > 1 file changed, 4 insertions(+), 3 deletions(-)
> > > >
> > > > You failed to address Rob's questions repeatedly and I agree with him
> > > > that you can just as easily derive the number of PWMs from the specific
> > > > compatible string. I won't be applying this and none of the patches that
> > > > depend on it.
> > > >
> > >
> > > Hi,
> > >
> > > Thanks for getting back to me.
> > >
> > > New pwm driver (patch 04/11 : "pwm: mediatek: allocate the clks array
> > > dynamically") can support different variants with different number of
> > > PWMs by the new property <num-pwms>
> > >
> > > For example:
> > > 1. Use "num-pwms" = <2> and assign clocks pwm1, pwm2 for mt7622
> > > 2. Use "num-pwms" = <6> and assign clocks pwm1, pwm2, pwm3, pwm4, pwm5,
> > > pwm6 for mt7622.
> > >
> > > If we just as easily derive the number of PWMs from the specific
> > > compatible string in this document:
> > >
> > > - "pwm1-6": the six per PWM clocks for mt7622
> > >
> > > This looks like all "pwm1", "pwm2", "pwm3", "pwm4", "pwm5", "pwm6" is
> > > required property in DT, It doesn't make sense.
> >
> > I don't understand. Why doesn't that make sense? If your hardware block
> > has 6 PWMs and each can be driven by its own clock, then you need to
> > provide references for each of those clocks, otherwise you won't be able
> > to use them.
>
> Thank you for your instruction,
> I will add all clock-names and clocks according to
> hardware blocks instead of value of <num-pwms> in DT.
>
> > >
> > > So we removed those descriptions and added
> > >
> > > - "pwm1-N": the PWM clocks for each channel
> > >
> > >
> > > But the max number of clocks from the compatible string are still
> > > important information that should be provide in this document.
> > >
> > >
> > > What do you think of this?
> > >
> > > - "pwm1-N": per PWM clocks for mt2712, the max number of PWM channels
> > > is 8
> > >
> > > - "pwm1-N": per PWM clocks for mt7622, the max number of PWM channels
> > > is 6
> > >
> > > - "pwm1-N": per PWM clocks for mt7623, the max number of PWM channels
> > > is 5
> >
> > That's what's in the bindings already, isn't it?
> >
> > - clocks: phandle and clock specifier of the PWM reference clock.
> > - clock-names: must contain the following, except for MT7628 which
> > has no clocks
> > - "top": the top clock generator
> > - "main": clock used by the PWM core
> > - "pwm1-8": the eight per PWM clocks for mt2712
> > - "pwm1-6": the six per PWM clocks for mt7622
> > - "pwm1-5": the five per PWM clocks for mt7623
>
> Yes, You are right,
> I will keep original description and remove "pwm1-N" from this patch.
> - "top": the top clock generator
> - "main": clock used by the PWM core
> - "pwm1-8": the eight per PWM clocks for mt2712
> - "pwm1-6": the six per PWM clocks for mt7622
> - "pwm1-5": the five per PWM clocks for mt7623
>
> Actually, MT7629 also use "mediatek,mt7622-pwm" as compatible string,
> but it's hardware only support one pwm, so I was wrongly stick by
> expecting "pwm1-N" in clock-names based on "num-pwms" in DT.
> (that we can assign num-pwms to 1 and only provide pwm1 as clock-names)
>
> Maybe added mt7629 description to this document can solve this simply.
> - "pwm1": the PWM1 clock for mt7629

Yeah, if mt7629 support only one PWM channel, you should list it's
compatible string separately and also update the driver to reflect the
number of channels associated with the hardware.

Thierry

Attachment: signature.asc
Description: PGP signature