Re: [PATCH V2] dt-bindings: timer: gpt: update binding doc

From: Rob Herring
Date: Tue Dec 18 2018 - 12:11:56 EST


On Wed, Dec 12, 2018 at 07:20:44AM +0000, Anson Huang wrote:
> The i.MX GPT timer driver binding doc is out of date,
> update it according to current GPT timer driver.
>
> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> ---
> .../devicetree/bindings/timer/fsl,imxgpt.txt | 28 +++++++++++++++++-----
> 1 file changed, 22 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/timer/fsl,imxgpt.txt b/Documentation/devicetree/bindings/timer/fsl,imxgpt.txt
> index 9809b11..2ed84ad 100644
> --- a/Documentation/devicetree/bindings/timer/fsl,imxgpt.txt
> +++ b/Documentation/devicetree/bindings/timer/fsl,imxgpt.txt
> @@ -2,17 +2,33 @@ Freescale i.MX General Purpose Timer (GPT)
>
> Required properties:
>
> -- compatible : should be "fsl,<soc>-gpt"
> -- reg : Specifies base physical address and size of the registers.
> -- interrupts : A list of 4 interrupts; one per timer channel.
> -- clocks : The clocks provided by the SoC to drive the timer.
> +- compatible : must be one of following:
> + - "fsl,imx1-gpt",
> + - "fsl,imx21-gpt",
> + - "fsl,imx27-gpt",
> + - "fsl,imx31-gpt",
> + - "fsl,imx25-gpt",
> + - "fsl,imx50-gpt",
> + - "fsl,imx51-gpt",
> + - "fsl,imx53-gpt",
> + - "fsl,imx6q-gpt",
> + - "fsl,imx6dl-gpt",
> + - "fsl,imx6sl-gpt",
> + - "fsl,imx6sx-gpt".

You need to list fall-backs here. IOW, what are the valid combinations?

> +- reg : specifies base physical address and size of the registers.
> +- interrupts : should be the clock event device interrupt.

'clock event' is a Linux thing and shouldn't be part of the binding.

What happened to the 4 interrupts?

> +- clocks : the clocks provided by the SoC to drive the timer, must contain
> + an entry for each entry in clock-names.
> +- clock-names : must include "ipg" entry first, then "per" entry, "osc_per"
> + can be a substitute of "per" entry on some SoCs.

per or osc_per should be deprecated so only one is used going forward.

>
> Example:
>
> gpt1: timer@10003000 {
> - compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
> + compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
> reg = <0x10003000 0x1000>;
> interrupts = <26>;
> - clocks = <&clks 46>, <&clks 61>;
> + clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
> + <&clks IMX27_CLK_PER1_GATE>;
> clock-names = "ipg", "per";
> };
> --
> 2.7.4
>