ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
authorBarry Song <Baohua.Song@csr.com>
Thu, 23 Aug 2012 05:41:57 +0000 (13:41 +0800)
committerBarry Song <Barry.Song@csr.com>
Tue, 28 Aug 2012 09:06:10 +0000 (17:06 +0800)
we will have SiRFMarco and SiRFPolo, all of them will be in the
generic board.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
arch/arm/mach-prima2/Makefile
arch/arm/mach-prima2/common.c [new file with mode: 0644]
arch/arm/mach-prima2/prima2.c [deleted file]

index 841847d56032657b3855fe3e4a28b6988a3e5244..f2cde60812a69a5900cf230879a4074d6b16fd29 100644 (file)
@@ -1,7 +1,7 @@
 obj-y := timer.o
 obj-y += irq.o
 obj-y += rstc.o
-obj-y += prima2.o
+obj-y += common.o
 obj-y += rtciobrg.o
 obj-$(CONFIG_DEBUG_LL) += lluart.o
 obj-$(CONFIG_CACHE_L2X0) += l2x0.o
diff --git a/arch/arm/mach-prima2/common.c b/arch/arm/mach-prima2/common.c
new file mode 100644 (file)
index 0000000..f25a541
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Defines machines for CSR SiRFprimaII
+ *
+ * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <asm/sizes.h>
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+#include "common.h"
+
+static struct of_device_id sirfsoc_of_bus_ids[] __initdata = {
+       { .compatible = "simple-bus", },
+       {},
+};
+
+void __init sirfsoc_mach_init(void)
+{
+       of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
+}
+
+void __init sirfsoc_init_late(void)
+{
+       sirfsoc_pm_init();
+}
+
+#ifdef CONFIG_ARCH_PRIMA2
+static const char *prima2_dt_match[] __initdata = {
+       "sirf,prima2",
+       NULL
+};
+
+DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
+       /* Maintainer: Barry Song <baohua.song@csr.com> */
+       .map_io         = sirfsoc_map_lluart,
+       .init_irq       = sirfsoc_of_irq_init,
+       .timer          = &sirfsoc_timer,
+       .dma_zone_size  = SZ_256M,
+       .init_machine   = sirfsoc_mach_init,
+       .init_late      = sirfsoc_init_late,
+       .dt_compat      = prima2_dt_match,
+       .restart        = sirfsoc_restart,
+MACHINE_END
+#endif
diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c
deleted file mode 100644 (file)
index e9a17ae..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Defines machines for CSR SiRFprimaII
- *
- * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
- *
- * Licensed under GPLv2 or later.
- */
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <asm/sizes.h>
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-#include <linux/of.h>
-#include <linux/of_platform.h>
-#include "common.h"
-
-static struct of_device_id sirfsoc_of_bus_ids[] __initdata = {
-       { .compatible = "simple-bus", },
-       {},
-};
-
-void __init sirfsoc_mach_init(void)
-{
-       of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
-}
-
-void __init sirfsoc_init_late(void)
-{
-       sirfsoc_pm_init();
-}
-
-static const char *prima2cb_dt_match[] __initdata = {
-       "sirf,prima2-cb",
-       NULL
-};
-
-MACHINE_START(PRIMA2_EVB, "prima2cb")
-       /* Maintainer: Barry Song <baohua.song@csr.com> */
-       .atag_offset    = 0x100,
-       .map_io         = sirfsoc_map_lluart,
-       .init_irq       = sirfsoc_of_irq_init,
-       .timer          = &sirfsoc_timer,
-       .dma_zone_size  = SZ_256M,
-       .init_machine   = sirfsoc_mach_init,
-       .init_late      = sirfsoc_init_late,
-       .dt_compat      = prima2cb_dt_match,
-       .restart        = sirfsoc_restart,
-MACHINE_END