amigappc.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * BK Id: SCCS/s.amigappc.h 1.5 05/17/01 18:14:24 cort
  3.  */
  4. /*
  5. ** asm-m68k/amigappc.h -- This header defines some values and pointers for
  6. **                        the Phase 5 PowerUp card.
  7. **
  8. ** Copyright 1997, 1998 by Phase5, Germany.
  9. **
  10. ** This file is subject to the terms and conditions of the GNU General Public
  11. ** License.  See the file COPYING in the main directory of this archive
  12. ** for more details.
  13. **
  14. ** Created: 7/22/97 by Jesper Skov
  15. */
  16. #ifdef __KERNEL__
  17. #ifndef _M68K_AMIGAPPC_H
  18. #define _M68K_AMIGAPPC_H
  19. #ifndef __ASSEMBLY__
  20. /* #include <asm/system.h> */
  21. #define mb()  __asm__ __volatile__ ("sync" : : : "memory")
  22. #define APUS_WRITE(_a_, _v_)
  23. do {
  24. (*((volatile unsigned char *)(_a_)) = (_v_));
  25. mb();
  26. } while (0)
  27. #define APUS_READ(_a_, _v_)
  28. do {
  29. (_v_) = (*((volatile unsigned char *)(_a_)));
  30. mb();
  31. } while (0)
  32. #endif /* ndef __ASSEMBLY__ */
  33. /* Maybe add a [#ifdef WANT_ZTWOBASE] condition to amigahw.h? */
  34. #define zTwoBase (0x80000000)
  35. #define APUS_IPL_BASE    (zTwoBase + 0x00f60000)
  36. #define APUS_REG_RESET     (APUS_IPL_BASE + 0x00)
  37. #define APUS_REG_WAITSTATE     (APUS_IPL_BASE + 0x10)
  38. #define APUS_REG_SHADOW     (APUS_IPL_BASE + 0x18)
  39. #define APUS_REG_LOCK (APUS_IPL_BASE + 0x20)
  40. #define APUS_REG_INT     (APUS_IPL_BASE + 0x28)
  41. #define APUS_IPL_EMU (APUS_IPL_BASE + 0x30)
  42. #define APUS_INT_LVL (APUS_IPL_BASE + 0x38)
  43. #define REGSHADOW_SETRESET (0x80)
  44. #define REGSHADOW_SELFRESET (0x40)
  45. #define REGLOCK_SETRESET (0x80)
  46. #define REGLOCK_BLACKMAGICK1 (0x40)
  47. #define REGLOCK_BLACKMAGICK2 (0x20)
  48. #define REGLOCK_BLACKMAGICK3 (0x10)
  49. #define REGWAITSTATE_SETRESET (0x80)
  50. #define REGWAITSTATE_PPCW (0x08)
  51. #define REGWAITSTATE_PPCR (0x04)
  52. #define REGRESET_SETRESET (0x80)
  53. #define REGRESET_PPCRESET (0x10)
  54. #define REGRESET_M68KRESET (0x08)
  55. #define REGRESET_AMIGARESET (0x04)
  56. #define REGRESET_AUXRESET (0x02)
  57. #define REGRESET_SCSIRESET (0x01)
  58. #define REGINT_SETRESET (0x80)
  59. #define REGINT_ENABLEIPL (0x02)
  60. #define REGINT_INTMASTER (0x01)
  61. #define IPLEMU_SETRESET (0x80)
  62. #define IPLEMU_DISABLEINT (0x40)
  63. #define IPLEMU_IPL2 (0x20)
  64. #define IPLEMU_IPL1 (0x10)
  65. #define IPLEMU_IPL0 (0x08)
  66. #define IPLEMU_PPCIPL2 (0x04)
  67. #define IPLEMU_PPCIPL1 (0x02)
  68. #define IPLEMU_PPCIPL0 (0x01)
  69. #define IPLEMU_IPLMASK (IPLEMU_PPCIPL2|IPLEMU_PPCIPL1|IPLEMU_PPCIPL0)
  70. #define INTLVL_SETRESET         (0x80)
  71. #define INTLVL_MASK             (0x7f)
  72. #endif /* _M68k_AMIGAPPC_H */
  73. #endif /* __KERNEL__ */