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

VxWorks

开发平台:

C/C++

  1. /* ppc555Siu.h - PowerPC 555 Unified System Interface Unit header file */
  2. /* Copyright 1984-1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,26aug99,cmc  Added new definitions
  7. 01b,15apr99.cmc  Fixed PISCR_PIRQ values
  8. 01a,17mar99,zl   created.
  9. */
  10. /*
  11. This file contains constants of the System Interface Unit (SIU) for the
  12. Motorola MPC555 PowerPC microcontroller
  13. */
  14. #ifndef __INCppc555Siuh
  15. #define __INCppc555Siuh
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #ifdef _ASMLANGUAGE
  20. #define CAST(x)
  21. #else /* _ASMLANGUAGE */
  22. typedef volatile UCHAR VCHAR;   /* shorthand for volatile UCHAR */
  23. typedef volatile INT32 VINT32; /* volatile unsigned word */
  24. typedef volatile INT16 VINT16; /* volatile unsigned halfword */
  25. typedef volatile INT8 VINT8;   /* volatile unsigned byte */
  26. typedef volatile UINT32 VUINT32; /* volatile unsigned word */
  27. typedef volatile UINT16 VUINT16; /* volatile unsigned halfword */
  28. typedef volatile UINT8 VUINT8;   /* volatile unsigned byte */
  29. #define CAST(x) (x)
  30. #endif /* _ASMLANGUAGE */
  31. /* 
  32.  * MPC555 SIU internal register/memory map 
  33.  */
  34. /* General SIU registers */
  35. #define SIUMCR(base) (CAST(VUINT32 *) (base + 0x2FC000)) /* SIU Module Config*/
  36. #define SYPCR(base) (CAST(VUINT32 *) (base + 0x2FC004)) /* Protection Ctrl */
  37. #define SWSR(base) (CAST(VUINT16 *) (base + 0x2FC00E)) /* SW Service Reg */
  38. #define SIPEND(base) (CAST(VUINT32 *) (base + 0x2FC010)) /* Intr Pending reg */
  39. #define SIMASK(base) (CAST(VUINT32 *) (base + 0x2FC014)) /* Intr Mask reg */
  40. #define SIEL(base) (CAST(VUINT32 *) (base + 0x2FC018)) /* Intr Edge Lvl */
  41. #define SIVEC(base) (CAST(VUINT32 *) (base + 0x2FC01C)) /* Intr Vector reg */
  42. #define TESR(base) (CAST(VUINT32 *) (base + 0x2FC020)) /* Tx Error Status */
  43. #define SGPIODT1(base) (CAST(VUINT32 *) (base + 0x2FC024)) /* GP I/O Data reg */
  44. #define SGPIODT2(base) (CAST(VUINT32 *) (base + 0x2FC028)) /* GP I/O Data reg 2 */
  45. #define SGPIOCR(base) (CAST(VUINT32 *) (base + 0x2FC02C)) /* GP I/O Control reg */
  46. #define EMCR(base) (CAST(VUINT32 *) (base + 0x2FC030)) /* Ext Mstr Mode Ctrl */
  47. #define PDMCR(base) (CAST(VUINT16 *) (base + 0x2FC03C)) /* Pads Module Ctrl */
  48. /* MEMC registers */
  49. #define BR0(base) (CAST(VUINT32 *) (base + 0x2FC100)) /* Base Reg bank 0 */
  50. #define OR0(base) (CAST(VUINT32 *) (base + 0x2FC104)) /* Option Reg bank 0*/
  51. #define BR1(base) (CAST(VUINT32 *) (base + 0x2FC108)) /* Base Reg bank 1 */
  52. #define OR1(base) (CAST(VUINT32 *) (base + 0x2FC10C)) /* Option Reg bank 1*/
  53. #define BR2(base) (CAST(VUINT32 *) (base + 0x2FC110)) /* Base Reg bank 2 */
  54. #define OR2(base) (CAST(VUINT32 *) (base + 0x2FC114)) /* Option Reg bank 2*/
  55. #define BR3(base) (CAST(VUINT32 *) (base + 0x2FC118)) /* Base Reg bank 3 */
  56. #define OR3(base) (CAST(VUINT32 *) (base + 0x2FC11C)) /* Option Reg bank 3*/
  57. #define DMBR(base) (CAST(VUINT32 *) (base + 0x2FC140)) /* Dual-Mapping Base reg*/
  58. #define DMOR(base) (CAST(VUINT32 *) (base + 0x2FC144)) /* Dual-Mapping Opt reg*/
  59. #define MSTAT(base) (CAST(VUINT16 *) (base + 0x2FC178)) /* Memory Status */
  60. /* System Integration Timers */
  61. #define TBSCR(base) (CAST(VUINT16 *) (base + 0x2FC200)) /* T.B. Status Ctrl */
  62. #define TBREFF0(base) (CAST(VUINT32 *) (base + 0x2FC204)) /* Time Base Ref 0 */
  63. #define TBREFF1(base) (CAST(VUINT32 *) (base + 0x2FC208)) /* Time Base Ref 1 */
  64. #define RTCSC(base) (CAST(VUINT16 *) (base + 0x2FC220)) /* Clock Status Ctrl*/
  65. #define RTC(base) (CAST(VUINT32 *) (base + 0x2FC224)) /* RT Clock */
  66. #define RTSEC(base) (CAST(VUINT32 *) (base + 0x2FC228)) /* RT Alarm Seconds */
  67. #define RTCAL(base) (CAST(VUINT32 *) (base + 0x2FC22C)) /* Real Time Alarm */
  68. #define PISCR(base) (CAST(VUINT16 *) (base + 0x2FC240)) /* PIT Status Ctrl */
  69. #define PITC(base) (CAST(VUINT32 *) (base + 0x2FC244)) /* PIT Count */
  70. #define PITR(base) (CAST(VUINT32 *) (base + 0x2FC248)) /* PIT */
  71. /* Clock and Reset */
  72. #define SCCR(base) (CAST(VUINT32 *) (base + 0x2FC280)) /* System Clock Ctrl*/
  73. #define PLPRCR(base) (CAST(VUINT32 *) (base + 0x2FC284)) /* PLL, LPower Reset*/
  74. #define RSR(base) (CAST(VUINT16 *) (base + 0x2FC288)) /* Reset Status Reg */
  75. #define COLIR(base) (CAST(VUINT16 *) (base + 0x2FC28C)) /* Chg of Lock Int reg*/
  76. #define VSRMCR(base) (CAST(VUINT16 *) (base + 0x2FC290)) /* VDDSRM Ctrl reg*/
  77. /* System Integration Timers Keys */
  78. #define TBSCRK(base) (CAST(VUINT32 *) (base + 0x2FC300)) /* TB Stat Ctrl key */
  79. #define TBREFF0K(base) (CAST(VUINT32 *) (base + 0x2FC304)) /* TB Ref 0 Key */
  80. #define TBREFF1K(base) (CAST(VUINT32 *) (base + 0x2FC308)) /* TB Ref 1 Key */
  81. #define TBK(base) (CAST(VUINT32 *) (base + 0x2FC30C)) /* TB & Dec Key */
  82. #define RTCSCK(base) (CAST(VUINT32 *) (base + 0x2FC320)) /* RT Stat Ctrl Key */
  83. #define RTCK(base) (CAST(VUINT32 *) (base + 0x2FC324)) /* RT Clock Key */
  84. #define RTSECK(base) (CAST(VUINT32 *) (base + 0x2FC328)) /* RT Alarm Second */
  85. #define RTCALK(base) (CAST(VUINT32 *) (base + 0x2FC32C)) /* R T Alarm Key */
  86. #define PISCRK(base) (CAST(VUINT32 *) (base + 0x2FC340)) /* PIT Stat Ctrl Key*/
  87. #define PITCK(base) (CAST(VUINT32 *) (base + 0x2FC344)) /* PIT Count Key */
  88. /* Clock and Reset Keys */
  89. #define SCCRK(base) (CAST(VUINT32 *) (base + 0x2FC380)) /* System Clk Ctrl */
  90. #define PLPRCRK(base) (CAST(VUINT32 *) (base + 0x2FC384)) /* Pll, LP&R Ctrl */
  91. #define RSRK(base) (CAST(VUINT32 *) (base + 0x2FC388)) /* Reset Status Key */
  92. #define  UMCR(base)     (CAST(VUINT32 *) (base + 0x307F80)) /* IMB Module Config */
  93. /*
  94.  * SIU register bit definitions 
  95.  */
  96. /* SIU Module Configuration register bit definition (SIUMCR - 0x00) */
  97. #define SIUMCR_EARB 0x80000000 /* External Abritation */
  98. #define SIUMCR_EARP 0x70000000 /* Extern Abri. Req. prior.*/
  99. #define SIUMCR_DSHW 0x00800000 /* Data Showcycles */
  100. #define SIUMCR_DBGC 0x00600000 /* Debug pins conf */
  101. #define SIUMCR_DBPC 0x00100000 /* Debug Port pins conf */
  102. #define SIUMCR_ATWC 0x00080000 /* Addr wrt type enable conf */
  103. #define SIUMCR_GPC 0x00060000 /* General pins conf */
  104. #define SIUMCR_DLK 0x00010000 /* Debug Register Lock */
  105. #define SIUMCR_SC 0x00006000 /* Single-chip select*/
  106. #define SIUMCR_RCTX 0x00001000 /* Reset conf/timer exp.*/
  107. #define SIUMCR_MLRC 0x00000C00 /* Multi-level reserv. ctrl*/
  108. #define SIUMCR_MTSC 0x00000010 /* Memory transfer start ctrl*/
  109. /* System Portection Control register bit definition (SYPCR - 0x04) */
  110. #define SYPCR_SWTC 0xffff0000 /* Software Watchdog Timer Count */
  111. #define SYPCR_BMT 0x0000ff00 /* Bus Monitor Timing */
  112. #define SYPCR_BME 0x00000080 /* Bus Monitor Enable */
  113. #define SYPCR_SWF 0x00000008 /* Software Watchdog Freeze */
  114. #define SYPCR_SWE 0x00000004 /* Software Watchdog Enable */
  115. #define SYPCR_SWRI 0x00000002 /* Software Watchdog Reset/Int Sel */
  116. #define SYPCR_SWP 0x00000001 /* Software Watchdog Prescale */
  117. /* System Interrupt PENDing register bit definition (SIPEND - 0x10) */
  118. #define SIPEND_IRQ0 0x80000000 /* Interrupt IRQ0 pending */
  119. #define SIPEND_LVL0 0x40000000 /* Interrupt LEVEL 0 pending */
  120. #define SIPEND_IRQ1 0x20000000 /* Interrupt IRQ1 pending */
  121. #define SIPEND_LVL1 0x10000000 /* Interrupt LEVEL 1 pending */
  122. #define SIPEND_IRQ2 0x08000000 /* Interrupt IRQ2 pending */
  123. #define SIPEND_LVL2 0x04000000 /* Interrupt LEVEL 2 pending */
  124. #define SIPEND_IRQ3 0x02000000 /* Interrupt IRQ3 pending */
  125. #define SIPEND_LVL3 0x01000000 /* Interrupt LEVEL 3 pending */
  126. #define SIPEND_IRQ4 0x00800000 /* Interrupt IRQ4 pending */
  127. #define SIPEND_LVL4 0x00400000 /* Interrupt LEVEL 4 pending */
  128. #define SIPEND_IRQ5 0x00200000 /* Interrupt IRQ5 pending */
  129. #define SIPEND_LVL5 0x00100000 /* Interrupt LEVEL 5 pending */
  130. #define SIPEND_IRQ6 0x00080000 /* Interrupt IRQ6 pending */
  131. #define SIPEND_LVL6 0x00040000 /* Interrupt LEVEL 6 pending */
  132. #define SIPEND_IRQ7 0x00020000 /* Interrupt IRQ7 pending */
  133. #define SIPEND_LVL7 0x00010000 /* Interrupt LEVEL 7 pending */
  134. /* System Interrupt MASK register bit definition (SIMASK - 0x14) */
  135. #define SIMASK_IRM0 0x80000000 /* Interrupt IRQ0 mask */
  136. #define SIMASK_LVM0 0x40000000 /* Interrupt LEVEL 0 mask */
  137. #define SIMASK_IRM1 0x20000000 /* Interrupt IRQ1 mask */
  138. #define SIMASK_LVM1 0x10000000 /* Interrupt LEVEL 1 mask */
  139. #define SIMASK_IRM2 0x08000000 /* Interrupt IRQ2 mask */
  140. #define SIMASK_LVM2 0x04000000 /* Interrupt LEVEL 2 mask */
  141. #define SIMASK_IRM3 0x02000000 /* Interrupt IRQ3 mask */
  142. #define SIMASK_LVM3 0x01000000 /* Interrupt LEVEL 3 mask */
  143. #define SIMASK_IRM4 0x00800000 /* Interrupt IRQ4 mask */
  144. #define SIMASK_LVM4 0x00400000 /* Interrupt LEVEL 4 mask */
  145. #define SIMASK_IRM5 0x00200000 /* Interrupt IRQ5 mask */
  146. #define SIMASK_LVM5 0x00100000 /* Interrupt LEVEL 5 mask */
  147. #define SIMASK_IRM6 0x00080000 /* Interrupt IRQ6 mask */
  148. #define SIMASK_LVM6 0x00040000 /* Interrupt LEVEL 6 mask */
  149. #define SIMASK_IRM7 0x00020000 /* Interrupt IRQ7 mask */
  150. #define SIMASK_LVM7 0x00010000 /* Interrupt LEVEL 7 mask */
  151. #define SIMASK_ALL 0xffff0000 /* All interrupt mask */
  152. /* System Interrupt Edge Level mask register bit definition (SIEL - 0x1C) */
  153. #define SIEL_ED0 0x80000000 /* Interrupt IRQ0 on falling Edge */
  154. #define SIEL_WM0 0x40000000 /* Interrupt IRQ0 Wake up Mask */
  155. #define SIEL_ED1 0x20000000 /* Interrupt IRQ1 on falling Edge */
  156. #define SIEL_WM1 0x10000000 /* Interrupt IRQ1 Wake up Mask */
  157. #define SIEL_ED2 0x08000000 /* Interrupt IRQ2 on falling Edge */
  158. #define SIEL_WM2 0x04000000 /* Interrupt IRQ2 Wake up Mask */
  159. #define SIEL_ED3 0x02000000 /* Interrupt IRQ3 on falling Edge */
  160. #define SIEL_WM3 0x01000000 /* Interrupt IRQ3 Wake up Mask */
  161. #define SIEL_ED4 0x00800000 /* Interrupt IRQ4 on falling Edge */
  162. #define SIEL_WM4 0x00400000 /* Interrupt IRQ4 Wake up Mask */
  163. #define SIEL_ED5 0x00200000 /* Interrupt IRQ5 on falling Edge */
  164. #define SIEL_WM5 0x00100000 /* Interrupt IRQ5 Wake up Mask */
  165. #define SIEL_ED6 0x00080000 /* Interrupt IRQ6 on falling Edge */
  166. #define SIEL_WM6 0x00040000 /* Interrupt IRQ6 Wake up Mask */
  167. #define SIEL_ED7 0x00020000 /* Interrupt IRQ7 on falling Edge */
  168. #define SIEL_WM7 0x00010000 /* Interrupt IRQ7 Wake up Mask */
  169. /* Transfert Error Status register bit definition (TESR - 0x20) */
  170. #define TESR_IEXT 0x00002000 /* Instr. External Transfer Error Ack */
  171. #define TESR_IBM 0x00001000 /* Instr. transfer Monitor Time-Out */
  172. #define TESR_DEXT 0x00000020 /* Data External Transfer Error Ack */
  173. #define TESR_DBM 0x00000010 /* Data transfer Monitor Time-Out */
  174. /* Base Register bit definition (BRx - 0x100) */
  175. #define BR_BA_MSK 0xffff8000 /* Base Address Mask */
  176. #define BR_AT_MSK 0x00007000 /* Address Type Mask */
  177. #define BR_PS_MSK 0x00000c00 /* Port Size Mask */
  178. #define BR_PS_8 0x00000400 /* 8 bit port size */
  179. #define BR_PS_16 0x00000800 /* 16 bit port size */
  180. #define BR_PS_32 0x00000000 /* 32 bit port size */
  181. #define BR_WP 0x00000100 /* Write Protect */
  182. #define BR_WEBS 0x00000020 /* Write-enable/byte-select. */
  183. #define BR_TBDIP 0x00000010 /* Toggle-burst data in progress. */
  184. #define BR_LBDIP 0x00000008 /* Late-burst-data-in-progress */
  185. #define BR_SETA 0x00000004 /* External transfer acknowledge */
  186. #define BR_BI 0x00000002 /* Burst inhibit */
  187. #define BR_V 0x00000001 /* Bank valid */
  188. /* Option Register bit definition (ORx - 0x104) */
  189. #define OR_AM_MSK 0xffff8000 /* Address Mask Mask */
  190. #define OR_ATM_MSK 0x00007000 /* Address Type Mask Mask */
  191. #define OR_CSNT_SAM 0x00000800 /* Chip Select Negation Time/ Start */
  192. /* Address Multiplex */
  193. #define OR_ACS_MSK 0x00000600 /* Address to Chip Select Setup mask */
  194. #define OR_ACS_DIV1 0x00000000 /* CS is output at the same time */
  195. #define OR_ACS_DIV4 0x00000400 /* CS is output 1/4 a clock later */
  196. #define OR_ACS_DIV2 0x00000600 /* CS is output 1/2 a clock later */
  197. #define OR_EHTR 0x00000100 /* Extended hold time on read */
  198. #define OR_SCY_MSK 0x000000f0 /* Cycle Lenght in Clocks */
  199. #define OR_SCY_0_CLK 0x00000000 /* 0 clock cycles wait states */
  200. #define OR_SCY_1_CLK 0x00000010 /* 1 clock cycles wait states */
  201. #define OR_SCY_2_CLK 0x00000020 /* 2 clock cycles wait states */
  202. #define OR_SCY_3_CLK 0x00000030 /* 3 clock cycles wait states */
  203. #define OR_SCY_4_CLK 0x00000040 /* 4 clock cycles wait states */
  204. #define OR_SCY_5_CLK 0x00000050 /* 5 clock cycles wait states */
  205. #define OR_SCY_6_CLK 0x00000060 /* 6 clock cycles wait states */
  206. #define OR_SCY_7_CLK 0x00000070 /* 7 clock cycles wait states */
  207. #define OR_SCY_8_CLK 0x00000080 /* 8 clock cycles wait states */
  208. #define OR_SCY_9_CLK 0x00000090 /* 9 clock cycles wait states */
  209. #define OR_SCY_10_CLK 0x000000a0 /* 10 clock cycles wait states */
  210. #define OR_SCY_11_CLK 0x000000b0 /* 11 clock cycles wait states */
  211. #define OR_SCY_12_CLK 0x000000c0 /* 12 clock cycles wait states */
  212. #define OR_SCY_13_CLK 0x000000d0 /* 13 clock cycles wait states */
  213. #define OR_SCY_14_CLK 0x000000e0 /* 14 clock cycles wait states */
  214. #define OR_SCY_15_CLK 0x000000f0 /* 15 clock cycles wait states */
  215. #define OR_BSCY_MSK 0x0000000e /* Burst beats length in clocks. */
  216. #define OR_BSCY_0_CLK 0x00000000 /* 0 clock cycle wait states */
  217. #define OR_BSCY_1_CLK 0x00000002 /* 1 clock cycle wait states */
  218. #define OR_BSCY_2_CLK 0x00000004 /* 2 clock cycle wait states */
  219. #define OR_BSCY_3_CLK 0x00000006 /* 3 clock cycle wait states */
  220. #define OR_TRLX 0x00000001 /* Timing Relaxed */
  221. /* Memory STATus register bit definition (MSTAT - 0x178) */
  222. #define MSTAT_WPER0 0x0080 /* Write Protection Error bank 0 */
  223. #define MSTAT_WPER1 0x0040 /* Write Protection Error bank 1 */
  224. #define MSTAT_WPER2 0x0020 /* Write Protection Error bank 2 */
  225. #define MSTAT_WPER3 0x0010 /* Write Protection Error bank 3 */
  226. /* Time Base Status and Contol register bit definition (TBSCR - 0x200) */
  227. #define TBSCR_TBIRQ_MSK 0xFF00 /* Time Base IRQ Mask */
  228. /* The following values were not verified */
  229. #define TBSCR_TBIRQ_0 0x0100 /* Time Base Interrupt Request LVL 0 */
  230. #define TBSCR_TBIRQ_1 0x0200 /* Time Base Interrupt Request LVL 1 */
  231. #define TBSCR_TBIRQ_2 0x0400 /* Time Base Interrupt Request LVL 2 */
  232. #define TBSCR_TBIRQ_3 0x0800 /* Time Base Interrupt Request LVL 3 */
  233. #define TBSCR_TBIRQ_4 0x1000 /* Time Base Interrupt Request LVL 4 */
  234. #define TBSCR_TBIRQ_5 0x2000 /* Time Base Interrupt Request LVL 5 */
  235. #define TBSCR_TBIRQ_6 0x4000 /* Time Base Interrupt Request LVL 6 */
  236. #define TBSCR_TBIRQ_7 0x8000 /* Time Base Interrupt Request LVL 7 */
  237. #define TBSCR_REFA 0x0080 /* Reference Interrupt Status A */
  238. #define TBSCR_REFB 0x0040 /* Reference Interrupt Status B */
  239. #define TBSCR_REFAE 0x0008 /* Second Interrupt Enable A */
  240. #define TBSCR_REFBE 0x0004 /* Second Interrupt Enable B */
  241. #define TBSCR_TBF 0x0002 /* Time Base Freeze */
  242. #define TBSCR_TBE 0x0001 /* Time Base Enable */
  243. /* Real Time Clock Status and Control register bit definition (RTCSC - 0x220) */
  244. #define RTCSC_RTCIRQ_MSK 0xFF00 /* Real Time Clock IRQ Mask */
  245. #define RTCSC_RTCIRQ_0 0x0100 /* Real Time Clock IRQ LVL 0 */
  246. #define RTCSC_RTCIRQ_1 0x0200 /* Real Time Clock IRQ LVL 1 */
  247. #define RTCSC_RTCIRQ_2 0x0400 /* Real Time Clock IRQ LVL 2 */
  248. #define RTCSC_RTCIRQ_3 0x0800 /* Real Time Clock IRQ LVL 3 */
  249. #define RTCSC_RTCIRQ_4 0x1000 /* Real Time Clock IRQ LVL 4 */
  250. #define RTCSC_RTCIRQ_5 0x2000 /* Real Time Clock IRQ LVL 5 */
  251. #define RTCSC_RTCIRQ_6 0x4000 /* Real Time Clock IRQ LVL 6 */
  252. #define RTCSC_RTCIRQ_7 0x8000 /* Real Time Clock IRQ LVL 7 */
  253. #define RTCSC_SEC 0x0080 /* Once per Second interrupt */
  254. #define RTCSC_ALR 0x0040 /* Alarm interrupt */
  255. #define RTCSC_4M 0x0010 /* Real Time Clock at 4 MHz */
  256. #define RTCSC_SIE 0x0008 /* Second Interrupt Enable */
  257. #define RTCSC_ALE 0x0004 /* Alarm Interrupt Enable */
  258. #define RTCSC_RTF 0x0002 /* Real Time Clock Freeze */
  259. #define RTCSC_RTE 0x0001 /* Real Time Clock Enable */
  260. /* PIT Status and Control Register bit definition (PISCR - 0x0240) */
  261. #define PISCR_PIRQ_MSK 0xFF00 /* PIT IRQ Mask */
  262. #define PISCR_PIRQ_0 0x8000 /* PIT IRQ LVL 0 */
  263. #define PISCR_PIRQ_1 0x4000 /* PIT IRQ LVL 1 */
  264. #define PISCR_PIRQ_2 0x2000 /* PIT IRQ LVL 2 */
  265. #define PISCR_PIRQ_3 0x1000 /* PIT IRQ LVL 3 */
  266. #define PISCR_PIRQ_4 0x0800 /* PIT IRQ LVL 4 */
  267. #define PISCR_PIRQ_5 0x0400 /* PIT IRQ LVL 5 */
  268. #define PISCR_PIRQ_6 0x0200 /* PIT IRQ LVL 6 */
  269. #define PISCR_PIRQ_7 0x0100 /* PIT IRQ LVL 7 */
  270. #define PISCR_PS 0x0080 /* Periodic interrupt Status */
  271. #define PISCR_PIE 0x0004 /* Periodic Interrupt Enable */
  272. #define PISCR_PITF 0x0002 /* Periodic Interrupt Timer Freeze */
  273. #define PISCR_PTE 0x0001 /* Periodic Timer Enable */
  274. /* System Clock Control Register bit definition (SCCR - 0x280) */
  275. #define SCCR_DBCT 0x80000000 /* Disable backup clock for timers */
  276. #define SCCR_COM_MSK 0x60000000 /* Clock output mode */
  277. #define SCCR_DCSLR 0x10000000 /* Disable clock switching */
  278. #define SCCR_MFPDL 0x08000000 /* MF and pre-divider lock */
  279. #define SCCR_LPML 0x04000000 /* LPM lock */
  280. #define SCCR_TBS 0x02000000 /* Time base source */
  281. #define SCCR_RTDIV_MSK 0x01000000 /* RTC (and PIT) clock divider */
  282. #define SCCR_STBUC 0x00800000 /* Switch to backup clock control */
  283. #define SCCR_PRQEN 0x00200000 /* Power management request enable */
  284. #define SCCR_RTSEL 0x00100000 /* RTC circuit input source select */
  285. #define SCCR_BUCS 0x00080000 /* Backup clock status */
  286. #define SCCR_EBDF_MSK 0x00060000 /* External bus division factor */
  287. #define SCCR_LME 0x00010000 /* Limp mode enable */
  288. #define SCCR_EECLK_MSK 0x0000c000 /* Enable engineering clock */
  289. #define SCCR_ENGDIV_MSK 0x00003f00 /* Engineering clock division factor */
  290. #define SCCR_DFNL_MSK 0x00000070 /* Division factor low frequency */
  291. #define SCCR_DFNH_MSK 0x00000007 /* Division factor high frequency */
  292. /* Pll, Low Power and Reset Control Register bit definition (PLPRCR - 284) */
  293. #define PLPRCR_MF_MSK 0xfff00000 /* Multiplication factor bits */
  294. #define PLPRCR_MF_SHIFT 0x00000014      /* Multiplication factor shift value */
  295. #define PLPRCR_LOCS 0x00040000 /* Loss of clock status */
  296. #define PLPRCR_LOCSS 0x00020000 /* Loss of clock sticky */
  297. #define PLPRCR_SPLS 0x00010000 /* System PLL lock status */
  298. #define PLPRCR_SPLSS 0x00008000 /* SPLL Lock Status Sticky bit */
  299. #define PLPRCR_TEXPS 0x00004000 /* TEXP Status */
  300. #define PLPRCR_TMIST 0x00001000 /* Timers Interrupt Status */
  301. #define PLPRCR_CSRC 0x00000400 /* Clock Source */
  302. #define PLPRCR_LPM_MSK 0x00000300 /* Low Power Mode mask */
  303. #define PLPRCR_LPM_NORMAL 0x00000000 /* normal power management mode */
  304. #define PLPRCR_LPM_DOZE   0x00000100 /* doze power management mode */
  305. #define PLPRCR_LPM_SLEEP  0x00000200 /* sleep power management mode */
  306. #define PLPRCR_LPM_DEEP_SLEEP 0x00000300 /* deep sleep power mgt mode */
  307. #define PLPRCR_LPM_DOWN   0x00000300 /* down power management mode */
  308. #define PLPRCR_CSR 0x00000080 /* CheskStop Reset value */
  309. #define PLPRCR_LOLRE 0x00000040 /* Loss Of Lock Reset Enable */
  310. #define PLPRCR_DIVF_MSK 0x0000001F /* pre-divider in the SPLL circuit */
  311. /* BBC module config register */
  312. #define BBCMCR_BE 0x00002000 /* burst enable */
  313. #define BBCMCR_ETRE 0x00001000 /* exception relocation enable */
  314. #define BBCMCR_OERC 0x00000800 /* other exception relocation control */
  315. #ifdef  __cplusplus
  316. }
  317. #endif
  318. #endif /* __INCppc555Siuh */