qemu-mips.c 1.3 KB

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