From: andrew@lunn.ch (Andrew Lunn)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/21] ARM: Kirkwood: Seperate board-dt from common and pcie code.
Date: Fri, 7 Feb 2014 00:42:01 +0100 [thread overview]
Message-ID: <1391730137-14814-6-git-send-email-andrew@lunn.ch> (raw)
In-Reply-To: <1391730137-14814-1-git-send-email-andrew@lunn.ch>
In order to be able to move DT support into mach-mvebu, the DT code
needs to be cleanly separated from common and pcie code. Import the
needed bits of these files into board-dt.c. The "common" code then
becomes purely legacy, supporting none DT boards, so reflect this in
the Makefile targets.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
arch/arm/mach-kirkwood/Makefile | 3 +-
arch/arm/mach-kirkwood/board-dt.c | 88 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 88 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index dc22bf5b21ed..3a72c5c6e747 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -1,5 +1,4 @@
-obj-y += common.o pcie.o
-obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o
+obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o common.o pcie.o
obj-$(CONFIG_PM) += pm.o
obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index a0c0ff39788e..64151a4a378f 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -21,11 +21,97 @@
#include <linux/irqchip.h>
#include <linux/kexec.h>
#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
#include <mach/bridge-regs.h>
#include <plat/common.h>
-#include "common.h"
+#include <plat/cache-feroceon-l2.h>
+#include <plat/pcie.h>
#include "pm.h"
+static struct map_desc kirkwood_io_desc[] __initdata = {
+ {
+ .virtual = (unsigned long) KIRKWOOD_REGS_VIRT_BASE,
+ .pfn = __phys_to_pfn(KIRKWOOD_REGS_PHYS_BASE),
+ .length = KIRKWOOD_REGS_SIZE,
+ .type = MT_DEVICE,
+ },
+};
+
+static void __init kirkwood_map_io(void)
+{
+ iotable_init(kirkwood_io_desc, ARRAY_SIZE(kirkwood_io_desc));
+}
+
+static void __init kirkwood_l2_init(void)
+{
+#ifdef CONFIG_CACHE_FEROCEON_L2
+#ifdef CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH
+ writel(readl(L2_CONFIG_REG) | L2_WRITETHROUGH, L2_CONFIG_REG);
+ feroceon_l2_init(1);
+#else
+ writel(readl(L2_CONFIG_REG) & ~L2_WRITETHROUGH, L2_CONFIG_REG);
+ feroceon_l2_init(0);
+#endif
+#endif
+}
+
+static struct resource kirkwood_cpufreq_resources[] = {
+ [0] = {
+ .start = CPU_CONTROL_PHYS,
+ .end = CPU_CONTROL_PHYS + 3,
+ .flags = IORESOURCE_MEM,
+ },
+};
+
+static struct platform_device kirkwood_cpufreq_device = {
+ .name = "kirkwood-cpufreq",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(kirkwood_cpufreq_resources),
+ .resource = kirkwood_cpufreq_resources,
+};
+
+static void __init kirkwood_cpufreq_init(void)
+{
+ platform_device_register(&kirkwood_cpufreq_device);
+}
+
+static struct resource kirkwood_cpuidle_resource[] = {
+ {
+ .flags = IORESOURCE_MEM,
+ .start = DDR_OPERATION_BASE,
+ .end = DDR_OPERATION_BASE + 3,
+ },
+};
+
+static struct platform_device kirkwood_cpuidle = {
+ .name = "kirkwood_cpuidle",
+ .id = -1,
+ .resource = kirkwood_cpuidle_resource,
+ .num_resources = 1,
+};
+
+static void __init kirkwood_cpuidle_init(void)
+{
+ platform_device_register(&kirkwood_cpuidle);
+}
+
+/* Temporary here since mach-mvebu has a function we can use */
+static void kirkwood_restart(enum reboot_mode mode, const char *cmd)
+{
+ /*
+ * Enable soft reset to assert RSTOUTn.
+ */
+ writel(SOFT_RESET_OUT_EN, RSTOUTn_MASK);
+
+ /*
+ * Assert soft reset.
+ */
+ writel(SOFT_RESET, SYSTEM_SOFT_RESET);
+
+ while (1)
+ ;
+}
+
#define MV643XX_ETH_MAC_ADDR_LOW 0x0414
#define MV643XX_ETH_MAC_ADDR_HIGH 0x0418
--
1.8.5.3
next prev parent reply other threads:[~2014-02-06 23:42 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-06 23:41 [PATCH 00/21] Move DT kirkwood into mach-mvebu Andrew Lunn
2014-02-06 23:41 ` [PATCH 01/21] ARM: Kirkwood: Give pm.c its own header file Andrew Lunn
2014-02-06 23:41 ` [PATCH 02/21] IRQ: Orion: Fix getting generic chip pointer Andrew Lunn
2014-02-07 2:38 ` Jason Cooper
2014-02-07 22:32 ` Sebastian Hesselbarth
2014-02-08 15:45 ` Jason Cooper
2014-02-06 23:41 ` [PATCH 03/21] ARM: Kirkwood: Convert mv88f6281gtw_ge switch setup to DT Andrew Lunn
2014-02-07 8:25 ` Thomas Petazzoni
2014-02-07 9:02 ` Andrew Lunn
2014-02-06 23:42 ` [PATCH 04/21] ARM: Kirkwood: Drop printing the SoC type and revision Andrew Lunn
2014-02-06 23:42 ` Andrew Lunn [this message]
2014-02-06 23:42 ` [PATCH 06/21] ARM: Kirkwood: ioremap the cpu_config register before using it Andrew Lunn
2014-02-06 23:42 ` [PATCH 07/21] ARM: Kirkwood: ioremap memory control register Andrew Lunn
2014-02-06 23:42 ` [PATCH 08/21] ARM: MVEBU: Add ARCH_MULTI_V7 to SoCs Andrew Lunn
2014-02-06 23:42 ` [PATCH 09/21] ARM: Orion: Move cache-feroceon-l2.h out of plat-orion Andrew Lunn
2014-02-06 23:42 ` [PATCH 10/21] ARM: MM: Add DT binding for Feroceon L2 cache Andrew Lunn
2014-02-07 0:51 ` Jason Gunthorpe
2014-02-07 1:27 ` Jason Cooper
2014-02-07 9:32 ` Andrew Lunn
2014-02-07 14:31 ` Jason Cooper
2014-02-07 18:13 ` Jason Gunthorpe
2014-02-07 14:48 ` Sudeep Holla
2014-02-07 18:21 ` Jason Gunthorpe
2014-02-07 19:12 ` Sudeep Holla
2014-02-06 23:42 ` [PATCH 11/21] ARM: Fix default CPU selection for ARCH_MULTI_V5 Andrew Lunn
2014-02-06 23:42 ` [PATCH 12/21] ARM: Fix MULTI_TLB for feroceon Andrew Lunn
2014-02-06 23:42 ` [PATCH 13/21] ARM: MM Enable building Feroceon L2 cache controller with ARCH_MVEBU Andrew Lunn
2014-02-06 23:42 ` [PATCH 14/21] ARM: Move kirkwood DT boards into mach-mvebu Andrew Lunn
2014-02-06 23:42 ` [PATCH 15/21] ARM: MVEBU: Let kirkwood use the system controller for restart Andrew Lunn
2014-02-07 1:37 ` Jason Cooper
2014-02-06 23:42 ` [PATCH 16/21] drivers: Enable building of Kirkwood drivers for mach-mvebu Andrew Lunn
2014-02-07 1:59 ` Jason Cooper
2014-02-07 9:13 ` Andrew Lunn
2014-02-07 14:35 ` Jason Cooper
2014-02-06 23:42 ` [PATCH 17/21] ARM: MVEBU: Enable mvebu-soc-id on Kirkwood Andrew Lunn
2014-02-06 23:42 ` [PATCH 18/21] ARM: config: Add a multi_v5_defconfig Andrew Lunn
2014-02-06 23:42 ` [PATCH 19/21] ARM: MVEBU: Simplifiy headers and make local Andrew Lunn
2014-02-07 8:31 ` Thomas Petazzoni
2014-02-07 9:20 ` Andrew Lunn
2014-02-07 9:36 ` Thomas Petazzoni
2014-02-07 9:45 ` Andrew Lunn
2014-02-07 18:27 ` Jason Gunthorpe
2014-02-06 23:42 ` [PATCH 20/21] ARM: MVEBU: Remove unneeded headers Andrew Lunn
2014-02-07 2:02 ` Jason Cooper
2014-02-06 23:42 ` [PATCH 21/21] ARM: Kirkwood: Remove DT support Andrew Lunn
2014-02-07 8:33 ` Thomas Petazzoni
2014-02-07 9:12 ` Andrew Lunn
2014-02-07 15:03 ` Jason Cooper
2014-02-07 15:09 ` Thomas Petazzoni
2014-02-07 15:15 ` Jason Cooper
2014-02-07 17:31 ` Sebastian Hesselbarth
2014-02-10 18:09 ` Andrew Lunn
2014-02-07 17:34 ` Sebastian Hesselbarth
2014-02-07 18:48 ` Jason Cooper
2014-02-20 10:30 ` Ian Campbell
2014-02-20 10:58 ` Andrew Lunn
2014-02-20 11:19 ` Russell King - ARM Linux
2014-02-20 11:28 ` Andrew Lunn
2014-02-20 11:39 ` Ian Campbell
2014-02-20 23:26 ` Jason Cooper
2014-02-24 16:00 ` Ian Campbell
2014-02-24 16:24 ` Andrew Lunn
2014-02-24 16:26 ` Ian Campbell
2014-02-24 16:34 ` Jason Cooper
2014-05-03 13:19 ` Automatically detecting when to use kirkwood-tsXXX-6281.dtb vs -6282.dtb (Was: Re: [PATCH 21/21] ARM: Kirkwood: Remove DT support) Ian Campbell
2014-05-03 14:40 ` Andrew Lunn
2014-05-05 8:44 ` Ian Campbell
2014-02-20 11:34 ` [PATCH 21/21] ARM: Kirkwood: Remove DT support Ian Campbell
2014-02-20 12:18 ` Andrew Lunn
2014-02-20 12:51 ` Ian Campbell
2014-02-20 13:23 ` Andrew Lunn
2014-02-20 14:24 ` Ian Campbell
2014-02-21 2:00 ` Ben Hutchings
2014-02-21 13:16 ` Arnd Bergmann
2014-02-24 16:03 ` Ian Campbell
2014-02-24 20:09 ` Ben Hutchings
2014-02-20 13:53 ` Arnd Bergmann
2014-02-20 14:21 ` Ian Campbell
2014-02-20 15:19 ` Arnd Bergmann
2014-02-21 1:47 ` Ben Hutchings
2014-02-21 13:07 ` Arnd Bergmann
2014-02-21 15:58 ` Jason Cooper
2014-02-21 19:51 ` Ben Hutchings
2014-02-20 13:04 ` Arnd Bergmann
2014-02-20 14:22 ` Ian Campbell
2014-02-20 12:09 ` Arnd Bergmann
2014-02-20 23:24 ` Jason Cooper
2014-02-21 15:52 ` Thomas Petazzoni
2014-02-21 16:36 ` Arnd Bergmann
2014-02-21 16:41 ` Andrew Lunn
2014-02-21 16:42 ` Jason Cooper
2014-02-23 21:44 ` Simon Guinot
2014-02-25 12:44 ` Arnd Bergmann
2014-02-25 13:05 ` Simon Guinot
2014-02-25 15:36 ` Arnd Bergmann
2014-02-25 15:09 ` Simon Guinot
2014-02-25 15:59 ` Arnd Bergmann
2014-02-07 1:14 ` [PATCH 00/21] Move DT kirkwood into mach-mvebu 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=1391730137-14814-6-git-send-email-andrew@lunn.ch \
--to=andrew@lunn.ch \
--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).