m8260Siu.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* m8260Siu.h - Motorola MPC8260 System Integration Unit header file */
  2. /* Copyright 1984-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,07jun02,dtr  Changing size of PPC_ACR register.
  7. 01a,12sep99,ms_  created from m8260Cpm.h, 01d.
  8. */
  9. /*
  10.  * This file contains constants for System Integration Unit (SIU)
  11.  * in the Motorola MPC8260 PowerQUICC II integrated Communications
  12.  * Processor
  13.  */
  14. #ifndef __INCm8260Siuh
  15. #define __INCm8260Siuh
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.     
  20. #ifndef M8260ABBREVIATIONS
  21. #define M8260ABBREVIATIONS
  22. #ifdef  _ASMLANGUAGE
  23. #define CAST(x)
  24. #else /* _ASMLANGUAGE */
  25. typedef volatile UCHAR VCHAR;   /* shorthand for volatile UCHAR */
  26. typedef volatile INT32 VINT32; /* volatile unsigned word */
  27. typedef volatile INT16 VINT16; /* volatile unsigned halfword */
  28. typedef volatile INT8 VINT8;   /* volatile unsigned byte */
  29. typedef volatile UINT32 VUINT32; /* volatile unsigned word */
  30. typedef volatile UINT16 VUINT16; /* volatile unsigned halfword */
  31. typedef volatile UINT8 VUINT8;   /* volatile unsigned byte */
  32. #define CAST(x) (x)
  33. #endif  /* _ASMLANGUAGE */
  34. #endif /* M8260ABBREVIATIONS */
  35. /*
  36.  * MPC8260 internal register/memory map (section 17 of prelim. spec)
  37.  * note that these are offsets from the value stored in the IMMR
  38.  * register. Also note that in the MPC8260, the IMMR is not a special
  39.  * purpose register, but it is memory mapped.
  40.  */
  41.  
  42. /* General SIU registers */
  43.  
  44. /* SIU Module Configuration Register */
  45. #define M8260_SIUMCR(base)      (CAST(VUINT32 *)((base) + 0x10000))
  46.  
  47. /* Protection Ctrl */
  48. #define M8260_SYPCR(base)       (CAST(VUINT32 *)((base) + 0x10004))
  49.  
  50. /* SW Service Reg */
  51. #define M8260_SWSR(base)        (CAST(VUINT16 *)((base) + 0x1000E))
  52.  
  53. /* Bus Configuration Register */
  54. #define M8260_BCR(base)         (CAST(VUINT32 *)((base) + 0x10024))
  55.  
  56. /* 60x Bus Arbiter Configuration Register */
  57. #define M8260_PPC_ACR(base)     (CAST(VUINT8 *)((base) + 0x10028))
  58.  
  59. /* 60x Bus Arbitration Level Register High */
  60. #define M8260_PPC_ALRH(base)    (CAST(VUINT32 *)((base) + 0x1002c))
  61.  
  62. /* 60x Bus Transfer Error Control Status */
  63. #define M8260_TESCR1(base)      (CAST(VUINT32 *)((base) + 0x10040))
  64.  
  65. /* Local Bus Transfer Error Control Status */
  66. #define M8260_LTESCR1(base)     (CAST(VUINT32 *)((base) + 0x10048))
  67. /* System Protection Control register bit definition (SYPCR - 0x04) */
  68. #define M8260_SYPCR_SWTC        0xffff0000      /* Software 'dog Timer Count */
  69. #define M8260_SYPCR_BMT         0x0000ff00      /* Bus Monitor Timing */
  70. #define M8260_SYPCR_PBME        0x00000080      /* 60x Bus Monitor Enable */
  71. #define M8260_SYPCR_LBME        0x00000040      /* local Bus Monitor Enable */
  72. #define M8260_SYPCR_SWE         0x00000004      /* Software Watchdog Enable */
  73. #define M8260_SYPCR_SWRI        0x00000002      /* Software Watchdog Reset/Int*/
  74. #define M8260_SYPCR_SWP         0x00000001      /* Software Watchdog Prescale */
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78. #endif /* __INCm8260Siuh */