.. | .. |
---|
70 | 70 | /* |
---|
71 | 71 | * Given the decoded CSD structure, decode the raw CID to our CID structure. |
---|
72 | 72 | */ |
---|
73 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 73 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
74 | 74 | static int mmc_decode_cid(struct mmc_card *card) |
---|
75 | 75 | { |
---|
76 | 76 | u32 *resp = card->raw_cid; |
---|
.. | .. |
---|
666 | 666 | return err; |
---|
667 | 667 | } |
---|
668 | 668 | |
---|
669 | | -#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 669 | +#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
670 | 670 | static void *mmc_tb_map_ecsd(phys_addr_t start, size_t len) |
---|
671 | 671 | { |
---|
672 | 672 | int i; |
---|
.. | .. |
---|
696 | 696 | { |
---|
697 | 697 | u8 *ext_csd; |
---|
698 | 698 | int err; |
---|
699 | | -#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 699 | +#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
700 | 700 | void *ecsd = NULL; |
---|
701 | 701 | bool valid_ecsd = false; |
---|
702 | 702 | bool valid_reserved = false; |
---|
.. | .. |
---|
707 | 707 | if (!mmc_can_ext_csd(card)) |
---|
708 | 708 | return 0; |
---|
709 | 709 | |
---|
710 | | -#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 710 | +#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
711 | 711 | mem = of_parse_phandle(dev->of_node, "memory-region-ecsd", 0); |
---|
712 | 712 | if (mem) { |
---|
713 | 713 | err = of_address_to_resource(mem, 0, ®); |
---|
.. | .. |
---|
758 | 758 | |
---|
759 | 759 | return err; |
---|
760 | 760 | } |
---|
761 | | -#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 761 | +#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
762 | 762 | decode: |
---|
763 | 763 | #endif |
---|
764 | 764 | err = mmc_decode_ext_csd(card, ext_csd); |
---|
765 | | -#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 765 | +#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
766 | 766 | if (!valid_ecsd) |
---|
767 | 767 | kfree(ext_csd); |
---|
768 | 768 | else |
---|
.. | .. |
---|
777 | 777 | return err; |
---|
778 | 778 | } |
---|
779 | 779 | |
---|
780 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 780 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
781 | 781 | static int mmc_compare_ext_csds(struct mmc_card *card, unsigned bus_width) |
---|
782 | 782 | { |
---|
783 | 783 | u8 *bw_ext_csd; |
---|
.. | .. |
---|
1117 | 1117 | * compare ext_csd previously read in 1 bit mode |
---|
1118 | 1118 | * against ext_csd at new bus width |
---|
1119 | 1119 | */ |
---|
1120 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 1120 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
1121 | 1121 | if (!(host->caps & MMC_CAP_BUS_WIDTH_TEST)) |
---|
1122 | 1122 | err = mmc_compare_ext_csds(card, bus_width); |
---|
1123 | 1123 | else |
---|
.. | .. |
---|
1495 | 1495 | if (host->ops->hs400_enhanced_strobe) |
---|
1496 | 1496 | host->ops->hs400_enhanced_strobe(host, &host->ios); |
---|
1497 | 1497 | |
---|
| 1498 | + /* some emmc device need a delay before read status */ |
---|
| 1499 | + usleep_range(100, 200); |
---|
| 1500 | + |
---|
1498 | 1501 | err = mmc_switch_status(card); |
---|
1499 | 1502 | if (err) |
---|
1500 | 1503 | goto out_err; |
---|
.. | .. |
---|
1653 | 1656 | * respond. |
---|
1654 | 1657 | * mmc_go_idle is needed for eMMC that are asleep |
---|
1655 | 1658 | */ |
---|
1656 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 1659 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
1657 | 1660 | mmc_go_idle(host); |
---|
1658 | 1661 | #endif |
---|
1659 | 1662 | |
---|
.. | .. |
---|
1698 | 1701 | card->ocr = ocr; |
---|
1699 | 1702 | card->type = MMC_TYPE_MMC; |
---|
1700 | 1703 | card->rca = 1; |
---|
1701 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 1704 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
1702 | 1705 | memcpy(card->raw_cid, cid, sizeof(card->raw_cid)); |
---|
1703 | 1706 | #endif |
---|
1704 | 1707 | } |
---|
.. | .. |
---|
1731 | 1734 | err = mmc_decode_csd(card); |
---|
1732 | 1735 | if (err) |
---|
1733 | 1736 | goto free_card; |
---|
1734 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 1737 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
1735 | 1738 | err = mmc_decode_cid(card); |
---|
1736 | 1739 | if (err) |
---|
1737 | 1740 | goto free_card; |
---|
.. | .. |
---|
1866 | 1869 | /* |
---|
1867 | 1870 | * Enable HPI feature (if supported) |
---|
1868 | 1871 | */ |
---|
1869 | | -#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT |
---|
| 1872 | +#ifndef CONFIG_ROCKCHIP_THUNDER_BOOT_MMC |
---|
1870 | 1873 | if (card->ext_csd.hpi) { |
---|
1871 | 1874 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, |
---|
1872 | 1875 | EXT_CSD_HPI_MGMT, 1, |
---|