All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: linux-arm-kernel@lists.infradead.org,
	Imre Kaloz <kaloz@openwrt.org>,
	Krzysztof Halasa <khalasa@piap.pl>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH 13/31 v3] clocksource/drivers/ixp4xx: Add OF initialization support
Date: Mon,  8 Apr 2019 08:28:13 +0200	[thread overview]
Message-ID: <20190408062831.16422-14-linus.walleij@linaro.org> (raw)
In-Reply-To: <20190408062831.16422-1-linus.walleij@linaro.org>

This adds support for setting up the IXP4xx timer driver from
device tree.

Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v1->v3:
- Rebased on v5.1-rc1
- Requesting an ACK from the clocksource maintainers,
  see my reply to Daniel:
  https://marc.info/?l=linux-arm-kernel&m=155160578307914&w=2
---
 drivers/clocksource/timer-ixp4xx.c | 35 ++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/drivers/clocksource/timer-ixp4xx.c b/drivers/clocksource/timer-ixp4xx.c
index fa78f80792db..404445bc11ea 100644
--- a/drivers/clocksource/timer-ixp4xx.c
+++ b/drivers/clocksource/timer-ixp4xx.c
@@ -16,6 +16,8 @@
 #include <linux/slab.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
 /* Goes away with OF conversion */
 #include <linux/platform_data/timer-ixp4xx.h>
 
@@ -247,3 +249,36 @@ void __init ixp4xx_timer_setup(resource_size_t timerbase,
 	ixp4xx_timer_register(base, timer_irq, timer_freq);
 }
 EXPORT_SYMBOL_GPL(ixp4xx_timer_setup);
+
+#ifdef CONFIG_OF
+static __init int ixp4xx_of_timer_init(struct device_node *np)
+{
+	void __iomem *base;
+	int irq;
+	int ret;
+
+	base = of_iomap(np, 0);
+	if (!base) {
+		pr_crit("IXP4xx: can't remap timer\n");
+		return -ENODEV;
+	}
+
+	irq = irq_of_parse_and_map(np, 0);
+	if (irq <= 0) {
+		pr_err("Can't parse IRQ\n");
+		ret = -EINVAL;
+		goto out_unmap;
+	}
+
+	/* TODO: get some fixed clocks into the device tree */
+	ret = ixp4xx_timer_register(base, irq, 66666000);
+	if (ret)
+		goto out_unmap;
+	return 0;
+
+out_unmap:
+	iounmap(base);
+	return ret;
+}
+TIMER_OF_DECLARE(ixp4xx, "intel,ixp4xx-timer", ixp4xx_of_timer_init);
+#endif
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-04-08  6:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-08  6:28 [PATCH 00/31 v3] ARM: ixp4xx: Modernize and DT support Linus Walleij
2019-04-08  6:28 ` [PATCH 01/31 v3] ARM: ixp4xx: Add myself as maintainer Linus Walleij
2019-04-08  6:28 ` [PATCH 02/31 v3] ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER Linus Walleij
2019-04-08  6:28 ` [PATCH 03/31 v3] ARM: ixp4xx: Pass IRQ resource to beeper Linus Walleij
2019-04-08  6:28 ` [PATCH 04/31 v3] ARM: ixp4xx: Convert to SPARSE_IRQ Linus Walleij
2019-04-08  6:28 ` [PATCH 05/31 v3] irqchip: Add driver for IXP4xx Linus Walleij
2019-04-08  6:28 ` [PATCH 06/31 v3] gpio: ixp4xx: Add driver for the IXP4xx GPIO Linus Walleij
2019-04-08  6:28 ` [PATCH 07/31 v3] ARM: ixp4xx: Switch to use new IRQ+GPIO drivers Linus Walleij
2019-04-08  6:28 ` [PATCH 08/31 v3] clocksource/drivers/ixp4xx: Add driver Linus Walleij
2019-04-08  6:28 ` [PATCH 09/31 v3] ARM: ixp4xx: Switch to use new timer driver Linus Walleij
2019-04-08  6:28 ` [PATCH 10/31 v3] irqchip: ixp4xx: Add DT bindings Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-08  6:28 ` [PATCH 11/31 v3] irqchip: ixp4xx: Add OF initialization support Linus Walleij
2019-04-08  6:28 ` [PATCH 12/31 v3] clocksource/drivers/ixp4xx: Add DT bindings Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-08  6:28 ` Linus Walleij [this message]
2019-04-08  6:28 ` [PATCH 14/31 v3] gpio: ixp4xx: " Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-08  6:28 ` [PATCH 15/31 v3] gpio: ixp4xx: Add OF probing support Linus Walleij
2019-04-08  6:28 ` [PATCH 16/31 v3] ARM: ixp4xx: Add DT bindings Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-08  6:28 ` [PATCH 17/31 v3] ARM: ixp4xx: Add device tree boot support Linus Walleij
2019-04-08  6:28 ` [PATCH 18/31 v3] ARM: dts: Add some initial IXP4xx device trees Linus Walleij
2019-04-08  6:28 ` [PATCH 19/31 v3] ARM: ixp4xx: Move NPE and QMGR to drivers/soc Linus Walleij
2019-04-08  6:28 ` [PATCH 20/31 v3] ARM: ixp4xx: Move IXP4xx QMGR and NPE headers Linus Walleij
2019-04-08  6:28 ` [PATCH 21/31 v3] ARM: ixp4xx: Turn the NPE into a platform device Linus Walleij
2019-04-08  6:28 ` [PATCH 22/31 v3] ARM: ixp4xx: Turn the QMGR " Linus Walleij
2019-04-08  6:28 ` [PATCH 23/31 v3] soc: ixp4xx: npe: Pass addresses as resources Linus Walleij
2019-04-08  6:28 ` [PATCH 24/31 v3] soc: ixp4xx: Uninline several functions Linus Walleij
2019-04-08  6:28 ` [PATCH 25/31 v3] soc: ixp4xx: Remove unused functions Linus Walleij
2019-04-08  6:28 ` [PATCH 26/31 v3] soc: ixp4xx: qmgr: Pass resources Linus Walleij
2019-04-08  6:28 ` [PATCH 27/31 v3] soc: ixp4xx: Add DT bindings for IXP4xx NPE Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-09 13:44   ` Rob Herring
2019-04-09 13:44     ` Rob Herring
2019-04-08  6:28 ` [PATCH 28/31 v3] soc: ixp4xx: npe: Add DT probe code Linus Walleij
2019-04-08  6:28 ` [PATCH 29/31 v3] soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr Linus Walleij
2019-04-08  6:28   ` Linus Walleij
2019-04-09 13:12   ` Rob Herring
2019-04-09 13:12     ` Rob Herring
2019-04-08  6:28 ` [PATCH 30/31 v3] soc: ixp4xx: qmgr: Add DT probe code Linus Walleij
2019-04-08  6:28 ` [PATCH 31/31 v3] ARM: dts: Add queue manager and NPE to the IXP4xx DTSI Linus Walleij

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=20190408062831.16422-14-linus.walleij@linaro.org \
    --to=linus.walleij@linaro.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=kaloz@openwrt.org \
    --cc=khalasa@piap.pl \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=tglx@linutronix.de \
    /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.