From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [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 at lists.ozlabs.org
> Cc: linux-doc at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at 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
WARNING: multiple messages have this Message-ID (diff)
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: 90+ 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 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 1/6] irqchip: add support for Marvell Orion SoCs Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-11 8:46 ` Thomas Gleixner
2013-06-11 8:46 ` Thomas Gleixner
2013-06-11 13:30 ` Thomas Gleixner
2013-06-11 13:30 ` Thomas Gleixner
2013-06-11 13:37 ` Sebastian Hesselbarth
2013-06-11 13:37 ` Sebastian Hesselbarth
2013-06-11 13:45 ` Thomas Gleixner
2013-06-11 13:45 ` Thomas Gleixner
2013-06-11 13:45 ` Thomas Gleixner
2013-06-11 14:08 ` Sebastian Hesselbarth
2013-06-11 14:08 ` Sebastian Hesselbarth
2013-06-11 14:13 ` Thomas Gleixner
2013-06-11 14:13 ` Thomas Gleixner
2013-06-11 14:17 ` Sebastian Hesselbarth
2013-06-11 14:17 ` Sebastian Hesselbarth
2013-06-11 13:48 ` Grant Likely
2013-06-11 13:48 ` Grant Likely
2013-06-11 13:48 ` Grant Likely
2013-06-12 20:48 ` [tip:irq/core] irqchip: Add " tip-bot for Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 2/6] clocksource: add Marvell Orion SoC timer Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-07 22:03 ` Daniel Lezcano [this message]
2013-06-07 22:03 ` Daniel Lezcano
2013-06-06 16:27 ` [PATCH v3 3/6] ARM: dove: move device tree nodes to DT irqchip and clocksource Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 4/6] ARM: kirkwood: " Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-07 8:30 ` Thomas Petazzoni
2013-06-07 8:30 ` Thomas Petazzoni
2013-06-07 8:30 ` Thomas Petazzoni
2013-06-07 9:15 ` Sebastian Hesselbarth
2013-06-07 9:15 ` Sebastian Hesselbarth
2013-06-07 9:15 ` Sebastian Hesselbarth
2013-06-07 11:51 ` 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:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` [PATCH v3 6/6] ARM: kirkwood: " Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:27 ` Sebastian Hesselbarth
2013-06-06 16:47 ` [PATCH 0/6] Marvell Orion SoC " Jason Gunthorpe
2013-06-06 16:47 ` Jason Gunthorpe
2013-06-06 16:47 ` Jason Gunthorpe
2013-06-06 17:13 ` Jason Cooper
2013-06-06 17:13 ` Jason Cooper
2013-06-06 17:13 ` Jason Cooper
2013-06-10 9:35 ` [PATCH v4 2/6] clocksource: add Marvell Orion SoC timer Sebastian Hesselbarth
2013-06-10 9:35 ` Sebastian Hesselbarth
2013-06-10 9:35 ` Sebastian Hesselbarth
2013-06-10 16:04 ` Daniel Lezcano
2013-06-10 16:04 ` Daniel Lezcano
2013-06-10 16:31 ` Sebastian Hesselbarth
2013-06-10 16:31 ` Sebastian Hesselbarth
2013-06-10 16:44 ` Daniel Lezcano
2013-06-10 16:44 ` Daniel Lezcano
2013-06-10 16:47 ` Sebastian Hesselbarth
2013-06-10 16:47 ` Sebastian Hesselbarth
2013-06-10 17:06 ` Daniel Lezcano
2013-06-10 17:06 ` Daniel Lezcano
2013-06-10 17:09 ` Jason Cooper
2013-06-10 17:09 ` Jason Cooper
2013-06-10 17:09 ` Jason Cooper
2013-06-10 17:21 ` Daniel Lezcano
2013-06-10 17:21 ` Daniel Lezcano
2013-06-10 17:25 ` Andrew Lunn
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 8:45 ` Thomas Gleixner
2013-06-11 12:35 ` Ezequiel Garcia
2013-06-11 12:35 ` Ezequiel Garcia
2013-06-11 12:41 ` Sebastian Hesselbarth
2013-06-11 12:41 ` Sebastian Hesselbarth
2013-06-11 13:13 ` Thomas Gleixner
2013-06-11 13:13 ` Thomas Gleixner
2013-06-11 13:13 ` Thomas Gleixner
2013-06-11 13:14 ` Sebastian Hesselbarth
2013-06-11 13:14 ` Sebastian Hesselbarth
2013-06-11 15:27 ` Jason Cooper
2013-06-11 15:27 ` Jason Cooper
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=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 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.