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

VxWorks

开发平台:

C/C++

  1. /* mpc107pci.h - MPC107 register Definitions  for PCI  */
  2. /* Copyright 1984-2000 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,11sep00,rcs  fix includes
  7. 01a,06jun00,bri written
  8. */
  9. #ifndef __INCmpc107Pcih
  10. #define __INCmpc107Pcih
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. /* includes */
  15. #include "drv/multi/mpc107.h"
  16. /* defines */
  17. /* PCI Definitions */
  18. /* PCI CONFIG_ADDR & CONFIG_DATA */
  19. #define MPC107_PCI_MSTR_CFG_ADRS    mpc107PciMstrCfgAdrs  /* Config Address */
  20. #define MPC107_PCI_MSTR_CFG_ADRS_A  0x80800000  /* Config Address  MAP A */
  21. #define MPC107_PCI_MSTR_CFG_ADRS_B  0xfec00000  /* Config Address  MAP B */
  22. #define MPC107_PCI_MSTR_CFG_SIZE    mpc107PciMstrCfgSize  /* Config size */
  23. #define MPC107_PCI_MSTR_CFG_SIZE_A  0x007fffff  /* 8MB for PREP map */
  24. #define MPC107_PCI_MSTR_CFG_SIZE_B  0x002fffff  /* 3MB for CHRP map */
  25. /* PCI IO space ,CPU View */
  26. #define MPC107_PCI_MSTR_IO_LOCAL    mpc107PciMstrIoLocal/* CPU to PCI IO addr */
  27. #define MPC107_PCI_MSTR_IO_LOCAL_A  0x81000000  /* I/O Address MAP A */
  28. #define MPC107_PCI_MSTR_IO_LOCAL_B  0xfe800000  /* I/O Address MAP B */
  29. #define MPC107_PCI_MSTR_IO_SIZE    mpc107PciMstrIoSize /* I/O SIZE */
  30. #define MPC107_PCI_MSTR_IO_SIZE_A   0x3E7FFFFF /* I/O SIZE MAP A */
  31. #define MPC107_PCI_MSTR_IO_SIZE_B   0x003fffff /* I/O SIZE MAP B */
  32. /* PCI IO space ,PCI Bus  View */
  33. #define MPC107_PCI_MSTR_IO_BUS mpc107PciMstrIoBus /* PCI bus view I/O space */
  34. #define MPC107_PCI_MSTR_IO_BUS_A  0x01000000  /* PCI bus view I/O space MAP A */
  35. #define MPC107_PCI_MSTR_IO_BUS_B  0x00800000  /* PCI bus view I/O space MAP B */
  36. /* PCI IACK space (read to generate PCI IACK) */
  37. #define MPC107_PCI_MSTR_IACK_LOCAL   mpc107PciMstrIackLocal /* IACK space */
  38. #define MPC107_PCI_MSTR_IACK_LOCAL_A 0xbffffff0  /* IACK space  MAP A */
  39. #define MPC107_PCI_MSTR_IACK_LOCAL_B 0xfef00000  /* IACK space  MAP B */
  40. #define MPC107_PCI_MSTR_IACK_SIZE_A  0xf   /* IACK size MAP A  */
  41. #define MPC107_PCI_MSTR_IACK_SIZE_B  0xfffff     /* IACK size for MAP B */
  42. #define MPC107_PCI_MSTR_IACK_SIZE    mpc107PciMstrIackSize /* IACK size */
  43. /* PCI (non-prefetchable) memory space  CPU view */
  44. #define MPC107_PCI_MSTR_MEMIO_LOCAL mpc107PciMstrMemIoLocal /* PCI memio */
  45. #define MPC107_PCI_MSTR_MEMIO_LOCAL_A 0xc0000000         /* Mem space MAP A */
  46. #define MPC107_PCI_MSTR_MEMIO_LOCAL_B 0x80000000         /* Mem space MAP B */
  47. #define MPC107_PCI_MSTR_MEMIO_SIZE     mpc107PciMemorySize /* Mem size  */
  48. #define MPC107_PCI_MSTR_MEMIO_SIZE_A 0x3EFFFFFF          /* Mem size MAP A */
  49. #define MPC107_PCI_MSTR_MEMIO_SIZE_B 0x7CFFFFFF          /* Mem size MAP B */
  50. /* PCI (non-prefetchable) memory space  PCI view */
  51. #define MPC107_PCI_MSTR_MEMIO_BUS     mpc107PciMstrMemIoBus/* PCI view Memory */
  52. #define MPC107_PCI_MSTR_MEMIO_BUS_A   0x0        /* PCI bus view Memory MAP A */
  53. #define MPC107_PCI_MSTR_MEMIO_BUS_B   0x80000000 /* PCI bus view Memory MAP B */
  54. /*
  55.  * Slave window that makes local (60x bus) memory visible to PCI
  56.  * devices.
  57.  */
  58. #define MPC107_PCI_SLV_MEM_BUS    mpc107PciSlvMemBus /* PCI to CPU memory */
  59. #define MPC107_PCI_SLV_MEM_BUS_A  0x80000000 /* PCI to CPU memory MAP A */
  60. #define MPC107_PCI_SLV_MEM_BUS_B  0x00000000 /* PCI to CPU memory MAP B */
  61. #define MPC107_PCI_SLV_MEM_SIZE  MPC107_LOCAL_MEM_SIZE /* memory SIZE */
  62. /* macro definitions specifically for pciConfigLib and pciAutoConfigLib */
  63. /* pciAutoConfigLib */
  64. /* PCI prefetchable memory space */
  65. #define MPC107_PCI_MEM_ADRS 0 /* Prefetchable memory Address */
  66. #define MPC107_PCI_MEM_SIZE 0 /* Prefetchable Memory Size  */
  67. /* PCI (non-prefetchable) memory space */
  68. #define MPC107_PCI_MEMIO_ADRS (MPC107_PCI_MSTR_MEMIO_BUS  + 
  69.                                MPC107_PCI_RSRVD_MEM)/* Address */
  70. #define MPC107_PCI_MEMIO_SIZE (MPC107_PCI_MSTR_MEMIO_SIZE - 
  71.                                MPC107_PCI_RSRVD_MEM)/* Size */
  72. /* PCI IO space */
  73. #define MPC107_PCI_IO_ADRS 
  74.   (MPC107_PCI_MSTR_IO_BUS  +  MPC107_PCI_RSRVD_IO) /* Address */
  75. #define MPC107_PCI_IO_SIZE 
  76.               (MPC107_PCI_MSTR_IO_SIZE - MPC107_PCI_RSRVD_IO) /* Size */
  77. #define MPC107_PCI_LAT_TIMER 0xff /* default latency timer value */
  78. #define MPC107_PCI_MAX_BUS 0xf  /* MAX # of PCI buses expected */
  79. #define MPC107_NUM_PCI_SLOTS 0x4  /* 4 PCI slots: 0 to 3 */
  80. /* Reserved from pciAutoConfig */
  81. #define MPC107_PCI_RSRVD_MEM 0 /* PCI  Memory Reserved from pciAutoConfig */
  82. #define MPC107_PCI_RSRVD_IO 0 /* PCI I/O reserved from pciAutoConfig */
  83. /* PCI Access macro's */
  84. /* PCI (non-prefetchable) memory adrs to CPU (60x bus) adrs */
  85. #define MPC107_PCI_MEMIO2LOCAL(x) 
  86.      ((INT32)(x) + MPC107_PCI_MSTR_MEMIO_LOCAL - MPC107_PCI_MSTR_MEMIO_BUS)
  87. /* PCI IO memory adrs to CPU (60x bus) adrs */
  88. #define MPC107_PCI_IO2LOCAL(x) 
  89.      ((INT32)(x) + MPC107_PCI_MSTR_IO_LOCAL - MPC107_PCI_MSTR_IO_BUS)
  90. /* 60x bus adrs to PCI (non-prefetchable) memory address */
  91. #define MPC107_LOCAL2PCI_MEMIO(x) 
  92.      ((INT32)(x) + MPC107_PCI_SLV_MEM_BUS)
  93. /* PCI device configuration definitions */
  94. #ifndef PCI_CFG_FORCE
  95. #    define PCI_CFG_FORCE 0x0     /* UNSUPPORTED */
  96. #endif
  97. #ifndef PCI_CFG_AUTO
  98. #     define PCI_CFG_AUTO 0x1 /* IS SUPPORTED */
  99. #endif
  100. #ifndef PCI_CFG_NONE
  101. #    define PCI_CFG_NONE 0x2 /* UNSUPPORTED */
  102. #endif
  103. /* PCI configuration type */
  104. #ifndef PCI_CFG_TYPE
  105. #define PCI_CFG_TYPE PCI_CFG_AUTO
  106. #endif
  107. /* function declrations */
  108. IMPORT void  mpc107MemMapDetect(void);
  109. #ifdef __cplusplus
  110. }
  111. #endif
  112. #endif /* __INCmpc107Pcih */