diff mbox

[RFC,1/3] ARM: dts: vf610: Add Freescale FlexTimer Module timer node.

Message ID 1397614787-8300-2-git-send-email-Li.Xiubo@freescale.com (mailing list archive)
State New, archived
Headers show

Commit Message

Xiubo Li April 16, 2014, 2:19 a.m. UTC
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Jingchang Lu <b35083@freescale.com>
---
 arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Dongsheng Wang April 16, 2014, 4 a.m. UTC | #1
> -----Original Message-----
> From: Xiubo Li [mailto:Li.Xiubo@freescale.com]
> Sent: Wednesday, April 16, 2014 10:20 AM
> To: daniel.lezcano@linaro.org; tglx@linutronix.de; shawn.guo@linaro.org; Lu
> Jingchang-B35083; Jin Zhengxiong-R64188; Wang Dongsheng-B40534
> Cc: devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org; Xiubo Li-B47053
> Subject: [RFC][PATCH 1/3] ARM: dts: vf610: Add Freescale FlexTimer Module timer
> node.
> 
> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Jingchang Lu <b35083@freescale.com>
> ---
>  arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
> index 107e2c0..c3a276f 100644
> --- a/arch/arm/boot/dts/vf610.dtsi
> +++ b/arch/arm/boot/dts/vf610.dtsi
> @@ -153,6 +153,19 @@
>  				clock-names = "pit";
>  			};
> 
> +			ftm0: ftm@40038000 {
> +				compatible = "fsl,vf610-ftm-timer";
> +				reg = <0x40038000 0x2000>;
> +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> +				clock-names = "ftm0", "ftm1",
> +					"ftm0_counter_en", "ftm1_counter_en";
> +				clocks = <&clks VF610_CLK_FTM0>,
> +					<&clks VF610_CLK_FTM1>,
> +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> +				status = "disabled";
> +			};
> +

They need to be separated. ftm0, ftm1.

>  			wdog@4003e000 {
>  				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
>  				reg = <0x4003e000 0x1000>;
> --
> 1.8.4
>
Xiubo Li April 16, 2014, 6:08 a.m. UTC | #2
> > --- a/arch/arm/boot/dts/vf610.dtsi
> > +++ b/arch/arm/boot/dts/vf610.dtsi
> > @@ -153,6 +153,19 @@
> >  				clock-names = "pit";
> >  			};
> >
> > +			ftm0: ftm@40038000 {
> > +				compatible = "fsl,vf610-ftm-timer";
> > +				reg = <0x40038000 0x2000>;
> > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> > +				clock-names = "ftm0", "ftm1",
> > +					"ftm0_counter_en", "ftm1_counter_en";
> > +				clocks = <&clks VF610_CLK_FTM0>,
> > +					<&clks VF610_CLK_FTM1>,
> > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> > +				status = "disabled";
> > +			};
> > +
> 
> They need to be separated. ftm0, ftm1.
> 

Well, if so the driver will adjust much more to and I do think one dts
Node is okey.

The dts patches of this series are just for testing and reference for
The timer driver on Vybrid-twr.

Thanks,

BRs
Xiubo

> >  			wdog@4003e000 {
> >  				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
> >  				reg = <0x4003e000 0x1000>;
> > --
> > 1.8.4
> >
Shawn Guo April 16, 2014, 8:59 a.m. UTC | #3
On Wed, Apr 16, 2014 at 10:19:45AM +0800, Xiubo Li wrote:
> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Jingchang Lu <b35083@freescale.com>
> ---
>  arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
> index 107e2c0..c3a276f 100644
> --- a/arch/arm/boot/dts/vf610.dtsi
> +++ b/arch/arm/boot/dts/vf610.dtsi
> @@ -153,6 +153,19 @@
>  				clock-names = "pit";
>  			};
>  
> +			ftm0: ftm@40038000 {
> +				compatible = "fsl,vf610-ftm-timer";
> +				reg = <0x40038000 0x2000>;
> +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> +				clock-names = "ftm0", "ftm1",
> +					"ftm0_counter_en", "ftm1_counter_en";
> +				clocks = <&clks VF610_CLK_FTM0>,
> +					<&clks VF610_CLK_FTM1>,
> +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> +				status = "disabled";

For such completely internal block which has no pins route out on board,
we should probably just not have this "disabled" status line.

Shawn

> +			};
> +
>  			wdog@4003e000 {
>  				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
>  				reg = <0x4003e000 0x1000>;
> -- 
> 1.8.4
> 
>
Daniel Lezcano April 16, 2014, 9:08 a.m. UTC | #4
On 04/16/2014 04:19 AM, Xiubo Li wrote:
> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Jingchang Lu <b35083@freescale.com>

That deserves a patch description and an update of the documentation.

Thanks
   -- Daniel

> ---
>   arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
> index 107e2c0..c3a276f 100644
> --- a/arch/arm/boot/dts/vf610.dtsi
> +++ b/arch/arm/boot/dts/vf610.dtsi
> @@ -153,6 +153,19 @@
>   				clock-names = "pit";
>   			};
>
> +			ftm0: ftm@40038000 {
> +				compatible = "fsl,vf610-ftm-timer";
> +				reg = <0x40038000 0x2000>;
> +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> +				clock-names = "ftm0", "ftm1",
> +					"ftm0_counter_en", "ftm1_counter_en";
> +				clocks = <&clks VF610_CLK_FTM0>,
> +					<&clks VF610_CLK_FTM1>,
> +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> +				status = "disabled";
> +			};
> +
>   			wdog@4003e000 {
>   				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
>   				reg = <0x4003e000 0x1000>;
>
Xiubo Li April 16, 2014, 9:38 a.m. UTC | #5
> Subject: Re: [RFC][PATCH 1/3] ARM: dts: vf610: Add Freescale FlexTimer Module

> timer node.

> 

> On 04/16/2014 04:19 AM, Xiubo Li wrote:

> > Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>

> > Cc: Shawn Guo <shawn.guo@linaro.org>

> > Cc: Jingchang Lu <b35083@freescale.com>

> 

> That deserves a patch description and an update of the documentation.

>


Yes, I'll add this.


Thanks,

BRs
Xiubo

 
> Thanks

>    -- Daniel

> 

> > ---

> >   arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++

> >   1 file changed, 13 insertions(+)

> >

> > diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi

> > index 107e2c0..c3a276f 100644

> > --- a/arch/arm/boot/dts/vf610.dtsi

> > +++ b/arch/arm/boot/dts/vf610.dtsi

> > @@ -153,6 +153,19 @@

> >   				clock-names = "pit";

> >   			};

> >

> > +			ftm0: ftm@40038000 {

> > +				compatible = "fsl,vf610-ftm-timer";

> > +				reg = <0x40038000 0x2000>;

> > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;

> > +				clock-names = "ftm0", "ftm1",

> > +					"ftm0_counter_en", "ftm1_counter_en";

> > +				clocks = <&clks VF610_CLK_FTM0>,

> > +					<&clks VF610_CLK_FTM1>,

> > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,

> > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;

> > +				status = "disabled";

> > +			};

> > +

> >   			wdog@4003e000 {

> >   				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";

> >   				reg = <0x4003e000 0x1000>;

> >

> 

> 

> --

>   <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

> 

> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |

> <http://twitter.com/#!/linaroorg> Twitter |

> <http://www.linaro.org/linaro-blog/> Blog

> 

>
Xiubo Li April 16, 2014, 9:39 a.m. UTC | #6
> Subject: Re: [RFC][PATCH 1/3] ARM: dts: vf610: Add Freescale FlexTimer Module
> timer node.
> 
> On Wed, Apr 16, 2014 at 10:19:45AM +0800, Xiubo Li wrote:
> > Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> > Cc: Shawn Guo <shawn.guo@linaro.org>
> > Cc: Jingchang Lu <b35083@freescale.com>
> > ---
> >  arch/arm/boot/dts/vf610.dtsi | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
> > index 107e2c0..c3a276f 100644
> > --- a/arch/arm/boot/dts/vf610.dtsi
> > +++ b/arch/arm/boot/dts/vf610.dtsi
> > @@ -153,6 +153,19 @@
> >  				clock-names = "pit";
> >  			};
> >
> > +			ftm0: ftm@40038000 {
> > +				compatible = "fsl,vf610-ftm-timer";
> > +				reg = <0x40038000 0x2000>;
> > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> > +				clock-names = "ftm0", "ftm1",
> > +					"ftm0_counter_en", "ftm1_counter_en";
> > +				clocks = <&clks VF610_CLK_FTM0>,
> > +					<&clks VF610_CLK_FTM1>,
> > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> > +				status = "disabled";
> 
> For such completely internal block which has no pins route out on board,
> we should probably just not have this "disabled" status line.
>

Yes, I'll fix it.

Thanks,

BRs
Xiubo

 
> Shawn
> 
> > +			};
> > +
> >  			wdog@4003e000 {
> >  				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
> >  				reg = <0x4003e000 0x1000>;
> > --
> > 1.8.4
> >
> >
Xiubo Li April 17, 2014, 7:49 a.m. UTC | #7
> > +			ftm0: ftm@40038000 {
> > +				compatible = "fsl,vf610-ftm-timer";
> > +				reg = <0x40038000 0x2000>;
> > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> > +				clock-names = "ftm0", "ftm1",
> > +					"ftm0_counter_en", "ftm1_counter_en";
> > +				clocks = <&clks VF610_CLK_FTM0>,
> > +					<&clks VF610_CLK_FTM1>,
> > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> > +				status = "disabled";
> 
> For such completely internal block which has no pins route out on board,
> we should probably just not have this "disabled" status line.
> 

Well, from IEEE 1275, there defined a standard 'status' property indicating
The operational status of one device. The 'status' property has four possible
values: 'okay/ok', 'disabled', 'fail' and 'fail-xxx'.

If it is absent, that means the status of the device is unknown or okay.

If discard the status line here in vf610.dtsi, this device will be enabled
as default though 'no pins route out' on the board, and actually there has
pins route out on the board, as timer devices here we just not use it, but
as PWM devices the pins will be used.

How about let the node disabled in vf610.dtsi, and then enable it in vf610-twr.dts
if it will be used in TWR board... ?

Thanks,

BRs
Xiubo
Shawn Guo April 17, 2014, 8:22 a.m. UTC | #8
On Thu, Apr 17, 2014 at 07:49:31AM +0000, Li.Xiubo@freescale.com wrote:
> > > +			ftm0: ftm@40038000 {
> > > +				compatible = "fsl,vf610-ftm-timer";
> > > +				reg = <0x40038000 0x2000>;
> > > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> > > +				clock-names = "ftm0", "ftm1",
> > > +					"ftm0_counter_en", "ftm1_counter_en";
> > > +				clocks = <&clks VF610_CLK_FTM0>,
> > > +					<&clks VF610_CLK_FTM1>,
> > > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> > > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> > > +				status = "disabled";
> > 
> > For such completely internal block which has no pins route out on board,
> > we should probably just not have this "disabled" status line.
> > 
> 
> Well, from IEEE 1275, there defined a standard 'status' property indicating
> The operational status of one device. The 'status' property has four possible
> values: 'okay/ok', 'disabled', 'fail' and 'fail-xxx'.
> 
> If it is absent, that means the status of the device is unknown or okay.

Yes, missing 'disabled' status equals to a 'okay' status from Linux
implementation.  Then, the device is always available in device tree,
and Linux Kconfig option will control whether the driver for the device
is enabled.

> 
> If discard the status line here in vf610.dtsi, this device will be enabled
> as default though 'no pins route out' on the board, and actually there has
> pins route out on the board, as timer devices here we just not use it, but
> as PWM devices the pins will be used.
> 
> How about let the node disabled in vf610.dtsi, and then enable it in vf610-twr.dts
> if it will be used in TWR board... ?

Okay.  If there is some use cases that have board level configuration
like pin out, I'm fine with your existing code.

Shawn
Xiubo Li April 17, 2014, 8:34 a.m. UTC | #9
> Subject: Re: [RFC][PATCH 1/3] ARM: dts: vf610: Add Freescale FlexTimer Module
> timer node.
> 
> On Thu, Apr 17, 2014 at 07:49:31AM +0000, Li.Xiubo@freescale.com wrote:
> > > > +			ftm0: ftm@40038000 {
> > > > +				compatible = "fsl,vf610-ftm-timer";
> > > > +				reg = <0x40038000 0x2000>;
> > > > +				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > +				clock-names = "ftm0", "ftm1",
> > > > +					"ftm0_counter_en", "ftm1_counter_en";
> > > > +				clocks = <&clks VF610_CLK_FTM0>,
> > > > +					<&clks VF610_CLK_FTM1>,
> > > > +					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
> > > > +					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
> > > > +				status = "disabled";
> > >
> > > For such completely internal block which has no pins route out on board,
> > > we should probably just not have this "disabled" status line.
> > >
> >
> > Well, from IEEE 1275, there defined a standard 'status' property indicating
> > The operational status of one device. The 'status' property has four
> possible
> > values: 'okay/ok', 'disabled', 'fail' and 'fail-xxx'.
> >
> > If it is absent, that means the status of the device is unknown or okay.
> 
> Yes, missing 'disabled' status equals to a 'okay' status from Linux
> implementation.  Then, the device is always available in device tree,
> and Linux Kconfig option will control whether the driver for the device
> is enabled.
> 
> >
> > If discard the status line here in vf610.dtsi, this device will be enabled
> > as default though 'no pins route out' on the board, and actually there has
> > pins route out on the board, as timer devices here we just not use it, but
> > as PWM devices the pins will be used.
> >
> > How about let the node disabled in vf610.dtsi, and then enable it in vf610-
> twr.dts
> > if it will be used in TWR board... ?
> 
> Okay.  If there is some use cases that have board level configuration
> like pin out, I'm fine with your existing code.
> 

@Shawn,

I'll send the v2 patch series of this.

Thanks very much for your comments.

BRs
Xiubo



> Shawn
diff mbox

Patch

diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
index 107e2c0..c3a276f 100644
--- a/arch/arm/boot/dts/vf610.dtsi
+++ b/arch/arm/boot/dts/vf610.dtsi
@@ -153,6 +153,19 @@ 
 				clock-names = "pit";
 			};
 
+			ftm0: ftm@40038000 {
+				compatible = "fsl,vf610-ftm-timer";
+				reg = <0x40038000 0x2000>;
+				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
+				clock-names = "ftm0", "ftm1",
+					"ftm0_counter_en", "ftm1_counter_en";
+				clocks = <&clks VF610_CLK_FTM0>,
+					<&clks VF610_CLK_FTM1>,
+					<&clks VF610_CLK_FTM0_EXT_FIX_EN>,
+					<&clks VF610_CLK_FTM1_EXT_FIX_EN>;
+				status = "disabled";
+			};
+
 			wdog@4003e000 {
 				compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
 				reg = <0x4003e000 0x1000>;