From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Grant Likely <grant.likely@linaro.org>,
Rob Herring <rob.herring@calxeda.com>,
Rob Landley <rob@landley.net>,
Thomas Gleixner <tglx@linutronix.de>,
John Stultz <john.stultz@linaro.org>,
Russell King <linux@arm.linux.org.uk>,
Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Gregory Clement <gregory.clement@free-electrons.com>,
devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/6] clocksource: add Marvell Orion SoC timer
Date: Sat, 08 Jun 2013 00:03:13 +0200 [thread overview]
Message-ID: <51B258A1.2060107@linaro.org> (raw)
In-Reply-To: <1370536034-23956-3-git-send-email-sebastian.hesselbarth@gmail.com>
On 06/06/2013 06:27 PM, Sebastian Hesselbarth wrote:
> This patch add a DT enabled driver for timers found on Marvell Orion SoCs
> (Kirkwood, Dove, Orion5x, and Discovery Innovation). It installs a free-
> running clocksource on timer0 and a clockevent source on timer1.
> Corresponding device tree documentation is also added.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> ---
> Cc: Grant Likely <grant.likely@linaro.org>
> Cc: Rob Herring <rob.herring@calxeda.com>
> Cc: Rob Landley <rob@landley.net>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Gregory Clement <gregory.clement@free-electrons.com>
> Cc: devicetree-discuss@lists.ozlabs.org
> Cc: linux-doc@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
> .../bindings/timer/marvell,orion-timer.txt | 17 +++
> drivers/clocksource/Kconfig | 5 +
> drivers/clocksource/Makefile | 1 +
> drivers/clocksource/time-orion.c | 143 ++++++++++++++++++++
> 4 files changed, 166 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/timer/marvell,orion-timer.txt
> create mode 100644 drivers/clocksource/time-orion.c
>
> diff --git a/Documentation/devicetree/bindings/timer/marvell,orion-timer.txt b/Documentation/devicetree/bindings/timer/marvell,orion-timer.txt
> new file mode 100644
> index 0000000..62bb826
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/marvell,orion-timer.txt
> @@ -0,0 +1,17 @@
> +Marvell Orion SoC timer
> +
> +Required properties:
> +- compatible: shall be "marvell,orion-timer"
> +- reg: base address of the timer register starting with TIMERS CONTROL register
> +- interrupt-parent: phandle of the bridge interrupt controller
> +- interrupts: should contain the interrupts for Timer0 and Timer1
> +- clocks: phandle of timer reference clock (tclk)
> +
> +Example:
> + timer: timer {
> + compatible = "marvell,orion-timer";
> + reg = <0x20300 0x20>;
> + interrupt-parent = <&bridge_intc>;
> + interrupts = <1>, <2>;
> + clocks = <&core_clk 0>;
> + };
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index f151c6c..2404869 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -25,6 +25,11 @@ config DW_APB_TIMER_OF
> config ARMADA_370_XP_TIMER
> bool
>
> +config ORION_TIMER
> + select CLKSRC_OF
> + select CLKSRC_MMIO
> + bool
> +
> config SUN4I_TIMER
> bool
[ ... ]
> +
> +static irqreturn_t orion_clkevt_irq_handler(int irq, void *dev_id)
> +{
> + orion_clkevt.event_handler(&orion_clkevt);
> + return IRQ_HANDLED;
> +}
> +
> +static struct irqaction orion_clkevt_irq = {
> + .name = "orion_event",
> + .flags = IRQF_DISABLED | IRQF_TIMER,
IRQF_DISABLED is deprecated, it is a noop, you shall remove it.
> + .handler = orion_clkevt_irq_handler,
> +};
> +
> +static void __init orion_timer_init(struct device_node *np)
> +{
[ ... ]
> + /* setup timer1 as clockevent timer */
> + if (setup_irq(irq, &orion_clkevt_irq))
> + panic("%s: unable to setup irq\n", np->name);
> +
> + ticks_per_jiffy = (clk_get_rate(clk) + HZ/2) / HZ;
> + orion_clkevt.cpumask = cpumask_of(0);
orion_clkevt.irq = irq;
> + clockevents_config_and_register(&orion_clkevt, clk_get_rate(clk),
> + ORION_ONESHOT_MIN, ORION_ONESHOT_MAX);
> +}
> +CLOCKSOURCE_OF_DECLARE(orion_timer, "marvell,orion-timer", orion_timer_init);
>
--
<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
next prev parent reply other threads:[~2013-06-07 22:03 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 16:27 [PATCH 0/6] Marvell Orion SoC irqchip and clocksource Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 1/6] irqchip: add support for Marvell Orion SoCs Sebastian Hesselbarth
2013-06-11 8:46 ` Thomas Gleixner
2013-06-11 13:30 ` Thomas Gleixner
2013-06-11 13:37 ` Sebastian Hesselbarth
[not found] ` <51B7280B.7080604-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-11 13:45 ` Thomas Gleixner
2013-06-11 14:08 ` Sebastian Hesselbarth
2013-06-11 14:13 ` Thomas Gleixner
2013-06-11 14:17 ` Sebastian Hesselbarth
2013-06-11 13:48 ` Grant Likely
[not found] ` <1370536034-23956-1-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-06 16:27 ` [PATCH v3 2/6] clocksource: add Marvell Orion SoC timer Sebastian Hesselbarth
2013-06-07 22:03 ` Daniel Lezcano [this message]
2013-06-06 16:27 ` [PATCH v3 4/6] ARM: kirkwood: move device tree nodes to DT irqchip and clocksource Sebastian Hesselbarth
2013-06-07 8:30 ` Thomas Petazzoni
2013-06-07 9:15 ` Sebastian Hesselbarth
2013-06-07 11:51 ` Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 5/6] ARM: dove: convert " Sebastian Hesselbarth
2013-06-06 16:47 ` [PATCH 0/6] Marvell Orion SoC " Jason Gunthorpe
2013-06-06 17:13 ` Jason Cooper
2013-06-06 16:27 ` [PATCH v3 3/6] ARM: dove: move device tree nodes to DT " Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 6/6] ARM: kirkwood: convert " Sebastian Hesselbarth
2013-06-10 9:35 ` [PATCH v4 2/6] clocksource: add Marvell Orion SoC timer Sebastian Hesselbarth
2013-06-10 16:04 ` Daniel Lezcano
2013-06-10 16:31 ` Sebastian Hesselbarth
2013-06-10 16:44 ` Daniel Lezcano
2013-06-10 16:47 ` Sebastian Hesselbarth
2013-06-10 17:06 ` Daniel Lezcano
[not found] ` <51B6079E.5090602-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-10 17:09 ` Jason Cooper
2013-06-10 17:21 ` Daniel Lezcano
2013-06-10 17:25 ` Andrew Lunn
2013-06-11 8:45 ` [PATCH 0/6] Marvell Orion SoC irqchip and clocksource Thomas Gleixner
2013-06-11 12:35 ` Ezequiel Garcia
2013-06-11 12:41 ` Sebastian Hesselbarth
[not found] ` <51B71AF6.1090108-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-11 13:13 ` Thomas Gleixner
2013-06-11 13:14 ` Sebastian Hesselbarth
2013-06-11 15:27 ` Jason Cooper
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=51B258A1.2060107@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=andrew@lunn.ch \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@linaro.org \
--cc=gregory.clement@free-electrons.com \
--cc=jason@lakedaemon.net \
--cc=john.stultz@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=sebastian.hesselbarth@gmail.com \
--cc=tglx@linutronix.de \
--cc=thomas.petazzoni@free-electrons.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;
as well as URLs for NNTP newsgroup(s).