All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 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.