/arch/unicore32/include/mach/regs-sdc.h

http://github.com/mirrors/linux · C Header · 157 lines · 48 code · 6 blank · 103 comment · 0 complexity · 086d6b9965f19ec7a1228729f723b1a1 MD5 · raw file

  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * PKUnity Multi-Media Card and Security Digital Card (MMC/SD) Registers
  4. */
  5. /*
  6. * Clock Control Reg SDC_CCR
  7. */
  8. #define SDC_CCR (PKUNITY_SDC_BASE + 0x0000)
  9. /*
  10. * Software Reset Reg SDC_SRR
  11. */
  12. #define SDC_SRR (PKUNITY_SDC_BASE + 0x0004)
  13. /*
  14. * Argument Reg SDC_ARGUMENT
  15. */
  16. #define SDC_ARGUMENT (PKUNITY_SDC_BASE + 0x0008)
  17. /*
  18. * Command Reg SDC_COMMAND
  19. */
  20. #define SDC_COMMAND (PKUNITY_SDC_BASE + 0x000C)
  21. /*
  22. * Block Size Reg SDC_BLOCKSIZE
  23. */
  24. #define SDC_BLOCKSIZE (PKUNITY_SDC_BASE + 0x0010)
  25. /*
  26. * Block Cound Reg SDC_BLOCKCOUNT
  27. */
  28. #define SDC_BLOCKCOUNT (PKUNITY_SDC_BASE + 0x0014)
  29. /*
  30. * Transfer Mode Reg SDC_TMR
  31. */
  32. #define SDC_TMR (PKUNITY_SDC_BASE + 0x0018)
  33. /*
  34. * Response Reg. 0 SDC_RES0
  35. */
  36. #define SDC_RES0 (PKUNITY_SDC_BASE + 0x001C)
  37. /*
  38. * Response Reg. 1 SDC_RES1
  39. */
  40. #define SDC_RES1 (PKUNITY_SDC_BASE + 0x0020)
  41. /*
  42. * Response Reg. 2 SDC_RES2
  43. */
  44. #define SDC_RES2 (PKUNITY_SDC_BASE + 0x0024)
  45. /*
  46. * Response Reg. 3 SDC_RES3
  47. */
  48. #define SDC_RES3 (PKUNITY_SDC_BASE + 0x0028)
  49. /*
  50. * Read Timeout Control Reg SDC_RTCR
  51. */
  52. #define SDC_RTCR (PKUNITY_SDC_BASE + 0x002C)
  53. /*
  54. * Interrupt Status Reg SDC_ISR
  55. */
  56. #define SDC_ISR (PKUNITY_SDC_BASE + 0x0030)
  57. /*
  58. * Interrupt Status Mask Reg SDC_ISMR
  59. */
  60. #define SDC_ISMR (PKUNITY_SDC_BASE + 0x0034)
  61. /*
  62. * RX FIFO SDC_RXFIFO
  63. */
  64. #define SDC_RXFIFO (PKUNITY_SDC_BASE + 0x0038)
  65. /*
  66. * TX FIFO SDC_TXFIFO
  67. */
  68. #define SDC_TXFIFO (PKUNITY_SDC_BASE + 0x003C)
  69. /*
  70. * SD Clock Enable SDC_CCR_CLKEN
  71. */
  72. #define SDC_CCR_CLKEN FIELD(1, 1, 2)
  73. /*
  74. * [15:8] SDC_CCR_PDIV(v)
  75. */
  76. #define SDC_CCR_PDIV(v) FIELD((v), 8, 8)
  77. /*
  78. * Software reset enable SDC_SRR_ENABLE
  79. */
  80. #define SDC_SRR_ENABLE FIELD(0, 1, 0)
  81. /*
  82. * Software reset disable SDC_SRR_DISABLE
  83. */
  84. #define SDC_SRR_DISABLE FIELD(1, 1, 0)
  85. /*
  86. * Response type SDC_COMMAND_RESTYPE_MASK
  87. */
  88. #define SDC_COMMAND_RESTYPE_MASK FMASK(2, 0)
  89. /*
  90. * No response SDC_COMMAND_RESTYPE_NONE
  91. */
  92. #define SDC_COMMAND_RESTYPE_NONE FIELD(0, 2, 0)
  93. /*
  94. * 136-bit long response SDC_COMMAND_RESTYPE_LONG
  95. */
  96. #define SDC_COMMAND_RESTYPE_LONG FIELD(1, 2, 0)
  97. /*
  98. * 48-bit short response SDC_COMMAND_RESTYPE_SHORT
  99. */
  100. #define SDC_COMMAND_RESTYPE_SHORT FIELD(2, 2, 0)
  101. /*
  102. * 48-bit short and test if busy response SDC_COMMAND_RESTYPE_SHORTBUSY
  103. */
  104. #define SDC_COMMAND_RESTYPE_SHORTBUSY FIELD(3, 2, 0)
  105. /*
  106. * data ready SDC_COMMAND_DATAREADY
  107. */
  108. #define SDC_COMMAND_DATAREADY FIELD(1, 1, 2)
  109. #define SDC_COMMAND_CMDEN FIELD(1, 1, 3)
  110. /*
  111. * [10:5] SDC_COMMAND_CMDINDEX(v)
  112. */
  113. #define SDC_COMMAND_CMDINDEX(v) FIELD((v), 6, 5)
  114. /*
  115. * [10:0] SDC_BLOCKSIZE_BSMASK(v)
  116. */
  117. #define SDC_BLOCKSIZE_BSMASK(v) FIELD((v), 11, 0)
  118. /*
  119. * [11:0] SDC_BLOCKCOUNT_BCMASK(v)
  120. */
  121. #define SDC_BLOCKCOUNT_BCMASK(v) FIELD((v), 12, 0)
  122. /*
  123. * Data Width 1bit SDC_TMR_WTH_1BIT
  124. */
  125. #define SDC_TMR_WTH_1BIT FIELD(0, 1, 0)
  126. /*
  127. * Data Width 4bit SDC_TMR_WTH_4BIT
  128. */
  129. #define SDC_TMR_WTH_4BIT FIELD(1, 1, 0)
  130. /*
  131. * Read SDC_TMR_DIR_READ
  132. */
  133. #define SDC_TMR_DIR_READ FIELD(0, 1, 1)
  134. /*
  135. * Write SDC_TMR_DIR_WRITE
  136. */
  137. #define SDC_TMR_DIR_WRITE FIELD(1, 1, 1)
  138. #define SDC_IR_MASK FMASK(13, 0)
  139. #define SDC_IR_RESTIMEOUT FIELD(1, 1, 0)
  140. #define SDC_IR_WRITECRC FIELD(1, 1, 1)
  141. #define SDC_IR_READCRC FIELD(1, 1, 2)
  142. #define SDC_IR_TXFIFOREAD FIELD(1, 1, 3)
  143. #define SDC_IR_RXFIFOWRITE FIELD(1, 1, 4)
  144. #define SDC_IR_READTIMEOUT FIELD(1, 1, 5)
  145. #define SDC_IR_DATACOMPLETE FIELD(1, 1, 6)
  146. #define SDC_IR_CMDCOMPLETE FIELD(1, 1, 7)
  147. #define SDC_IR_RXFIFOFULL FIELD(1, 1, 8)
  148. #define SDC_IR_RXFIFOEMPTY FIELD(1, 1, 9)
  149. #define SDC_IR_TXFIFOFULL FIELD(1, 1, 10)
  150. #define SDC_IR_TXFIFOEMPTY FIELD(1, 1, 11)
  151. #define SDC_IR_ENDCMDWITHRES FIELD(1, 1, 12)