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

Function mmc_select_timing

components/drivers/sdio/dev_mmc.c:583–611  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

581}
582
583static int mmc_select_timing(struct rt_mmcsd_card *card)
584{
585 int ret = 0;
586
587 if (card->flags & CARD_FLAG_HS400)
588 {
589 LOG_I("emmc: switch to HS400 mode\n");
590 ret = mmc_select_hs400(card);
591 }
592 else if (card->flags & CARD_FLAG_HS200)
593 {
594 LOG_I("emmc: switch to HS200 mode\n");
595 ret = mmc_select_hs200(card);
596 }
597 else if (card->flags & CARD_FLAG_HIGHSPEED_DDR)
598 {
599 LOG_I("emmc: switch to HIGH Speed DDR mode\n");
600 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_DDR52);
601 mmcsd_set_clock(card->host, card->hs_max_data_rate);
602 }
603 else
604 {
605 LOG_I("emmc: switch to HIGH Speed mode\n");
606 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_HS);
607 mmcsd_set_clock(card->host, card->hs_max_data_rate);
608 }
609
610 return ret;
611}
612
613static rt_int32_t mmcsd_mmc_init_card(struct rt_mmcsd_host *host,
614 rt_uint32_t ocr)

Callers 1

mmcsd_mmc_init_cardFunction · 0.85

Calls 4

mmc_select_hs400Function · 0.85
mmc_select_hs200Function · 0.85
mmcsd_set_timingFunction · 0.85
mmcsd_set_clockFunction · 0.85

Tested by

no test coverage detected