QualComm 8x50 上MMC host controller 硬件检测分析
来源:互联网 发布:腾讯游戏数据分析师 编辑:程序博客网 时间:2024/05/17 03:34
in MMC host controller driver initialization process, msmsdcc_probe() function will be called. but in fact, kernel has not detected the real MMC host controller hardware till now, so it should has detect process.
there are two process for detect mechanism.
one is for "MMC / SD / SDIO card hardware is already ready while the kernel does initial process". some MMC / SD / SDIO card hardware is jointed to the host controller by hardware design, for example, WIFI chipset which uses SDIO interface.
another is for "MMC / SD / SDIO card hardware is not inserted while the kernel does initial process". one example for it is MMC / SD storage card, the card may be inserted at any time according to customer's request.
1. now let us analysis these two processes.
1.1 MMC / SD / SDIO card hardware is ready while the kernel does initial process.
as we know, msmsdcc_probe() function will be called in MMC host controller driver initialization.
this function do detect process in fact. the below the process.
msmsdcc_probe() -> mmc_add_host() -> mmc_start_host() -> mmc_detect_change() -> (&host->detect) -> mmc_rescan().
we will analysis mmc_rescan() function after a while.
1.2 MMC / SD / SDIO card hardware is not inserted while the kernel does initial process.
irq is used for this kind of detect process.
in msmsdcc_probe() function, it will register a irq for the card detect process.
ret = request_irq(plat->status_irq,
msmsdcc_platform_status_irq,
IRQF_SHARED | plat->irq_flags,
DRIVER_NAME " (slot)",
host);
so, the detect process is as below:
msmsdcc_platform_status_irq() -> msmsdcc_check_status() -> mmc_detect_change() -> -> (&host->detect) -> mmc_rescan()
now it is time to analysis mmc_rescan() function which does real detect process.
2. mmc rescan() function process analysis.
it is in driver/mmc/core/core.c
a. scan SDIO device firstly,
mmc_send_io_op_cond() , it sends CMD5command to detect SDIO device.
b. then scan SD device.
mmc_send_app_op_cond(), it sends CMD41command to detect SD device.
c. scan MMC device at last.
mmc_send_op_cond(), it sends CMD1 command to detect MMC device.
for example, if mmc_send_io_op_cond() returns ok, mmc_attach_sdio() function will be called.
there are two process for detect mechanism.
one is for "MMC / SD / SDIO card hardware is already ready while the kernel does initial process". some MMC / SD / SDIO card hardware is jointed to the host controller by hardware design, for example, WIFI chipset which uses SDIO interface.
another is for "MMC / SD / SDIO card hardware is not inserted while the kernel does initial process". one example for it is MMC / SD storage card, the card may be inserted at any time according to customer's request.
1. now let us analysis these two processes.
1.1 MMC / SD / SDIO card hardware is ready while the kernel does initial process.
as we know, msmsdcc_probe() function will be called in MMC host controller driver initialization.
this function do detect process in fact. the below the process.
msmsdcc_probe() -> mmc_add_host() -> mmc_start_host() -> mmc_detect_change() -> (&host->detect) -> mmc_rescan().
we will analysis mmc_rescan() function after a while.
1.2 MMC / SD / SDIO card hardware is not inserted while the kernel does initial process.
irq is used for this kind of detect process.
in msmsdcc_probe() function, it will register a irq for the card detect process.
ret = request_irq(plat->status_irq,
msmsdcc_platform_status_irq,
IRQF_SHARED | plat->irq_flags,
DRIVER_NAME " (slot)",
host);
so, the detect process is as below:
msmsdcc_platform_status_irq() -> msmsdcc_check_status() -> mmc_detect_change() -> -> (&host->detect) -> mmc_rescan()
now it is time to analysis mmc_rescan() function which does real detect process.
2. mmc rescan() function process analysis.
it is in driver/mmc/core/core.c
a. scan SDIO device firstly,
mmc_send_io_op_cond() , it sends CMD5command to detect SDIO device.
b. then scan SD device.
mmc_send_app_op_cond(), it sends CMD41command to detect SD device.
c. scan MMC device at last.
mmc_send_op_cond(), it sends CMD1 command to detect MMC device.
for example, if mmc_send_io_op_cond() returns ok, mmc_attach_sdio() function will be called.
- QualComm 8x50 上MMC host controller 硬件检测分析
- QualComm 8x50 上MMC host controller
- QualComm 8x50 上MMC host controller 驱动的初始化流程分析
- Qualcomm 8x50 簡介
- Qualcomm 8x50 Snapdragon Block Diagram 簡介
- PCI device about MMC/SD host controller
- 在Linux上分析硬件检测日志
- qualcomm MMC子系统
- WatchGuard Firebox X50硬件防火墙
- MMC驱动之mmc host
- mmc卡驱动中host层的probe函数分析
- mmc卡驱动中host层的probe函数分析
- mini2440 usb host device controller驱动分析(一)---host controller
- Linux USB Host-Controller的初始化代码框架分析
- mmc host 之内核接口
- CPU检测硬件中断的机制分析
- s3c2440上MMC/SD卡驱动的分析(一)
- S3C2440上MMC/SD卡驱动分析(二)
- 对比Route-Map在 Redistribute以及Policy-Routing
- 做站之初应养成的四个优化好习惯
- Base64算法的简介与实现
- linux防火墙
- 增加 addDataScheme("file") 才能收到SD卡插拔事件的原因分析 -- 浅析android事件过滤策略
- QualComm 8x50 上MMC host controller 硬件检测分析
- 常用的设计模式
- 内存调试技巧 ----------C 语言最大难点揭秘
- [Ext.Net]Class Ext.KeyMap
- 展讯6820 2.3.5平台上 第三方应用在usr和eng版本上区别的方法 Android
- 关于对List的通用排序实现
- 适用的Google地图开发-简单版
- php apache 安装
- 山区行