generic.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. /**** Artificial corid defines ****/
  64. /*
  65. * CoreEMUL with Bonito System Controller is treated like a Core20K
  66. * CoreEMUL with SOC-it 101 System Controller is treated like a CoreMSC
  67. */
  68. #define MIPS_REVISION_CORID_CORE_EMUL_BON 0x63
  69. #define MIPS_REVISION_CORID_CORE_EMUL_MSC 0x65
  70. #define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
  71. extern unsigned int mips_revision_corid;
  72. #ifdef CONFIG_PCI
  73. extern void mips_pcibios_init(void);
  74. #else
  75. #define mips_pcibios_init() do { } while (0)
  76. #endif
  77. #endif /* __ASM_MIPS_BOARDS_GENERIC_H */