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,
00118 uint16_t wCnt);
00119 extern void HSMCI_SetBlockLen(Hsmci *pRMci, uint16_t wBlkSize);
00120 extern void HSMCI_SetBlockCount(Hsmci *pRMci, uint16_t wBlkCnt);
00121
00122 extern void HSMCI_ConfigureCompletionTO(Hsmci *pRMci, uint32_t dwConfigure);
00123 extern void HSMCI_ConfigureDataTO(Hsmci *pRMci, uint32_t dwConfigure);
00124
00125 extern void HSMCI_SendCmd(Hsmci *pRMci, uint32_t dwCmd, uint32_t dwArg);
00126 extern uint32_t HSMCI_GetResponse(Hsmci *pRMci);
00127 extern uint32_t HSMCI_Read(Hsmci *pRMci);
00128 extern void HSMCI_ReadFifo(Hsmci *pRMci, uint8_t *pdwData, uint32_t dwSize);
00129 extern void HSMCI_Write(Hsmci *pRMci, uint32_t dwData);
00130 extern void HSMCI_WriteFifo(Hsmci *pRMci, uint8_t *pdwData, uint32_t dwSize);
00131
00132 extern uint32_t HSMCI_GetStatus(Hsmci *pRMci);
00133
00134 extern void HSMCI_ConfigureDma(Hsmci *pRMci, uint32_t dwConfigure);
00135 extern void HSMCI_EnableDma(Hsmci *pRMci, uint8_t bEnable);
00136
00137 extern void HSMCI_Configure(Hsmci *pRMci, uint32_t dwConfigure);
00138 extern void HSMCI_HsEnable(Hsmci *pRMci, uint8_t bHsEnable);
00139 extern uint8_t HSMCI_IsHsEnabled(Hsmci *pRMci);
00140
00141 extern void HSMCI_BusWidthCtl(Hsmci *pRMci, uint8_t bBusWidth);
00142 extern void HSMCI_SlotCtl(Hsmci *pRMci, uint8_t bSlot);
00143 extern uint8_t HSMCI_GetSlot(Hsmci *pRMci);
00144
00145 extern void HSMCI_ConfigureWP(Hsmci *pRMci, uint32_t dwConfigure);
00146 extern uint32_t HSMCI_GetWPStatus(Hsmci *pRMci);
00147
00148 #ifdef __cplusplus
00149 }
00150 #endif
00151
00152
00153
00154 #endif //#ifndef HSMCID_H
00155