On Fri, 02 Dec 2016, Benjamin Gaignard wrote:

> Define bindings for pwm-stm32
> 
> version 2:
> - use parameters instead of compatible of handle the hardware configuration
> 
> Signed-off-by: Benjamin Gaignard <[email protected]>
> ---
>  .../devicetree/bindings/pwm/pwm-stm32.txt          | 38 
> ++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/pwm/pwm-stm32.txt
> 
> diff --git a/Documentation/devicetree/bindings/pwm/pwm-stm32.txt 
> b/Documentation/devicetree/bindings/pwm/pwm-stm32.txt
> new file mode 100644
> index 0000000..575b9fb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/pwm-stm32.txt
> @@ -0,0 +1,38 @@
> +STMicroelectronics PWM driver bindings for STM32
> +
> +Must be a sub-node of STM32 general purpose timer driver
> +Parent node properties are describe in ../mfd/stm32-general-purpose-timer.txt
> +
> +Required parameters:
> +- compatible:                Must be "st,stm32-pwm"
> +- pinctrl-names:     Set to "default".
> +- pinctrl-0:                 List of phandles pointing to pin configuration 
> nodes
> +                     for PWM module.
> +                     For Pinctrl properties, please refer to [1].
> +
> +Optional parameters:
> +- st,breakinput:     Set if the hardware have break input capabilities
> +- st,breakinput-polarity: Set break input polarity. Default is 0
> +                      The value define the active polarity:
> +                       - 0 (active LOW)
> +                       - 1 (active HIGH)

> +- st,breakinput-polarity-high

Then assume the default if the property is not present.

> +- st,pwm-num-chan:   Number of available PWM channels.  Default is 0.

What's the point in having a PWM device with  no channels?

Best to make this a compulsory property.

> +- st,32bits-counter: Set if the hardware have a 32 bits counter
> +- st,complementary:  Set if the hardware have complementary output channels
> +
> +[1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Use relative path.

../pinctrl/pinctrl-bindings.txt

> +Example:
> +     gptimer1: gptimer1@40010000 {
> +             compatible = "st,stm32-gptimer";
> +             reg = <0x40010000 0x400>;
> +             clocks = <&rcc 0 160>;
> +             clock-names = "clk_int";
> +
> +             pwm1@0 {

Don't number the node name.

pwm@xx

> +                     compatible = "st,stm32-pwm";
> +                     st,pwm-num-chan = <4>;
> +                     st,breakinput;
> +                     st,complementary;
> +             };
> +     };

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Reply via email to