MCF54418.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. #ifndef MCF54418_H
  2. #define MCF54418_H
  3. #define vuint32 u32
  4. #define vuint8 u8
  5. #define vuint16 u16
  6. /* Register read/write macros */
  7. #define MCF_DTIM0_DTMR (*(vuint16*)(0xFC070000))
  8. #define MCF_DTIM0_DTXMR (*(vuint8 *)(0xFC070002))
  9. #define MCF_DTIM0_DTER (*(vuint8 *)(0xFC070003))
  10. #define MCF_DTIM0_DTRR (*(vuint32*)(0xFC070004))
  11. #define MCF_DTIM0_DTCR (*(vuint32*)(0xFC070008))
  12. #define MCF_DTIM0_DTCN (*(vuint32*)(0xFC07000C))
  13. #define MCF_DTIM1_DTMR (*(vuint16*)(0xFC074000))
  14. #define MCF_DTIM1_DTXMR (*(vuint8 *)(0xFC074002))
  15. #define MCF_DTIM1_DTER (*(vuint8 *)(0xFC074003))
  16. #define MCF_DTIM1_DTRR (*(vuint32*)(0xFC074004))
  17. #define MCF_DTIM1_DTCR (*(vuint32*)(0xFC074008))
  18. #define MCF_DTIM1_DTCN (*(vuint32*)(0xFC07400C))
  19. #define MCF_DTIM2_DTMR (*(vuint16*)(0xFC078000))
  20. #define MCF_DTIM2_DTXMR (*(vuint8 *)(0xFC078002))
  21. #define MCF_DTIM2_DTER (*(vuint8 *)(0xFC078003))
  22. #define MCF_DTIM2_DTRR (*(vuint32*)(0xFC078004))
  23. #define MCF_DTIM2_DTCR (*(vuint32*)(0xFC078008))
  24. #define MCF_DTIM2_DTCN (*(vuint32*)(0xFC07800C))
  25. #define MCF_DTIM3_DTMR (*(vuint16*)(0xFC07C000))
  26. #define MCF_DTIM3_DTXMR (*(vuint8 *)(0xFC07C002))
  27. #define MCF_DTIM3_DTER (*(vuint8 *)(0xFC07C003))
  28. #define MCF_DTIM3_DTRR (*(vuint32*)(0xFC07C004))
  29. #define MCF_DTIM3_DTCR (*(vuint32*)(0xFC07C008))
  30. #define MCF_DTIM3_DTCN (*(vuint32*)(0xFC07C00C))
  31. #define MCF_DTIM_DTMR(x) (*(vuint16*)(0xFC070000 + ((x)*0x4000)))
  32. #define MCF_DTIM_DTXMR(x) (*(vuint8 *)(0xFC070002 + ((x)*0x4000)))
  33. #define MCF_DTIM_DTER(x) (*(vuint8 *)(0xFC070003 + ((x)*0x4000)))
  34. #define MCF_DTIM_DTRR(x) (*(vuint32*)(0xFC070004 + ((x)*0x4000)))
  35. #define MCF_DTIM_DTCR(x) (*(vuint32*)(0xFC070008 + ((x)*0x4000)))
  36. #define MCF_DTIM_DTCN(x) (*(vuint32*)(0xFC07000C + ((x)*0x4000)))
  37. /* Bit definitions and macros for MCF_DTIM_DTMR */
  38. #define MCF_DTIM_DTMR_RST (0x1)
  39. #define MCF_DTIM_DTMR_CLK(x) (((x)&0x3)<<0x1)
  40. #define MCF_DTIM_DTMR_CLK_STOP (0)
  41. #define MCF_DTIM_DTMR_CLK_DIV1 (0x2)
  42. #define MCF_DTIM_DTMR_CLK_DIV16 (0x4)
  43. #define MCF_DTIM_DTMR_CLK_DTIN (0x6)
  44. #define MCF_DTIM_DTMR_FRR (0x8)
  45. #define MCF_DTIM_DTMR_ORRI (0x10)
  46. #define MCF_DTIM_DTMR_OM (0x20)
  47. #define MCF_DTIM_DTMR_CE(x) (((x)&0x3)<<0x6)
  48. #define MCF_DTIM_DTMR_CE_NONE (0)
  49. #define MCF_DTIM_DTMR_CE_RISE (0x40)
  50. #define MCF_DTIM_DTMR_CE_FALL (0x80)
  51. #define MCF_DTIM_DTMR_CE_ANY (0xC0)
  52. #define MCF_DTIM_DTMR_PS(x) (((x)&0xFF)<<0x8)
  53. /* Bit definitions and macros for MCF_DTIM_DTXMR */
  54. #define MCF_DTIM_DTXMR_MODE16 (0x1)
  55. #define MCF_DTIM_DTXMR_EPD (0x10)
  56. #define MCF_DTIM_DTXMR_EN1588 (0x20)
  57. #define MCF_DTIM_DTXMR_HALTED (0x40)
  58. #define MCF_DTIM_DTXMR_DMAEN (0x80)
  59. /* Bit definitions and macros for MCF_DTIM_DTER */
  60. #define MCF_DTIM_DTER_CAP (0x1)
  61. #define MCF_DTIM_DTER_REF (0x2)
  62. /* Bit definitions and macros for MCF_DTIM_DTRR */
  63. #define MCF_DTIM_DTRR_REF(x) (((x)&0xFFFFFFFF)<<0)
  64. /* Bit definitions and macros for MCF_DTIM_DTCR */
  65. #define MCF_DTIM_DTCR_CAP(x) (((x)&0xFFFFFFFF)<<0)
  66. /* Bit definitions and macros for MCF_DTIM_DTCN */
  67. #define MCF_DTIM_DTCN_CNT(x) (((x)&0xFFFFFFFF)<<0)
  68. /* Register read/write macros */
  69. #define MCF_UART4_UMR (*(vuint8 *)(0xEC060000))
  70. #define MCF_UART4_UMR1 (*(vuint8 *)(0xEC060000))
  71. #define MCF_UART4_UMR2 (*(vuint8 *)(0xEC060000))
  72. #define MCF_UART4_USR (*(vuint8 *)(0xEC060004))
  73. #define MCF_UART4_UCSR (*(vuint8 *)(0xEC060004))
  74. #define MCF_UART4_UCR (*(vuint8 *)(0xEC060008))
  75. #define MCF_UART4_URB (*(vuint8 *)(0xEC06000C))
  76. #define MCF_UART4_UTB (*(vuint8 *)(0xEC06000C))
  77. #define MCF_UART4_UACR (*(vuint8 *)(0xEC060010))
  78. #define MCF_UART4_UIPCR (*(vuint8 *)(0xEC060010))
  79. #define MCF_UART4_UIMR (*(vuint8 *)(0xEC060014))
  80. #define MCF_UART4_UISR (*(vuint8 *)(0xEC060014))
  81. #define MCF_UART4_UBG1 (*(vuint8 *)(0xEC060018))
  82. #define MCF_UART4_UBG2 (*(vuint8 *)(0xEC06001C))
  83. #define MCF_UART4_UIP (*(vuint8 *)(0xEC060034))
  84. #define MCF_UART4_UOP1 (*(vuint8 *)(0xEC060038))
  85. #define MCF_UART4_UOP0 (*(vuint8 *)(0xEC06003C))
  86. #define MCF_UART5_UMR (*(vuint8 *)(0xEC064000))
  87. #define MCF_UART5_UMR1 (*(vuint8 *)(0xEC064000))
  88. #define MCF_UART5_UMR2 (*(vuint8 *)(0xEC064000))
  89. #define MCF_UART5_USR (*(vuint8 *)(0xEC064004))
  90. #define MCF_UART5_UCSR (*(vuint8 *)(0xEC064004))
  91. #define MCF_UART5_UCR (*(vuint8 *)(0xEC064008))
  92. #define MCF_UART5_URB (*(vuint8 *)(0xEC06400C))
  93. #define MCF_UART5_UTB (*(vuint8 *)(0xEC06400C))
  94. #define MCF_UART5_UACR (*(vuint8 *)(0xEC064010))
  95. #define MCF_UART5_UIPCR (*(vuint8 *)(0xEC064010))
  96. #define MCF_UART5_UIMR (*(vuint8 *)(0xEC064014))
  97. #define MCF_UART5_UISR (*(vuint8 *)(0xEC064014))
  98. #define MCF_UART5_UBG1 (*(vuint8 *)(0xEC064018))
  99. #define MCF_UART5_UBG2 (*(vuint8 *)(0xEC06401C))
  100. #define MCF_UART5_UIP (*(vuint8 *)(0xEC064034))
  101. #define MCF_UART5_UOP1 (*(vuint8 *)(0xEC064038))
  102. #define MCF_UART5_UOP0 (*(vuint8 *)(0xEC06403C))
  103. #define MCF_UART6_UMR (*(vuint8 *)(0xEC068000))
  104. #define MCF_UART6_UMR1 (*(vuint8 *)(0xEC068000))
  105. #define MCF_UART6_UMR2 (*(vuint8 *)(0xEC068000))
  106. #define MCF_UART6_USR (*(vuint8 *)(0xEC068004))
  107. #define MCF_UART6_UCSR (*(vuint8 *)(0xEC068004))
  108. #define MCF_UART6_UCR (*(vuint8 *)(0xEC068008))
  109. #define MCF_UART6_URB (*(vuint8 *)(0xEC06800C))
  110. #define MCF_UART6_UTB (*(vuint8 *)(0xEC06800C))
  111. #define MCF_UART6_UACR (*(vuint8 *)(0xEC068010))
  112. #define MCF_UART6_UIPCR (*(vuint8 *)(0xEC068010))
  113. #define MCF_UART6_UIMR (*(vuint8 *)(0xEC068014))
  114. #define MCF_UART6_UISR (*(vuint8 *)(0xEC068014))
  115. #define MCF_UART6_UBG1 (*(vuint8 *)(0xEC068018))
  116. #define MCF_UART6_UBG2 (*(vuint8 *)(0xEC06801C))
  117. #define MCF_UART6_UIP (*(vuint8 *)(0xEC068034))
  118. #define MCF_UART6_UOP1 (*(vuint8 *)(0xEC068038))
  119. #define MCF_UART6_UOP0 (*(vuint8 *)(0xEC06803C))
  120. #define MCF_UART7_UMR (*(vuint8 *)(0xEC06C000))
  121. #define MCF_UART7_UMR1 (*(vuint8 *)(0xEC06C000))
  122. #define MCF_UART7_UMR2 (*(vuint8 *)(0xEC06C000))
  123. #define MCF_UART7_USR (*(vuint8 *)(0xEC06C004))
  124. #define MCF_UART7_UCSR (*(vuint8 *)(0xEC06C004))
  125. #define MCF_UART7_UCR (*(vuint8 *)(0xEC06C008))
  126. #define MCF_UART7_URB (*(vuint8 *)(0xEC06C00C))
  127. #define MCF_UART7_UTB (*(vuint8 *)(0xEC06C00C))
  128. #define MCF_UART7_UACR (*(vuint8 *)(0xEC06C010))
  129. #define MCF_UART7_UIPCR (*(vuint8 *)(0xEC06C010))
  130. #define MCF_UART7_UIMR (*(vuint8 *)(0xEC06C014))
  131. #define MCF_UART7_UISR (*(vuint8 *)(0xEC06C014))
  132. #define MCF_UART7_UBG1 (*(vuint8 *)(0xEC06C018))
  133. #define MCF_UART7_UBG2 (*(vuint8 *)(0xEC06C01C))
  134. #define MCF_UART7_UIP (*(vuint8 *)(0xEC06C034))
  135. #define MCF_UART7_UOP1 (*(vuint8 *)(0xEC06C038))
  136. #define MCF_UART7_UOP0 (*(vuint8 *)(0xEC06C03C))
  137. #define MCF_UART8_UMR (*(vuint8 *)(0xEC070000))
  138. #define MCF_UART8_UMR1 (*(vuint8 *)(0xEC070000))
  139. #define MCF_UART8_UMR2 (*(vuint8 *)(0xEC070000))
  140. #define MCF_UART8_USR (*(vuint8 *)(0xEC070004))
  141. #define MCF_UART8_UCSR (*(vuint8 *)(0xEC070004))
  142. #define MCF_UART8_UCR (*(vuint8 *)(0xEC070008))
  143. #define MCF_UART8_URB (*(vuint8 *)(0xEC07000C))
  144. #define MCF_UART8_UTB (*(vuint8 *)(0xEC07000C))
  145. #define MCF_UART8_UACR (*(vuint8 *)(0xEC070010))
  146. #define MCF_UART8_UIPCR (*(vuint8 *)(0xEC070010))
  147. #define MCF_UART8_UIMR (*(vuint8 *)(0xEC070014))
  148. #define MCF_UART8_UISR (*(vuint8 *)(0xEC070014))
  149. #define MCF_UART8_UBG1 (*(vuint8 *)(0xEC070018))
  150. #define MCF_UART8_UBG2 (*(vuint8 *)(0xEC07001C))
  151. #define MCF_UART8_UIP (*(vuint8 *)(0xEC070034))
  152. #define MCF_UART8_UOP1 (*(vuint8 *)(0xEC070038))
  153. #define MCF_UART8_UOP0 (*(vuint8 *)(0xEC07003C))
  154. #define MCF_UART9_UMR (*(vuint8 *)(0xEC074000))
  155. #define MCF_UART9_UMR1 (*(vuint8 *)(0xEC074000))
  156. #define MCF_UART9_UMR2 (*(vuint8 *)(0xEC074000))
  157. #define MCF_UART9_USR (*(vuint8 *)(0xEC074004))
  158. #define MCF_UART9_UCSR (*(vuint8 *)(0xEC074004))
  159. #define MCF_UART9_UCR (*(vuint8 *)(0xEC074008))
  160. #define MCF_UART9_URB (*(vuint8 *)(0xEC07400C))
  161. #define MCF_UART9_UTB (*(vuint8 *)(0xEC07400C))
  162. #define MCF_UART9_UACR (*(vuint8 *)(0xEC074010))
  163. #define MCF_UART9_UIPCR (*(vuint8 *)(0xEC074010))
  164. #define MCF_UART9_UIMR (*(vuint8 *)(0xEC074014))
  165. #define MCF_UART9_UISR (*(vuint8 *)(0xEC074014))
  166. #define MCF_UART9_UBG1 (*(vuint8 *)(0xEC074018))
  167. #define MCF_UART9_UBG2 (*(vuint8 *)(0xEC07401C))
  168. #define MCF_UART9_UIP (*(vuint8 *)(0xEC074034))
  169. #define MCF_UART9_UOP1 (*(vuint8 *)(0xEC074038))
  170. #define MCF_UART9_UOP0 (*(vuint8 *)(0xEC07403C))
  171. #define MCF_UART0_UMR (*(vuint8 *)(0xFC060000))
  172. #define MCF_UART0_UMR1 (*(vuint8 *)(0xFC060000))
  173. #define MCF_UART0_UMR2 (*(vuint8 *)(0xFC060000))
  174. #define MCF_UART0_USR (*(vuint8 *)(0xFC060004))
  175. #define MCF_UART0_UCSR (*(vuint8 *)(0xFC060004))
  176. #define MCF_UART0_UCR (*(vuint8 *)(0xFC060008))
  177. #define MCF_UART0_URB (*(vuint8 *)(0xFC06000C))
  178. #define MCF_UART0_UTB (*(vuint8 *)(0xFC06000C))
  179. #define MCF_UART0_UACR (*(vuint8 *)(0xFC060010))
  180. #define MCF_UART0_UIPCR (*(vuint8 *)(0xFC060010))
  181. #define MCF_UART0_UIMR (*(vuint8 *)(0xFC060014))
  182. #define MCF_UART0_UISR (*(vuint8 *)(0xFC060014))
  183. #define MCF_UART0_UBG1 (*(vuint8 *)(0xFC060018))
  184. #define MCF_UART0_UBG2 (*(vuint8 *)(0xFC06001C))
  185. #define MCF_UART0_UIP (*(vuint8 *)(0xFC060034))
  186. #define MCF_UART0_UOP1 (*(vuint8 *)(0xFC060038))
  187. #define MCF_UART0_UOP0 (*(vuint8 *)(0xFC06003C))
  188. #define MCF_UART1_UMR (*(vuint8 *)(0xFC064000))
  189. #define MCF_UART1_UMR1 (*(vuint8 *)(0xFC064000))
  190. #define MCF_UART1_UMR2 (*(vuint8 *)(0xFC064000))
  191. #define MCF_UART1_USR (*(vuint8 *)(0xFC064004))
  192. #define MCF_UART1_UCSR (*(vuint8 *)(0xFC064004))
  193. #define MCF_UART1_UCR (*(vuint8 *)(0xFC064008))
  194. #define MCF_UART1_URB (*(vuint8 *)(0xFC06400C))
  195. #define MCF_UART1_UTB (*(vuint8 *)(0xFC06400C))
  196. #define MCF_UART1_UACR (*(vuint8 *)(0xFC064010))
  197. #define MCF_UART1_UIPCR (*(vuint8 *)(0xFC064010))
  198. #define MCF_UART1_UIMR (*(vuint8 *)(0xFC064014))
  199. #define MCF_UART1_UISR (*(vuint8 *)(0xFC064014))
  200. #define MCF_UART1_UBG1 (*(vuint8 *)(0xFC064018))
  201. #define MCF_UART1_UBG2 (*(vuint8 *)(0xFC06401C))
  202. #define MCF_UART1_UIP (*(vuint8 *)(0xFC064034))
  203. #define MCF_UART1_UOP1 (*(vuint8 *)(0xFC064038))
  204. #define MCF_UART1_UOP0 (*(vuint8 *)(0xFC06403C))
  205. #define MCF_UART2_UMR (*(vuint8 *)(0xFC068000))
  206. #define MCF_UART2_UMR1 (*(vuint8 *)(0xFC068000))
  207. #define MCF_UART2_UMR2 (*(vuint8 *)(0xFC068000))
  208. #define MCF_UART2_USR (*(vuint8 *)(0xFC068004))
  209. #define MCF_UART2_UCSR (*(vuint8 *)(0xFC068004))
  210. #define MCF_UART2_UCR (*(vuint8 *)(0xFC068008))
  211. #define MCF_UART2_URB (*(vuint8 *)(0xFC06800C))
  212. #define MCF_UART2_UTB (*(vuint8 *)(0xFC06800C))
  213. #define MCF_UART2_UACR (*(vuint8 *)(0xFC068010))
  214. #define MCF_UART2_UIPCR (*(vuint8 *)(0xFC068010))
  215. #define MCF_UART2_UIMR (*(vuint8 *)(0xFC068014))
  216. #define MCF_UART2_UISR (*(vuint8 *)(0xFC068014))
  217. #define MCF_UART2_UBG1 (*(vuint8 *)(0xFC068018))
  218. #define MCF_UART2_UBG2 (*(vuint8 *)(0xFC06801C))
  219. #define MCF_UART2_UIP (*(vuint8 *)(0xFC068034))
  220. #define MCF_UART2_UOP1 (*(vuint8 *)(0xFC068038))
  221. #define MCF_UART2_UOP0 (*(vuint8 *)(0xFC06803C))
  222. #define MCF_UART3_UMR (*(vuint8 *)(0xFC06C000))
  223. #define MCF_UART3_UMR1 (*(vuint8 *)(0xFC06C000))
  224. #define MCF_UART3_UMR2 (*(vuint8 *)(0xFC06C000))
  225. #define MCF_UART3_USR (*(vuint8 *)(0xFC06C004))
  226. #define MCF_UART3_UCSR (*(vuint8 *)(0xFC06C004))
  227. #define MCF_UART3_UCR (*(vuint8 *)(0xFC06C008))
  228. #define MCF_UART3_URB (*(vuint8 *)(0xFC06C00C))
  229. #define MCF_UART3_UTB (*(vuint8 *)(0xFC06C00C))
  230. #define MCF_UART3_UACR (*(vuint8 *)(0xFC06C010))
  231. #define MCF_UART3_UIPCR (*(vuint8 *)(0xFC06C010))
  232. #define MCF_UART3_UIMR (*(vuint8 *)(0xFC06C014))
  233. #define MCF_UART3_UISR (*(vuint8 *)(0xFC06C014))
  234. #define MCF_UART3_UBG1 (*(vuint8 *)(0xFC06C018))
  235. #define MCF_UART3_UBG2 (*(vuint8 *)(0xFC06C01C))
  236. #define MCF_UART3_UIP (*(vuint8 *)(0xFC06C034))
  237. #define MCF_UART3_UOP1 (*(vuint8 *)(0xFC06C038))
  238. #define MCF_UART3_UOP0 (*(vuint8 *)(0xFC06C03C))
  239. /* Other macros */
  240. #define MCF_UART_UMR(x) (*(vuint8 *)(0xEC060000 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  241. #define MCF_UART_USR(x) (*(vuint8 *)(0xEC060004 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  242. #define MCF_UART_UCSR(x) (*(vuint8 *)(0xEC060004 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  243. #define MCF_UART_UCR(x) (*(vuint8 *)(0xEC060008 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  244. #define MCF_UART_URB(x) (*(vuint8 *)(0xEC06000C + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  245. #define MCF_UART_UTB(x) (*(vuint8 *)(0xEC06000C + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  246. #define MCF_UART_UACR(x) (*(vuint8 *)(0xEC060010 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  247. #define MCF_UART_UIPCR(x) (*(vuint8 *)(0xEC060010 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  248. #define MCF_UART_UIMR(x) (*(vuint8 *)(0xEC060014 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  249. #define MCF_UART_UISR(x) (*(vuint8 *)(0xEC060014 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  250. #define MCF_UART_UBG1(x) (*(vuint8 *)(0xEC060018 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  251. #define MCF_UART_UBG2(x) (*(vuint8 *)(0xEC06001C + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  252. #define MCF_UART_UIP(x) (*(vuint8 *)(0xEC060034 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  253. #define MCF_UART_UOP1(x) (*(vuint8 *)(0xEC060038 + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  254. #define MCF_UART_UOP0(x) (*(vuint8 *)(0xEC06003C + ((x<4)? (0x10000000 + ((x)*0x4000)) : ((x-4)*0x4000))))
  255. /* Bit definitions and macros for MCF_UART_UMR */
  256. #define MCF_UART_UMR_BC(x) (((x)&0x3)<<0)
  257. #define MCF_UART_UMR_BC_5 (0)
  258. #define MCF_UART_UMR_BC_6 (0x1)
  259. #define MCF_UART_UMR_BC_7 (0x2)
  260. #define MCF_UART_UMR_BC_8 (0x3)
  261. #define MCF_UART_UMR_PT (0x4)
  262. #define MCF_UART_UMR_PM(x) (((x)&0x3)<<0x3)
  263. #define MCF_UART_UMR_ERR (0x20)
  264. #define MCF_UART_UMR_RXIRQ (0x40)
  265. #define MCF_UART_UMR_RXRTS (0x80)
  266. #define MCF_UART_UMR_PM_MULTI_ADDR (0x1C)
  267. #define MCF_UART_UMR_PM_MULTI_DATA (0x18)
  268. #define MCF_UART_UMR_PM_NONE (0x10)
  269. #define MCF_UART_UMR_PM_FORCE_HI (0xC)
  270. #define MCF_UART_UMR_PM_FORCE_LO (0x8)
  271. #define MCF_UART_UMR_PM_ODD (0x4)
  272. #define MCF_UART_UMR_PM_EVEN (0)
  273. #define MCF_UART_UMR_SB(x) (((x)&0xF)<<0)
  274. #define MCF_UART_UMR_SB_STOP_BITS_1 (0x7)
  275. #define MCF_UART_UMR_SB_STOP_BITS_15 (0x8)
  276. #define MCF_UART_UMR_SB_STOP_BITS_2 (0xF)
  277. #define MCF_UART_UMR_TXCTS (0x10)
  278. #define MCF_UART_UMR_TXRTS (0x20)
  279. #define MCF_UART_UMR_CM(x) (((x)&0x3)<<0x6)
  280. #define MCF_UART_UMR_CM_NORMAL (0)
  281. #define MCF_UART_UMR_CM_ECHO (0x40)
  282. #define MCF_UART_UMR_CM_LOCAL_LOOP (0x80)
  283. #define MCF_UART_UMR_CM_REMOTE_LOOP (0xC0)
  284. /* Bit definitions and macros for MCF_UART_USR */
  285. #define MCF_UART_USR_RXRDY (0x1)
  286. #define MCF_UART_USR_FFULL (0x2)
  287. #define MCF_UART_USR_TXRDY (0x4)
  288. #define MCF_UART_USR_TXEMP (0x8)
  289. #define MCF_UART_USR_OE (0x10)
  290. #define MCF_UART_USR_PE (0x20)
  291. #define MCF_UART_USR_FE (0x40)
  292. #define MCF_UART_USR_RB (0x80)
  293. /* Bit definitions and macros for MCF_UART_UCSR */
  294. #define MCF_UART_UCSR_TCS(x) (((x)&0xF)<<0)
  295. #define MCF_UART_UCSR_TCS_SYS_CLK (0xD)
  296. #define MCF_UART_UCSR_TCS_CTM16 (0xE)
  297. #define MCF_UART_UCSR_TCS_CTM (0xF)
  298. #define MCF_UART_UCSR_RCS(x) (((x)&0xF)<<0x4)
  299. #define MCF_UART_UCSR_RCS_SYS_CLK (0xD0)
  300. #define MCF_UART_UCSR_RCS_CTM16 (0xE0)
  301. #define MCF_UART_UCSR_RCS_CTM (0xF0)
  302. /* Bit definitions and macros for MCF_UART_UCR */
  303. #define MCF_UART_UCR_RC(x) (((x)&0x3)<<0)
  304. #define MCF_UART_UCR_RX_ENABLED (0x1)
  305. #define MCF_UART_UCR_RX_DISABLED (0x2)
  306. #define MCF_UART_UCR_TC(x) (((x)&0x3)<<0x2)
  307. #define MCF_UART_UCR_TX_ENABLED (0x4)
  308. #define MCF_UART_UCR_TX_DISABLED (0x8)
  309. #define MCF_UART_UCR_MISC(x) (((x)&0x7)<<0x4)
  310. #define MCF_UART_UCR_NONE (0)
  311. #define MCF_UART_UCR_RESET_MR (0x10)
  312. #define MCF_UART_UCR_RESET_RX (0x20)
  313. #define MCF_UART_UCR_RESET_TX (0x30)
  314. #define MCF_UART_UCR_RESET_ERROR (0x40)
  315. #define MCF_UART_UCR_RESET_BKCHGINT (0x50)
  316. #define MCF_UART_UCR_START_BREAK (0x60)
  317. #define MCF_UART_UCR_STOP_BREAK (0x70)
  318. /* Bit definitions and macros for MCF_UART_URB */
  319. #define MCF_UART_URB_RB(x) (((x)&0xFF)<<0)
  320. /* Bit definitions and macros for MCF_UART_UTB */
  321. #define MCF_UART_UTB_TB(x) (((x)&0xFF)<<0)
  322. /* Bit definitions and macros for MCF_UART_UACR */
  323. #define MCF_UART_UACR_IEC (0x1)
  324. /* Bit definitions and macros for MCF_UART_UIPCR */
  325. #define MCF_UART_UIPCR_CTS (0x1)
  326. #define MCF_UART_UIPCR_COS (0x10)
  327. /* Bit definitions and macros for MCF_UART_UIMR */
  328. #define MCF_UART_UIMR_TXRDY (0x1)
  329. #define MCF_UART_UIMR_FFULL_RXRDY (0x2)
  330. #define MCF_UART_UIMR_DB (0x4)
  331. #define MCF_UART_UIMR_COS (0x80)
  332. /* Bit definitions and macros for MCF_UART_UISR */
  333. #define MCF_UART_UISR_TXRDY (0x1)
  334. #define MCF_UART_UISR_FFULL_RXRDY (0x2)
  335. #define MCF_UART_UISR_DB (0x4)
  336. #define MCF_UART_UISR_COS (0x80)
  337. /* Bit definitions and macros for MCF_UART_UBG1 */
  338. #define MCF_UART_UBG1_Divider_MSB(x) (((x)&0xFF)<<0)
  339. /* Bit definitions and macros for MCF_UART_UBG2 */
  340. #define MCF_UART_UBG2_Divider_LSB(x) (((x)&0xFF)<<0)
  341. /* Bit definitions and macros for MCF_UART_UIP */
  342. #define MCF_UART_UIP_CTS (0x1)
  343. /* Bit definitions and macros for MCF_UART_UOP1 */
  344. #define MCF_UART_UOP1_RTS (0x1)
  345. /* Bit definitions and macros for MCF_UART_UOP0 */
  346. #define MCF_UART_UOP0_RTS (0x1)
  347. #define MCF_GPIO_PDDR_A MCF_REG08(0xEC09400C)
  348. #define MCF_GPIO_PDDR_B MCF_REG08(0xEC09400D)
  349. #define MCF_GPIO_PDDR_C MCF_REG08(0xEC09400E)
  350. #define MCF_GPIO_PDDR_D MCF_REG08(0xEC09400F)
  351. #define MCF_GPIO_PDDR_E MCF_REG08(0xEC094010)
  352. #define MCF_GPIO_PDDR_F MCF_REG08(0xEC094011)
  353. #define MCF_GPIO_PDDR_G MCF_REG08(0xEC094012)
  354. #define MCF_GPIO_PDDR_H MCF_REG08(0xEC094013)
  355. #define MCF_GPIO_PDDR_I MCF_REG08(0xEC094014)
  356. #define MCF_GPIO_PDDR_J MCF_REG08(0xEC094015)
  357. #define MCF_GPIO_PDDR_K MCF_REG08(0xEC094016)
  358. #define MCF_GPIO_PPDSDR_A MCF_REG08(0xEC094018)
  359. #define MCF_GPIO_PPDSDR_B MCF_REG08(0xEC094019)
  360. #define MCF_GPIO_PPDSDR_C MCF_REG08(0xEC09401A)
  361. #define MCF_GPIO_PPDSDR_D MCF_REG08(0xEC09401B)
  362. #define MCF_GPIO_PPDSDR_E MCF_REG08(0xEC09401C)
  363. #define MCF_GPIO_PPDSDR_F MCF_REG08(0xEC09401D)
  364. #define MCF_GPIO_PPDSDR_G MCF_REG08(0xEC09401E)
  365. #define MCF_GPIO_PPDSDR_H MCF_REG08(0xEC09401F)
  366. #define MCF_GPIO_PPDSDR_I MCF_REG08(0xEC094020)
  367. #define MCF_GPIO_PPDSDR_J MCF_REG08(0xEC094021)
  368. #define MCF_GPIO_PPDSDR_K MCF_REG08(0xEC094022)
  369. /* Register read/write macros */
  370. #define MCF_PMM_LPCR (*(vuint8 *)(0xEC090007))
  371. #define MCF_PMM_MISCCR (*(vuint16*)(0xEC09000E))
  372. #define MCF_PMM_WCR (*(vuint8 *)(0xFC040013))
  373. #define MCF_PMM_PPMSR0 (*(vuint8 *)(0xFC04002C))
  374. #define MCF_PMM_PPMCR0 (*(vuint8 *)(0xFC04002D))
  375. #define MCF_PMM_PPMSR1 (*(vuint8 *)(0xFC04002E))
  376. #define MCF_PMM_PPMCR1 (*(vuint8 *)(0xFC04002F))
  377. #define MCF_PMM_PPMHR0 (*(vuint32*)(0xFC040030))
  378. #define MCF_PMM_PPMLR0 (*(vuint32*)(0xFC040034))
  379. #define MCF_PMM_PPMHR1 (*(vuint32*)(0xFC040038))
  380. #define MCF_PMM_PPMLR1 (*(vuint32*)(0xFC04003C))
  381. #define MCF_PMM_PPMSR(x) (*(vuint8 *)(0xFC04002C + ((x)*0x2)))
  382. #define MCF_PMM_PPMCR(x) (*(vuint8 *)(0xFC04002D + ((x)*0x2)))
  383. #endif
  384. /*******************endfile*******************************/