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