gh_sdio_all.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. /******************************************************************************
  2. **
  3. ** \file gh_sdio_all.c
  4. **
  5. ** \brief SDIO Host Controller.
  6. **
  7. ** Copyright: 2012 - 2016 (C) GoKe Microelectronics
  8. **
  9. ** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
  10. ** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
  11. ** OMMISSIONS.
  12. **
  13. ** \note Do not modify this file as it is generated automatically.
  14. **
  15. ******************************************************************************/
  16. #ifndef _GH_SDIO_ALL_H
  17. #define _GH_SDIO_ALL_H
  18. #include "gtypes.h" /* global type definitions */
  19. #include "gh_sdio0.h"
  20. #ifdef GK7101S
  21. #include "gh_sdio1.h"
  22. #endif
  23. #define GH_SDIO0 0
  24. #define GH_SDIO1 1
  25. #define GH_ERR -1
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. /*----------------------------------------------------------------------------*/
  30. /* register SDIO_SysAddrReg (read/write) */
  31. /*----------------------------------------------------------------------------*/
  32. void GH_SDIO_set_SysAddrReg(U32 sdio, U32 data);
  33. U32 GH_SDIO_get_SysAddrReg(U32 sdio);
  34. /*----------------------------------------------------------------------------*/
  35. /* register SDIO_TranModeReg (read/write) */
  36. /*----------------------------------------------------------------------------*/
  37. void GH_SDIO_set_TranModeReg(U32 sdio, U16 data);
  38. U16 GH_SDIO_get_TranModeReg(U32 sdio);
  39. void GH_SDIO_set_TranModeReg_BlkCountEn(U32 sdio, U8 data);
  40. U8 GH_SDIO_get_TranModeReg_BlkCountEn(U32 sdio);
  41. void GH_SDIO_set_TranModeReg_AutoCmd12En(U32 sdio, U8 data);
  42. U8 GH_SDIO_get_TranModeReg_AutoCmd12En(U32 sdio);
  43. void GH_SDIO_set_TranModeReg_DmaEn(U32 sdio, U8 data);
  44. U8 GH_SDIO_get_TranModeReg_DmaEn(U32 sdio);
  45. void GH_SDIO_set_TranModeReg_MSBlkSelect(U32 sdio, U8 data);
  46. U8 GH_SDIO_get_TranModeReg_MSBlkSelect(U32 sdio);
  47. void GH_SDIO_set_TranModeReg_DataTraDirSelect(U32 sdio, U8 data);
  48. U8 GH_SDIO_get_TranModeReg_DataTraDirSelect(U32 sdio);
  49. /*----------------------------------------------------------------------------*/
  50. /* register SDIO_NorIntSigEnReg (read/write) */
  51. /*----------------------------------------------------------------------------*/
  52. void GH_SDIO_set_NorIntSigEnReg(U32 sdio, U16 data);
  53. U16 GH_SDIO_get_NorIntSigEnReg(U32 sdio);
  54. void GH_SDIO_set_NorIntSigEnReg_CmdCompleteSigEn(U32 sdio, U8 data);
  55. U8 GH_SDIO_get_NorIntSigEnReg_CmdCompleteSigEn(U32 sdio);
  56. void GH_SDIO_set_NorIntSigEnReg_TraCompleteSigEn(U32 sdio, U8 data);
  57. U8 GH_SDIO_get_NorIntSigEnReg_TraCompleteSigEn(U32 sdio);
  58. void GH_SDIO_set_NorIntSigEnReg_BlkGapEveSigEn(U32 sdio, U8 data);
  59. U8 GH_SDIO_get_NorIntSigEnReg_BlkGapEveSigEn(U32 sdio);
  60. void GH_SDIO_set_NorIntSigEnReg_DmaIntSigEn(U32 sdio, U8 data);
  61. U8 GH_SDIO_get_NorIntSigEnReg_DmaIntSigEn(U32 sdio);
  62. void GH_SDIO_set_NorIntSigEnReg_BufWReadySigEn(U32 sdio, U8 data);
  63. U8 GH_SDIO_get_NorIntSigEnReg_BufWReadySigEn(U32 sdio);
  64. void GH_SDIO_set_NorIntSigEnReg_BufRReadySigEn(U32 sdio, U8 data);
  65. U8 GH_SDIO_get_NorIntSigEnReg_BufRReadySigEn(U32 sdio);
  66. void GH_SDIO_set_NorIntSigEnReg_CardInsertionSigEn(U32 sdio, U8 data);
  67. U8 GH_SDIO_get_NorIntSigEnReg_CardInsertionSigEn(U32 sdio);
  68. void GH_SDIO_set_NorIntSigEnReg_CardRemSigEn(U32 sdio, U8 data);
  69. U8 GH_SDIO_get_NorIntSigEnReg_CardRemSigEn(U32 sdio);
  70. void GH_SDIO_set_NorIntSigEnReg_CardIntSigEN(U32 sdio, U8 data);
  71. U8 GH_SDIO_get_NorIntSigEnReg_CardIntSigEN(U32 sdio);
  72. void GH_SDIO_set_NorIntSigEnReg_FixedTo0(U32 sdio, U8 data);
  73. U8 GH_SDIO_get_NorIntSigEnReg_FixedTo0(U32 sdio);
  74. /*----------------------------------------------------------------------------*/
  75. /* register SDIO_ErrIntSigEn (read/write) */
  76. /*----------------------------------------------------------------------------*/
  77. void GH_SDIO_set_ErrIntSigEnReg(U32 sdio, U16 data);
  78. U16 GH_SDIO_get_ErrIntSigEnReg(U32 sdio);
  79. void GH_SDIO_set_ErrIntSigEnReg_CmdTimeoutErrSigEn(U32 sdio, U8 data);
  80. U8 GH_SDIO_get_ErrIntSigEnReg_CmdTimeoutErrSigEn(U32 sdio);
  81. void GH_SDIO_set_ErrIntSigEnReg_CmdEndBitErrSigEn(U32 sdio, U8 data);
  82. U8 GH_SDIO_get_ErrIntSigEnReg_CmdEndBitErrSigEn(U32 sdio);
  83. void GH_SDIO_set_ErrIntSigEnReg_CmdIndexErrSigEn(U32 sdio, U8 data);
  84. U8 GH_SDIO_get_ErrIntSigEnReg_CmdIndexErrSigEn(U32 sdio);
  85. void GH_SDIO_set_ErrIntSigEnReg_DataTimeoutErrSigEn(U32 sdio, U8 data);
  86. U8 GH_SDIO_get_ErrIntSigEnReg_DataTimeoutErrSigEn(U32 sdio);
  87. void GH_SDIO_set_ErrIntSigEnReg_CmdCrcErrSigEn(U32 sdio, U8 data);
  88. U8 GH_SDIO_get_ErrIntSigEnReg_CmdCrcErrSigEn(U32 sdio);
  89. void GH_SDIO_set_ErrIntSigEnReg_DataCrcErrSigEn(U32 sdio, U8 data);
  90. U8 GH_SDIO_get_ErrIntSigEnReg_DataCrcErrSigEn(U32 sdio);
  91. void GH_SDIO_set_ErrIntSigEnReg_DataEndBitErrSigEn(U32 sdio, U8 data);
  92. U8 GH_SDIO_get_ErrIntSigEnReg_DataEndBitErrSigEn(U32 sdio);
  93. void GH_SDIO_set_ErrIntSigEnReg_CurLimitErrSigEn(U32 sdio, U8 data);
  94. U8 GH_SDIO_get_ErrIntSigEnReg_CurLimitErrSigEn(U32 sdio);
  95. void GH_SDIO_set_ErrIntSigEnReg_AutoCmd12ErrSigEn(U32 sdio, U8 data);
  96. U8 GH_SDIO_get_ErrIntSigEnReg_AutoCmd12ErrSigEn(U32 sdio);
  97. void GH_SDIO_set_ErrIntSigEnReg_VendorSpecificErrSigEn(U32 sdio, U8 data);
  98. U8 GH_SDIO_get_ErrIntSigEnReg_VendorSpecificErrSigEn(U32 sdio);
  99. /*----------------------------------------------------------------------------*/
  100. /* register SDIO_BlkCouReg (read/write) */
  101. /*----------------------------------------------------------------------------*/
  102. void GH_SDIO_set_BlkCouReg(U32 sdio, U16 data);
  103. U16 GH_SDIO_get_BlkCouReg(U32 sdio);
  104. void GH_SDIO_set_BlkCouReg_BlkCountForCurTra(U32 sdio, U16 data);
  105. U16 GH_SDIO_get_BlkCouReg_BlkCountForCurTra(U32 sdio);
  106. /*----------------------------------------------------------------------------*/
  107. /* register SDIO_BlkSizeReg (read/write) */
  108. /*----------------------------------------------------------------------------*/
  109. void GH_SDIO_set_BlkSizeReg(U32 sdio, U16 data);
  110. U16 GH_SDIO_get_BlkSizeReg(U32 sdio);
  111. void GH_SDIO_set_BlkSizeReg_TraBlkSize(U32 sdio, U16 data);
  112. U16 GH_SDIO_get_BlkSizeReg_TraBlkSize(U32 sdio);
  113. void GH_SDIO_set_BlkSizeReg_HostSdmaBufSize(U32 sdio, U8 data);
  114. U8 GH_SDIO_get_BlkSizeReg_HostSdmaBufSize(U32 sdio);
  115. /*----------------------------------------------------------------------------*/
  116. /* register SDIO_NorIntStaEnReg (read/write) */
  117. /*----------------------------------------------------------------------------*/
  118. void GH_SDIO_set_NorIntStaEnReg(U32 sdio, U16 data);
  119. U16 GH_SDIO_get_NorIntStaEnReg(U32 sdio);
  120. void GH_SDIO_set_NorIntStaEnReg_CmdCompleteStatusEn(U32 sdio, U8 data);
  121. U8 GH_SDIO_get_NorIntStaEnReg_CmdCompleteStatusEn(U32 sdio);
  122. void GH_SDIO_set_NorIntStaEnReg_TraCompleteStatusEn(U32 sdio, U8 data);
  123. U8 GH_SDIO_get_NorIntStaEnReg_TraCompleteStatusEn(U32 sdio);
  124. void GH_SDIO_set_NorIntStaEnReg_BlkGapEveStatusEn(U32 sdio, U8 data);
  125. U8 GH_SDIO_get_NorIntStaEnReg_BlkGapEveStatusEn(U32 sdio);
  126. void GH_SDIO_set_NorIntStaEnReg_DmaIntStatusEn(U32 sdio, U8 data);
  127. U8 GH_SDIO_get_NorIntStaEnReg_DmaIntStatusEn(U32 sdio);
  128. void GH_SDIO_set_NorIntStaEnReg_BufWReadyStatusEn(U32 sdio, U8 data);
  129. U8 GH_SDIO_get_NorIntStaEnReg_BufWReadyStatusEn(U32 sdio);
  130. void GH_SDIO_set_NorIntStaEnReg_BufRReadyStatusEn(U32 sdio, U8 data);
  131. U8 GH_SDIO_get_NorIntStaEnReg_BufRReadyStatusEn(U32 sdio);
  132. void GH_SDIO_set_NorIntStaEnReg_CardInsertionStatusEn(U32 sdio, U8 data);
  133. U8 GH_SDIO_get_NorIntStaEnReg_CardInsertionStatusEn(U32 sdio);
  134. void GH_SDIO_set_NorIntStaEnReg_CardRemStatusEn(U32 sdio, U8 data);
  135. U8 GH_SDIO_get_NorIntStaEnReg_CardRemStatusEn(U32 sdio);
  136. void GH_SDIO_set_NorIntStaEnReg_CardIntStatusEn(U32 sdio, U8 data);
  137. U8 GH_SDIO_get_NorIntStaEnReg_CardIntStatusEn(U32 sdio);
  138. void GH_SDIO_set_NorIntStaEnReg_FixedTo0(U32 sdio, U8 data);
  139. U8 GH_SDIO_get_NorIntStaEnReg_FixedTo0(U32 sdio);
  140. /*----------------------------------------------------------------------------*/
  141. /* register SDIO_ErrIntStaEnReg (read/write) */
  142. /*----------------------------------------------------------------------------*/
  143. void GH_SDIO_set_ErrIntStaEnReg(U32 sdio, U16 data);
  144. U16 GH_SDIO_get_ErrIntStaEnReg(U32 sdio);
  145. void GH_SDIO_set_ErrIntStaEnReg_CmdTimeoutErrStatusEn(U32 sdio, U8 data);
  146. U8 GH_SDIO_get_ErrIntStaEnReg_CmdTimeoutErrStatusEn(U32 sdio);
  147. void GH_SDIO_set_ErrIntStaEnReg_CmdEndBitErrStatusEn(U32 sdio, U8 data);
  148. U8 GH_SDIO_get_ErrIntStaEnReg_CmdEndBitErrStatusEn(U32 sdio);
  149. void GH_SDIO_set_ErrIntStaEnReg_CmdCrcErrStatusEn(U32 sdio, U8 data);
  150. U8 GH_SDIO_get_ErrIntStaEnReg_CmdCrcErrStatusEn(U32 sdio);
  151. void GH_SDIO_set_ErrIntStaEnReg_CmdIndexErrStatusEn(U32 sdio, U8 data);
  152. U8 GH_SDIO_get_ErrIntStaEnReg_CmdIndexErrStatusEn(U32 sdio);
  153. void GH_SDIO_set_ErrIntStaEnReg_DataCrcErrStatusEn(U32 sdio, U8 data);
  154. U8 GH_SDIO_get_ErrIntStaEnReg_DataCrcErrStatusEn(U32 sdio);
  155. void GH_SDIO_set_ErrIntStaEnReg_DataTimeoutErrStatusEn(U32 sdio, U8 data);
  156. U8 GH_SDIO_get_ErrIntStaEnReg_DataTimeoutErrStatusEn(U32 sdio);
  157. void GH_SDIO_set_ErrIntStaEnReg_DataEndBitErrStatusEn(U32 sdio, U8 data);
  158. U8 GH_SDIO_get_ErrIntStaEnReg_DataEndBitErrStatusEn(U32 sdio);
  159. void GH_SDIO_set_ErrIntStaEnReg_CurLimitErrStatusEn(U32 sdio, U8 data);
  160. U8 GH_SDIO_get_ErrIntStaEnReg_CurLimitErrStatusEn(U32 sdio);
  161. void GH_SDIO_set_ErrIntStaEnReg_AutoCmd12ErrStatusEn(U32 sdio, U8 data);
  162. U8 GH_SDIO_get_ErrIntStaEnReg_AutoCmd12ErrStatusEn(U32 sdio);
  163. void GH_SDIO_set_ErrIntStaEnReg_VendorSpecificErrStatusEn(U32 sdio, U8 data);
  164. U8 GH_SDIO_get_ErrIntStaEnReg_VendorSpecificErrStatusEn(U32 sdio);
  165. /*----------------------------------------------------------------------------*/
  166. /* register SDIO_NorIntStaReg (read/write) */
  167. /*----------------------------------------------------------------------------*/
  168. void GH_SDIO_set_NorIntStaReg(U32 sdio, U16 data);
  169. U16 GH_SDIO_get_NorIntStaReg(U32 sdio);
  170. void GH_SDIO_set_NorIntStaReg_CmdComplete(U32 sdio, U8 data);
  171. U8 GH_SDIO_get_NorIntStaReg_CmdComplete(U32 sdio);
  172. void GH_SDIO_set_NorIntStaReg_BlkGapEvent(U32 sdio, U8 data);
  173. U8 GH_SDIO_get_NorIntStaReg_BlkGapEvent(U32 sdio);
  174. void GH_SDIO_set_NorIntStaReg_DmaInt(U32 sdio, U8 data);
  175. U8 GH_SDIO_get_NorIntStaReg_DmaInt(U32 sdio);
  176. void GH_SDIO_set_NorIntStaReg_TraComplete(U32 sdio, U8 data);
  177. U8 GH_SDIO_get_NorIntStaReg_TraComplete(U32 sdio);
  178. void GH_SDIO_set_NorIntStaReg_BufWReady(U32 sdio, U8 data);
  179. U8 GH_SDIO_get_NorIntStaReg_BufWReady(U32 sdio);
  180. void GH_SDIO_set_NorIntStaReg_CardInsertion(U32 sdio, U8 data);
  181. U8 GH_SDIO_get_NorIntStaReg_CardInsertion(U32 sdio);
  182. void GH_SDIO_set_NorIntStaReg_BufRReady(U32 sdio, U8 data);
  183. U8 GH_SDIO_get_NorIntStaReg_BufRReady(U32 sdio);
  184. void GH_SDIO_set_NorIntStaReg_CardRemoval(U32 sdio, U8 data);
  185. U8 GH_SDIO_get_NorIntStaReg_CardRemoval(U32 sdio);
  186. void GH_SDIO_set_NorIntStaReg_CardInt(U32 sdio, U8 data);
  187. U8 GH_SDIO_get_NorIntStaReg_CardInt(U32 sdio);
  188. void GH_SDIO_set_NorIntStaReg_BootAckRcv(U32 sdio, U8 data);
  189. U8 GH_SDIO_get_NorIntStaReg_BootAckRcv(U32 sdio);
  190. void GH_SDIO_set_NorIntStaReg_ErrInt(U32 sdio, U8 data);
  191. U8 GH_SDIO_get_NorIntStaReg_ErrInt(U32 sdio);
  192. /*----------------------------------------------------------------------------*/
  193. /* register SDIO_ErrIntStaReg (read/write) */
  194. /*----------------------------------------------------------------------------*/
  195. void GH_SDIO_set_ErrIntStaReg(U32 sdio, U16 data);
  196. U16 GH_SDIO_get_ErrIntStaReg(U32 sdio);
  197. void GH_SDIO_set_ErrIntStaReg_CmdTimeoutErr(U32 sdio, U8 data);
  198. U8 GH_SDIO_get_ErrIntStaReg_CmdTimeoutErr(U32 sdio);
  199. void GH_SDIO_set_ErrIntStaReg_CmdCrcErr(U32 sdio, U8 data);
  200. U8 GH_SDIO_get_ErrIntStaReg_CmdCrcErr(U32 sdio);
  201. void GH_SDIO_set_ErrIntStaReg_CmdEndBitErr(U32 sdio, U8 data);
  202. U8 GH_SDIO_get_ErrIntStaReg_CmdEndBitErr(U32 sdio);
  203. void GH_SDIO_set_ErrIntStaReg_CmdIndexErr(U32 sdio, U8 data);
  204. U8 GH_SDIO_get_ErrIntStaReg_CmdIndexErr(U32 sdio);
  205. void GH_SDIO_set_ErrIntStaReg_DataTimeoutErr(U32 sdio, U8 data);
  206. U8 GH_SDIO_get_ErrIntStaReg_DataTimeoutErr(U32 sdio);
  207. void GH_SDIO_set_ErrIntStaReg_DataCrcErr(U32 sdio, U8 data);
  208. U8 GH_SDIO_get_ErrIntStaReg_DataCrcErr(U32 sdio);
  209. void GH_SDIO_set_ErrIntStaReg_DataEndBitErr(U32 sdio, U8 data);
  210. U8 GH_SDIO_get_ErrIntStaReg_DataEndBitErr(U32 sdio);
  211. void GH_SDIO_set_ErrIntStaReg_CurLimitErr(U32 sdio, U8 data);
  212. U8 GH_SDIO_get_ErrIntStaReg_CurLimitErr(U32 sdio);
  213. void GH_SDIO_set_ErrIntStaReg_AutoCmd12Err(U32 sdio, U8 data);
  214. U8 GH_SDIO_get_ErrIntStaReg_AutoCmd12Err(U32 sdio);
  215. void GH_SDIO_set_ErrIntStaReg_VendorSpecificErrStatus(U32 sdio, U8 data);
  216. U8 GH_SDIO_get_ErrIntStaReg_VendorSpecificErrStatus(U32 sdio);
  217. /*----------------------------------------------------------------------------*/
  218. /* register SDIO_CmdReg (read/write) */
  219. /*----------------------------------------------------------------------------*/
  220. void GH_SDIO_set_CmdReg(U32 sdio, U16 data);
  221. U16 GH_SDIO_get_CmdReg(U32 sdio);
  222. void GH_SDIO_set_CmdReg_RepTypeSelect(U32 sdio, U8 data);
  223. U8 GH_SDIO_get_CmdReg_RepTypeSelect(U32 sdio);
  224. void GH_SDIO_set_CmdReg_CmdCrcCheckEn(U32 sdio, U8 data);
  225. U8 GH_SDIO_get_CmdReg_CmdCrcCheckEn(U32 sdio);
  226. void GH_SDIO_set_CmdReg_DataPreSelect(U32 sdio, U8 data);
  227. U8 GH_SDIO_get_CmdReg_DataPreSelect(U32 sdio);
  228. void GH_SDIO_set_CmdReg_CmdIndexCheckEn(U32 sdio, U8 data);
  229. U8 GH_SDIO_get_CmdReg_CmdIndexCheckEn(U32 sdio);
  230. void GH_SDIO_set_CmdReg_CmdType(U32 sdio, U8 data);
  231. U8 GH_SDIO_get_CmdReg_CmdType(U32 sdio);
  232. void GH_SDIO_set_CmdReg_CmdIndex(U32 sdio, U8 data);
  233. U8 GH_SDIO_get_CmdReg_CmdIndex(U32 sdio);
  234. /*----------------------------------------------------------------------------*/
  235. /* register SDIO_Control01Reg (read/write) */
  236. /*----------------------------------------------------------------------------*/
  237. void GH_SDIO_set_Control01Reg(U32 sdio, U32 data);
  238. U32 GH_SDIO_get_Control01Reg(U32 sdio);
  239. void GH_SDIO_set_Control01Reg_DataTimeoutCounterValue(U32 sdio, U8 data);
  240. U8 GH_SDIO_get_Control01Reg_DataTimeoutCounterValue(U32 sdio);
  241. void GH_SDIO_set_Control01Reg_SoftwareResetCmdLine(U32 sdio, U8 data);
  242. U8 GH_SDIO_get_Control01Reg_SoftwareResetCmdLine(U32 sdio);
  243. void GH_SDIO_set_Control01Reg_SoftwareResetAll(U32 sdio, U8 data);
  244. U8 GH_SDIO_get_Control01Reg_SoftwareResetAll(U32 sdio);
  245. void GH_SDIO_set_Control01Reg_SoftwareResetDatLine(U32 sdio, U8 data);
  246. U8 GH_SDIO_get_Control01Reg_SoftwareResetDatLine(U32 sdio);
  247. void GH_SDIO_set_Control01Reg_InternalClkEn(U32 sdio, U8 data);
  248. U8 GH_SDIO_get_Control01Reg_InternalClkEn(U32 sdio);
  249. void GH_SDIO_set_Control01Reg_InternalClkStable(U32 sdio, U8 data);
  250. U8 GH_SDIO_get_Control01Reg_InternalClkStable(U32 sdio);
  251. void GH_SDIO_set_Control01Reg_SdClkEn(U32 sdio, U8 data);
  252. U8 GH_SDIO_get_Control01Reg_SdClkEn(U32 sdio);
  253. void GH_SDIO_set_Control01Reg_SdclkFreSelect(U32 sdio, U8 data);
  254. U8 GH_SDIO_get_Control01Reg_SdclkFreSelect(U32 sdio);
  255. /*----------------------------------------------------------------------------*/
  256. /* register SDIO_Resp0Reg (read) */
  257. /*----------------------------------------------------------------------------*/
  258. U32 GH_SDIO_get_Resp0Reg(U32 sdio);
  259. /*----------------------------------------------------------------------------*/
  260. /* register SDIO_Resp1Reg (read) */
  261. /*----------------------------------------------------------------------------*/
  262. U32 GH_SDIO_get_Resp1Reg(U32 sdio);
  263. /*----------------------------------------------------------------------------*/
  264. /* register SDIO_Resp2Reg (read) */
  265. /*----------------------------------------------------------------------------*/
  266. U32 GH_SDIO_get_Resp2Reg(U32 sdio);
  267. /*----------------------------------------------------------------------------*/
  268. /* register SDIO_Resp3Reg (read) */
  269. /*----------------------------------------------------------------------------*/
  270. U32 GH_SDIO_get_Resp3Reg(U32 sdio);
  271. /*----------------------------------------------------------------------------*/
  272. /* register SDIO_Control00Reg (read/write) */
  273. /*----------------------------------------------------------------------------*/
  274. void GH_SDIO_set_Control00Reg(U32 sdio, U32 data);
  275. U32 GH_SDIO_get_Control00Reg(U32 sdio);
  276. void GH_SDIO_set_Control00Reg_LedControl(U32 sdio, U8 data);
  277. U8 GH_SDIO_get_Control00Reg_LedControl(U32 sdio);
  278. void GH_SDIO_set_Control00Reg_DataTraWidth(U32 sdio, U8 data);
  279. U8 GH_SDIO_get_Control00Reg_DataTraWidth(U32 sdio);
  280. void GH_SDIO_set_Control00Reg_Sd8BitMode(U32 sdio, U8 data);
  281. U8 GH_SDIO_get_Control00Reg_Sd8BitMode(U32 sdio);
  282. void GH_SDIO_set_Control00Reg_HostSpeedEn(U32 sdio, U8 data);
  283. U8 GH_SDIO_get_Control00Reg_HostSpeedEn(U32 sdio);
  284. void GH_SDIO_set_Control00Reg_CardDetectTestLevel(U32 sdio, U8 data);
  285. U8 GH_SDIO_get_Control00Reg_CardDetectTestLevel(U32 sdio);
  286. void GH_SDIO_set_Control00Reg_CardDetectSigDet(U32 sdio, U8 data);
  287. U8 GH_SDIO_get_Control00Reg_CardDetectSigDet(U32 sdio);
  288. void GH_SDIO_set_Control00Reg_SdBusPower(U32 sdio, U8 data);
  289. U8 GH_SDIO_get_Control00Reg_SdBusPower(U32 sdio);
  290. void GH_SDIO_set_Control00Reg_SdBusVoltageSelect(U32 sdio, U8 data);
  291. U8 GH_SDIO_get_Control00Reg_SdBusVoltageSelect(U32 sdio);
  292. void GH_SDIO_set_Control00Reg_StopAtBlkGapReq(U32 sdio, U8 data);
  293. U8 GH_SDIO_get_Control00Reg_StopAtBlkGapReq(U32 sdio);
  294. void GH_SDIO_set_Control00Reg_RWaitControl(U32 sdio, U8 data);
  295. U8 GH_SDIO_get_Control00Reg_RWaitControl(U32 sdio);
  296. void GH_SDIO_set_Control00Reg_ContinueReq(U32 sdio, U8 data);
  297. U8 GH_SDIO_get_Control00Reg_ContinueReq(U32 sdio);
  298. void GH_SDIO_set_Control00Reg_IntAtBlkGap(U32 sdio, U8 data);
  299. U8 GH_SDIO_get_Control00Reg_IntAtBlkGap(U32 sdio);
  300. void GH_SDIO_set_Control00Reg_DriveCcsd(U32 sdio, U8 data);
  301. U8 GH_SDIO_get_Control00Reg_DriveCcsd(U32 sdio);
  302. void GH_SDIO_set_Control00Reg_SpiMode(U32 sdio, U8 data);
  303. U8 GH_SDIO_get_Control00Reg_SpiMode(U32 sdio);
  304. void GH_SDIO_set_Control00Reg_BootEn(U32 sdio, U8 data);
  305. U8 GH_SDIO_get_Control00Reg_BootEn(U32 sdio);
  306. void GH_SDIO_set_Control00Reg_AltBootEn(U32 sdio, U8 data);
  307. U8 GH_SDIO_get_Control00Reg_AltBootEn(U32 sdio);
  308. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardIns(U32 sdio, U8 data);
  309. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardIns(U32 sdio);
  310. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardInt(U32 sdio, U8 data);
  311. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardInt(U32 sdio);
  312. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardRem(U32 sdio, U8 data);
  313. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardRem(U32 sdio);
  314. /*----------------------------------------------------------------------------*/
  315. /* register SDIO_PresentStateReg (read) */
  316. /*----------------------------------------------------------------------------*/
  317. U32 GH_SDIO_get_PresentStateReg(U32 sdio);
  318. U8 GH_SDIO_get_PresentStateReg_CmdInhibitCmd(U32 sdio);
  319. U8 GH_SDIO_get_PresentStateReg_DataLineActive(U32 sdio);
  320. U8 GH_SDIO_get_PresentStateReg_CmdInhibitData(U32 sdio);
  321. U8 GH_SDIO_get_PresentStateReg_RTraActive(U32 sdio);
  322. U8 GH_SDIO_get_PresentStateReg_BufWEn(U32 sdio);
  323. U8 GH_SDIO_get_PresentStateReg_WTraActive(U32 sdio);
  324. U8 GH_SDIO_get_PresentStateReg_BufREn(U32 sdio);
  325. U8 GH_SDIO_get_PresentStateReg_CardInserted(U32 sdio);
  326. U8 GH_SDIO_get_PresentStateReg_CardDetectPinLevel(U32 sdio);
  327. U8 GH_SDIO_get_PresentStateReg_CardStateStable(U32 sdio);
  328. U8 GH_SDIO_get_PresentStateReg_WProSwiPinLevel(U32 sdio);
  329. U8 GH_SDIO_get_PresentStateReg_Data03LineSigLevel(U32 sdio);
  330. U8 GH_SDIO_get_PresentStateReg_CmdLineSigLevel(U32 sdio);
  331. U8 GH_SDIO_get_PresentStateReg_Data47LineSigLevel(U32 sdio);
  332. /*----------------------------------------------------------------------------*/
  333. /* register SDIO_ArgReg (read/write) */
  334. /*----------------------------------------------------------------------------*/
  335. void GH_SDIO_set_ArgReg(U32 sdio, U32 data);
  336. U32 GH_SDIO_get_ArgReg(U32 sdio);
  337. /*----------------------------------------------------------------------------*/
  338. /* register SDIO_CapReg (read) */
  339. /*----------------------------------------------------------------------------*/
  340. U32 GH_SDIO_get_CapReg(U32 sdio);
  341. U8 GH_SDIO_get_CapReg_TimeoutClkFre(U32 sdio);
  342. U8 GH_SDIO_get_CapReg_TimeoutClkUnit(U32 sdio);
  343. U8 GH_SDIO_get_CapReg_BaseClkFreForSdClk(U32 sdio);
  344. U8 GH_SDIO_get_CapReg_MaxBlkLen(U32 sdio);
  345. U8 GH_SDIO_get_CapReg_ExtendedMediaBusSup(U32 sdio);
  346. U8 GH_SDIO_get_CapReg_HighSpeedSup(U32 sdio);
  347. U8 GH_SDIO_get_CapReg_SusResSup(U32 sdio);
  348. U8 GH_SDIO_get_CapReg_SdmaSup(U32 sdio);
  349. U8 GH_SDIO_get_CapReg_VoltageSup33v(U32 sdio);
  350. U8 GH_SDIO_get_CapReg_VoltageSup30v(U32 sdio);
  351. U8 GH_SDIO_get_CapReg_VoltageSup18v(U32 sdio);
  352. U8 GH_SDIO_get_CapReg_IntMode(U32 sdio);
  353. /*----------------------------------------------------------------------------*/
  354. /* register SDIO_AutoCmd12ErrStatusReg (read) */
  355. /*----------------------------------------------------------------------------*/
  356. U32 GH_SDIO_get_AutoCmd12ErrStatusReg(U32 sdio);
  357. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12TimeoutErr(U32 sdio);
  358. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12CrcErr(U32 sdio);
  359. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12EndBitErr(U32 sdio);
  360. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12NotExe(U32 sdio);
  361. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12IndexErr(U32 sdio);
  362. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_CmdNotIssuedByAutoCmd12Err(U32 sdio);
  363. /*----------------------------------------------------------------------------*/
  364. /* register SDIO_BufferDataPortReg (read/write) */
  365. /*----------------------------------------------------------------------------*/
  366. void GH_SDIO_set_BufferDataPortReg(U32 sdio, U32 data);
  367. U32 GH_SDIO_get_BufferDataPortReg(U32 sdio);
  368. /*----------------------------------------------------------------------------*/
  369. /* register SDIO_MaxCurCapReg (read/write) */
  370. /*----------------------------------------------------------------------------*/
  371. void GH_SDIO_set_MaxCurCapReg(U32 sdio, U32 data);
  372. U32 GH_SDIO_get_MaxCurCapReg(U32 sdio);
  373. void GH_SDIO_set_MaxCurCapReg_MaxCurFor33v(U32 sdio, U8 data);
  374. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor33v(U32 sdio);
  375. void GH_SDIO_set_MaxCurCapReg_MaxCurFor30v(U32 sdio, U8 data);
  376. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor30v(U32 sdio);
  377. void GH_SDIO_set_MaxCurCapReg_MaxCurFor18v(U32 sdio, U8 data);
  378. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor18v(U32 sdio);
  379. /*----------------------------------------------------------------------------*/
  380. /* register SDIO_SlotIntStatusReg (read) */
  381. /*----------------------------------------------------------------------------*/
  382. U32 GH_SDIO_get_SlotIntStatusReg(U32 sdio);
  383. U8 GH_SDIO_get_SlotIntStatusReg_IntSigForEachSlot(U32 sdio);
  384. U8 GH_SDIO_get_SlotIntStatusReg_SpecifiVerNum(U32 sdio);
  385. U8 GH_SDIO_get_SlotIntStatusReg_VendorVerNum(U32 sdio);
  386. /*----------------------------------------------------------------------------*/
  387. /* init function */
  388. /*----------------------------------------------------------------------------*/
  389. void GH_SDIO_init(void);
  390. #ifdef __cplusplus
  391. }
  392. #endif
  393. #endif /* _GH_SDIO_ALL_H */
  394. /*----------------------------------------------------------------------------*/
  395. /* end of file */
  396. /*----------------------------------------------------------------------------*/