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

Billy Tsai billy_tsai at aspeedtech.com
Thu Jun 8 19:15:11 AEST 2023


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:
        >>
        >> pwm0: pwm0 at 1e610000 {
        >>         compatible = "aspeed,ast2600-pwm";
        >>         reg = <0x1e610000 0x8>;
        >>         #pwm-cells = <3>;
        >>         #address-cells = <1>;
        >>         #size-cells = <0>;
        >>         pinctrl-names = "default";
        >>         pinctrl-0 = <&pinctrl_pwm0_default>;
        >>         clocks = <&syscon ASPEED_CLK_AHB>;
        >>         resets = <&syscon ASPEED_RESET_PWM>;
        >>         status = "okay";
        >> };
        >>
        >> pwm1: pwm1 at 1e610010 {
        >>         compatible = "aspeed,ast2600-pwm";
        >>         reg = <0x1e610010 0x8>;
        >>         #pwm-cells = <3>;
        >>         #address-cells = <1>;
        >>         #size-cells = <0>;
        >>         pinctrl-names = "default";
        >>         pinctrl-0 = <&pinctrl_pwm1_default>;
        >>         clocks = <&syscon ASPEED_CLK_AHB>;
        >>         resets = <&syscon ASPEED_RESET_PWM>;
        >>         status = "okay";

        > BTW, these are not two PWM devices but one. I don't understand why you
        > changed previous design into something like this, but this is not
        > representing your hardware.

The previous design of my patch treated our PWM controller as having 16 PWM channels.
However, from a hardware perspective, it consists of 16 individual PWM chips, each
with its own set of two 4-byte control registers. These chips operate independently
and are not affected by each other.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linux-aspeed/attachments/20230608/e4ae7379/attachment.htm>


More information about the Linux-aspeed mailing list