Merge branch 'master' of git://www.denx.de/git/u-boot-imx
[oweals/u-boot.git] / board / qemu-mips / qemu-mips.c
1 /*
2  * (C) Copyright 2007
3  * Vlad Lungu vlad.lungu@windriver.com
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <common.h>
9 #include <command.h>
10 #include <asm/mipsregs.h>
11 #include <asm/io.h>
12 #include <netdev.h>
13
14 DECLARE_GLOBAL_DATA_PTR;
15
16 int dram_init(void)
17 {
18         /* Sdram is setup by assembler code */
19         /* If memory could be changed, we should return the true value here */
20         gd->ram_size = MEM_SIZE * 1024 * 1024;
21
22         return 0;
23 }
24
25 int checkboard(void)
26 {
27         u32 proc_id;
28         u32 config1;
29
30         proc_id = read_c0_prid();
31         printf("Board: Qemu -M mips CPU: ");
32         switch (proc_id) {
33         case 0x00018000:
34                 printf("4Kc");
35                 break;
36         case 0x00018400:
37                 printf("4KEcR1");
38                 break;
39         case 0x00019000:
40                 printf("4KEc");
41                 break;
42         case 0x00019300:
43                 config1 = read_c0_config1();
44                 if (config1 & 1)
45                         printf("24Kf");
46                 else
47                         printf("24Kc");
48                 break;
49         case 0x00019500:
50                 printf("34Kf");
51                 break;
52         case 0x00000400:
53                 printf("R4000");
54                 break;
55         case 0x00018100:
56                 config1 = read_c0_config1();
57                 if (config1 & 1)
58                         printf("5Kf");
59                 else
60                         printf("5Kc");
61                 break;
62         case 0x000182a0:
63                 printf("20Kc");
64                 break;
65
66         default:
67                 printf("unknown");
68         }
69         printf(" proc_id=0x%x\n", proc_id);
70
71         return 0;
72 }
73
74 int misc_init_r(void)
75 {
76         set_io_port_base(0);
77         return 0;
78 }
79
80 int board_eth_init(bd_t *bis)
81 {
82         return ne2k_register();
83 }