gh_sdio_all.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_sdio_all.h
  5. **
  6. ** \brief SDIO Host Controller.
  7. **
  8. ** Copyright: 2012 - 2013 (C) GoKe Microelectronics ShangHai Branch
  9. **
  10. ** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
  11. ** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
  12. ** OMMISSIONS.
  13. **
  14. ** \note Do not modify this file as it is generated automatically.
  15. **
  16. ******************************************************************************/
  17. #ifndef _GH_SDIO_ALL_H
  18. #define _GH_SDIO_ALL_H
  19. #include "gtypes.h" /* global type definitions */
  20. #include "gh_sdio0.h"
  21. #include "gh_sdio1.h"
  22. #define GH_SDIO0 0
  23. #define GH_SDIO1 1
  24. /*----------------------------------------------------------------------------*/
  25. /* bit group structures */
  26. /*----------------------------------------------------------------------------*/
  27. typedef union { /* SDIO_TranModeReg */
  28. U16 all;
  29. struct {
  30. U16 blkcounten : 1;
  31. U16 autocmd12en : 1;
  32. U16 dmaen : 1;
  33. U16 : 1;
  34. U16 msblkselect : 1;
  35. U16 datatradirselect : 1;
  36. U16 : 10;
  37. } bitc;
  38. } GH_SDIO_TRANMODEREG_S;
  39. typedef union { /* SDIO_NorIntSigEnReg */
  40. U16 all;
  41. struct {
  42. U16 cmdcompletesigen : 1;
  43. U16 tracompletesigen : 1;
  44. U16 blkgapevesigen : 1;
  45. U16 dmaintsigen : 1;
  46. U16 bufwreadysigen : 1;
  47. U16 bufrreadysigen : 1;
  48. U16 cardinsertionsigen : 1;
  49. U16 cardremsigen : 1;
  50. U16 cardintsigen : 1;
  51. U16 : 6;
  52. U16 fixedto0 : 1;
  53. } bitc;
  54. } GH_SDIO_NORINTSIGENREG_S;
  55. typedef union { /* SDIO_ErrIntSigEnReg */
  56. U16 all;
  57. struct {
  58. U16 cmdtimeouterrsigen : 1;
  59. U16 cmdendbiterrsigen : 1;
  60. U16 cmdindexerrsigen : 1;
  61. U16 datatimeouterrsigen : 1;
  62. U16 cmdcrcerrsigen : 1;
  63. U16 datacrcerrsigen : 1;
  64. U16 dataendbiterrsigen : 1;
  65. U16 curlimiterrsigen : 1;
  66. U16 autocmd12errsigen : 1;
  67. U16 : 5;
  68. U16 vendorspecificerrsigen : 2;
  69. } bitc;
  70. } GH_SDIO_ERRINTSIGENREG_S;
  71. typedef union { /* SDIO_BlkCouReg */
  72. U16 all;
  73. struct {
  74. U16 blkcountforcurtra : 16;
  75. } bitc;
  76. } GH_SDIO_BLKCOUREG_S;
  77. typedef union { /* SDIO_BlkSizeReg */
  78. U16 all;
  79. struct {
  80. U16 trablksize : 12;
  81. U16 hostsdmabufsize : 3;
  82. U16 : 1;
  83. } bitc;
  84. } GH_SDIO_BLKSIZEREG_S;
  85. typedef union { /* SDIO_NorIntStaEnReg */
  86. U16 all;
  87. struct {
  88. U16 cmdcompletestatusen : 1;
  89. U16 tracompletestatusen : 1;
  90. U16 blkgapevestatusen : 1;
  91. U16 dmaintstatusen : 1;
  92. U16 bufwreadystatusen : 1;
  93. U16 bufrreadystatusen : 1;
  94. U16 cardinsertionstatusen : 1;
  95. U16 cardremstatusen : 1;
  96. U16 cardintstatusen : 1;
  97. U16 : 6;
  98. U16 fixedto0 : 1;
  99. } bitc;
  100. } GH_SDIO_NORINTSTAENREG_S;
  101. typedef union { /* SDIO_ErrIntStaEnReg */
  102. U16 all;
  103. struct {
  104. U16 cmdtimeouterrstatusen : 1;
  105. U16 cmdendbiterrstatusen : 1;
  106. U16 cmdcrcerrstatusen : 1;
  107. U16 cmdindexerrstatusen : 1;
  108. U16 datacrcerrstatusen : 1;
  109. U16 datatimeouterrstatusen : 1;
  110. U16 dataendbiterrstatusen : 1;
  111. U16 curlimiterrstatusen : 1;
  112. U16 autocmd12errstatusen : 1;
  113. U16 : 5;
  114. U16 vendorspecificerrstatusen : 2;
  115. } bitc;
  116. } GH_SDIO_ERRINTSTAENREG_S;
  117. typedef union { /* SDIO_NorIntStaReg */
  118. U16 all;
  119. struct {
  120. U16 cmdcomplete : 1;
  121. U16 blkgapevent : 1;
  122. U16 dmaint : 1;
  123. U16 tracomplete : 1;
  124. U16 bufwready : 1;
  125. U16 cardinsertion : 1;
  126. U16 bufrready : 1;
  127. U16 cardremoval : 1;
  128. U16 cardint : 1;
  129. U16 bootackrcv : 1;
  130. U16 : 5;
  131. U16 errint : 1;
  132. } bitc;
  133. } GH_SDIO_NORINTSTAREG_S;
  134. typedef union { /* SDIO_ErrIntStatusReg */
  135. U16 all;
  136. struct {
  137. U16 cmdtimeouterr : 1;
  138. U16 cmdcrcerr : 1;
  139. U16 cmdendbiterr : 1;
  140. U16 cmdindexerr : 1;
  141. U16 datatimeouterr : 1;
  142. U16 datacrcerr : 1;
  143. U16 dataendbiterr : 1;
  144. U16 curlimiterr : 1;
  145. U16 autocmd12err : 1;
  146. U16 : 5;
  147. U16 vendorspecificerrstatus : 2;
  148. } bitc;
  149. } GH_SDIO_ERRINTSTATUSREG_S;
  150. typedef union { /* SDIO_CommondReg */
  151. U16 all;
  152. struct {
  153. U16 reptypeselect : 2;
  154. U16 : 1;
  155. U16 cmdcrcchecken : 1;
  156. U16 datapreselect : 1;
  157. U16 cmdindexchecken : 1;
  158. U16 cmdtype : 2;
  159. U16 cmdindex : 6;
  160. U16 : 2;
  161. } bitc;
  162. } GH_SDIO_COMMONDREG_S;
  163. typedef union { /* SDIO_SoftResetReg */
  164. U16 all;
  165. struct {
  166. U16 datatimeoutcountervalue : 4;
  167. U16 : 4;
  168. U16 softwareresetcmdline : 1;
  169. U16 softwareresetall : 1;
  170. U16 softwareresetdatline : 1;
  171. U16 : 5;
  172. } bitc;
  173. } GH_SDIO_SOFTRESETREG_S;
  174. typedef union { /* SDIO_ClkControlReg */
  175. U16 all;
  176. struct {
  177. U16 internalclken : 1;
  178. U16 internalclkstable : 1;
  179. U16 sdclken : 1;
  180. U16 : 5;
  181. U16 sdclkfreselect : 8;
  182. } bitc;
  183. } GH_SDIO_CLKCONTROLREG_S;
  184. typedef union { /* SDIO_Control00Reg */
  185. U32 all;
  186. struct {
  187. U32 ledcontrol : 1;
  188. U32 datatrawidth : 1;
  189. U32 sd8bitmode : 1;
  190. U32 hostspeeden : 1;
  191. U32 : 2;
  192. U32 carddetecttestlevel : 1;
  193. U32 carddetectsigdet : 1;
  194. U32 sdbuspower : 1;
  195. U32 sdbusvoltageselect : 3;
  196. U32 : 4;
  197. U32 stopatblkgapreq : 1;
  198. U32 rwaitcontrol : 1;
  199. U32 continuereq : 1;
  200. U32 intatblkgap : 1;
  201. U32 driveccsd : 1;
  202. U32 spimode : 1;
  203. U32 booten : 1;
  204. U32 altbooten : 1;
  205. U32 wakeupevetenoncardins : 1;
  206. U32 wakeupevetenoncardint : 1;
  207. U32 wakeupevetenoncardrem : 1;
  208. U32 : 5;
  209. } bitc;
  210. } GH_SDIO_CONTROL00REG_S;
  211. typedef union { /* SDIO_PresentStateReg */
  212. U32 all;
  213. struct {
  214. U32 cmdinhibitcmd : 1;
  215. U32 datalineactive : 1;
  216. U32 cmdinhibitdata : 1;
  217. U32 : 5;
  218. U32 rtraactive : 1;
  219. U32 bufwen : 1;
  220. U32 wtraactive : 1;
  221. U32 bufren : 1;
  222. U32 : 4;
  223. U32 cardinserted : 1;
  224. U32 carddetectpinlevel : 1;
  225. U32 cardstatestable : 1;
  226. U32 wproswipinlevel : 1;
  227. U32 data03linesiglevel : 4;
  228. U32 cmdlinesiglevel : 1;
  229. U32 data47linesiglevel : 4;
  230. U32 : 3;
  231. } bitc;
  232. } GH_SDIO_PRESENTSTATEREG_S;
  233. typedef union { /* SDIO_CapReg */
  234. U32 all;
  235. struct {
  236. U32 timeoutclkfre : 6;
  237. U32 : 1;
  238. U32 timeoutclkunit : 1;
  239. U32 baseclkfreforsdclk : 6;
  240. U32 : 2;
  241. U32 maxblklen : 2;
  242. U32 extendedmediabussup : 1;
  243. U32 : 2;
  244. U32 highspeedsup : 1;
  245. U32 susressup : 1;
  246. U32 sdmasup : 1;
  247. U32 voltagesup33v : 1;
  248. U32 voltagesup30v : 1;
  249. U32 voltagesup18v : 1;
  250. U32 intmode : 1;
  251. U32 : 4;
  252. } bitc;
  253. } GH_SDIO_CAPREG_S;
  254. typedef union { /* SDIO_AutoCmd12ErrStatusReg */
  255. U32 all;
  256. struct {
  257. U32 autocmd12timeouterr : 1;
  258. U32 autocmd12crcerr : 1;
  259. U32 autocmd12endbiterr : 1;
  260. U32 autocmd12notexe : 1;
  261. U32 autocmd12indexerr : 1;
  262. U32 : 2;
  263. U32 cmdnotissuedbyautocmd12err : 1;
  264. U32 : 24;
  265. } bitc;
  266. } GH_SDIO_AUTOCMD12ERRSTATUSREG_S;
  267. typedef union { /* SDIO_MaxCurCapReg */
  268. U32 all;
  269. struct {
  270. U32 maxcurfor33v : 8;
  271. U32 maxcurfor30v : 8;
  272. U32 maxcurfor18v : 8;
  273. U32 : 8;
  274. } bitc;
  275. } GH_SDIO_MAXCURCAPREG_S;
  276. typedef union { /* SDIO_SlotIntStatusReg */
  277. U32 all;
  278. struct {
  279. U32 intsigforeachslot : 8;
  280. U32 : 8;
  281. U32 specifivernum : 8;
  282. U32 vendorvernum : 8;
  283. } bitc;
  284. } GH_SDIO_SLOTINTSTATUSREG_S;
  285. /*---------------------------------------------------------------------------*/
  286. /* function prototypes */
  287. /*---------------------------------------------------------------------------*/
  288. #ifdef __cplusplus
  289. extern "C" {
  290. #endif
  291. void GH_SDIO_set_SysAddrReg(U32 sdio, U32 data);
  292. U32 GH_SDIO_get_SysAddrReg(U32 sdio);
  293. void GH_SDIO_set_TranModeReg(U32 sdio, U16 data);
  294. U16 GH_SDIO_get_TranModeReg(U32 sdio);
  295. void GH_SDIO_set_TranModeReg_BlkCountEn(U32 sdio, U8 data);
  296. U8 GH_SDIO_get_TranModeReg_BlkCountEn(U32 sdio);
  297. void GH_SDIO_set_TranModeReg_AutoCmd12En(U32 sdio, U8 data);
  298. U8 GH_SDIO_get_TranModeReg_AutoCmd12En(U32 sdio);
  299. void GH_SDIO_set_TranModeReg_DmaEn(U32 sdio, U8 data);
  300. U8 GH_SDIO_get_TranModeReg_DmaEn(U32 sdio);
  301. void GH_SDIO_set_TranModeReg_MSBlkSelect(U32 sdio, U8 data);
  302. U8 GH_SDIO_get_TranModeReg_MSBlkSelect(U32 sdio);
  303. void GH_SDIO_set_TranModeReg_DataTraDirSelect(U32 sdio, U8 data);
  304. U8 GH_SDIO_get_TranModeReg_DataTraDirSelect(U32 sdio);
  305. void GH_SDIO_set_NorIntSigEnReg(U32 sdio, U16 data);
  306. U16 GH_SDIO_get_NorIntSigEnReg(U32 sdio);
  307. void GH_SDIO_set_NorIntSigEnReg_CmdCompleteSigEn(U32 sdio, U8 data);
  308. U8 GH_SDIO_get_NorIntSigEnReg_CmdCompleteSigEn(U32 sdio);
  309. void GH_SDIO_set_NorIntSigEnReg_TraCompleteSigEn(U32 sdio, U8 data);
  310. U8 GH_SDIO_get_NorIntSigEnReg_TraCompleteSigEn(U32 sdio);
  311. void GH_SDIO_set_NorIntSigEnReg_BlkGapEveSigEn(U32 sdio, U8 data);
  312. U8 GH_SDIO_get_NorIntSigEnReg_BlkGapEveSigEn(U32 sdio);
  313. void GH_SDIO_set_NorIntSigEnReg_DmaIntSigEn(U32 sdio, U8 data);
  314. U8 GH_SDIO_get_NorIntSigEnReg_DmaIntSigEn(U32 sdio);
  315. void GH_SDIO_set_NorIntSigEnReg_BufWReadySigEn(U32 sdio, U8 data);
  316. U8 GH_SDIO_get_NorIntSigEnReg_BufWReadySigEn(U32 sdio);
  317. void GH_SDIO_set_NorIntSigEnReg_BufRReadySigEn(U32 sdio, U8 data);
  318. U8 GH_SDIO_get_NorIntSigEnReg_BufRReadySigEn(U32 sdio);
  319. void GH_SDIO_set_NorIntSigEnReg_CardInsertionSigEn(U32 sdio, U8 data);
  320. U8 GH_SDIO_get_NorIntSigEnReg_CardInsertionSigEn(U32 sdio);
  321. void GH_SDIO_set_NorIntSigEnReg_CardRemSigEn(U32 sdio, U8 data);
  322. U8 GH_SDIO_get_NorIntSigEnReg_CardRemSigEn(U32 sdio);
  323. void GH_SDIO_set_NorIntSigEnReg_CardIntSigEN(U32 sdio, U8 data);
  324. U8 GH_SDIO_get_NorIntSigEnReg_CardIntSigEN(U32 sdio);
  325. void GH_SDIO_set_NorIntSigEnReg_FixedTo0(U32 sdio, U8 data);
  326. U8 GH_SDIO_get_NorIntSigEnReg_FixedTo0(U32 sdio);
  327. void GH_SDIO_set_ErrIntSigEnReg(U32 sdio, U16 data);
  328. U16 GH_SDIO_get_ErrIntSigEnReg(U32 sdio);
  329. void GH_SDIO_set_ErrIntSigEnReg_CmdTimeoutErrSigEn(U32 sdio, U8 data);
  330. U8 GH_SDIO_get_ErrIntSigEnReg_CmdTimeoutErrSigEn(U32 sdio);
  331. void GH_SDIO_set_ErrIntSigEnReg_CmdEndBitErrSigEn(U32 sdio, U8 data);
  332. U8 GH_SDIO_get_ErrIntSigEnReg_CmdEndBitErrSigEn(U32 sdio);
  333. void GH_SDIO_set_ErrIntSigEnReg_CmdIndexErrSigEn(U32 sdio, U8 data);
  334. U8 GH_SDIO_get_ErrIntSigEnReg_CmdIndexErrSigEn(U32 sdio);
  335. void GH_SDIO_set_ErrIntSigEnReg_DataTimeoutErrSigEn(U32 sdio, U8 data);
  336. U8 GH_SDIO_get_ErrIntSigEnReg_DataTimeoutErrSigEn(U32 sdio);
  337. void GH_SDIO_set_ErrIntSigEnReg_CmdCrcErrSigEn(U32 sdio, U8 data);
  338. U8 GH_SDIO_get_ErrIntSigEnReg_CmdCrcErrSigEn(U32 sdio);
  339. void GH_SDIO_set_ErrIntSigEnReg_DataCrcErrSigEn(U32 sdio, U8 data);
  340. U8 GH_SDIO_get_ErrIntSigEnReg_DataCrcErrSigEn(U32 sdio);
  341. void GH_SDIO_set_ErrIntSigEnReg_DataEndBitErrSigEn(U32 sdio, U8 data);
  342. U8 GH_SDIO_get_ErrIntSigEnReg_DataEndBitErrSigEn(U32 sdio);
  343. void GH_SDIO_set_ErrIntSigEnReg_CurLimitErrSigEn(U32 sdio, U8 data);
  344. U8 GH_SDIO_get_ErrIntSigEnReg_CurLimitErrSigEn(U32 sdio);
  345. void GH_SDIO_set_ErrIntSigEnReg_AutoCmd12ErrSigEn(U32 sdio, U8 data);
  346. U8 GH_SDIO_get_ErrIntSigEnReg_AutoCmd12ErrSigEn(U32 sdio);
  347. void GH_SDIO_set_ErrIntSigEnReg_VendorSpecificErrSigEn(U32 sdio, U8 data);
  348. U8 GH_SDIO_get_ErrIntSigEnReg_VendorSpecificErrSigEn(U32 sdio);
  349. void GH_SDIO_set_BlkCouReg(U32 sdio, U16 data);
  350. U16 GH_SDIO_get_BlkCouReg(U32 sdio);
  351. void GH_SDIO_set_BlkCouReg_BlkCountForCurTra(U32 sdio, U16 data);
  352. U16 GH_SDIO_get_BlkCouReg_BlkCountForCurTra(U32 sdio);
  353. void GH_SDIO_set_BlkSizeReg(U32 sdio, U16 data);
  354. U16 GH_SDIO_get_BlkSizeReg(U32 sdio);
  355. void GH_SDIO_set_BlkSizeReg_TraBlkSize(U32 sdio, U16 data);
  356. U16 GH_SDIO_get_BlkSizeReg_TraBlkSize(U32 sdio);
  357. void GH_SDIO_set_BlkSizeReg_HostSdmaBufSize(U32 sdio, U8 data);
  358. U8 GH_SDIO_get_BlkSizeReg_HostSdmaBufSize(U32 sdio);
  359. void GH_SDIO_set_NorIntStaEnReg(U32 sdio, U16 data);
  360. U16 GH_SDIO_get_NorIntStaEnReg(U32 sdio);
  361. void GH_SDIO_set_NorIntStaEnReg_CmdCompleteStatusEn(U32 sdio, U8 data);
  362. U8 GH_SDIO_get_NorIntStaEnReg_CmdCompleteStatusEn(U32 sdio);
  363. void GH_SDIO_set_NorIntStaEnReg_TraCompleteStatusEn(U32 sdio, U8 data);
  364. U8 GH_SDIO_get_NorIntStaEnReg_TraCompleteStatusEn(U32 sdio);
  365. void GH_SDIO_set_NorIntStaEnReg_BlkGapEveStatusEn(U32 sdio, U8 data);
  366. U8 GH_SDIO_get_NorIntStaEnReg_BlkGapEveStatusEn(U32 sdio);
  367. void GH_SDIO_set_NorIntStaEnReg_DmaIntStatusEn(U32 sdio, U8 data);
  368. U8 GH_SDIO_get_NorIntStaEnReg_DmaIntStatusEn(U32 sdio);
  369. void GH_SDIO_set_NorIntStaEnReg_BufWReadyStatusEn(U32 sdio, U8 data);
  370. U8 GH_SDIO_get_NorIntStaEnReg_BufWReadyStatusEn(U32 sdio);
  371. void GH_SDIO_set_NorIntStaEnReg_BufRReadyStatusEn(U32 sdio, U8 data);
  372. U8 GH_SDIO_get_NorIntStaEnReg_BufRReadyStatusEn(U32 sdio);
  373. void GH_SDIO_set_NorIntStaEnReg_CardInsertionStatusEn(U32 sdio, U8 data);
  374. U8 GH_SDIO_get_NorIntStaEnReg_CardInsertionStatusEn(U32 sdio);
  375. void GH_SDIO_set_NorIntStaEnReg_CardRemStatusEn(U32 sdio, U8 data);
  376. U8 GH_SDIO_get_NorIntStaEnReg_CardRemStatusEn(U32 sdio);
  377. void GH_SDIO_set_NorIntStaEnReg_CardIntStatusEn(U32 sdio, U8 data);
  378. U8 GH_SDIO_get_NorIntStaEnReg_CardIntStatusEn(U32 sdio);
  379. void GH_SDIO_set_NorIntStaEnReg_FixedTo0(U32 sdio, U8 data);
  380. U8 GH_SDIO_get_NorIntStaEnReg_FixedTo0(U32 sdio);
  381. void GH_SDIO_set_ErrIntStaEnReg(U32 sdio, U16 data);
  382. U16 GH_SDIO_get_ErrIntStaEnReg(U32 sdio);
  383. void GH_SDIO_set_ErrIntStaEnReg_CmdTimeoutErrStatusEn(U32 sdio, U8 data);
  384. U8 GH_SDIO_get_ErrIntStaEnReg_CmdTimeoutErrStatusEn(U32 sdio);
  385. void GH_SDIO_set_ErrIntStaEnReg_CmdEndBitErrStatusEn(U32 sdio, U8 data);
  386. U8 GH_SDIO_get_ErrIntStaEnReg_CmdEndBitErrStatusEn(U32 sdio);
  387. void GH_SDIO_set_ErrIntStaEnReg_CmdCrcErrStatusEn(U32 sdio, U8 data);
  388. U8 GH_SDIO_get_ErrIntStaEnReg_CmdCrcErrStatusEn(U32 sdio);
  389. void GH_SDIO_set_ErrIntStaEnReg_CmdIndexErrStatusEn(U32 sdio, U8 data);
  390. U8 GH_SDIO_get_ErrIntStaEnReg_CmdIndexErrStatusEn(U32 sdio);
  391. void GH_SDIO_set_ErrIntStaEnReg_DataCrcErrStatusEn(U32 sdio, U8 data);
  392. U8 GH_SDIO_get_ErrIntStaEnReg_DataCrcErrStatusEn(U32 sdio);
  393. void GH_SDIO_set_ErrIntStaEnReg_DataTimeoutErrStatusEn(U32 sdio, U8 data);
  394. U8 GH_SDIO_get_ErrIntStaEnReg_DataTimeoutErrStatusEn(U32 sdio);
  395. void GH_SDIO_set_ErrIntStaEnReg_DataEndBitErrStatusEn(U32 sdio, U8 data);
  396. U8 GH_SDIO_get_ErrIntStaEnReg_DataEndBitErrStatusEn(U32 sdio);
  397. void GH_SDIO_set_ErrIntStaEnReg_CurLimitErrStatusEn(U32 sdio, U8 data);
  398. U8 GH_SDIO_get_ErrIntStaEnReg_CurLimitErrStatusEn(U32 sdio);
  399. void GH_SDIO_set_ErrIntStaEnReg_AutoCmd12ErrStatusEn(U32 sdio, U8 data);
  400. U8 GH_SDIO_get_ErrIntStaEnReg_AutoCmd12ErrStatusEn(U32 sdio);
  401. void GH_SDIO_set_ErrIntStaEnReg_VendorSpecificErrStatusEn(U32 sdio, U8 data);
  402. U8 GH_SDIO_get_ErrIntStaEnReg_VendorSpecificErrStatusEn(U32 sdio);
  403. void GH_SDIO_set_NorIntStaReg(U32 sdio, U16 data);
  404. U16 GH_SDIO_get_NorIntStaReg(U32 sdio);
  405. void GH_SDIO_set_NorIntStaReg_CmdComplete(U32 sdio, U8 data);
  406. U8 GH_SDIO_get_NorIntStaReg_CmdComplete(U32 sdio);
  407. void GH_SDIO_set_NorIntStaReg_BlkGapEvent(U32 sdio, U8 data);
  408. U8 GH_SDIO_get_NorIntStaReg_BlkGapEvent(U32 sdio);
  409. void GH_SDIO_set_NorIntStaReg_DmaInt(U32 sdio, U8 data);
  410. U8 GH_SDIO_get_NorIntStaReg_DmaInt(U32 sdio);
  411. void GH_SDIO_set_NorIntStaReg_TraComplete(U32 sdio, U8 data);
  412. U8 GH_SDIO_get_NorIntStaReg_TraComplete(U32 sdio);
  413. void GH_SDIO_set_NorIntStaReg_BufWReady(U32 sdio, U8 data);
  414. U8 GH_SDIO_get_NorIntStaReg_BufWReady(U32 sdio);
  415. void GH_SDIO_set_NorIntStaReg_CardInsertion(U32 sdio, U8 data);
  416. U8 GH_SDIO_get_NorIntStaReg_CardInsertion(U32 sdio);
  417. void GH_SDIO_set_NorIntStaReg_BufRReady(U32 sdio, U8 data);
  418. U8 GH_SDIO_get_NorIntStaReg_BufRReady(U32 sdio);
  419. void GH_SDIO_set_NorIntStaReg_CardRemoval(U32 sdio, U8 data);
  420. U8 GH_SDIO_get_NorIntStaReg_CardRemoval(U32 sdio);
  421. void GH_SDIO_set_NorIntStaReg_CardInt(U32 sdio, U8 data);
  422. U8 GH_SDIO_get_NorIntStaReg_CardInt(U32 sdio);
  423. void GH_SDIO_set_NorIntStaReg_BootAckRcv(U32 sdio, U8 data);
  424. U8 GH_SDIO_get_NorIntStaReg_BootAckRcv(U32 sdio);
  425. void GH_SDIO_set_NorIntStaReg_ErrInt(U32 sdio, U8 data);
  426. U8 GH_SDIO_get_NorIntStaReg_ErrInt(U32 sdio);
  427. void GH_SDIO_set_ErrIntStatusReg(U32 sdio, U16 data);
  428. U16 GH_SDIO_get_ErrIntStatusReg(U32 sdio);
  429. void GH_SDIO_set_ErrIntStatusReg_CmdTimeoutErr(U32 sdio, U8 data);
  430. U8 GH_SDIO_get_ErrIntStatusReg_CmdTimeoutErr(U32 sdio);
  431. void GH_SDIO_set_ErrIntStatusReg_CmdCrcErr(U32 sdio, U8 data);
  432. U8 GH_SDIO_get_ErrIntStatusReg_CmdCrcErr(U32 sdio);
  433. void GH_SDIO_set_ErrIntStatusReg_CmdEndBitErr(U32 sdio, U8 data);
  434. U8 GH_SDIO_get_ErrIntStatusReg_CmdEndBitErr(U32 sdio);
  435. void GH_SDIO_set_ErrIntStatusReg_CmdIndexErr(U32 sdio, U8 data);
  436. U8 GH_SDIO_get_ErrIntStatusReg_CmdIndexErr(U32 sdio);
  437. void GH_SDIO_set_ErrIntStatusReg_DataTimeoutErr(U32 sdio, U8 data);
  438. U8 GH_SDIO_get_ErrIntStatusReg_DataTimeoutErr(U32 sdio);
  439. void GH_SDIO_set_ErrIntStatusReg_DataCrcErr(U32 sdio, U8 data);
  440. U8 GH_SDIO_get_ErrIntStatusReg_DataCrcErr(U32 sdio);
  441. void GH_SDIO_set_ErrIntStatusReg_DataEndBitErr(U32 sdio, U8 data);
  442. U8 GH_SDIO_get_ErrIntStatusReg_DataEndBitErr(U32 sdio);
  443. void GH_SDIO_set_ErrIntStatusReg_CurLimitErr(U32 sdio, U8 data);
  444. U8 GH_SDIO_get_ErrIntStatusReg_CurLimitErr(U32 sdio);
  445. void GH_SDIO_set_ErrIntStatusReg_AutoCmd12Err(U32 sdio, U8 data);
  446. U8 GH_SDIO_get_ErrIntStatusReg_AutoCmd12Err(U32 sdio);
  447. void GH_SDIO_set_ErrIntStatusReg_VendorSpecificErrStatus(U32 sdio, U8 data);
  448. U8 GH_SDIO_get_ErrIntStatusReg_VendorSpecificErrStatus(U32 sdio);
  449. void GH_SDIO_set_CommondReg(U32 sdio, U16 data);
  450. U16 GH_SDIO_get_CommondReg(U32 sdio);
  451. void GH_SDIO_set_CommondReg_RepTypeSelect(U32 sdio, U8 data);
  452. U8 GH_SDIO_get_CommondReg_RepTypeSelect(U32 sdio);
  453. void GH_SDIO_set_CommondReg_CmdCrcCheckEn(U32 sdio, U8 data);
  454. U8 GH_SDIO_get_CommondReg_CmdCrcCheckEn(U32 sdio);
  455. void GH_SDIO_set_CommondReg_DataPreSelect(U32 sdio, U8 data);
  456. U8 GH_SDIO_get_CommondReg_DataPreSelect(U32 sdio);
  457. void GH_SDIO_set_CommondReg_CmdIndexCheckEn(U32 sdio, U8 data);
  458. U8 GH_SDIO_get_CommondReg_CmdIndexCheckEn(U32 sdio);
  459. void GH_SDIO_set_CommondReg_CmdType(U32 sdio, U8 data);
  460. U8 GH_SDIO_get_CommondReg_CmdType(U32 sdio);
  461. void GH_SDIO_set_CommondReg_CmdIndex(U32 sdio, U8 data);
  462. U8 GH_SDIO_get_CommondReg_CmdIndex(U32 sdio);
  463. void GH_SDIO_set_SoftResetReg(U32 sdio, U16 data);
  464. U16 GH_SDIO_get_SoftResetReg(U32 sdio);
  465. void GH_SDIO_set_SoftResetReg_DataTimeoutCounterValue(U32 sdio, U8 data);
  466. U8 GH_SDIO_get_SoftResetReg_DataTimeoutCounterValue(U32 sdio);
  467. void GH_SDIO_set_SoftResetReg_SoftwareResetCmdLine(U32 sdio, U8 data);
  468. U8 GH_SDIO_get_SoftResetReg_SoftwareResetCmdLine(U32 sdio);
  469. void GH_SDIO_set_SoftResetReg_SoftwareResetAll(U32 sdio, U8 data);
  470. U8 GH_SDIO_get_SoftResetReg_SoftwareResetAll(U32 sdio);
  471. void GH_SDIO_set_SoftResetReg_SoftwareResetDatLine(U32 sdio, U8 data);
  472. U8 GH_SDIO_get_SoftResetReg_SoftwareResetDatLine(U32 sdio);
  473. void GH_SDIO_set_ClkControlReg(U32 sdio, U16 data);
  474. U16 GH_SDIO_get_ClkControlReg(U32 sdio);
  475. void GH_SDIO_set_ClkControlReg_InternalClkEn(U32 sdio, U8 data);
  476. U8 GH_SDIO_get_ClkControlReg_InternalClkEn(U32 sdio);
  477. void GH_SDIO_set_ClkControlReg_InternalClkStable(U32 sdio, U8 data);
  478. U8 GH_SDIO_get_ClkControlReg_InternalClkStable(U32 sdio);
  479. void GH_SDIO_set_ClkControlReg_SdClkEn(U32 sdio, U8 data);
  480. U8 GH_SDIO_get_ClkControlReg_SdClkEn(U32 sdio);
  481. void GH_SDIO_set_ClkControlReg_SdclkFreSelect(U32 sdio, U8 data);
  482. U8 GH_SDIO_get_ClkControlReg_SdclkFreSelect(U32 sdio);
  483. U32 GH_SDIO_get_Resp0Reg(U32 sdio);
  484. U32 GH_SDIO_get_Resp1Reg(U32 sdio);
  485. U32 GH_SDIO_get_Resp2Reg(U32 sdio);
  486. U32 GH_SDIO_get_Resp3Reg(U32 sdio);
  487. void GH_SDIO_set_Control00Reg(U32 sdio, U32 data);
  488. U32 GH_SDIO_get_Control00Reg(U32 sdio);
  489. void GH_SDIO_set_Control00Reg_LedControl(U32 sdio, U8 data);
  490. U8 GH_SDIO_get_Control00Reg_LedControl(U32 sdio);
  491. void GH_SDIO_set_Control00Reg_DataTraWidth(U32 sdio, U8 data);
  492. U8 GH_SDIO_get_Control00Reg_DataTraWidth(U32 sdio);
  493. void GH_SDIO_set_Control00Reg_HostSpeedEn(U32 sdio, U8 data);
  494. U8 GH_SDIO_get_Control00Reg_HostSpeedEn(U32 sdio);
  495. void GH_SDIO_set_Control00Reg_Sd8BitMode(U32 sdio, U8 data);
  496. U8 GH_SDIO_get_Control00Reg_Sd8BitMode(U32 sdio);
  497. void GH_SDIO_set_Control00Reg_CardDetectTestLevel(U32 sdio, U8 data);
  498. U8 GH_SDIO_get_Control00Reg_CardDetectTestLevel(U32 sdio);
  499. void GH_SDIO_set_Control00Reg_CardDetectSigDet(U32 sdio, U8 data);
  500. U8 GH_SDIO_get_Control00Reg_CardDetectSigDet(U32 sdio);
  501. void GH_SDIO_set_Control00Reg_SdBusPower(U32 sdio, U8 data);
  502. U8 GH_SDIO_get_Control00Reg_SdBusPower(U32 sdio);
  503. void GH_SDIO_set_Control00Reg_SdBusVoltageSelect(U32 sdio, U8 data);
  504. U8 GH_SDIO_get_Control00Reg_SdBusVoltageSelect(U32 sdio);
  505. void GH_SDIO_set_Control00Reg_StopAtBlkGapReq(U32 sdio, U8 data);
  506. U8 GH_SDIO_get_Control00Reg_StopAtBlkGapReq(U32 sdio);
  507. void GH_SDIO_set_Control00Reg_ContinueReq(U32 sdio, U8 data);
  508. U8 GH_SDIO_get_Control00Reg_ContinueReq(U32 sdio);
  509. void GH_SDIO_set_Control00Reg_RWaitControl(U32 sdio, U8 data);
  510. U8 GH_SDIO_get_Control00Reg_RWaitControl(U32 sdio);
  511. void GH_SDIO_set_Control00Reg_IntAtBlkGap(U32 sdio, U8 data);
  512. U8 GH_SDIO_get_Control00Reg_IntAtBlkGap(U32 sdio);
  513. void GH_SDIO_set_Control00Reg_DriveCcsd(U32 sdio, U8 data);
  514. U8 GH_SDIO_get_Control00Reg_DriveCcsd(U32 sdio);
  515. void GH_SDIO_set_Control00Reg_SpiMode(U32 sdio, U8 data);
  516. U8 GH_SDIO_get_Control00Reg_SpiMode(U32 sdio);
  517. void GH_SDIO_set_Control00Reg_BootEn(U32 sdio, U8 data);
  518. U8 GH_SDIO_get_Control00Reg_BootEn(U32 sdio);
  519. void GH_SDIO_set_Control00Reg_AltBootEn(U32 sdio, U8 data);
  520. U8 GH_SDIO_get_Control00Reg_AltBootEn(U32 sdio);
  521. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardInt(U32 sdio, U8 data);
  522. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardInt(U32 sdio);
  523. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardIns(U32 sdio, U8 data);
  524. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardIns(U32 sdio);
  525. void GH_SDIO_set_Control00Reg_WakeupEvetEnOnCardRem(U32 sdio, U8 data);
  526. U8 GH_SDIO_get_Control00Reg_WakeupEvetEnOnCardRem(U32 sdio);
  527. U32 GH_SDIO_get_PresentStateReg(U32 sdio);
  528. U8 GH_SDIO_get_PresentStateReg_CmdInhibitCmd(U32 sdio);
  529. U8 GH_SDIO_get_PresentStateReg_CmdInhibitData(U32 sdio);
  530. U8 GH_SDIO_get_PresentStateReg_DataLineActive(U32 sdio);
  531. U8 GH_SDIO_get_PresentStateReg_WTraActive(U32 sdio);
  532. U8 GH_SDIO_get_PresentStateReg_RTraActive(U32 sdio);
  533. U8 GH_SDIO_get_PresentStateReg_BufWEn(U32 sdio);
  534. U8 GH_SDIO_get_PresentStateReg_BufREn(U32 sdio);
  535. U8 GH_SDIO_get_PresentStateReg_CardInserted(U32 sdio);
  536. U8 GH_SDIO_get_PresentStateReg_CardStateStable(U32 sdio);
  537. U8 GH_SDIO_get_PresentStateReg_CardDetectPinLevel(U32 sdio);
  538. U8 GH_SDIO_get_PresentStateReg_WProSwiPinLevel(U32 sdio);
  539. U8 GH_SDIO_get_PresentStateReg_Data03LineSigLevel(U32 sdio);
  540. U8 GH_SDIO_get_PresentStateReg_CmdLineSigLevel(U32 sdio);
  541. U8 GH_SDIO_get_PresentStateReg_Data47LineSigLevel(U32 sdio);
  542. void GH_SDIO_set_ArgReg(U32 sdio, U32 data);
  543. U32 GH_SDIO_get_ArgReg(U32 sdio);
  544. U32 GH_SDIO_get_CapReg(U32 sdio);
  545. U8 GH_SDIO_get_CapReg_TimeoutClkFre(U32 sdio);
  546. U8 GH_SDIO_get_CapReg_TimeoutClkUnit(U32 sdio);
  547. U8 GH_SDIO_get_CapReg_BaseClkFreForSdClk(U32 sdio);
  548. U8 GH_SDIO_get_CapReg_MaxBlkLen(U32 sdio);
  549. U8 GH_SDIO_get_CapReg_ExtendedMediaBusSup(U32 sdio);
  550. U8 GH_SDIO_get_CapReg_HighSpeedSup(U32 sdio);
  551. U8 GH_SDIO_get_CapReg_SdmaSup(U32 sdio);
  552. U8 GH_SDIO_get_CapReg_SusResSup(U32 sdio);
  553. U8 GH_SDIO_get_CapReg_VoltageSup33v(U32 sdio);
  554. U8 GH_SDIO_get_CapReg_VoltageSup30v(U32 sdio);
  555. U8 GH_SDIO_get_CapReg_VoltageSup18v(U32 sdio);
  556. U8 GH_SDIO_get_CapReg_IntMode(U32 sdio);
  557. U32 GH_SDIO_get_AutoCmd12ErrStatusReg(U32 sdio);
  558. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12NotExe(U32 sdio);
  559. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12TimeoutErr(U32 sdio);
  560. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12CrcErr(U32 sdio);
  561. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12EndBitErr(U32 sdio);
  562. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_AutoCmd12IndexErr(U32 sdio);
  563. U8 GH_SDIO_get_AutoCmd12ErrStatusReg_CmdNotIssuedByAutoCmd12Err(U32 sdio);
  564. void GH_SDIO_set_BufferDataPortReg(U32 sdio, U32 data);
  565. U32 GH_SDIO_get_BufferDataPortReg(U32 sdio);
  566. void GH_SDIO_set_MaxCurCapReg(U32 sdio, U32 data);
  567. U32 GH_SDIO_get_MaxCurCapReg(U32 sdio);
  568. void GH_SDIO_set_MaxCurCapReg_MaxCurFor33v(U32 sdio, U8 data);
  569. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor33v(U32 sdio);
  570. void GH_SDIO_set_MaxCurCapReg_MaxCurFor30v(U32 sdio, U8 data);
  571. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor30v(U32 sdio);
  572. void GH_SDIO_set_MaxCurCapReg_MaxCurFor18v(U32 sdio, U8 data);
  573. U8 GH_SDIO_get_MaxCurCapReg_MaxCurFor18v(U32 sdio);
  574. U32 GH_SDIO_get_SlotIntStatusReg(U32 sdio);
  575. U8 GH_SDIO_get_SlotIntStatusReg_IntSigForEachSlot(U32 sdio);
  576. U8 GH_SDIO_get_SlotIntStatusReg_SpecifiVerNum(U32 sdio);
  577. U8 GH_SDIO_get_SlotIntStatusReg_VendorVerNum(U32 sdio);
  578. /*----------------------------------------------------------------------------*/
  579. /* init function */
  580. /*----------------------------------------------------------------------------*/
  581. /*! \brief Initialises the registers and mirror variables. */
  582. void GH_SDIO_init(void);
  583. #ifdef __cplusplus
  584. }
  585. #endif
  586. #endif /* _GH_SDIO_ALL_H */
  587. /*----------------------------------------------------------------------------*/
  588. /* end of file */
  589. /*----------------------------------------------------------------------------*/