Re: [PATCH 5/5] arm: dts: lpc32xx: add device node for the second pwm controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Vladimir,

On 13 October 2015 at 01:54, Vladimir Zapolskiy <vz@xxxxxxxxx> wrote:
> LPC32xx SoCs have two independent PWM controllers, they have different
> clock parents, clock gates and even slightly different controls,
> each of these two PWM controllers has one output channel. Due to
> almost similar controls arranged in a row it is incorrectly assumed
> that there is one PWM controller with two channels, fix this problem
> in lpc32xx.dtsi, which at the moment prevents separate configuration
> of different clock parents and gates for both PWM controllers.
>
> Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx>
> ---
>  arch/arm/boot/dts/lpc32xx.dtsi | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
> index 929458d..f4d2a0e 100644
> --- a/arch/arm/boot/dts/lpc32xx.dtsi
> +++ b/arch/arm/boot/dts/lpc32xx.dtsi
> @@ -286,9 +286,15 @@
>                                 status = "disabled";
>                         };
>
> -                       pwm: pwm@4005C000 {
> +                       pwm1: pwm@4005C000 {
>                                 compatible = "nxp,lpc3220-pwm";
> -                               reg = <0x4005C000 0x8>;
> +                               reg = <0x4005C000 0x4>;
> +                               status = "disabled";
> +                       };
> +
> +                       pwm2: pwm@4005C004 {
> +                               compatible = "nxp,lpc3220-pwm";
> +                               reg = <0x4005C004 0x4>;
>                                 status = "disabled";
>                         };
>                 };

I am not really against your change, but...

What's wrong with a binding like the one below?
pwm: pwm@0x4005c000 {
    compatible = "nxp,lpc3220-pwm";
    reg = <0x4005C000 0x8>;
    clocks =<&clk CLK_PWM1, &clk CLK_PWM2>;
    clock-names = "pwm1", "pwm2";
    #pwm-cells = <3>;
};

With two clocks and where the first pwm-cell would select either PWM1 or PWM2.

Seems like the driver only handle one clock, but should be fairly easy to fix.

Note: with your DT change you would also need to change the driver
since it currently sets npwm to 2.


regards,
Joachim Eastwood
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux