linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 10/13] ARM: versatile: use OF init for sp804 timer
Date: Mon,  1 Apr 2013 17:21:20 -0500	[thread overview]
Message-ID: <1364854883-5961-11-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1364854883-5961-1-git-send-email-robherring2@gmail.com>

From: Rob Herring <rob.herring@calxeda.com>

Enable DT based init for the sp804 timers on versatile DT platform.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
 arch/arm/boot/dts/versatile-ab.dts     |   12 ++++++++++++
 arch/arm/mach-versatile/core.c         |   26 +++++++++++++-------------
 arch/arm/mach-versatile/versatile_dt.c |    1 -
 3 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
index e2fe319..dde75ae 100644
--- a/arch/arm/boot/dts/versatile-ab.dts
+++ b/arch/arm/boot/dts/versatile-ab.dts
@@ -121,6 +121,18 @@
 			interrupts = <0>;
 		};
 
+		timer at 101e2000 {
+			compatible = "arm,sp804", "arm,primecell";
+			reg = <0x101e2000 0x1000>;
+			interrupts = <4>;
+		};
+
+		timer at 101e3000 {
+			compatible = "arm,sp804", "arm,primecell";
+			reg = <0x101e3000 0x1000>;
+			interrupts = <5>;
+		};
+
 		gpio0: gpio at 101e4000 {
 			compatible = "arm,pl061", "arm,primecell";
 			reg = <0x101e4000 0x1000>;
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index 25160ae..54bb80b 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -749,12 +749,25 @@ void versatile_restart(char mode, const char *cmd)
 /* Early initializations */
 void __init versatile_init_early(void)
 {
+	u32 val;
 	void __iomem *sys = __io_address(VERSATILE_SYS_BASE);
 
 	osc4_clk.vcoreg	= sys + VERSATILE_SYS_OSCCLCD_OFFSET;
 	clkdev_add_table(lookups, ARRAY_SIZE(lookups));
 
 	versatile_sched_clock_init(sys + VERSATILE_SYS_24MHz_OFFSET, 24000000);
+
+	/*
+	 * set clock frequency:
+	 *	VERSATILE_REFCLK is 32KHz
+	 *	VERSATILE_TIMCLK is 1MHz
+	 */
+	val = readl(__io_address(VERSATILE_SCTL_BASE));
+	writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
+	       (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
+	       (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
+	       (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
+	       __io_address(VERSATILE_SCTL_BASE));
 }
 
 void __init versatile_init(void)
@@ -785,19 +798,6 @@ void __init versatile_init(void)
  */
 void __init versatile_timer_init(void)
 {
-	u32 val;
-
-	/* 
-	 * set clock frequency: 
-	 *	VERSATILE_REFCLK is 32KHz
-	 *	VERSATILE_TIMCLK is 1MHz
-	 */
-	val = readl(__io_address(VERSATILE_SCTL_BASE));
-	writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
-	       (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) | 
-	       (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
-	       (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
-	       __io_address(VERSATILE_SCTL_BASE));
 
 	/*
 	 * Initialise to a known state (all timers off)
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
index 2558f2e..3621b00 100644
--- a/arch/arm/mach-versatile/versatile_dt.c
+++ b/arch/arm/mach-versatile/versatile_dt.c
@@ -45,7 +45,6 @@ DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)")
 	.map_io		= versatile_map_io,
 	.init_early	= versatile_init_early,
 	.init_irq	= versatile_init_irq,
-	.init_time	= versatile_timer_init,
 	.init_machine	= versatile_dt_init,
 	.dt_compat	= versatile_dt_match,
 	.restart	= versatile_restart,
-- 
1.7.10.4

  parent reply	other threads:[~2013-04-01 22:21 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-01 22:21 [PATCH v2 00/13] ARM arch, sp804 and integrator timer CLKSRC_OF support Rob Herring
2013-04-01 22:21 ` [PATCH v2 01/13] ARM: make machine_desc->init_time default to clocksource_of_init Rob Herring
2013-04-01 22:21 ` [PATCH v2 02/13] ARM: convert arm/arm64 arch timer to use CLKSRC_OF init Rob Herring
2013-04-02  3:23   ` Santosh Shilimkar
2013-04-04  5:56   ` Simon Horman
2013-04-10 23:17     ` Rob Herring
2013-04-11  0:09       ` Simon Horman
2013-04-15  9:39   ` Catalin Marinas
2013-04-01 22:21 ` [PATCH v2 03/13] OF: add empty of_device_is_available for !OF Rob Herring
2013-04-01 22:21 ` [PATCH v2 04/13] ARM: timer-sp: convert to use CLKSRC_OF init Rob Herring
2013-04-19 16:30   ` Russell King - ARM Linux
2013-04-01 22:21 ` [PATCH v2 05/13] ARM: highbank: use OF init for sp804 timer Rob Herring
2013-04-01 22:21 ` [PATCH v2 06/13] ARM: vexpress: remove sp804 OF init Rob Herring
2013-04-02 16:41   ` Pawel Moll
2013-04-01 22:21 ` [PATCH v2 07/13] ARM: dts: vexpress: disable CA9 core tile sp804 timer Rob Herring
2013-04-02 16:47   ` Pawel Moll
2013-04-01 22:21 ` [PATCH v2 08/13] ARM: vexpress: remove extra timer-sp control register clearing Rob Herring
2013-04-02 16:48   ` Pawel Moll
2013-04-01 22:21 ` [PATCH v2 09/13] ARM: versatile: add versatile dtbs to dtbs target Rob Herring
2013-04-01 22:21 ` Rob Herring [this message]
2013-04-01 22:21 ` [PATCH v2 11/13] ARM: integrator-cp: convert use CLKSRC_OF for timer init Rob Herring
2013-04-01 22:21 ` [PATCH v2 12/13] ARM: move sp804 and integrator timers to drivers/clocksource Rob Herring
2013-04-01 23:26   ` John Stultz
2013-04-02 19:49     ` Rob Herring
2013-04-03  0:41       ` John Stultz
2013-04-03  2:31         ` Rob Herring
2013-04-10 23:23         ` Rob Herring
2013-04-11  8:33           ` Linus Walleij
2013-04-11 15:12             ` Rob Herring
2013-04-03 16:52       ` Linus Walleij
2013-04-04 11:06         ` Daniel Lezcano
2013-04-01 22:21 ` [PATCH v2 13/13] devtree: add binding documentation for sp804 Rob Herring

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=1364854883-5961-11-git-send-email-robherring2@gmail.com \
    --to=robherring2@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).