]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
powerpc: Xilinx: Add reboot support for the PowerPC 440.
authorNicolas Boichat <nicolas@boichat.ch>
Thu, 12 Jun 2008 06:15:48 +0000 (14:15 +0800)
committerJohn Linn <john.linn@xilinx.com>
Thu, 12 Jun 2008 14:06:29 +0000 (07:06 -0700)
Reboot support for 405 was previously added and broke the 440 code
as it was using a symbolic link to the 405 virtex.c.  This deletes the
symbolic link and adds a unique file for the 440 that supports reboot.

Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: John Linn <john.linn@xilinx.com>
arch/powerpc/platforms/44x/virtex.c [changed from symlink to file mode: 0644]

deleted file mode 120000 (symlink)
index 1e55691d514531e639512fb8070986269edde9fa..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../40x/virtex.c
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..2bcff974fe01c8fe9a2e0d0aa5ff8527d4b56529
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Xilinx Virtex 5FXT based board support
+ *
+ * Copyright 2007 Secret Lab Technologies Ltd.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <linux/init.h>
+#include <linux/of_platform.h>
+#include <asm/machdep.h>
+#include <asm/prom.h>
+#include <asm/time.h>
+#include <asm/xilinx_intc.h>
+#include <asm/reg.h>
+#include "44x.h"
+
+static struct of_device_id xilinx_of_bus_ids[] __initdata = {
+       { .compatible = "simple-bus", },
+       { .compatible = "xlnx,plb-v46-1.00.a", },
+       { .compatible = "xlnx,plb-v46-1.02.a", },
+       { .compatible = "xlnx,plb-v34-1.01.a", },
+       { .compatible = "xlnx,plb-v34-1.02.a", },
+       { .compatible = "xlnx,opb-v20-1.10.c", },
+       { .compatible = "xlnx,dcr-v29-1.00.a", },
+       { .compatible = "xlnx,compound", },
+       {}
+};
+
+static int __init virtex_device_probe(void)
+{
+       of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL);
+
+       return 0;
+}
+machine_device_initcall(virtex, virtex_device_probe);
+
+static int __init virtex_probe(void)
+{
+       unsigned long root = of_get_flat_dt_root();
+
+       if (!of_flat_dt_is_compatible(root, "xlnx,virtex"))
+               return 0;
+
+       return 1;
+}
+
+define_machine(virtex) {
+       .name                   = "Xilinx Virtex",
+       .probe                  = virtex_probe,
+       .init_IRQ               = xilinx_intc_init_tree,
+       .get_irq                = xilinx_intc_get_irq,
+       .calibrate_decr         = generic_calibrate_decr,
+       .restart                = ppc44x_reset_system,
+};