内核的MMC Core和MMC/SD/SDIO驱动,以及相关的vfs、ext4等文件系统、block层框架等等。 硬件包括集成到SoC的SDHCI以及外设。 Linux下对MMC/SD/SDIO的配置如下: Device Drivers->MMC/SD/SDIO card support->MMC block device driver->Number of minors per block device ->MMC host test driver--支持mmc_test模块...
mmc_decode_csd(card); // mmc/core/mmc.c mmc_decode_cid(card); // mmc/core/mmc.c mmc_select_card; //CMD7 mmc/core/mmc_ops.c mmc_read_ext_csd(card); // mmc/core/mmc.c mmc_decode_ext_csd(card, ext_csd) //mmc/core/mmc.c mmc_select_card_type(card); //mmc/core/mmc.c ...
*/mmc_attach_bus(mmc_sdio_ops)/*将SDIO总线操作集分配给Host*/host->ocr_avail = host->ocr_avail_sdio;/*设置SDIO的OCR*/mmc_select_voltage/*选择合适的电压值*/mmc_sdio_init_card/*识别和初始化SDIO Card*/... pm_runtime_set_active/*设置Card运行时PM状态为活跃, 仅针对支持MMC_CAP_POWER_OF...
< Normal Speed Card <12.5Mo/s , Spec Version 1.01 */#defineCARD_NORMAL_SPEED((uint32_t)0x00000000U)/*!< High Speed Card <25Mo/s , Spec version 2.00 */#defineCARD_HIGH_SPEED((uint32_t)0x00000100U)/*!< UHS-I SD Card <50Mo/s for SDR50, DDR5 Cards and <104Mo/s for SDR104...
(续)linux SD卡初始化---mmc_sd_init_card函数 mmc_sd_init_card剩下的关于UHS-I的分支结构。 uhs-I的初始化流程图如图: 红线标出的部分是已经做了的事,与上一篇那个流程图是一致的,之后就是if分支中做的事。 if分支中的函数mmc_sd_init_uhs_card: linux并没有发送CMD42,spec上原话: “When entering...
4.SDIO卡初始化 staticintmmc_sdio_init_card(structmmc_host *host, u32 ocr,structmmc_card *oldcard){structmmc_card*card;interr;intretries =10; u32 rocr =0; u32 ocr_card = ocr; WARN_ON(!host->claimed);//查询卡是否支持1.8Vif(mmc_host_uhs(host)) ...
https://en.wikipedia.org/wiki/SD_card#SDIO_cards 对于STM32的SDIO来说,他就是指STM32的一个外设接口,不仅能够来接SD卡,还可以接其它外设。 88.4.3 MMC卡,eMMC 截止2018年,市场上已经没有设备内置MMC卡槽,但eMMC得到了广泛应用https://en.wikipedia.org/wiki/MultiMediaCard。
SDIO cards SD3.0 cards MMC on the ConnectCore 8M Nano platforms On the ConnectCore 8M Nano system-on-module: Internal eMMC is connected to uSDHC3 controller using eight data lines. On the ConnectCore 8M Nano Development Kit: J18 microSD card holder is connected to uSDHC2 controller usi...
Linux内核中,MMC不仅是一个驱动,而是一个子系统。内核把mmc, sd以及sdio三者的驱动代码整合在一起,俗称MMC子系统。源码位于drivers/mmc下。mmc目录下有core和host两个文件夹(以前的版本可能还有card目录,现在已经和core目录合并了)。 MMC整体框架 Host:针对不同主机端的SDHC、MMC控制器的驱动,这部分需要由驱动工程...
+++ b/drivers/mmc/core/sdio.c @@ -535,8 +535,8 @@ static int mmc_sdio_init_uhs_card(struct mmc_card *card) * SDR104 mode SD-cards. Note that tuning is mandatory for SDR104. */ if (!mmc_host_is_spi(card->host) &&