generic.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*
  2. * Carsten Langgaard, carstenl@mips.com
  3. * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
  4. *
  5. * This program is free software; you can distribute it and/or modify it
  6. * under the terms of the GNU General Public License (Version 2) as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  12. * for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along
  15. * with this program; if not, write to the Free Software Foundation, Inc.,
  16. * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
  17. *
  18. * Defines of the MIPS boards specific address-MAP, registers, etc.
  19. */
  20. #ifndef __ASM_MIPS_BOARDS_GENERIC_H
  21. #define __ASM_MIPS_BOARDS_GENERIC_H
  22. #include <asm/addrspace.h>
  23. #include <asm/byteorder.h>
  24. #include <asm/mips-boards/bonito64.h>
  25. /*
  26. * Display register base.
  27. */
  28. #ifdef CONFIG_MIPS_SEAD
  29. #define ASCII_DISPLAY_POS_BASE 0x1f0005c0
  30. #else
  31. #define ASCII_DISPLAY_WORD_BASE 0x1f000410
  32. #define ASCII_DISPLAY_POS_BASE 0x1f000418
  33. #endif
  34. /*
  35. * Yamon Prom print address.
  36. */
  37. #define YAMON_PROM_PRINT_ADDR 0x1fc00504
  38. /*
  39. * Reset register.
  40. */
  41. #ifdef CONFIG_MIPS_SEAD
  42. #define SOFTRES_REG 0x1e800050
  43. #define GORESET 0x4d
  44. #else
  45. #define SOFTRES_REG 0x1f000500
  46. #define GORESET 0x42
  47. #endif
  48. /*
  49. * Revision register.
  50. */
  51. #define MIPS_REVISION_REG 0x1fc00010
  52. #define MIPS_REVISION_CORID_QED_RM5261 0
  53. #define MIPS_REVISION_CORID_CORE_LV 1
  54. #define MIPS_REVISION_CORID_BONITO64 2
  55. #define MIPS_REVISION_CORID_CORE_20K 3
  56. #define MIPS_REVISION_CORID_CORE_FPGA 4
  57. #define MIPS_REVISION_CORID_CORE_MSC 5
  58. #define MIPS_REVISION_CORID_CORE_EMUL 6
  59. #define MIPS_REVISION_CORID_CORE_FPGA2 7
  60. #define MIPS_REVISION_CORID_CORE_FPGAR2 8
  61. #define MIPS_REVISION_CORID_CORE_FPGA3 9
  62. #define MIPS_REVISION_CORID_CORE_24K 10
  63. #define MIPS_REVISION_CORID_CORE_FPGA4 11
  64. /**** Artificial corid defines ****/
  65. /*
  66. * CoreEMUL with Bonito System Controller is treated like a Core20K
  67. * CoreEMUL with SOC-it 101 System Controller is treated like a CoreMSC
  68. */
  69. #define MIPS_REVISION_CORID_CORE_EMUL_BON -1
  70. #define MIPS_REVISION_CORID_CORE_EMUL_MSC -2
  71. #define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
  72. extern int mips_revision_corid;
  73. #define MIPS_REVISION_SCON_OTHER 0
  74. #define MIPS_REVISION_SCON_SOCITSC 1
  75. #define MIPS_REVISION_SCON_SOCITSCP 2
  76. /* Artificial SCON defines for MIPS_REVISION_SCON_OTHER */
  77. #define MIPS_REVISION_SCON_UNKNOWN -1
  78. #define MIPS_REVISION_SCON_GT64120 -2
  79. #define MIPS_REVISION_SCON_BONITO -3
  80. #define MIPS_REVISION_SCON_BRTL -4
  81. #define MIPS_REVISION_SCON_SOCIT -5
  82. #define MIPS_REVISION_SCON_ROCIT -6
  83. #define MIPS_REVISION_SCONID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 24) & 0xff)
  84. extern int mips_revision_sconid;
  85. #ifdef CONFIG_PCI
  86. extern void mips_pcibios_init(void);
  87. #else
  88. #define mips_pcibios_init() do { } while (0)
  89. #endif
  90. #endif /* __ASM_MIPS_BOARDS_GENERIC_H */