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

VxWorks

开发平台:

C/C++

  1. /* mpc107.h - MPC107 General Configuration registers   */
  2. /* Copyright 1984-2000 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,15sep01,dat  Gnu-diab, use of WRS_ASM macro
  7. 01b,11sep00,rcs  Add MCP107_DELTA macro
  8. 01a,23may00,bri written
  9. */
  10. #ifndef __INCmpc107h
  11. #define __INCmpc107h
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. /* defines */
  16. /* MPC107 device and vendor ID's */
  17. #define MPC107_VEN_ID 0x1057      /* Motorola Vendor ID */
  18. #define MPC107_DEV_ID 0x0003      /* MPC107 Device ID */
  19. #define MPC107_DEV_VEN_ID    0x00031057   /* (DevId << 16) + VenId */
  20. /* MPC107 configuration adrs and data register for map A & B */
  21. #define MPC107_CFG_ADDR_PREP 0x80000cf8   /* MPC107 cfg reg map A */
  22. #define MPC107_CFG_DATA_PREP 0x80000cfc   /* MPC107 cfg data map A */
  23. #define MPC107_CFG_ADDR_CHRP 0xfec00000   /* MPC107 cfg reg map B */
  24. #define MPC107_CFG_DATA_CHRP 0xfee00000   /* MPC107 cfg data map B */
  25. #define MPC107_PICR1_MAPB 0x0        /* PICR1 bit 16 map B */
  26. #define MPC107_PICR1_MAPA 0x1          /* PICR1 bit 16 map A */
  27. /* MPC107 indirect configuration registers */
  28. #define MPC107_CFG_BASE 0x80000000   /* Base adrs of cfg regs */
  29. #define MPC107_CFG_BASE_16  0x8000      /* MPC107_CFG_BASE >> 16 */
  30. #define MPC107_PCICMD_ADRS (MPC107_CFG_BASE + 0x04) /* PCI Cmd reg */
  31. #define MPC107_PCISTAT_ADRS (MPC107_CFG_BASE + 0x06) /* PCI status reg */
  32. #define MPC107_PCIREVID_ADRS (MPC107_CFG_BASE + 0x08) /* PCI RevId reg */
  33. #define MPC107_PCISTDPROG_ADRS (MPC107_CFG_BASE + 0x09) /* PCI Standard */
  34.                                                          /* Program Interface */
  35. #define MPC107_PCISUBCLAS_ADRS (MPC107_CFG_BASE + 0x0a) /* PCI SubClass reg */
  36. #define MPC107_PCIBASECLAS_ADRS (MPC107_CFG_BASE + 0x0b) /* PCI BaseClas reg */
  37. #define MPC107_PCICACHLINE_ADRS (MPC107_CFG_BASE + 0x0c) /* PCI Cache Line */
  38.                                                          /* Size reg */
  39. #define MPC107_PCIHEADER_ADRS (MPC107_CFG_BASE + 0x0d) /* PCI Head Typ reg */
  40. #define MPC107_PCIBIST_ADRS (MPC107_CFG_BASE + 0x0e) /* PCI BIST reg */
  41. #define MPC107_LOCMEMBAR_ADRS (MPC107_CFG_BASE + 0x10) /* Local Memory Base */
  42.                                                          /* Address Register */
  43. #define MPC107_PCSRBAR_ADRS (MPC107_CFG_BASE + 0x14) /* Peripheral Cont */
  44.                                                          /* & Status Register */
  45.                                                          /* Base Address Reg */
  46. #define MPC107_PCIINTLINE_ADRS (MPC107_CFG_BASE + 0x3c) /* PCI Int Line reg */
  47. #define MPC107_PCIINTPIN_ADRS (MPC107_CFG_BASE + 0x3d) /* PCI Int Pin reg */
  48. #define MPC107_PCIMINGNT_ADRS (MPC107_CFG_BASE + 0x3e) /* PCI Min Gran reg */
  49. #define MPC107_PCIMAXLAT_ADRS (MPC107_CFG_BASE + 0x3f) /* PCI Max Lat reg */
  50. #define MPC107_PCIARBCONT_ADRS (MPC107_CFG_BASE + 0x46) /* PCI Arb Cont reg */
  51. #define MPC107_PMCR1_ADRS (MPC107_CFG_BASE + 0x70) /* Power Management */
  52.                                                          /* Config Reg-1 */
  53. #define MPC107_PMCR2_ADRS (MPC107_CFG_BASE + 0x72) /* Power Management */
  54.                                                          /* Config Reg-2 */
  55. #define MPC107_ODCR_ADRS (MPC107_CFG_BASE + 0x73) /* out driver reg */
  56. #define MPC107_CDCR_ADRS (MPC107_CFG_BASE + 0x74) /* Clk Driv Cnt reg */
  57. #define MPC107_MIOCR_ADRS (MPC107_CFG_BASE + 0x76) /* Misc i/o Cnt reg */
  58. #define MPC107_EUMBBAR_ADRS (MPC107_CFG_BASE + 0x78) /* Embedded Utilitie */
  59.                                                          /* Memory Block Base */
  60.                                                          /* address */
  61. #define MPC107_MSAR1_ADRS (MPC107_CFG_BASE + 0x80) /* MSAR1 */
  62. #define MPC107_XMSAR1_ADRS (MPC107_CFG_BASE + 0x88) /* XMSAR1 */
  63. #define MPC107_MEAR1_ADRS (MPC107_CFG_BASE + 0x90) /* MEAR1 */
  64. #define MPC107_XMEAR1_ADRS (MPC107_CFG_BASE + 0x98) /* XMEAR1 */
  65. #define MPC107_MSAR2_ADRS   (MPC107_CFG_BASE + 0x84) /* MSAR2 */
  66. #define MPC107_XMSAR2_ADRS (MPC107_CFG_BASE + 0x8c) /* XMSAR2 */
  67. #define MPC107_MEAR2_ADRS (MPC107_CFG_BASE + 0x94) /* MEAR2 */
  68. #define MPC107_XMEAR2_ADRS (MPC107_CFG_BASE + 0x9c) /* XMEAR2 */
  69. #define MPC107_MBER_ADRS (MPC107_CFG_BASE + 0xa0) /* MBER */
  70. #define MPC107_MPMR_ADRS (MPC107_CFG_BASE + 0xa3) /* Page mode reg */
  71. #define MPC107_PICR1_ADRS    (MPC107_CFG_BASE + 0xa8) /* PICR1 adrs */
  72. #define MPC107_PICR2_ADRS    (MPC107_CFG_BASE + 0xac) /* PICR2 adrs */
  73. /* MPC107 Diagnostic Registers */
  74. #define MPC107_DIAGS_BASE (EUMB_BASE + 0x80000)
  75. #define MCP107_MDP_ERR_INJ_MASK_DH  0xF_F000 /* Data High Err Inject Msk */
  76. #define MCP107_MDP_ERR_INJ_MASK_DL  0xF_F004 /* Data Low Err Inject Msk */
  77. #define MCP107_MDP_ERR_INJ_MASK_PAR 0xF_F008 /* Data Par Err Inject Msk */
  78. #define MCP107_MDP_ERR_CAP_MON_DH  0xF_F00c /* Data High Err Capture Mon */
  79. #define MCP107_MDP_ERR_CAP_MON_DL  0xF_F010 /* Data Low Err Capture Mon */
  80. #define MCP107_MDP_ERR_CAP_MON_PAR 0xF_F014 /* Data Par Err Capture Mon */
  81. #define MPC107_PICR1_ADRSMAP_MSK 0x00010000 /* Mask to determine address Map */
  82.     /* PREP or CHRP */
  83. #define MPC107_ECCSBEC_ADRS  (MPC107_CFG_BASE + 0xb8) /* ECC single Bit */
  84.                                                       /* error count Reg */
  85. #define MPC107_ECCSBETR_ADRS (MPC107_CFG_BASE + 0xb9) /* ECC single Bit */
  86.                                                       /* error trig Reg */
  87. #define MPC107_ERRENR1_ADRS  (MPC107_CFG_BASE + 0xc0) /* Err Enable Reg-1 */
  88. #define MPC107_ERRDR1_ADRS   (MPC107_CFG_BASE + 0xc1) /* Err Detect Reg-1 */
  89. #define MPC107_PBSES_ADRS    (MPC107_CFG_BASE + 0xc3) /* Processor Err Bus */
  90. #define MPC107_ERRENR2_ADRS  (MPC107_CFG_BASE + 0xc4) /* Err Enable reg-2 */
  91. #define MPC107_ERRDR2_ADRS   (MPC107_CFG_BASE + 0xc5) /* Err Detect Reg-2 */
  92. #define MPC107_PCIBES_ADRS   (MPC107_CFG_BASE + 0xc7) /* PCI Bus/Stat Err */
  93. #define MPC107_PPCIEAR_ADRS  (MPC107_CFG_BASE + 0xc8) /* Processor/PCI Bus */
  94.                                                       /* Error address Reg */
  95. #define MPC107_ADMBO_ADRS    (MPC107_CFG_BASE + 0xe0) /* Addr Map B Opt */
  96. #define MPC107_MCCR1_ADRS    (MPC107_CFG_BASE + 0xf0) /* MCCR1 */
  97. #define MPC107_MCCR2_ADRS    (MPC107_CFG_BASE + 0xf4) /* MCCR2 */
  98. #define MPC107_MCCR3_ADRS    (MPC107_CFG_BASE + 0xf8) /* MCCR3 */
  99. #define MPC107_MCCR4_ADRS    (MPC107_CFG_BASE + 0xfc) /* MCCR4 */
  100. /* MPC107 Latency Timer register */
  101. #define MPC107_LAT_MAX_HOLD 0xf8      /* max PCI clocks for bus hold */
  102. #define MPC107_LAT_MIN_LAT 0x07      /* min latency timer value */
  103. /* MPC107 - PCI arbiter control Register */
  104. #define MPC107_PAC_IAE 0x00008000 /* internal arbiter enabled */
  105. #define MPC107_PAC_PARK_MASK    0x00006000 /* park mode control mask */
  106. #define MPC107_PAC_PARK_LAST    0x00000000 /* park mode cntrl, last device */
  107. #define MPC107_PAC_PARK_REQ0    0x00002000 /* park mode using REQ0/GNT0) */
  108. #define MPC107_PAC_PARK_MPC107  0x00004000 /* park mode control (MPC107) */
  109. #define MPC107_PAC_RPCC         0x00000400 /* retry PCI configuration cycle */
  110. #define MPC107_PAC_PPRI_LVL     0x00000080 /* MPC107 priority level: 1=high */
  111. #define MPC107_PAC_EDPL_MASK    0x0000000f /* ext dev priority lvl mask */
  112. #define MPC107_PAC_EDPL_REQ0    0x00000008 /* ext dev pty lvl REQ3/GNT3 */
  113. #define MPC107_PAC_EDPL_REQ1    0x00000004 /* ext dev pty lvl REQ2/GNT2 */
  114. #define MPC107_PAC_EDPL_REQ2    0x00000002 /* ext dev pty lvl REQ1/GNT1 */
  115. #define MPC107_PAC_EDPL_REQ3    0x00000001 /* ext dev pty lvl REQ0/GNT0 */
  116. /* MPC107 - power management configuration #1 Register */
  117. #define MPC107_PMC1_NO_NAP_MSG    0x00008000 /* no message before nap */
  118. #define MPC107_PMC1_NO_SLEEP_MSG  0x00004000 /* no message before sleep */
  119. #define MPC107_PMC1_LP_REF_EN     0x00001000 /* rfrsh enbl in low pwr mode */
  120. #define MPC107_PMC1_SUSP_QACK     0x00000400 /* QACK_ enable */
  121. #define MPC107_PMC1_PM            0x00000080 /* power mananagement enable */
  122. #define MPC107_PMC1_DOZE          0x00000020 /* doze mode */
  123. #define MPC107_PMC1_NAP           0x00000010 /* nap mode */
  124. #define MPC107_PMC1_SLEEP         0x00000008 /* sleep mode */
  125. #define MPC107_PMC1_CKO_MODE_MASK 0x00000006 /* clock output mode - mask */
  126. #define MPC107_PMC1_CKO_MODE_D    0x00000000 /* clk output mode - disable */
  127. #define MPC107_PMC1_CKO_MODE_S    0x00000002 /* clk out mode - system clk */
  128. #define MPC107_PMC1_CKO_MODE_1H   0x00000004 /* clk out mode - 1/2 PCI rate */
  129. #define MPC107_PMC1_CKO_MODE_P    0x00000006 /* clk out mode - PCI rate */
  130. #define MPC107_PMC1_CKO_SEL       0x00000001 /* clk out mode select */
  131. /* MPC107 - power management configuration #2 Register */
  132. #define MPC107_PMC2_DLL_EXTEND    0x00000080 /* extend DLL by a half clock */
  133. #define MPC107_PMC2_PCI_OHD_MASK  0x00000070 /* PCI out hold delay (mask) */
  134. #define MPC107_PMC2_PCI_OHD_SHIFT 4          /* PCI out hold delay (shift) */
  135. #define MPC107_PMC2_SLEEP         0x00000004 /* get PLL when exiting sleep */
  136. #define MPC107_PMC2_SUSPEND       0x00000002 /* get PLL when exiting suspend*/
  137. #define MPC107_PMC2_SHARED_MCP    0x00000001 /* disable MCP assertion */
  138. /* MPC107 - output driver control Register */
  139. #define MPC107_ODC_DRV_PCI           0x00000080 /* PCI drive: 0=hi, 1=med */
  140. #define MPC107_ODC_DRV_STD           0x00000040 /* STD drive: 0=hi, 1=med */
  141. #define MPC107_ODC_DRV_MEM_CTRL_MASK 0x00000030 /* mem ctrl drive: mask */
  142. #define MPC107_ODC_DRV_MEM_CTRL_40   0x00000000 /* mem ctrl drive: 40-ohms */
  143. #define MPC107_ODC_DRV_MEM_CTRL_20   0x00000010 /* mem ctrl drive: 20-ohms */
  144. #define MPC107_ODC_DRV_MEM_CTRL_13_3 0x00000020 /* mem ctrl drive: 13.3-ohms */
  145. #define MPC107_ODC_DRV_MEM_CTRL_8    0x00000030 /* mem ctrl drive: 8-ohms */
  146. #define MPC107_ODC_DRV_PCI_CLK_MASK  0x0000000c /* PCI clock drive: mask */
  147. #define MPC107_ODC_DRV_PCI_CLK_40    0x00000000 /* PCI clock drive: 40-ohms */
  148. #define MPC107_ODC_DRV_PCI_CLK_20    0x00000004 /* PCI clock drive: 20-ohms */
  149. #define MPC107_ODC_DRV_PCI_CLK_13_3  0x00000008 /* PCI clock drive: 13.3-ohms */
  150. #define MPC107_ODC_DRV_PCI_CLK_8     0x0000000c /* PCI clock drive: 8-ohms */
  151. #define MPC107_ODC_DRV_MEM_CLK_MASK  0x00000003 /* mem clock drive: mask */
  152. #define MPC107_ODC_DRV_MEM_CLK_40    0x00000000 /* mem clock drive: 40-ohms */
  153. #define MPC107_ODC_DRV_MEM_CLK_20    0x00000001 /* mem clock drive: 20-ohms */
  154. #define MPC107_ODC_DRV_MEM_CLK_13_3  0x00000002 /* mem clock drive: 13.3-ohms */
  155. #define MPC107_ODC_DRV_MEM_CLK_8     0x00000003 /* mem clock drive: 8-ohms */
  156. /* MPC107 - clock driver control Register */
  157. #define MPC107_CDC_PCI_CLK_0        0x00004000  /* PCI_CLK(0) disable */
  158. #define MPC107_CDC_PCI_CLK_1        0x00002000  /* PCI_CLK(1) disable */
  159. #define MPC107_CDC_PCI_CLK_2        0x00001000  /* PCI_CLK(2) disable */
  160. #define MPC107_CDC_PCI_CLK_3        0x00000800  /* PCI_CLK(3) disable */
  161. #define MPC107_CDC_PCI_CLK_4        0x00000400  /* PCI_CLK(4) disable */
  162. #define MPC107_CDC_SDRAM_CLK_0      0x00000040  /* SDRAM_CLK(0) disable */
  163. #define MPC107_CDC_SDRAM_CLK_1      0x00000020  /* SDRAM_CLK(1) disable */
  164. #define MPC107_CDC_SDRAM_CLK_2      0x00000010  /* SDRAM_CLK(2) disable */
  165. #define MPC107_CDC_SDRAM_CLK_3      0x00000008  /* SDRAM_CLK(3) disable */
  166. /* MPC107 - processor interface configuration #1 Register */
  167. #define MPC107_PIC1_CF_BREAD_WS_MASK  0x00c00000 /* wait states mask */
  168. #define MPC107_PIC1_CF_BREAD_WS_SHIFT 22         /* wait states shift */
  169. #define MPC107_PIC1_RCS0              0x00100000 /* ROM location */
  170. #define MPC107_PIC1_PROC_TYPE_MASK    0x00060000 /* processor type mask */
  171. #define MPC107_PIC1_PROC_TYPE_SHIFT   17         /* processor type shift */
  172. #define MPC107_PIC1_ADDRESS_MAP       0x00010000 /* address map */
  173. #define MPC107_PIC1_FLASH_WR_EN       0x00001000 /* FLASH write enable */
  174. #define MPC107_PIC1_MCP_EN            0x00000800 /* machine check enable */
  175. #define MPC107_PIC1_CF_DPARK          0x00000200 /* processor data bus park */
  176. #define MPC107_PIC1_STORE_GATHER      0x00000040 /* store gathering enable */
  177. #define MPC107_PIC1_ENDIAN_MODE       0x00000020 /* endian mode */
  178. #define MPC107_PIC1_CF_LOOP_SNOOP     0x00000010 /* PCI-to-mem snoop loop en */
  179. #define MPC107_PIC1_CF_APARK          0x00000008 /* processor addr bus park */
  180. #define MPC107_PIC1_SPECULATIVE       0x00000004 /* speculative PCI from */
  181.                                              /* memory read enable */
  182. /* MPC107 - processor interface configuration #2 Register */
  183. #define MPC107_PIC2_NO_SER_ON_CFG  0x20000000 /* disable PCI serialization */
  184. #define MPC107_PIC2_NO_SNOOP_EN    0x08000000 /* disable PCI snoop */
  185. #define MPC107_PIC2_CF_FF0_LOCAL   0x04000000 /* ROM PCI address map */
  186. #define MPC107_PIC2_FLSH_WR_LCK_EN 0x02000000 /* disable FLASH writes */
  187. #define MPC107_PIC2_CF_SNOOP_WS_M  0x00c00000 /* snoop addr phase wait state*/
  188. #define MPC107_PIC2_CF_SNOOP_WS_S  18         /* snoop addr wait shift */
  189. #define MPC107_PIC2_CF_APHASE_WS_M 0x0000000c /* proc addr phase wait states*/
  190. #define MPC107_PIC2_CF_APHASE_WS_S 2          /* proc addr phase wait shift */
  191. /* MPC107 - emulation support */
  192. #define MPC107_ES_CPU_FD_ALIAS_EN  0x00000080 /* forward FDxxxxxx to PCI */
  193. #define MPC107_ES_PCI_FD_ALIAS_EN  0x00000040 /* forward FDxxxxxx to CPU */
  194. #define MPC107_ES_DLL_RESET    0x00000020 /* reset the DLL */
  195. #define MPC107_ES_PCI_COMPAT_HOLE  0x00000008 /* PCI compatibil hole enable */
  196. #define MPC107_ES_PROC_COMPAT_HOLE 0x00000004 /* proc compatibility hole en */
  197. /* MPC107 - error enable #1 Register */
  198. #define MPC107_EE1_PCI_TARG_ABORT   0x00000080  /* PCI target abort */
  199. #define MPC107_EE1_PCI_PERR_SLAVE   0x00000040  /* PCI slace PERR */
  200. #define MPC107_EE1_MEM_SELECT       0x00000020  /* memory select */
  201. #define MPC107_EE1_MEM_REFRESH      0x00000010  /* memory refresh overflow */
  202. #define MPC107_EE1_PCI_PERR_MSTR    0x00000008  /* PCI master PERR */
  203. #define MPC107_EE1_MEM_READ_PARITY  0x00000004  /* memory read parity */
  204. #define MPC107_EE1_PCI_MSTR_ABORT   0x00000002  /* PCI master abort */
  205. #define MPC107_EE1_LOCAL_BUS_ERROR  0x00000001  /* local bus error */
  206. /* MPC107 - error detection #1 Register */
  207. #define MPC107_ED1_SERR            0x00000080 /* SERR_ received */
  208. #define MPC107_ED1_PCI_PERR_SLAVE  0x00000040 /* PCI slace PERR */
  209. #define MPC107_ED1_MEM_SELECT      0x00000020 /* memory select */
  210. #define MPC107_ED1_MEM_REFRESH     0x00000010 /* memory refresh overflow */
  211. #define MPC107_ED1_CYCLE_SPACE     0x00000008 /* cycle type: 0=local, 1=PCI */
  212. #define MPC107_ED1_MEM_READ_PARITY 0x00000004 /* memory read parity */
  213. #define MPC107_ED1_ULBC_MASK       0x00000003 /* unsupported local bus */
  214.       /* cycle mask */
  215. #define MPC107_ED1_ULBC_NO_ERROR   0x00000000 /* no error detected */
  216. #define MPC107_ED1_ULBC_UTA        0x00000001 /* unsupported transfer */
  217.       /* attributes */
  218. /* MPC107 - CPU Bus Error Status Register */
  219. #define MPC107_CPU_BUS_ERR_TT_MASK    0x000000f8
  220. #define MPC107_CPU_BUS_ERR_TSIZ_MASK  0x00000007
  221. /* MPC107 - error enable #2 */
  222. #define MPC107_EE2_PCI_ADRS_PARITY  0x00000080 /* PCI address parity error */
  223. #define MPC107_EE2_ECC_MULTIBIT     0x00000008 /* ECC multi-bit error */
  224. #define MPC107_EE2_60X_MEM_WRITE_P  0x00000004 /* 60X mem write parity error */
  225. #define MPC107_EE2_FLASH_ROM_WRITE  0x00000001 /* Flash ROM write error */
  226. /* MPC107 - error detection #2 Register */
  227. #define MPC107_ED2_IEA              0x00000080 /* invalid error address */
  228. #define MPC107_ED2_ECC_MULTIBIT     0x00000008 /* ECC multi-bit error */
  229. #define MPC107_ED2_60X_MEM_WRITE_P  0x00000004 /* 60X mem write parity error */
  230. #define MPC107_ED2_FLASH_ROM_WRITE  0x00000001 /* Flash ROM write error */
  231. /* MCP107 - PCI Bus Error Status Register */
  232. #define MPC107_CPU_BUS_TARGET      0x00000010 /* 1=bus target,0=bus master */
  233. #define MPC107_CPU_BUS_ERR_C_BE_MASK 0x0000000f /* Bus Error Status mask */
  234. /* Address MAP B Options register */
  235. #define MPC107_ADMBO_PROC_HOLE   0x00000004 /* Processor compatability hole */
  236. #define MPC107_ADMBO_PCI_HOLE   0x00000008 /* PCI compatabilty hole */
  237. #define MPC107_ADMBO_PCI_ALIAS   0x00000040 /* PCI alias */
  238. #define MPC107_ADMBO_CPU_ALIAS   0x00000080 /* CPU alias */
  239. #define MPC107_ADMBO_DEFAULT  0x0
  240. /* Default Settings & values  for MPC107 Registers */
  241. #define MPC107_PCICMD_DEFAULT 0x00000006  /* PCI COMMAND Default value */
  242. #define MPC107_PICR1_DEFAULT    0xff041a18  /* PICR1  setting Flash */
  243.                                             /* writing Enabled */
  244. #define MPC107_PICR2_DEFAULT    0x04040000  /* PICR2  setting with Write */
  245.                                             /* Operations to Flash Enabled */
  246. #define MPC107_FLASH_WRITE_BIT (0x1 << 12) /* Flash Write Enable Bit */
  247. /* PPC Decrementer - used as vxWorks system clock */
  248. #define MPC107_DELTA(a,b)              (abs((int)a - (int)b))
  249. /* High and low words of bit-mask of read-only bits in PICR1 */
  250. #define MPC107_PICR1_ROBITS_16    0x0011    /* Mask of Readonly bits */
  251. #define MPC107_PICR1_ROBITS_00    0x0000    /* Mask of Readonly bits */
  252. #define MPC107_EUMBBAR_VAL 0x80500000  /* Base address of EUMBBAR Reg */
  253. #define MPC107_PCSRBAR_VAL 0x80500000  /* Base addr of PCRBARVAL Reg */
  254. #define MPC107_ODCR_DATA  0xff        /* default ODCR data */
  255. #define MPC107_DEFAULT_BUS_CLOCK 33000000    /* 33 Mhz */
  256. #define MPC107_DEFAULT_TIMER_CLOCK 33000000/8  /* 33Mhz /8 */
  257. #ifndef SYNC
  258. # define SYNC   WRS_ASM ("sync") 
  259. #endif  /* SYNC */
  260. /* Swap of four bytes : ABCD becomes DCBA */
  261. #define MPC107LONGSWAP(x) LONGSWAP(x)
  262. /* Swap of two bytes : AB becomes BA */
  263. #define MPC107WORDSWAP(x) WORDSWAP(x)
  264. /* Macro to read Data from a register in EUMBBAR space */
  265. #define MPC107EUMBBARREAD(regNum)    MPC107LONGSWAP(*(ULONG *) 
  266.                                           (MPC107_EUMBBAR_VAL + regNum))
  267. /* Macro to write Data to a register in EUMBBAR space */
  268. #define MPC107EUMBBARWRITE(regNum,regVal) 
  269.              *(ULONG *)(MPC107_EUMBBAR_VAL + regNum) = MPC107LONGSWAP(regVal)
  270. /* Macro to read Data from a register in PCSRBAR space */
  271. #define  MPC107EUMBBARREAD(regNum)    MPC107LONGSWAP(*(ULONG *) 
  272.                                                  (MPC107_EUMBBAR_VAL + regNum))
  273. /* Macro to write Data to a register in PCSRBAR space */
  274. #define MPC107PCSRBARWRITE(regNum,regVal)  
  275.              *(ULONG *) (PCSRBAR_VAL + regNum) = MPC107LONGSWAP(regVal)
  276. #ifdef __cplusplus
  277. }
  278. #endif
  279. #endif /* __INCmpc107h */