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