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

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_DMA_H__
  8. #define __MCF52233_DMA_H__
  9. /*********************************************************************
  10. *
  11. * DMA Controller (DMA)
  12. *
  13. *********************************************************************/
  14. /* Register read/write macros */
  15. #define MCF_DMA0_SAR                         (*(vuint32*)(&__IPSBAR[0x100]))
  16. #define MCF_DMA0_DAR                         (*(vuint32*)(&__IPSBAR[0x104]))
  17. #define MCF_DMA0_DSR                         (*(vuint8 *)(&__IPSBAR[0x108]))
  18. #define MCF_DMA0_BCR                         (*(vuint32*)(&__IPSBAR[0x108]))
  19. #define MCF_DMA0_DCR                         (*(vuint32*)(&__IPSBAR[0x10C]))
  20. #define MCF_DMA1_SAR                         (*(vuint32*)(&__IPSBAR[0x110]))
  21. #define MCF_DMA1_DAR                         (*(vuint32*)(&__IPSBAR[0x114]))
  22. #define MCF_DMA1_DSR                         (*(vuint8 *)(&__IPSBAR[0x118]))
  23. #define MCF_DMA1_BCR                         (*(vuint32*)(&__IPSBAR[0x118]))
  24. #define MCF_DMA1_DCR                         (*(vuint32*)(&__IPSBAR[0x11C]))
  25. #define MCF_DMA2_SAR                         (*(vuint32*)(&__IPSBAR[0x120]))
  26. #define MCF_DMA2_DAR                         (*(vuint32*)(&__IPSBAR[0x124]))
  27. #define MCF_DMA2_DSR                         (*(vuint8 *)(&__IPSBAR[0x128]))
  28. #define MCF_DMA2_BCR                         (*(vuint32*)(&__IPSBAR[0x128]))
  29. #define MCF_DMA2_DCR                         (*(vuint32*)(&__IPSBAR[0x12C]))
  30. #define MCF_DMA3_SAR                         (*(vuint32*)(&__IPSBAR[0x130]))
  31. #define MCF_DMA3_DAR                         (*(vuint32*)(&__IPSBAR[0x134]))
  32. #define MCF_DMA3_DSR                         (*(vuint8 *)(&__IPSBAR[0x138]))
  33. #define MCF_DMA3_BCR                         (*(vuint32*)(&__IPSBAR[0x138]))
  34. #define MCF_DMA3_DCR                         (*(vuint32*)(&__IPSBAR[0x13C]))
  35. #define MCF_DMA_SAR(x)                       (*(vuint32*)(&__IPSBAR[0x100 + ((x)*0x10)]))
  36. #define MCF_DMA_DAR(x)                       (*(vuint32*)(&__IPSBAR[0x104 + ((x)*0x10)]))
  37. #define MCF_DMA_DSR(x)                       (*(vuint8 *)(&__IPSBAR[0x108 + ((x)*0x10)]))
  38. #define MCF_DMA_BCR(x)                       (*(vuint32*)(&__IPSBAR[0x108 + ((x)*0x10)]))
  39. #define MCF_DMA_DCR(x)                       (*(vuint32*)(&__IPSBAR[0x10C + ((x)*0x10)]))
  40. /* Bit definitions and macros for MCF_DMA_SAR */
  41. #define MCF_DMA_SAR_SAR(x)                   (((x)&0xFFFFFFFF)<<0)
  42. /* Bit definitions and macros for MCF_DMA_DAR */
  43. #define MCF_DMA_DAR_DAR(x)                   (((x)&0xFFFFFFFF)<<0)
  44. /* Bit definitions and macros for MCF_DMA_DSR */
  45. #define MCF_DMA_DSR_DONE                     (0x1)
  46. #define MCF_DMA_DSR_BSY                      (0x2)
  47. #define MCF_DMA_DSR_REQ                      (0x4)
  48. #define MCF_DMA_DSR_BED                      (0x10)
  49. #define MCF_DMA_DSR_BES                      (0x20)
  50. #define MCF_DMA_DSR_CE                       (0x40)
  51. /* Bit definitions and macros for MCF_DMA_BCR */
  52. #define MCF_DMA_BCR_BCR(x)                   (((x)&0xFFFFFF)<<0)
  53. #define MCF_DMA_BCR_DSR(x)                   (((x)&0xFF)<<0x18)
  54. /* Bit definitions and macros for MCF_DMA_DCR */
  55. #define MCF_DMA_DCR_LCH2(x)                  (((x)&0x3)<<0)
  56. #define MCF_DMA_DCR_LCH2_CH0                 (0)
  57. #define MCF_DMA_DCR_LCH2_CH1                 (0x1)
  58. #define MCF_DMA_DCR_LCH2_CH2                 (0x2)
  59. #define MCF_DMA_DCR_LCH2_CH3                 (0x3)
  60. #define MCF_DMA_DCR_LCH1(x)                  (((x)&0x3)<<0x2)
  61. #define MCF_DMA_DCR_LCH1_CH0                 (0)
  62. #define MCF_DMA_DCR_LCH1_CH1                 (0x1)
  63. #define MCF_DMA_DCR_LCH1_CH2                 (0x2)
  64. #define MCF_DMA_DCR_LCH1_CH3                 (0x3)
  65. #define MCF_DMA_DCR_LINKCC(x)                (((x)&0x3)<<0x4)
  66. #define MCF_DMA_DCR_D_REQ                    (0x80)
  67. #define MCF_DMA_DCR_DMOD(x)                  (((x)&0xF)<<0x8)
  68. #define MCF_DMA_DCR_DMOD_DIS                 (0)
  69. #define MCF_DMA_DCR_DMOD_16                  (0x1)
  70. #define MCF_DMA_DCR_DMOD_32                  (0x2)
  71. #define MCF_DMA_DCR_DMOD_64                  (0x3)
  72. #define MCF_DMA_DCR_DMOD_128                 (0x4)
  73. #define MCF_DMA_DCR_DMOD_256                 (0x5)
  74. #define MCF_DMA_DCR_DMOD_512                 (0x6)
  75. #define MCF_DMA_DCR_DMOD_1K                  (0x7)
  76. #define MCF_DMA_DCR_DMOD_2K                  (0x8)
  77. #define MCF_DMA_DCR_DMOD_4K                  (0x9)
  78. #define MCF_DMA_DCR_DMOD_8K                  (0xA)
  79. #define MCF_DMA_DCR_DMOD_16K                 (0xB)
  80. #define MCF_DMA_DCR_DMOD_32K                 (0xC)
  81. #define MCF_DMA_DCR_DMOD_64K                 (0xD)
  82. #define MCF_DMA_DCR_DMOD_128K                (0xE)
  83. #define MCF_DMA_DCR_DMOD_256K                (0xF)
  84. #define MCF_DMA_DCR_SMOD(x)                  (((x)&0xF)<<0xC)
  85. #define MCF_DMA_DCR_SMOD_DIS                 (0)
  86. #define MCF_DMA_DCR_SMOD_16                  (0x1)
  87. #define MCF_DMA_DCR_SMOD_32                  (0x2)
  88. #define MCF_DMA_DCR_SMOD_64                  (0x3)
  89. #define MCF_DMA_DCR_SMOD_128                 (0x4)
  90. #define MCF_DMA_DCR_SMOD_256                 (0x5)
  91. #define MCF_DMA_DCR_SMOD_512                 (0x6)
  92. #define MCF_DMA_DCR_SMOD_1K                  (0x7)
  93. #define MCF_DMA_DCR_SMOD_2K                  (0x8)
  94. #define MCF_DMA_DCR_SMOD_4K                  (0x9)
  95. #define MCF_DMA_DCR_SMOD_8K                  (0xA)
  96. #define MCF_DMA_DCR_SMOD_16K                 (0xB)
  97. #define MCF_DMA_DCR_SMOD_32K                 (0xC)
  98. #define MCF_DMA_DCR_SMOD_64K                 (0xD)
  99. #define MCF_DMA_DCR_SMOD_128K                (0xE)
  100. #define MCF_DMA_DCR_SMOD_256K                (0xF)
  101. #define MCF_DMA_DCR_START                    (0x10000)
  102. #define MCF_DMA_DCR_DSIZE(x)                 (((x)&0x3)<<0x11)
  103. #define MCF_DMA_DCR_DSIZE_LONG               (0)
  104. #define MCF_DMA_DCR_DSIZE_BYTE               (0x1)
  105. #define MCF_DMA_DCR_DSIZE_WORD               (0x2)
  106. #define MCF_DMA_DCR_DSIZE_LINE               (0x3)
  107. #define MCF_DMA_DCR_DINC                     (0x80000)
  108. #define MCF_DMA_DCR_SSIZE(x)                 (((x)&0x3)<<0x14)
  109. #define MCF_DMA_DCR_SSIZE_LONG               (0)
  110. #define MCF_DMA_DCR_SSIZE_BYTE               (0x1)
  111. #define MCF_DMA_DCR_SSIZE_WORD               (0x2)
  112. #define MCF_DMA_DCR_SSIZE_LINE               (0x3)
  113. #define MCF_DMA_DCR_SINC                     (0x400000)
  114. #define MCF_DMA_DCR_BWC(x)                   (((x)&0x7)<<0x19)
  115. #define MCF_DMA_DCR_BWC_16K                  (0x1)
  116. #define MCF_DMA_DCR_BWC_32K                  (0x2)
  117. #define MCF_DMA_DCR_BWC_64K                  (0x3)
  118. #define MCF_DMA_DCR_BWC_128K                 (0x4)
  119. #define MCF_DMA_DCR_BWC_256K                 (0x5)
  120. #define MCF_DMA_DCR_BWC_512K                 (0x6)
  121. #define MCF_DMA_DCR_BWC_1024K                (0x7)
  122. #define MCF_DMA_DCR_AA                       (0x10000000)
  123. #define MCF_DMA_DCR_CS                       (0x20000000)
  124. #define MCF_DMA_DCR_EEXT                     (0x40000000)
  125. #define MCF_DMA_DCR_INT                      (0x80000000)
  126. #endif /* __MCF52233_DMA_H__ */