Lines Matching refs:host
172 mmcsd_send_request(card->host, &req); in mmc_get_ext_csd()
189 struct rt_mmcsd_host *host; in mmc_parse_ext_csd() local
196 host = card->host; in mmc_parse_ext_csd()
199 if ((host->flags & MMCSD_SUP_HS400) && (device_type & EXT_CSD_CARD_TYPE_HS400)) in mmc_parse_ext_csd()
204 else if ((host->flags & MMCSD_SUP_HS200) && (device_type & EXT_CSD_CARD_TYPE_HS200)) in mmc_parse_ext_csd()
209 else if ((host->flags & MMCSD_SUP_HIGHSPEED_DDR) && (device_type & EXT_CSD_CARD_TYPE_DDR_52)) in mmc_parse_ext_csd()
254 struct rt_mmcsd_host *host = card->host; in mmc_switch() local
262 err = mmcsd_send_cmd(host, &cmd, 3); in mmc_switch()
341 struct rt_mmcsd_host *host = card->host; in mmc_select_bus_width() local
363 … if (((ext_csd_bits[idx][0] == EXT_CSD_BUS_WIDTH_8) && ((host->flags & MMCSD_BUSWIDTH_8) == 0)) || in mmc_select_bus_width()
364 … ((ext_csd_bits[idx][0] == EXT_CSD_BUS_WIDTH_4) && ((host->flags & MMCSD_BUSWIDTH_4) == 0))) in mmc_select_bus_width()
381 mmcsd_set_bus_width(host, bus_width); in mmc_select_bus_width()
427 rt_err_t mmc_send_op_cond(struct rt_mmcsd_host *host, in mmc_send_op_cond() argument
437 cmd.arg = controller_is_spi(host) ? 0 : ocr; in mmc_send_op_cond()
442 err = mmcsd_send_cmd(host, &cmd, 3); in mmc_send_op_cond()
451 if (controller_is_spi(host)) in mmc_send_op_cond()
467 if (rocr && !controller_is_spi(host)) in mmc_send_op_cond()
473 static rt_err_t mmc_set_card_addr(struct rt_mmcsd_host *host, rt_uint32_t rca) in mmc_set_card_addr() argument
484 err = mmcsd_send_cmd(host, &cmd, 3); in mmc_set_card_addr()
500 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_HS200); in mmc_select_hs200()
501 mmcsd_set_clock(card->host, card->max_data_rate); in mmc_select_hs200()
510 struct rt_mmcsd_host *host = card->host; in mmc_switch_to_hs400() local
522 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_HS); in mmc_switch_to_hs400()
524 mmcsd_set_clock(card->host, 52000000); in mmc_switch_to_hs400()
527 ((host->flags & MMCSD_SUP_ENH_DS) != 0)); in mmc_switch_to_hs400()
559 mmcsd_set_timing(host, hs_timing); in mmc_switch_to_hs400()
562 mmcsd_set_clock(card->host, card->max_data_rate); in mmc_switch_to_hs400()
570 struct rt_mmcsd_host *host = card->host; in mmc_select_hs400() local
572 if ((card->ext_csd.enhanced_data_strobe == 0) || ((host->flags & MMCSD_SUP_ENH_DS) == 0)) in mmc_select_hs400()
600 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_DDR52); in mmc_select_timing()
601 mmcsd_set_clock(card->host, card->hs_max_data_rate); in mmc_select_timing()
606 mmcsd_set_timing(card->host, MMCSD_TIMING_MMC_HS); in mmc_select_timing()
607 mmcsd_set_clock(card->host, card->hs_max_data_rate); in mmc_select_timing()
613 static rt_int32_t mmcsd_mmc_init_card(struct rt_mmcsd_host *host, in mmcsd_mmc_init_card() argument
622 mmcsd_go_idle(host); in mmcsd_mmc_init_card()
625 err = mmc_send_op_cond(host, ocr | (1 << 30), &rocr); in mmcsd_mmc_init_card()
629 if (controller_is_spi(host)) in mmcsd_mmc_init_card()
631 err = mmcsd_spi_use_crc(host, 1); in mmcsd_mmc_init_card()
636 if (controller_is_spi(host)) in mmcsd_mmc_init_card()
637 err = mmcsd_get_cid(host, resp); in mmcsd_mmc_init_card()
639 err = mmcsd_all_get_cid(host, resp); in mmcsd_mmc_init_card()
653 card->host = host; in mmcsd_mmc_init_card()
660 if (!controller_is_spi(host)) in mmcsd_mmc_init_card()
662 err = mmc_set_card_addr(host, card->rca); in mmcsd_mmc_init_card()
666 mmcsd_set_bus_mode(host, MMCSD_BUSMODE_PUSHPULL); in mmcsd_mmc_init_card()
677 if (!controller_is_spi(host)) in mmcsd_mmc_init_card()
724 host->card = card; in mmcsd_mmc_init_card()
741 rt_int32_t init_mmc(struct rt_mmcsd_host *host, rt_uint32_t ocr) in init_mmc() argument
748 if (controller_is_spi(host)) in init_mmc()
750 err = mmcsd_spi_read_ocr(host, 0, &ocr); in init_mmc()
755 current_ocr = mmcsd_select_voltage(host, ocr); in init_mmc()
769 err = mmcsd_mmc_init_card(host, current_ocr); in init_mmc()
773 mmcsd_host_unlock(host); in init_mmc()
775 err = rt_mmcsd_blk_probe(host->card); in init_mmc()
778 mmcsd_host_lock(host); in init_mmc()
783 mmcsd_host_lock(host); in init_mmc()
784 rt_mmcsd_blk_remove(host->card); in init_mmc()
785 rt_free(host->card); in init_mmc()
786 host->card = RT_NULL; in init_mmc()