qemu-mips.c 1.3 KB

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