summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/board/qemu-mips/qemu-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/board/qemu-mips/qemu-mips.c')
-rw-r--r--qemu/roms/u-boot/board/qemu-mips/qemu-mips.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/qemu/roms/u-boot/board/qemu-mips/qemu-mips.c b/qemu/roms/u-boot/board/qemu-mips/qemu-mips.c
new file mode 100644
index 000000000..563044eb0
--- /dev/null
+++ b/qemu/roms/u-boot/board/qemu-mips/qemu-mips.c
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright 2007
+ * Vlad Lungu vlad.lungu@windriver.com
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <asm/mipsregs.h>
+#include <asm/io.h>
+#include <netdev.h>
+
+phys_size_t initdram(int board_type)
+{
+ /* Sdram is setup by assembler code */
+ /* If memory could be changed, we should return the true value here */
+ return MEM_SIZE*1024*1024;
+}
+
+int checkboard(void)
+{
+ u32 proc_id;
+ u32 config1;
+
+ proc_id = read_c0_prid();
+ printf("Board: Qemu -M mips CPU: ");
+ switch (proc_id) {
+ case 0x00018000:
+ printf("4Kc");
+ break;
+ case 0x00018400:
+ printf("4KEcR1");
+ break;
+ case 0x00019000:
+ printf("4KEc");
+ break;
+ case 0x00019300:
+ config1 = read_c0_config1();
+ if (config1 & 1)
+ printf("24Kf");
+ else
+ printf("24Kc");
+ break;
+ case 0x00019500:
+ printf("34Kf");
+ break;
+ case 0x00000400:
+ printf("R4000");
+ break;
+ case 0x00018100:
+ config1 = read_c0_config1();
+ if (config1 & 1)
+ printf("5Kf");
+ else
+ printf("5Kc");
+ break;
+ case 0x000182a0:
+ printf("20Kc");
+ break;
+
+ default:
+ printf("unknown");
+ }
+ printf(" proc_id=0x%x\n", proc_id);
+
+ return 0;
+}
+
+int misc_init_r(void)
+{
+ set_io_port_base(0);
+ return 0;
+}
+
+int board_eth_init(bd_t *bis)
+{
+ return ne2k_register();
+}