aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/philips/pnx8550/stb810/board_setup.c
diff options
context:
space:
mode:
authorVitaly Wool <vitalywool@gmail.com>2006-12-08 11:40:35 +0300
committerRalf Baechle <ralf@linux-mips.org>2006-12-09 01:04:00 +0000
commitf0647a52974daccbe20990fb6341f07792445fe0 (patch)
tree535e0cc2f3dc79136656eee10820fdbcc57bc841 /arch/mips/philips/pnx8550/stb810/board_setup.c
parentc25c79d80e02db1bd993426f979c5f1b42a0f132 (diff)
[PATCH] add STB810 support (Philips PNX8550-based)
Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/philips/pnx8550/stb810/board_setup.c')
-rw-r--r--arch/mips/philips/pnx8550/stb810/board_setup.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/mips/philips/pnx8550/stb810/board_setup.c b/arch/mips/philips/pnx8550/stb810/board_setup.c
new file mode 100644
index 00000000000..345d71e53cf
--- /dev/null
+++ b/arch/mips/philips/pnx8550/stb810/board_setup.c
@@ -0,0 +1,49 @@
+/*
+ * STB810 specific board startup routines.
+ *
+ * Based on the arch/mips/philips/pnx8550/jbs/board_setup.c
+ *
+ * Author: MontaVista Software, Inc.
+ * source@mvista.com
+ *
+ * Copyright 2005 MontaVista Software Inc.
+ *
+ * This program 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/init.h>
+#include <linux/sched.h>
+#include <linux/ioport.h>
+#include <linux/mm.h>
+#include <linux/console.h>
+#include <linux/mc146818rtc.h>
+#include <linux/delay.h>
+
+#include <asm/cpu.h>
+#include <asm/bootinfo.h>
+#include <asm/irq.h>
+#include <asm/mipsregs.h>
+#include <asm/reboot.h>
+#include <asm/pgtable.h>
+
+#include <glb.h>
+
+void __init board_setup(void)
+{
+ unsigned long config0, configpr;
+
+ config0 = read_c0_config();
+
+ /* clear all three cache coherency fields */
+ config0 &= ~(0x7 | (7<<25) | (7<<28));
+ config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) |
+ (CONF_CM_DEFAULT<<28));
+ write_c0_config(config0);
+
+ configpr = read_c0_config7();
+ configpr |= (1<<19); /* enable tlb */
+ write_c0_config7(configpr);
+}