Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #ifndef HSMCID_H
00073 #define HSMCID_H
00074
00075
00076
00077
00078
00079
00080
00081
00082 #include "chip.h"
00083
00084 #include <stdint.h>
00085
00086 #ifdef __cplusplus
00087 extern "C" {
00088 #endif
00089
00090
00091
00092
00093
00094
00095
00096 extern void HSMCI_Enable(Hsmci* pRMci);
00097 extern void HSMCI_Disable(Hsmci* pRMci);
00098 extern void HSMCI_Reset(Hsmci* pRMci, uint8_t bBackup);
00099
00100 extern void HSMCI_Select(Hsmci * pRMci,uint8_t bSlot,uint8_t bBusWidth);
00101 extern void HSMCI_SetSlot(Hsmci * pRMci,uint8_t bSlot);
00102 extern void HSMCI_SetBusWidth(Hsmci * pRMci,uint8_t bBusWidth);
00103 extern uint8_t HSMCI_GetBusWidth(Hsmci * pRMci);
00104
00105 extern void HSMCI_ConfigureMode(Hsmci *pRMci, uint32_t dwMode);
00106 extern uint32_t HSMCI_GetMode(Hsmci *pRMci);
00107 extern void HSMCI_ProofEnable(Hsmci *pRMci, uint8_t bRdProof, uint8_t bWrProof);
00108 extern void HSMCI_PadvCtl(Hsmci *pRMci, uint8_t bPadv);
00109 extern void HSMCI_FByteEnable(Hsmci *pRMci, uint8_t bFByteEn);
00110 extern uint8_t HSMCI_IsFByteEnabled(Hsmci * pRMci);
00111 extern void HSMCI_DivCtrl(Hsmci *pRMci, uint32_t bClkDiv, uint8_t bPwsDiv);
00112
00113 extern void HSMCI_EnableIt(Hsmci *pRMci, uint32_t dwSources);
00114 extern void HSMCI_DisableIt(Hsmci *pRMci, uint32_t dwSources);
00115 extern uint32_t HSMCI_GetItMask(Hsmci *pRMci);
00116
00117 extern void HSMCI_ConfigureTransfer(Hsmci * pRMci,uint16_t wBlkLen,uint16_t wCnt);
00118 extern void HSMCI_SetBlockLen(Hsmci * pRMci,uint16_t wBlkSize);
00119 extern void HSMCI_SetBlockCount(Hsmci * pRMci,uint16_t wBlkCnt);
00120
00121 extern void HSMCI_ConfigureCompletionTO(Hsmci *pRMci, uint32_t dwConfigure);
00122 extern void HSMCI_ConfigureDataTO(Hsmci *pRMci, uint32_t dwConfigure);
00123
00124 extern void HSMCI_SendCmd(Hsmci * pRMci,uint32_t dwCmd,uint32_t dwArg);
00125 extern uint32_t HSMCI_GetResponse(Hsmci *pRMci);
00126 extern uint32_t HSMCI_Read(Hsmci *pRMci);
00127 extern void HSMCI_ReadFifo(Hsmci *pRMci, uint8_t *pdwData, uint32_t dwSize);
00128 extern void HSMCI_Write(Hsmci *pRMci, uint32_t dwData);
00129 extern void HSMCI_WriteFifo(Hsmci *pRMci, uint8_t *pdwData, uint32_t dwSize);
00130
00131 extern uint32_t HSMCI_GetStatus(Hsmci *pRMci);
00132
00133 extern void HSMCI_ConfigureDma(Hsmci *pRMci, uint32_t dwConfigure);
00134 extern void HSMCI_EnableDma(Hsmci * pRMci,uint8_t bEnable);
00135
00136 extern void HSMCI_Configure(Hsmci *pRMci, uint32_t dwConfigure);
00137 extern void HSMCI_HsEnable(Hsmci *pRMci, uint8_t bHsEnable);
00138 extern uint8_t HSMCI_IsHsEnabled(Hsmci *pRMci);
00139
00140 extern void HSMCI_BusWidthCtl(Hsmci *pRMci, uint8_t bBusWidth);
00141 extern void HSMCI_SlotCtl(Hsmci *pRMci, uint8_t bSlot);
00142 extern uint8_t HSMCI_GetSlot(Hsmci *pRMci);
00143
00144 extern void HSMCI_ConfigureWP(Hsmci *pRMci, uint32_t dwConfigure);
00145 extern uint32_t HSMCI_GetWPStatus(Hsmci *pRMci);
00146
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150
00151
00152
00153 #endif //#ifndef HSMCID_H
00154