| 565 | } |
| 566 | |
| 567 | static int mmc_select_hs400(struct rt_mmcsd_card *card) |
| 568 | { |
| 569 | int ret; |
| 570 | struct rt_mmcsd_host *host = card->host; |
| 571 | /* if the card or host doesn't support enhanced data strobe, switch to HS200 and perform tuning process first */ |
| 572 | if ((card->ext_csd.enhanced_data_strobe == 0) || ((host->flags & MMCSD_SUP_ENH_DS) == 0)) |
| 573 | { |
| 574 | ret = mmc_select_hs200(card); |
| 575 | if (ret != RT_EOK) |
| 576 | { |
| 577 | return ret; |
| 578 | } |
| 579 | } |
| 580 | return mmc_switch_to_hs400(card); |
| 581 | } |
| 582 | |
| 583 | static int mmc_select_timing(struct rt_mmcsd_card *card) |
| 584 | { |
no test coverage detected