CMD1的命令类型,参数,响应类型,命令缩写和描述如下表所示: CMD1的参数可以根据OCR寄存器的位定义来填写,命令的类型为bcr,此时CMD1的命令缩写为SEND_OP_COND,命令响应为R3,命令功能为在idle状态下要求eMMC设备通过R3响应返回它的OCR寄存器的值。 如果eMMC设备不支持boot operation模式,或者eMMC设备仅仅支持eMMC 4.2或者...
发送CMD1指令,SEND_OP_COND 这里会设置card的工作电压寄存器OCR,并且通过busy位(bit31)来判断card的上电复位过程是否完成,如果没有完成的话需要重复发送。 完成之后,mmc card进入ready state。 mmc_all_send_cid 这里会发送CMD2指令,ALL_SEND_CID 广播指令,使card回复对应的CID寄存器的值。在这里就相应获得了CID...
*/err =mmc_send_io_op_cond(host,0, &ocr);if(!err) {if(mmc_attach_sdio(host, ocr)) { mmc_claim_host(host);/* try SDMEM (but not MMC) even if SDIO is broken */if(mmc_send_app_op_cond(host,0, &ocr))gotoout_fail;if(mmc_attach_sd(host, ocr)) mmc_power_off(host); }...
c).mmc_send_op_cond(host, ocr| (1<<30), &rocr):发送CMD1,设置访问mode,前一个CMD1是获取ocr值,此处设置为sector模式???,进入ready状态 d).mmc_all_send_cid:发送CMD2,获取CID寄存器的值,进入identification状态 e).mmc_alloc_card:分配一个mmc_card设备,它是mmc子系统最顶层的设备,也是与block层打...
示例1: mmc_send_op_cond ▲点赞 7▼ intmmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr){structmmc_commandcmd;inti, err =0; BUG_ON(!host);memset(&cmd,0,sizeof(struct mmc_command)); cmd.opcode = MMC_SEND_OP_COND; ...
mmc_send_app_op_cond(host, 0, &ocr); //mmc/core/sd_ops.c rocr = mmc_select_voltage(host, ocr); //mmc/core/core.c //屏蔽不支持的电压,选择最小电压 mmc_sd_init_card(host, rocr, NULL); //mmc/core/sd.c //第一个参数类型为mmc_host ...
mmc_send_app_op_cond/*发送SD_APP_OP_COND, 获取???*/mmc_attach_bus(mmc_sd_ops)/*将SD总线操作集分配给Host*/host->ocr_avail = host->ocr_avail_sd;/*设置SD的OCR*/mmc_host_is_spi->mmc_go_idle/*发送CMD0*/mmc_spi_read_ocr/*发送MMC_SPI_READ_OCR, 读取???*/mmc_select_voltage/...
mmc_send_op_cond 发送CMD1指令,SEND_OP_COND 这里会设置card的工作电压寄存器OCR,并且通过busy位(bit31)来判断card的上电复位过程是否完成,如果没有完成的话需要重复发送。 完成之后,mmc card进入ready state。 mmc_all_send_cid 这里会发送CMD2指令,ALL_SEND_CID 广播指令,使card回复对应的CID寄存器的值。在...
mmc_send_op_cond 发送CMD1指令,SEND_OP_COND 这里会设置card的工作电压寄存器OCR,并且通过busy位(bit31)来判断card的上电复位过程是否完成,如果没有完成的话需要重复发送。 完成之后,mmc card进入ready state。 mmc_all_send_cid 这里会发送CMD2指令,ALL_SEND_CID 广播指令,使card回复对应的CID寄存器的值。
mmci为ARM的sd/mmc主控制器的驱动. 并且这个控制器是挂接在ARM的amba总线之下的, 所以驱动的注册会用到amba总线的一些函数. 1).驱动的注册. static struct amba_driver mmci_driver = { .drv = { .name = DRIVER_NAME, }, .probe = mmci_probe, ...