All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Wim Van Sebroeck <wim@iguana.be>,
	Lior Amsalem <alior@marvell.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	linux-watchdog@vger.kernel.org,
	Tawfik Bayouk <tawfik@marvell.com>,
	Nadav Haklai <nadavh@marvell.com>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/4] watchdog: orion: Use the reference clock on Armada 375 SoC
Date: Wed, 22 Oct 2014 16:02:21 +0200	[thread overview]
Message-ID: <20141022140221.GP9845@lunn.ch> (raw)
In-Reply-To: <1413984884-20273-3-git-send-email-ezequiel.garcia@free-electrons.com>

On Wed, Oct 22, 2014 at 10:34:42AM -0300, Ezequiel Garcia wrote:
> The 25 MHz reference clock has better stability so its use is preferred over the
> core clock. Changes the Armada 375 clock initialization to use this reference
> clock. To ensure the driver is compatible with an old devicetree, also provide
> a fallback path which will silently return to the previous behavior.

Hi Ezequiel

There is now quite a lot of code in orion_wdt.c which is not relevant
to Orion5x and Kirkwood. Would it be possible to put some of it inside
a #ifdef MACH_MVEBU_V7?

  Andrew

> 
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> ---
>  drivers/watchdog/orion_wdt.c | 40 +++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 39 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
> index 00d0741..6452fa2 100644
> --- a/drivers/watchdog/orion_wdt.c
> +++ b/drivers/watchdog/orion_wdt.c
> @@ -114,6 +114,44 @@ static int armada370_wdt_clock_init(struct platform_device *pdev,
>  	return 0;
>  }
>  
> +static int armada375_wdt_clock_init(struct platform_device *pdev,
> +				    struct orion_watchdog *dev)
> +{
> +	int ret;
> +
> +	dev->clk = of_clk_get_by_name(pdev->dev.of_node, "fixed");
> +	if (!IS_ERR(dev->clk)) {
> +
> +		ret = clk_prepare_enable(dev->clk);
> +		if (ret) {
> +			clk_put(dev->clk);
> +			return ret;
> +		}
> +
> +		atomic_io_modify(dev->reg + TIMER_CTRL,
> +				WDT_AXP_FIXED_ENABLE_BIT,
> +				WDT_AXP_FIXED_ENABLE_BIT);
> +		dev->clk_rate = clk_get_rate(dev->clk);
> +		return 0;
> +	}
> +
> +	/* Mandatory fallback for proper devicetree backward compatibility */
> +	dev->clk = clk_get(&pdev->dev, NULL);
> +	if (IS_ERR(dev->clk))
> +		return PTR_ERR(dev->clk);
> +	ret = clk_prepare_enable(dev->clk);
> +	if (ret) {
> +		clk_put(dev->clk);
> +		return ret;
> +	}
> +
> +	atomic_io_modify(dev->reg + TIMER_CTRL,
> +			WDT_A370_RATIO_MASK(WDT_A370_RATIO_SHIFT),
> +			WDT_A370_RATIO_MASK(WDT_A370_RATIO_SHIFT));
> +	dev->clk_rate = clk_get_rate(dev->clk) / WDT_A370_RATIO;
> +	return 0;
> +}
> +
>  static int armadaxp_wdt_clock_init(struct platform_device *pdev,
>  				   struct orion_watchdog *dev)
>  {
> @@ -394,7 +432,7 @@ static const struct orion_watchdog_data armada375_data = {
>  	.rstout_mask_bit = BIT(10),
>  	.wdt_enable_bit = BIT(8),
>  	.wdt_counter_offset = 0x34,
> -	.clock_init = armada370_wdt_clock_init,
> +	.clock_init = armada375_wdt_clock_init,
>  	.enabled = armada375_enabled,
>  	.start = armada375_start,
>  	.stop = armada375_stop,
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: andrew@lunn.ch (Andrew Lunn)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] watchdog: orion: Use the reference clock on Armada 375 SoC
Date: Wed, 22 Oct 2014 16:02:21 +0200	[thread overview]
Message-ID: <20141022140221.GP9845@lunn.ch> (raw)
In-Reply-To: <1413984884-20273-3-git-send-email-ezequiel.garcia@free-electrons.com>

On Wed, Oct 22, 2014 at 10:34:42AM -0300, Ezequiel Garcia wrote:
> The 25 MHz reference clock has better stability so its use is preferred over the
> core clock. Changes the Armada 375 clock initialization to use this reference
> clock. To ensure the driver is compatible with an old devicetree, also provide
> a fallback path which will silently return to the previous behavior.

Hi Ezequiel

There is now quite a lot of code in orion_wdt.c which is not relevant
to Orion5x and Kirkwood. Would it be possible to put some of it inside
a #ifdef MACH_MVEBU_V7?

  Andrew

> 
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> ---
>  drivers/watchdog/orion_wdt.c | 40 +++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 39 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
> index 00d0741..6452fa2 100644
> --- a/drivers/watchdog/orion_wdt.c
> +++ b/drivers/watchdog/orion_wdt.c
> @@ -114,6 +114,44 @@ static int armada370_wdt_clock_init(struct platform_device *pdev,
>  	return 0;
>  }
>  
> +static int armada375_wdt_clock_init(struct platform_device *pdev,
> +				    struct orion_watchdog *dev)
> +{
> +	int ret;
> +
> +	dev->clk = of_clk_get_by_name(pdev->dev.of_node, "fixed");
> +	if (!IS_ERR(dev->clk)) {
> +
> +		ret = clk_prepare_enable(dev->clk);
> +		if (ret) {
> +			clk_put(dev->clk);
> +			return ret;
> +		}
> +
> +		atomic_io_modify(dev->reg + TIMER_CTRL,
> +				WDT_AXP_FIXED_ENABLE_BIT,
> +				WDT_AXP_FIXED_ENABLE_BIT);
> +		dev->clk_rate = clk_get_rate(dev->clk);
> +		return 0;
> +	}
> +
> +	/* Mandatory fallback for proper devicetree backward compatibility */
> +	dev->clk = clk_get(&pdev->dev, NULL);
> +	if (IS_ERR(dev->clk))
> +		return PTR_ERR(dev->clk);
> +	ret = clk_prepare_enable(dev->clk);
> +	if (ret) {
> +		clk_put(dev->clk);
> +		return ret;
> +	}
> +
> +	atomic_io_modify(dev->reg + TIMER_CTRL,
> +			WDT_A370_RATIO_MASK(WDT_A370_RATIO_SHIFT),
> +			WDT_A370_RATIO_MASK(WDT_A370_RATIO_SHIFT));
> +	dev->clk_rate = clk_get_rate(dev->clk) / WDT_A370_RATIO;
> +	return 0;
> +}
> +
>  static int armadaxp_wdt_clock_init(struct platform_device *pdev,
>  				   struct orion_watchdog *dev)
>  {
> @@ -394,7 +432,7 @@ static const struct orion_watchdog_data armada375_data = {
>  	.rstout_mask_bit = BIT(10),
>  	.wdt_enable_bit = BIT(8),
>  	.wdt_counter_offset = 0x34,
> -	.clock_init = armada370_wdt_clock_init,
> +	.clock_init = armada375_wdt_clock_init,
>  	.enabled = armada375_enabled,
>  	.start = armada375_start,
>  	.stop = armada375_stop,
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2014-10-22 14:03 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-22 13:34 [PATCH 0/4] Make Armada 375 use the reference clock when possible Ezequiel Garcia
2014-10-22 13:34 ` Ezequiel Garcia
2014-10-22 13:34 ` [PATCH 1/4] clocksource: armada-370-xp: Add missing clock enable Ezequiel Garcia
2014-10-22 13:34   ` Ezequiel Garcia
2014-10-22 13:50   ` Thomas Petazzoni
2014-10-22 13:50     ` Thomas Petazzoni
2014-10-22 14:37   ` Gregory CLEMENT
2014-10-22 14:37     ` Gregory CLEMENT
2014-10-22 13:34 ` [PATCH 2/4] watchdog: orion: Use the reference clock on Armada 375 SoC Ezequiel Garcia
2014-10-22 13:34   ` Ezequiel Garcia
2014-10-22 13:51   ` Thomas Petazzoni
2014-10-22 13:51     ` Thomas Petazzoni
2014-10-22 14:02   ` Andrew Lunn [this message]
2014-10-22 14:02     ` Andrew Lunn
2014-10-22 22:41     ` Ezequiel Garcia
2014-10-22 22:41       ` Ezequiel Garcia
2014-10-22 22:54       ` Guenter Roeck
2014-10-22 22:54         ` Guenter Roeck
2014-10-22 23:59       ` Andrew Lunn
2014-10-22 23:59         ` Andrew Lunn
2014-10-23  0:55         ` Ezequiel Garcia
2014-10-23  0:55           ` Ezequiel Garcia
2014-10-22 13:34 ` [PATCH 3/4] clocksource: armada-370-xp: Use the reference clock on A375 SoC Ezequiel Garcia
2014-10-22 13:34   ` Ezequiel Garcia
2014-10-22 13:54   ` Thomas Petazzoni
2014-10-22 13:54     ` Thomas Petazzoni
2014-10-22 15:22     ` Ezequiel Garcia
2014-10-22 15:22       ` Ezequiel Garcia
2014-10-22 13:34 ` [PATCH 4/4] ARM: dts: Enable the reference clock for timer and watchdog on Armada 375 SoC Ezequiel Garcia
2014-10-22 13:34   ` Ezequiel Garcia
2014-10-22 13:55   ` Thomas Petazzoni
2014-10-22 13:55     ` Thomas Petazzoni
2014-10-22 15:27     ` Ezequiel Garcia
2014-10-22 15:27       ` Ezequiel Garcia
2014-10-22 13:55 ` [PATCH 0/4] Make Armada 375 use the reference clock when possible Andrew Lunn
2014-10-22 13:55   ` Andrew Lunn
2014-10-22 13:56 ` Thomas Petazzoni
2014-10-22 13:56   ` Thomas Petazzoni
2014-10-22 14:08   ` Andrew Lunn
2014-10-22 14:08     ` Andrew Lunn
2014-10-22 14:25     ` Thomas Petazzoni
2014-10-22 14:25       ` Thomas Petazzoni
2014-10-22 15:29       ` Ezequiel Garcia
2014-10-22 15:29         ` Ezequiel Garcia
2014-10-23 12:36     ` Ezequiel Garcia
2014-10-23 12:36       ` Ezequiel Garcia
2014-10-23 12:16   ` Ezequiel Garcia
2014-10-23 12:16     ` Ezequiel Garcia
2014-10-23 12:26     ` Thomas Petazzoni
2014-10-23 12:26       ` Thomas Petazzoni
2014-10-23 12:43       ` Ezequiel Garcia
2014-10-23 12:43         ` Ezequiel Garcia
2014-11-03 21:29         ` Thomas Petazzoni
2014-11-03 21:29           ` Thomas Petazzoni
2014-10-22 14:43 ` Gregory CLEMENT
2014-10-22 14:43   ` Gregory CLEMENT
2014-10-22 14:49   ` Thomas Petazzoni
2014-10-22 14:49     ` Thomas Petazzoni
2014-10-22 15:10     ` Ezequiel Garcia
2014-10-22 15:10       ` Ezequiel Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141022140221.GP9845@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=alior@marvell.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=ezequiel.garcia@free-electrons.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=nadavh@marvell.com \
    --cc=tawfik@marvell.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.