Re: [v6 1/4] dt-bindings: pwm: Add ASPEED PWM Control documentation

From: Krzysztof Kozlowski
Date: Thu Jun 08 2023 - 05:26:14 EST


On 08/06/2023 10:57, Billy Tsai wrote:
> On 08/06/2023 10:21, Billy Tsai wrote:
> >> On 08/06/2023 09:47, Billy Tsai wrote:
> >> >>
> >> >> >> +
> >> >> >> +allOf:
> >> >> >> + - $ref: pwm.yaml#
> >> >> >> +
> >> >> >> +properties:
> >> >> >> + compatible:
> >> >> >> + enum:
> >> >> >> + - aspeed,ast2600-pwm
> >> >> >> +
> >> >> >> + "#pwm-cells":
> >> >> >> + const: 3
> >> >>
> >> >> > 3 cells? For one PWM? What are they?
> >> >>
> >> >> channel, period and polarity.
> >>
> >> > Don't cut my responses. You wrote you have one PWM output, so only one
> >> > channel. What do you put then in the channel?
> >>
> >> You need to put 0 in the cell of the channel, the example of the dts usage will like following:
>
> > If you always put 0 isn't this a proof that it's wrong?
>
> No, if your PWM controller only has one pwm output, then it should only be configured as 0.
> This is the usage of the pwm-cells property.
> https://github.com/torvalds/linux/blob/master/drivers/pwm/core.c#L129-L158

This is only when you use generic of_xlate. You do not have to use
generic of_xlate if it does not suite you. Again you speak about the
drivers, but we talk about bindings:

https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/pwm/pwm.txt#L13

"controller specific"

> https://github.com/torvalds/linux/blob/master/include/linux/pwm.h#LL299C20-L299C20
> All of the pwm driver with npwm = 1 will has the same usage.

So it seems many simplified their drivers...

Best regards,
Krzysztof