[mmc subsystem] host(第三章)——sdhci-pltfm说明

本文档详细介绍了mmc子系统中sdhci-pltfm的用途,它为sdhci_host提供了一种统一的方式来解析和设置必要属性。内容包括sdhci-pltfm的说明,数据结构如sdhci_pltfm_data和sdhci_pltfm_host的介绍,以及相关的API总览,如sdhci_pltfm_init、sdhci_get_of_property和sdhci_pltfm_register等。
摘要由CSDN通过智能技术生成

mmc subsystem系列(持续更新中):
[mmc subsystem] 概念与框架

[mmc subsystem] mmc core(第一章)——概述
[mmc subsystem] mmc core(第二章)——数据结构和宏定义说明
[mmc subsystem] mmc core(第三章)——bus模块说明
[mmc subsystem] mmc core(第四章)——host模块说明
[mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)
[mmc subsystem] mmc core(第六章)——mmc core主模块

[mmc subsystem] host(第一章)——概述
[mmc subsystem] host(第二章)——sdhci
[mmc subsystem] host(第三章)——sdhci-pltfm说明
[mmc subsystem] host(第四章)——host实例(sdhci-msm说明)

建议先参考《[mmc subsystem] 概念与框架》对整体有一个了解。

==========================================================================================================

一、sdhci-pltfm说明

sdhci-pltfm并不是实际某个host的driver。
sdhci-pltfm是指在sdhci core的基础上,提供了统一对sdhci_host的必要属性进行解析和设置的方法。
但是,对于sdhci类的host driver来说,使用sdhci-pltfm并不是必须的,host driver也可以自己来实现对应的操作。
通过《host(第二章)——sdhci》,我们知道了host driver调用sdhci_add_host注册sdhci_host的之前需要设置的信息如下:

  • sdhci的寄存器的映射过后的基地址(sdhci_host->ioaddr)
  • sdhci的癖好quirks、quirks2(sdhci_host->quirks,sdhci_host->quirks2)
  • sdhci的中断号(sdhci_host->irq)
  • host提供给sdhci core用来操作硬件的操作集(sdhci_host->ops)

因此,sdhci-pltfm实现了两个方法来统一设置这些信息,方便host driver对于sdhci driver的使用。
后续继续说明。

二、数据结构说明

1、sdhci_pltfm_data

首先看一下sdhci-pltfm要设置的sdhci_host的成员的来源信息:

  • sdhci的寄存器的映射过后的基地址(sdhci_host->ioaddr)
    由DTS节点中的地址属性解析出来寄存器的物理地址之后,进行映射得到
  • sdhci的癖好quirks、quirks2(sdhci_host->quirks,sdhci_host->quirks2)
    由平台host驱动(host driver)提供最基本的值,后续会进行调整
  • sdhci的中断号(sdhci_host->irq)
    由DTS节点中的中断属性解析出来
  • host提供给sdhci core用来操作硬件的操作集(sdhci_host->ops)
    由平台host驱动(host driver)提供

综上,ops、quirks和quirks2这几个的值是必须由平台host驱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值