From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Gregory Clement <gregory.clement@free-electrons.com>,
b.brezillon@overkiz.com,
Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: [PATCHv5 5/9] ARM: at91: prepare sam9 dt boards transition to common clk
Date: Wed, 12 Mar 2014 10:43:41 +0100 [thread overview]
Message-ID: <1394617425-641-6-git-send-email-alexandre.belloni@free-electrons.com> (raw)
In-Reply-To: <1394617425-641-1-git-send-email-alexandre.belloni@free-electrons.com>
From: Boris BREZILLON <b.brezillon@overkiz.com>
This patch prepare the transition to common clk for sam9 dt boards by
replacing the timer init callback.
Clocks registration cannot be done in early init callback (as formerly done
by the old clk implementation) because it requires dynamic allocation
which is not ready yet during early init.
In the other hand, at91 clocks must be registered before
at91sam926x_pit_init is called because PIT (Periodic Interval Timer) driver
request the master clk (mck).
A new function (at91sam9_dt_timer_init) is created to fullfil these needs.
This function registers all at91 clks using the dt definition before
calling the PIT init function.
The device tree clock registration is enabled only if common clk is
selected. Else the old clk registration is been done during
at91_dt_initialize call.
Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
arch/arm/mach-at91/board-dt-sam9.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-at91/board-dt-sam9.c b/arch/arm/mach-at91/board-dt-sam9.c
index 3dab868b02fa..575b0be66ca8 100644
--- a/arch/arm/mach-at91/board-dt-sam9.c
+++ b/arch/arm/mach-at91/board-dt-sam9.c
@@ -13,6 +13,7 @@
#include <linux/gpio.h>
#include <linux/of.h>
#include <linux/of_irq.h>
+#include <linux/clk-provider.h>
#include <asm/setup.h>
#include <asm/irq.h>
@@ -25,6 +26,14 @@
#include "generic.h"
+static void __init sam9_dt_timer_init(void)
+{
+#if defined(CONFIG_COMMON_CLK)
+ of_clk_init(NULL);
+#endif
+ at91sam926x_pit_init();
+}
+
static const struct of_device_id irq_of_match[] __initconst = {
{ .compatible = "atmel,at91rm9200-aic", .data = at91_aic_of_init },
@@ -43,7 +52,7 @@ static const char *at91_dt_board_compat[] __initdata = {
DT_MACHINE_START(at91sam_dt, "Atmel AT91SAM (Device Tree)")
/* Maintainer: Atmel */
- .init_time = at91sam926x_pit_init,
+ .init_time = sam9_dt_timer_init,
.map_io = at91_map_io,
.handle_irq = at91_aic_handle_irq,
.init_early = at91_dt_initialize,
--
1.8.3.2
next prev parent reply other threads:[~2014-03-12 9:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-12 9:43 [PATCHv5 0/9] Device tree support for the at91sam9rlek Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 1/9] ARM: at91: prepare at91sam9rl DT transition Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 2/9] ARM: at91: Add at91sam9rl DT SoC support Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 3/9] ARM: at91/defconfig: Add the sam9rl to the list of DT-enabled SOCs Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 4/9] ARM: at91: dt: sam9rl: Device Tree for the at91sam9rlek Alexandre Belloni
2014-03-12 9:43 ` Alexandre Belloni [this message]
2014-03-12 9:43 ` [PATCHv5 6/9] ARM: at91: prepare common clk transition for sam9rl SoCs Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 7/9] ARM: at91/dt: define at91sam9rl clocks Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 8/9] ARM: at91/dt: define main clk frequency of at91sam9rlek Alexandre Belloni
2014-03-12 9:43 ` [PATCHv5 9/9] ARM: at91: switch sam9rl to common clock framework Alexandre Belloni
2014-03-12 10:13 ` [PATCHv5 0/9] Device tree support for the at91sam9rlek Nicolas Ferre
2014-03-12 10:21 ` Boris BREZILLON
2014-03-12 10:22 ` Boris BREZILLON
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=1394617425-641-6-git-send-email-alexandre.belloni@free-electrons.com \
--to=alexandre.belloni@free-electrons.com \
--cc=b.brezillon@overkiz.com \
--cc=gregory.clement@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maxime.ripard@free-electrons.com \
--cc=nicolas.ferre@atmel.com \
--cc=plagnioj@jcrosoft.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®