| 186 | } |
| 187 | |
| 188 | void FSdCtrl_ReadData(FT_INOUT FtsdCtrl_t *pFtsdCtrl, |
| 189 | FT_IN UINTPTR dataAddr, |
| 190 | FT_IN UINTPTR cardAddr, |
| 191 | FT_IN u32 blkNum) |
| 192 | { |
| 193 | FSdCtrl_Config_t *pConfig; |
| 194 | Ft_assertVoid(FT_NULL != pFtsdCtrl); |
| 195 | pConfig = &pFtsdCtrl->config; |
| 196 | |
| 197 | /* clear data status register and command status register */ |
| 198 | Ft_out32(pConfig->baseAddress + BD_ISR_REG, BD_ISR_EN_ETRS); |
| 199 | Ft_out32(pConfig->baseAddress + NORMAL_INT_STATUS_REG, NORMAL_INT_EN_ECC); |
| 200 | |
| 201 | /* set DMA BD */ |
| 202 | Ft_setBit32((UINTPTR)(pConfig->baseAddress + SOFTWARE_RESET_REG_OFFSET), SOFTWARE_RESET_BDRST); |
| 203 | Ft_clearBit32((UINTPTR)(pConfig->baseAddress + SOFTWARE_RESET_REG_OFFSET), SOFTWARE_RESET_BDRST); |
| 204 | |
| 205 | /* set transfer lenth */ |
| 206 | Ft_out32(pConfig->baseAddress + BLK_CNT_REG, blkNum); |
| 207 | |
| 208 | /* set DMA discriptor data low address,data high address,card low address,card high address*/ |
| 209 | |
| 210 | Ft_out32(pConfig->baseAddress + DAT_IN_M_RX_BD, dataAddr); |
| 211 | Ft_out32(pConfig->baseAddress + DAT_IN_M_RX_BD, 0); |
| 212 | Ft_out32(pConfig->baseAddress + DAT_IN_M_RX_BD, cardAddr); |
| 213 | Ft_out32(pConfig->baseAddress + DAT_IN_M_RX_BD, 0); |
| 214 | } |
| 215 | |
| 216 | static ft_error_t FsdCtrl_privateSendCmd(FT_INOUT FtsdCtrl_t *pFtsdCtrl, FT_IN pFtsdCtrl_delayTimer_t pDelayTimer_fun, FT_IN u32 cmd, FT_IN u32 respType, FT_IN u32 arg) |
| 217 | { |
no test coverage detected