| 160 | } |
| 161 | |
| 162 | void FSdCtrl_WriteData(FT_INOUT FtsdCtrl_t *pFtsdCtrl, FT_IN UINTPTR dataAddr, |
| 163 | FT_IN UINTPTR cardAddr, FT_IN u32 blkNum) |
| 164 | { |
| 165 | |
| 166 | FSdCtrl_Config_t *pConfig; |
| 167 | Ft_assertVoid(FT_NULL != pFtsdCtrl); |
| 168 | pConfig = &pFtsdCtrl->config; |
| 169 | |
| 170 | /* write 1 to clear data status register and command status register */ |
| 171 | Ft_out32(pConfig->baseAddress + BD_ISR_REG, BD_ISR_REG_TRS); |
| 172 | Ft_out32(pConfig->baseAddress + NORMAL_INT_STATUS_REG, NORMAL_INT_STATUS_CC); |
| 173 | |
| 174 | /* set DMA BD */ |
| 175 | Ft_setBit32((UINTPTR)(pConfig->baseAddress + SOFTWARE_RESET_REG_OFFSET), SOFTWARE_RESET_BDRST); |
| 176 | Ft_clearBit32((UINTPTR)(pConfig->baseAddress + SOFTWARE_RESET_REG_OFFSET), SOFTWARE_RESET_BDRST); |
| 177 | |
| 178 | /* set transfer lenth */ |
| 179 | Ft_out32(pConfig->baseAddress + BLK_CNT_REG, blkNum); |
| 180 | |
| 181 | /* set DMA discriptor data low address,data high address,card low address,card high address*/ |
| 182 | Ft_out32(pConfig->baseAddress + DAT_IN_M_TX_BD, dataAddr); |
| 183 | Ft_out32(pConfig->baseAddress + DAT_IN_M_TX_BD, 0); |
| 184 | Ft_out32(pConfig->baseAddress + DAT_IN_M_TX_BD, cardAddr); |
| 185 | Ft_out32(pConfig->baseAddress + DAT_IN_M_TX_BD, 0); |
| 186 | } |
| 187 | |
| 188 | void FSdCtrl_ReadData(FT_INOUT FtsdCtrl_t *pFtsdCtrl, |
| 189 | FT_IN UINTPTR dataAddr, |
no test coverage detected