MCF52233_SCM.h
上传用户:dongxin
上传日期:2022-06-22
资源大小:370k
文件大小:10k
源码类别:

uCOS

开发平台:

Others

  1. /* Coldfire C Header File
  2.  * Copyright Freescale Semiconductor Inc
  3.  * All rights reserved.
  4.  *
  5.  * 2007/03/19 Revision: 0.91
  6.  */
  7. #ifndef __MCF52233_SCM_H__
  8. #define __MCF52233_SCM_H__
  9. /*********************************************************************
  10. *
  11. * System Control Module (SCM)
  12. *
  13. *********************************************************************/
  14. /* Register read/write macros */
  15. #define MCF_SCM_RAMBAR                       (*(vuint32*)(&__IPSBAR[0x8]))
  16. #define MCF_SCM_PPMRH                        (*(vuint32*)(&__IPSBAR[0xC]))
  17. #define MCF_SCM_CRSR                         (*(vuint8 *)(&__IPSBAR[0x10]))
  18. #define MCF_SCM_CWCR                         (*(vuint8 *)(&__IPSBAR[0x11]))
  19. #define MCF_SCM_CWSR                         (*(vuint8 *)(&__IPSBAR[0x13]))
  20. #define MCF_SCM_DMAREQC                      (*(vuint32*)(&__IPSBAR[0x14]))
  21. #define MCF_SCM_PPMRL                        (*(vuint32*)(&__IPSBAR[0x18]))
  22. #define MCF_SCM_MPARK                        (*(vuint32*)(&__IPSBAR[0x1C]))
  23. #define MCF_SCM_MPR                          (*(vuint8 *)(&__IPSBAR[0x20]))
  24. #define MCF_SCM_PPMRS                        (*(vuint8 *)(&__IPSBAR[0x21]))
  25. #define MCF_SCM_PPMRC                        (*(vuint8 *)(&__IPSBAR[0x22]))
  26. #define MCF_SCM_IPSBMT                       (*(vuint8 *)(&__IPSBAR[0x23]))
  27. #define MCF_SCM_PACR0                        (*(vuint8 *)(&__IPSBAR[0x24]))
  28. #define MCF_SCM_PACR1                        (*(vuint8 *)(&__IPSBAR[0x25]))
  29. #define MCF_SCM_PACR2                        (*(vuint8 *)(&__IPSBAR[0x26]))
  30. #define MCF_SCM_PACR3                        (*(vuint8 *)(&__IPSBAR[0x27]))
  31. #define MCF_SCM_PACR4                        (*(vuint8 *)(&__IPSBAR[0x28]))
  32. #define MCF_SCM_PACR5                        (*(vuint8 *)(&__IPSBAR[0x29]))
  33. #define MCF_SCM_PACR6                        (*(vuint8 *)(&__IPSBAR[0x2A]))
  34. #define MCF_SCM_PACR7                        (*(vuint8 *)(&__IPSBAR[0x2B]))
  35. #define MCF_SCM_PACR8                        (*(vuint8 *)(&__IPSBAR[0x2C]))
  36. #define MCF_SCM_GPACR0                       (*(vuint8 *)(&__IPSBAR[0x30]))
  37. #define MCF_SCM_GPACR1                       (*(vuint8 *)(&__IPSBAR[0x31]))
  38. #define MCF_SCM_PACR(x)                      (*(vuint8 *)(&__IPSBAR[0x24 + ((x)*0x1)]))
  39. #define MCF_SCM_GPACR(x)                     (*(vuint8 *)(&__IPSBAR[0x30 + ((x)*0x1)]))
  40. /* Other macros */
  41. #define MCF_SCM_IPSBAR                       (*(vuint32*)(&__IPSBAR[0x0]))
  42. #define MCF_SCM_IPSBAR_V                     (0x1)
  43. #define MCF_SCM_IPSBAR_BA(x)                 ((x)&0xC0000000)
  44. /* Bit definitions and macros for MCF_SCM_RAMBAR */
  45. #define MCF_SCM_RAMBAR_BDE                   (0x200)
  46. #define MCF_SCM_RAMBAR_BA(x)                 ((x)&0xFFFF0000)
  47. /* Bit definitions and macros for MCF_SCM_PPMRH */
  48. #define MCF_SCM_PPMRH_CDPORTS                (0x1)
  49. #define MCF_SCM_PPMRH_CDEPORT                (0x2)
  50. #define MCF_SCM_PPMRH_CDPIT0                 (0x8)
  51. #define MCF_SCM_PPMRH_CDPIT1                 (0x10)
  52. #define MCF_SCM_PPMRH_CDADC                  (0x80)
  53. #define MCF_SCM_PPMRH_CDGPT                  (0x100)
  54. #define MCF_SCM_PPMRH_CDPWM                  (0x200)
  55. #define MCF_SCM_PPMRH_CDFCAN                 (0x400)
  56. #define MCF_SCM_PPMRH_CDCFM                  (0x800)
  57. #define MCF_SCM_PPMRH_CDEPHY                 (0x1000)
  58. #define MCF_SCM_PPMRH_CDRNGA                 (0x2000)
  59. /* Bit definitions and macros for MCF_SCM_CRSR */
  60. #define MCF_SCM_CRSR_EXT                     (0x80)
  61. /* Bit definitions and macros for MCF_SCM_CWCR */
  62. #define MCF_SCM_CWCR_CWTIF                   (0x1)
  63. #define MCF_SCM_CWCR_CWTAVAL                 (0x2)
  64. #define MCF_SCM_CWCR_CWTA                    (0x4)
  65. #define MCF_SCM_CWCR_CWT(x)                  (((x)&0x7)<<0x3)
  66. #define MCF_SCM_CWCR_CWT_2_9                 (0)
  67. #define MCF_SCM_CWCR_CWT_2_11                (0x8)
  68. #define MCF_SCM_CWCR_CWT_2_13                (0x10)
  69. #define MCF_SCM_CWCR_CWT_2_15                (0x18)
  70. #define MCF_SCM_CWCR_CWT_2_19                (0x20)
  71. #define MCF_SCM_CWCR_CWT_2_23                (0x28)
  72. #define MCF_SCM_CWCR_CWT_2_27                (0x30)
  73. #define MCF_SCM_CWCR_CWT_2_31                (0x38)
  74. #define MCF_SCM_CWCR_CWRI                    (0x40)
  75. #define MCF_SCM_CWCR_CWE                     (0x80)
  76. /* Bit definitions and macros for MCF_SCM_CWSR */
  77. #define MCF_SCM_CWSR_CWSR(x)                 (((x)&0xFF)<<0)
  78. /* Bit definitions and macros for MCF_SCM_DMAREQC */
  79. #define MCF_SCM_DMAREQC_DMAC0(x)             (((x)&0xF)<<0)
  80. #define MCF_SCM_DMAREQC_DMAC1(x)             (((x)&0xF)<<0x4)
  81. #define MCF_SCM_DMAREQC_DMAC2(x)             (((x)&0xF)<<0x8)
  82. #define MCF_SCM_DMAREQC_DMAC3(x)             (((x)&0xF)<<0xC)
  83. /* Bit definitions and macros for MCF_SCM_PPMRL */
  84. #define MCF_SCM_PPMRL_CDG                    (0x2)
  85. #define MCF_SCM_PPMRL_CDDMA                  (0x10)
  86. #define MCF_SCM_PPMRL_CDUART0                (0x20)
  87. #define MCF_SCM_PPMRL_CDUART1                (0x40)
  88. #define MCF_SCM_PPMRL_CDUART2                (0x80)
  89. #define MCF_SCM_PPMRL_CDI2C                  (0x200)
  90. #define MCF_SCM_PPMRL_CDQSPI                 (0x400)
  91. #define MCF_SCM_PPMRL_CDRTC                  (0x1000)
  92. #define MCF_SCM_PPMRL_CDTMR0                 (0x2000)
  93. #define MCF_SCM_PPMRL_CDTMR1                 (0x4000)
  94. #define MCF_SCM_PPMRL_CDTMR2                 (0x8000)
  95. #define MCF_SCM_PPMRL_CDTMR3                 (0x10000)
  96. #define MCF_SCM_PPMRL_CDINTC0                (0x20000)
  97. #define MCF_SCM_PPMRL_CDINTC1                (0x40000)
  98. #define MCF_SCM_PPMRL_CDFEC0                 (0x200000)
  99. /* Bit definitions and macros for MCF_SCM_MPARK */
  100. #define MCF_SCM_MPARK_LCKOUT_TIME(x)         (((x)&0xF)<<0x8)
  101. #define MCF_SCM_MPARK_PRKLAST                (0x1000)
  102. #define MCF_SCM_MPARK_TIMEOUT                (0x2000)
  103. #define MCF_SCM_MPARK_FIXED                  (0x4000)
  104. #define MCF_SCM_MPARK_M1_PRTY(x)             (((x)&0x3)<<0x10)
  105. #define MCF_SCM_MPARK_M0_PRTY(x)             (((x)&0x3)<<0x12)
  106. #define MCF_SCM_MPARK_M2_PRTY(x)             (((x)&0x3)<<0x14)
  107. #define MCF_SCM_MPARK_BCR24BIT               (0x1000000)
  108. #define MCF_SCM_MPARK_M2_P_EN                (0x2000000)
  109. /* Bit definitions and macros for MCF_SCM_MPR */
  110. #define MCF_SCM_MPR_MPR(x)                   (((x)&0xF)<<0)
  111. /* Bit definitions and macros for MCF_SCM_PPMRS */
  112. #define MCF_SCM_PPMRS_PPMRS(x)               (((x)&0x7F)<<0)
  113. #define MCF_SCM_PPMRS_DISABLE_ALL            (0x40)
  114. #define MCF_SCM_PPMRS_DISABLE_CFM            (0x2B)
  115. #define MCF_SCM_PPMRS_DISABLE_CAN            (0x2A)
  116. #define MCF_SCM_PPMRS_DISABLE_PWM            (0x29)
  117. #define MCF_SCM_PPMRS_DISABLE_GPT            (0x28)
  118. #define MCF_SCM_PPMRS_DISABLE_ADC            (0x27)
  119. #define MCF_SCM_PPMRS_DISABLE_PIT1           (0x24)
  120. #define MCF_SCM_PPMRS_DISABLE_PIT0           (0x23)
  121. #define MCF_SCM_PPMRS_DISABLE_EPORT          (0x21)
  122. #define MCF_SCM_PPMRS_DISABLE_PORTS          (0x20)
  123. #define MCF_SCM_PPMRS_DISABLE_INTC           (0x11)
  124. #define MCF_SCM_PPMRS_DISABLE_DTIM3          (0x10)
  125. #define MCF_SCM_PPMRS_DISABLE_DTIM2          (0xF)
  126. #define MCF_SCM_PPMRS_DISABLE_DTIM1          (0xE)
  127. #define MCF_SCM_PPMRS_DISABLE_DTIM0          (0xD)
  128. #define MCF_SCM_PPMRS_DISABLE_QSPI           (0xA)
  129. #define MCF_SCM_PPMRS_DISABLE_I2C            (0x9)
  130. #define MCF_SCM_PPMRS_DISABLE_UART2          (0x7)
  131. #define MCF_SCM_PPMRS_DISABLE_UART1          (0x6)
  132. #define MCF_SCM_PPMRS_DISABLE_UART0          (0x5)
  133. #define MCF_SCM_PPMRS_DISABLE_DMA            (0x4)
  134. #define MCF_SCM_PPMRS_SET_CDG                (0x1)
  135. /* Bit definitions and macros for MCF_SCM_PPMRC */
  136. #define MCF_SCM_PPMRC_PPMRC(x)               (((x)&0x7F)<<0)
  137. #define MCF_SCM_PPMRC_ENABLE_ALL             (0x40)
  138. #define MCF_SCM_PPMRC_ENABLE_CFM             (0x2B)
  139. #define MCF_SCM_PPMRC_ENABLE_CAN             (0x2A)
  140. #define MCF_SCM_PPMRC_ENABLE_PWM             (0x29)
  141. #define MCF_SCM_PPMRC_ENABLE_GPT             (0x28)
  142. #define MCF_SCM_PPMRC_ENABLE_ADC             (0x27)
  143. #define MCF_SCM_PPMRC_ENABLE_PIT1            (0x24)
  144. #define MCF_SCM_PPMRC_ENABLE_PIT0            (0x23)
  145. #define MCF_SCM_PPMRC_ENABLE_EPORT           (0x21)
  146. #define MCF_SCM_PPMRC_ENABLE_PORTS           (0x20)
  147. #define MCF_SCM_PPMRC_ENABLE_INTC            (0x11)
  148. #define MCF_SCM_PPMRC_ENABLE_DTIM3           (0x10)
  149. #define MCF_SCM_PPMRC_ENABLE_DTIM2           (0xF)
  150. #define MCF_SCM_PPMRC_ENABLE_DTIM1           (0xE)
  151. #define MCF_SCM_PPMRC_ENABLE_DTIM0           (0xD)
  152. #define MCF_SCM_PPMRC_ENABLE_QSPI            (0xA)
  153. #define MCF_SCM_PPMRC_ENABLE_I2C             (0x9)
  154. #define MCF_SCM_PPMRC_ENABLE_UART2           (0x7)
  155. #define MCF_SCM_PPMRC_ENABLE_UART1           (0x6)
  156. #define MCF_SCM_PPMRC_ENABLE_UART0           (0x5)
  157. #define MCF_SCM_PPMRC_ENABLE_DMA             (0x4)
  158. #define MCF_SCM_PPMRC_CLEAR_CDG              (0x1)
  159. /* Bit definitions and macros for MCF_SCM_IPSBMT */
  160. #define MCF_SCM_IPSBMT_BMT(x)                (((x)&0x7)<<0)
  161. #define MCF_SCM_IPSBMT_BMT_CYCLES_1024       (0)
  162. #define MCF_SCM_IPSBMT_BMT_CYCLES_512        (0x1)
  163. #define MCF_SCM_IPSBMT_BMT_CYCLES_256        (0x2)
  164. #define MCF_SCM_IPSBMT_BMT_CYCLES_128        (0x3)
  165. #define MCF_SCM_IPSBMT_BMT_CYCLES_64         (0x4)
  166. #define MCF_SCM_IPSBMT_BMT_CYCLES_32         (0x5)
  167. #define MCF_SCM_IPSBMT_BMT_CYCLES_16         (0x6)
  168. #define MCF_SCM_IPSBMT_BMT_CYCLES_8          (0x7)
  169. #define MCF_SCM_IPSBMT_BME                   (0x8)
  170. /* Bit definitions and macros for MCF_SCM_PACR */
  171. #define MCF_SCM_PACR_ACCESS_CTRL0(x)         (((x)&0x7)<<0)
  172. #define MCF_SCM_PACR_LOCK0                   (0x8)
  173. #define MCF_SCM_PACR_ACCESS_CTRL1(x)         (((x)&0x7)<<0x4)
  174. #define MCF_SCM_PACR_LOCK1                   (0x80)
  175. /* Bit definitions and macros for MCF_SCM_GPACR */
  176. #define MCF_SCM_GPACR_ACCESS_CTRL(x)         (((x)&0xF)<<0)
  177. #define MCF_SCM_GPACR_LOCK                   (0x80)
  178. #endif /* __MCF52233_SCM_H__ */