MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / mmcsd_get_scr

Function mmcsd_get_scr

components/drivers/sdio/dev_sd.c:538–578  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

536 (((rt_uint32_t)(x) & (rt_uint32_t)0xff000000UL) >> 24)))
537
538rt_int32_t mmcsd_get_scr(struct rt_mmcsd_card *card, rt_uint32_t *scr)
539{
540 rt_int32_t err;
541 struct rt_mmcsd_req req;
542 struct rt_mmcsd_cmd cmd;
543 struct rt_mmcsd_data data;
544
545 err = mmcsd_app_cmd(card->host, card);
546 if (err)
547 return err;
548
549 rt_memset(&req, 0, sizeof(struct rt_mmcsd_req));
550 rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd));
551 rt_memset(&data, 0, sizeof(struct rt_mmcsd_data));
552
553 req.cmd = &cmd;
554 req.data = &data;
555
556 cmd.cmd_code = SD_APP_SEND_SCR;
557 cmd.arg = 0;
558 cmd.flags = RESP_SPI_R1 | RESP_R1 | CMD_ADTC;
559
560 data.blksize = 8;
561 data.blks = 1;
562 data.flags = DATA_DIR_READ;
563 data.buf = scr;
564
565 mmcsd_set_data_timeout(&data, card);
566
567 mmcsd_send_request(card->host, &req);
568
569 if (cmd.err)
570 return cmd.err;
571 if (data.err)
572 return data.err;
573
574 scr[0] = be32_to_cpu(scr[0]);
575 scr[1] = be32_to_cpu(scr[1]);
576
577 return 0;
578}
579
580static rt_err_t mmcsd_read_sd_status(struct rt_mmcsd_card *card, rt_uint32_t *sd_status)
581{

Callers 1

mmcsd_sd_init_cardFunction · 0.85

Calls 4

mmcsd_app_cmdFunction · 0.85
rt_memsetFunction · 0.85
mmcsd_set_data_timeoutFunction · 0.85
mmcsd_send_requestFunction · 0.85

Tested by

no test coverage detected