• Home
  • Raw
  • Download

Lines Matching refs:card

150 int sd_cmd9(struct sd_handle *handle, struct sd_card_data *card)  in sd_cmd9()  argument
168 if (handle->card->type == SD_CARD_MMC) { in sd_cmd9()
169 card->csd.mmc.structure = (resp.data.r2.rsp4 >> 22) & 0x3; in sd_cmd9()
170 card->csd.mmc.csdSpecVer = (resp.data.r2.rsp4 >> 18) & 0x0f; in sd_cmd9()
171 card->csd.mmc.taac = (resp.data.r2.rsp4 >> 8) & 0xff; in sd_cmd9()
172 card->csd.mmc.nsac = resp.data.r2.rsp4 & 0xff; in sd_cmd9()
173 card->csd.mmc.speed = resp.data.r2.rsp3 >> 24; in sd_cmd9()
174 card->csd.mmc.classes = (resp.data.r2.rsp3 >> 12) & 0xfff; in sd_cmd9()
175 card->csd.mmc.rdBlkLen = (resp.data.r2.rsp3 >> 8) & 0xf; in sd_cmd9()
176 card->csd.mmc.rdBlkPartial = (resp.data.r2.rsp3 >> 7) & 0x01; in sd_cmd9()
177 card->csd.mmc.wrBlkMisalign = (resp.data.r2.rsp3 >> 6) & 0x1; in sd_cmd9()
178 card->csd.mmc.rdBlkMisalign = (resp.data.r2.rsp3 >> 5) & 0x1; in sd_cmd9()
179 card->csd.mmc.dsr = (resp.data.r2.rsp2 >> 4) & 0x01; in sd_cmd9()
180 card->csd.mmc.size = in sd_cmd9()
183 card->csd.mmc.vddRdCurrMin = (resp.data.r2.rsp2 >> 19) & 0x7; in sd_cmd9()
184 card->csd.mmc.vddRdCurrMax = (resp.data.r2.rsp2 >> 16) & 0x7; in sd_cmd9()
185 card->csd.mmc.vddWrCurrMin = (resp.data.r2.rsp2 >> 13) & 0x7; in sd_cmd9()
186 card->csd.mmc.vddWrCurrMax = (resp.data.r2.rsp2 >> 10) & 0x7; in sd_cmd9()
187 card->csd.mmc.devSizeMulti = (resp.data.r2.rsp2 >> 7) & 0x7; in sd_cmd9()
188 card->csd.mmc.eraseGrpSize = (resp.data.r2.rsp2 >> 2) & 0x1f; in sd_cmd9()
189 card->csd.mmc.eraseGrpSizeMulti = in sd_cmd9()
192 card->csd.mmc.wrProtGroupSize = in sd_cmd9()
194 card->csd.mmc.wrProtGroupEnable = in sd_cmd9()
196 card->csd.mmc.manuDefEcc = (resp.data.r2.rsp1 >> 21) & 0x3; in sd_cmd9()
197 card->csd.mmc.wrSpeedFactor = (resp.data.r2.rsp1 >> 18) & 0x7; in sd_cmd9()
198 card->csd.mmc.wrBlkLen = (resp.data.r2.rsp1 >> 14) & 0xf; in sd_cmd9()
199 card->csd.mmc.wrBlkPartial = (resp.data.r2.rsp1 >> 13) & 0x1; in sd_cmd9()
200 card->csd.mmc.protAppl = (resp.data.r2.rsp1 >> 8) & 0x1; in sd_cmd9()
201 card->csd.mmc.copyFlag = (resp.data.r2.rsp1 >> 7) & 0x1; in sd_cmd9()
202 card->csd.mmc.permWrProt = (resp.data.r2.rsp1 >> 6) & 0x1; in sd_cmd9()
203 card->csd.mmc.tmpWrProt = (resp.data.r2.rsp1 >> 5) & 0x1; in sd_cmd9()
204 card->csd.mmc.fileFormat = (resp.data.r2.rsp1 >> 4) & 0x03; in sd_cmd9()
205 card->csd.mmc.eccCode = resp.data.r2.rsp1 & 0x03; in sd_cmd9()
206 maxReadBlockLen <<= card->csd.mmc.rdBlkLen; in sd_cmd9()
207 maxWriteBlockLen <<= card->csd.mmc.wrBlkLen; in sd_cmd9()
209 iBlkNum = card->csd.mmc.size + 1; in sd_cmd9()
210 multiFactor = (1 << (card->csd.mmc.devSizeMulti + 2)); in sd_cmd9()
212 handle->card->size = in sd_cmd9()
213 iBlkNum * multiFactor * (1 << card->csd.mmc.rdBlkLen); in sd_cmd9()
216 handle->card->maxRdBlkLen = maxReadBlockLen; in sd_cmd9()
217 handle->card->maxWtBlkLen = maxWriteBlockLen; in sd_cmd9()
219 if (handle->card->size < 0xA00000) { in sd_cmd9()
224 handle->card->size = 0x40000000; in sd_cmd9()
225 handle->card->maxRdBlkLen = 512; in sd_cmd9()
226 handle->card->maxWtBlkLen = 512; in sd_cmd9()
229 if ((handle->card->maxRdBlkLen > 512) || in sd_cmd9()
230 (handle->card->maxWtBlkLen > 512)) { in sd_cmd9()
231 handle->card->maxRdBlkLen = 512; in sd_cmd9()
232 handle->card->maxWtBlkLen = 512; in sd_cmd9()
233 } else if ((handle->card->maxRdBlkLen == 0) || in sd_cmd9()
234 (handle->card->maxWtBlkLen == 0)) { in sd_cmd9()
235 handle->card->maxRdBlkLen = 512; in sd_cmd9()
236 handle->card->maxWtBlkLen = 512; in sd_cmd9()
239 handle->device->cfg.blockSize = handle->card->maxRdBlkLen; in sd_cmd9()