summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/512x/mpc512x_generic.c
diff options
context:
space:
mode:
authorMatteo Facchinetti <matteo.facchinetti@sirius-es.it>2013-03-20 07:41:52 +0000
committerAnatolij Gustschin <agust@denx.de>2013-04-01 09:25:00 +0200
commitb9e7196ecdf6d7cd7a41b560e596c9af94413c05 (patch)
treed6b7a0a092c09daa32aa622803d185546ce5ea3b /arch/powerpc/platforms/512x/mpc512x_generic.c
parent534ada5ede3c9236f0bf3c5d77e0d060e66caa4f (diff)
downloadlwn-b9e7196ecdf6d7cd7a41b560e596c9af94413c05.tar.gz
lwn-b9e7196ecdf6d7cd7a41b560e596c9af94413c05.zip
powerpc/512x: move mpc5121_generic platform to mpc512x_generic.
This provides a base for using 512x_generic platform on mpc5125 boards. By this way 512x_GENERIC it could be used for all generic mpc512x boards and kernel could be compiled with mpc512x_defconfig. Signed-off-by: Matteo Facchinetti <matteo.facchinetti@sirius-es.it> [agust: applied s/mpc5121/mpc512x in mpc512x_generic.c] Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'arch/powerpc/platforms/512x/mpc512x_generic.c')
-rw-r--r--arch/powerpc/platforms/512x/mpc512x_generic.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/512x/mpc512x_generic.c b/arch/powerpc/platforms/512x/mpc512x_generic.c
new file mode 100644
index 000000000000..d53fa4fdff26
--- /dev/null
+++ b/arch/powerpc/platforms/512x/mpc512x_generic.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2007,2008 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * Author: John Rigby, <jrigby@freescale.com>
+ *
+ * Description:
+ * MPC512x SoC setup
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/of_platform.h>
+
+#include <asm/machdep.h>
+#include <asm/ipic.h>
+#include <asm/prom.h>
+#include <asm/time.h>
+
+#include "mpc512x.h"
+
+/*
+ * list of supported boards
+ */
+static const char * const board[] __initconst = {
+ "prt,prtlvt",
+ NULL
+};
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init mpc512x_generic_probe(void)
+{
+ return of_flat_dt_match(of_get_flat_dt_root(), board);
+}
+
+define_machine(mpc512x_generic) {
+ .name = "MPC512x generic",
+ .probe = mpc512x_generic_probe,
+ .init = mpc512x_init,
+ .init_early = mpc512x_init_diu,
+ .setup_arch = mpc512x_setup_diu,
+ .init_IRQ = mpc512x_init_IRQ,
+ .get_irq = ipic_get_irq,
+ .calibrate_decr = generic_calibrate_decr,
+ .restart = mpc512x_restart,
+};