mmc_set_ios(host); //mmc/core/core.c struct mmc_ios *ios = &host->ios; pr_debug("%s: clock %uHz busmode %u powermode %u cs %u Vdd %u " "width %u timing %u\n", mmc_hostname(host), ios->clock, ios->bus_mode, ios->power_mode, ios->chip_select, ios->vdd, 1 << ios-...
其中,request函数,主要实现命令发送,数据的读写;set_ios主要用来设置数据速度,mmc相位,power mode 和data bus width;get_cd用来检测设备是否存在;get_ro用来判断mmc是否为read-only card;enable_sdio_irq是用来使能或者关闭sdio中断。 mmc dev正常读写的时候调用流程是怎么样呢?怎么和上面注册的mmc_host_ops关联起来...
.set_ios = rda_mmc_set_ios, .enable_sdio_irq =rda_mmc_enable_sdio_irq, }; 其中,request函数,主要实现命令发送,数据的读写;set_ios主要用来设置数据速度,mmc相位,power mode 和data bus width;get_cd用来检测设备是否存在;get_ro用来判断mmc是否为read-only card;enable_sdio_irq是用来使能或者关闭sdio...
.get_ro = mmc_gpio_get_ro, // 判断是否写保护 .set_ios = mvsd_set_ios, // 配置控制器的函数 .enable_sdio_irq = mvsd_enable_sdio_irq, // 与sdio相关 }; host.c mmc host子系统提供了延迟队列机制,在执行mmc_alloc_host、mmc_add_host后,则完成了mmc card rescan延迟工作队列及其处理接口的...
// 自定义的mmc_host_ops,用于host做实际操作时回调staticconststructmmc_host_opsxxx_mmc_ops={.request=xxx_mmc_request,.set_ios=xxx_mmc_set_ios,};/* platform driver probe function */staticintxxx_mmc_probe(structplatform_device*pdev){structmmc_host*mmc;structxxx_mmc_host*host=NULL;intret=0...
set_ios用来设置电源、时钟等等之类(需要重点关注), get_ro用来判断是否写保护 再来看该函数里面的中断注册部分 我们先看一下mmc_add_host这个函数,它的功能就是通过device_add函数将设备注册进linux设备模型,最终的结果就是在sys/bus/platform/devices目录下能见到s3c-sdhci.1,s3c-sdhci.2,s3c-sdhci.3设备节点。
.set_ios=xxx_mmc_set_ios, };/*platform driver probe function*/staticintxxx_mmc_probe(structplatform_device *pdev) {structmmc_host *mmc;structxxx_mmc_host *host =NULL;intret =0;/*Step 1: Allocate host structure*///第1步:动态分配mmc_host结构mmc = mmc_alloc_host(sizeof(structxxx_mmc...
mmc_set_ios(host);/* * This delay must be at least 74 clock sizes, or 1 ms, or the * time required to reach a stable voltage. */mmc_delay(10); } 开发者ID:crosslink,项目名称:android_kernel_semc_es209ra,代码行数:44,代码来源:core.c ...
其中,request函数,主要实现命令发送,数据的读写;set_ios主要用来设置数据速度,mmc相位,power mode 和data bus width;get_cd用来检测设备是否存在;get_ro用来判断mmc是否为read-only card;enable_sdio_irq是用来使能或者关闭sdio中断。 mmc dev正常读写的时候调用流程是怎么样呢?怎么和上面注册的mmc_host_ops关联起来...
set_ios用来设置电源、时钟等等之类(需要重点关注), get_ro用来判断是否写保护 再来看该函数里面的中断注册部分 我们先看一下mmc_add_host这个函数,它的功能就是通过device_add函数将设备注册进linux设备模型。 中断注册函_irq的第一个参数中断号就取自于s3c_device_hsmmc3.resource里面的irq参数,sdhci_irq就是中...