[RESEND PATCH 4/8] layerscape/ftm: Add compatible string for FTM0 be used as alarm timer.
Dongsheng.Wang at freescale.com
Dongsheng.Wang at freescale.com
Mon Apr 20 22:18:52 PDT 2015
> -----Original Message-----
> From: Mark Rutland [mailto:mark.rutland at arm.com]
> Sent: Wednesday, April 01, 2015 9:24 PM
> To: Sharma Bhupesh-B45370
> Cc: arnd at arndb.de; linux-arm-kernel at lists.infradead.org; Marc Zyngier;
> bhupesh.linux at gmail.com; Catalin Marinas; Yoder Stuart-B08248; olof at lixom.net;
> Will Deacon; Wang Dongsheng-B40534
> Subject: Re: [RESEND PATCH 4/8] layerscape/ftm: Add compatible string for FTM0
> be used as alarm timer.
>
> On Wed, Apr 01, 2015 at 12:47:34PM +0100, Bhupesh Sharma wrote:
> > From: Wang Dongsheng <dongsheng.wang at freescale.com>
> >
> > Only FTM0 can be used as an alarm timer, so add a "fsl,ftm-alarm"
> > compatible string to describe FTM0 alarm mode.
> >
> > Signed-off-by: Wang Dongsheng <dongsheng.wang at freescale.com>
> > Reviewed-by: Bhupesh Sharma <bhupesh.sharma at freescale.com>
> > ---
> > .../devicetree/bindings/timer/fsl,ftm-timer.txt | 46 ++++++++++++++-----
> -
> > 1 file changed, 32 insertions(+), 14 deletions(-)
>
> Shouldn't there be a corresponding driver update?
>
> There wasn't one in this series.
>
Hi Bhupesh, would you paste the driver link to here? Thanks very much.
> >
> > diff --git a/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
> > b/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
> > index aa8c402..a372ed7 100644
> > --- a/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
> > +++ b/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
> > @@ -2,12 +2,18 @@ Freescale FlexTimer Module (FTM) Timer
> >
> > Required properties:
> >
> > -- compatible : should be "fsl,ftm-timer"
> > +- compatible : should be "fsl,ftm-timer" & "fsl,ftm-alarm".
> > + (a) "fsl,ftm-timer", for FlexTimer compatible as normal timer.
> > + (b) "fsl,ftm-alarm", for FlexTimer compatible when FTM0 as an ALARM timer.
>
>
> Lets not be redundant here. This would be better as:
>
> - compatible: should contain one of:
> * "fsl,ftm-timer" for a FlexTimer usable as a normal timer.
> * "fsl,ftm-alarm" for a FlexTimer usable as an ALARM timer.
>
Looks better, thanks.
> I don't think FTM0 is useful to mention here; it sounds like that's just the
> name of an instance on a particular design.
>
> What exactly is the difference between a "normal" timer and an "alarm"
> timer?
>
Only FTM0 can be used as alarm timer.
> > +
> > - reg : Specifies base physical address and size of the register sets for the
> > clock event device and clock source device.
> > +
> > - 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 the following entries:
> > o "ftm-evt"
> > o "ftm-src"
> > @@ -16,16 +22,28 @@ Required properties:
> > - big-endian: One boolean property, the big endian mode will be in use if it
> is
> > present, or the little endian mode will be in use for all the device
> registers.
> >
> > -Example:
> > -ftm: ftm at 400b8000 {
> > - compatible = "fsl,ftm-timer";
> > - reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
> > - interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
> > - clock-names = "ftm-evt", "ftm-src",
> > - "ftm-evt-counter-en", "ftm-src-counter-en";
> > - clocks = <&clks VF610_CLK_FTM2>,
> > - <&clks VF610_CLK_FTM3>,
> > - <&clks VF610_CLK_FTM2_EXT_FIX_EN>,
> > - <&clks VF610_CLK_FTM3_EXT_FIX_EN>;
> > - big-endian;
> > -};
> > +Example 1: In this example, The FlexTimer module (FTM) is a two-to-eight,
> > + channel timer that supports input capture, output compare, and
> > + the generation of PWM signals to control electric motor and power
> > + management applications.
> > +
> > + ftm: ftm at 400b8000 {
> > + compatible = "fsl,ftm-timer";
> > + reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
> > + interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
> > + clock-names = "ftm-evt", "ftm-src",
> > + "ftm-evt-counter-en", "ftm-src-counter-en";
> > + clocks = <&clks VF610_CLK_FTM2>,
> > + <&clks VF610_CLK_FTM3>,
> > + <&clks VF610_CLK_FTM2_EXT_FIX_EN>,
> > + <&clks VF610_CLK_FTM3_EXT_FIX_EN>;
> > + big-endian;
> > + };
> > +
> > +Example 2: In this example, FTM0 only be used as an alarm timer.
>
> Do you mean that FTM0 is the only instance usable as an alarm timer, or that the
> FTM0 instance can only be used as an alarm timer?
>
Ditto.
> > +
> > + ftm0: ftm0 at 2800000 {
> > + compatible = "fsl,ftm-alarm";
> > + reg = <0x0 0x2800000 0x0 0x10000>;
> > + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
> > + };
>
> Missing properties?
>
The FTM0 alarm timer only need "compatible", "reg" and "interrupts" properties.
I miss something about the properties?
Regards,
-Dongsheng
More information about the linux-arm-kernel
mailing list