diff mbox series

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

Message ID 1544598889-2995-1-git-send-email-Anson.Huang@nxp.com
State Changes Requested, archived
Headers show
Series [V2] dt-bindings: timer: gpt: update binding doc | expand

Checks

Context Check Description
robh/checkpatch success

Commit Message

Anson Huang Dec. 12, 2018, 7:20 a.m. UTC
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@nxp.com>
---
 .../devicetree/bindings/timer/fsl,imxgpt.txt       | 28 +++++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)

Comments

Rob Herring Dec. 18, 2018, 5:11 p.m. UTC | #1
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@nxp.com>
> ---
>  .../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
>
Anson Huang Dec. 19, 2018, 7:11 a.m. UTC | #2
Hi, Rob

Best Regards!
Anson Huang

> -----Original Message-----
> From: Rob Herring [mailto:robh@kernel.org]
> Sent: 2018年12月19日 1:12
> To: Anson Huang <anson.huang@nxp.com>
> Cc: daniel.lezcano@linaro.org; tglx@linutronix.de; mark.rutland@arm.com;
> linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; dl-linux-imx
> <linux-imx@nxp.com>
> Subject: Re: [PATCH V2] dt-bindings: timer: gpt: update binding doc
> 
> 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@nxp.com>
> > ---
> >  .../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?

I listed the combinations in V3 patch;

> 
> > +- 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?

Yes, using "gpt interrupt" is better than "clock event", and looks like the i.MX GPT
driver does NOT support 4 interrupts at all, ONLY 1 general GPT interrupt is needed,
so I updated it;

> 
> > +- 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.

osc_per is just a special case for i.MX6Q, so I remove it, just mention the ipg and per clock.
Please help review V3, thanks.

Anson.

> 
> >
> >  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
> >
diff mbox series

Patch

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".
+- reg : specifies base physical address and size of the registers.
+- interrupts : should be the clock event device interrupt.
+- 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.
 
 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";
 };