xref: /openbmc/u-boot/board/qemu-mips/qemu-mips.c (revision baefb63a)
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 }
84