因为sdhci driver并不是某个特定host的driver,而是提供了一些接口和操作集方法给对应的host driver使用。 因此,我们将sdhci.c的代码部分称之为sdhci core用以和host driver区分。 其主要功能如下: 为host driver提供分配、释放sdhci_host的接口 为host driver提供注册、卸载sdhci_host的接口 实现sdhci_host和mmc_host...
通过《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-msm host driver根据自身资源定制的host结构体。 structsdhci_msm_host{structplatform_device*pdev;// 对应dtsi节点解析出来的平台设备void__iomem *core_mem;/* MSM SDCC mapped address */// host自身的寄存器基地址structclk*clk;/* main SD/MMC bus clock */// 工作时钟,对应structclk*pclk;/* S...
int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host, u32 f_max, u32 f_min) { u32 caps, caps_1; u32 caps, caps_1 = 0;caps = sdhci_readl(host, SDHCI_CAPABILITIES);@@ -638,6 +638,32 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host...
reg |= SDHCI_CTRL_UHS_DDR50; break; case UHS_SDR104: case MMC_HS_200: reg |= SDHCI_CTRL_UHS_SDR104; break; default: reg |= SDHCI_CTRL_UHS_SDR12; }sdhci_writew(host, reg, SDHCI_HOST_CONTROL2); }#ifdef CONFIG_DM_MMC
一.说明 sdhci-msm是指高通的mmc host,其使用了标准SDHC标准.故可以使用前面说的<host(第二章)--sdhci>和<host(第三章)--sdhci-pltfm说明>的接口. 后续代码以msm8916平台的host实现以及linux 4.6.0版本中的sdhci-msm的实现为例,这部分代码都是开源的. 由于有一些寄存器内容需要文档的支撑但我们并没有,所以这...
On Monday 28 September 2015 14:35:13 Yangbo Lu wrote: > +struct esdhc_host { > + u8 vendor_ver; > + u8 spec_ver; > + u16 xfer_mode_shadow; > + struct sdhci_host *host; > +}; > + > +static struct esdhc_host *esdhc;...
SDHCI_HOST_CONTROL 0x28 78#define SDHCI_CTRL_LED 0x01 79#define SDHCI_CTRL_4BITBUS 0x02 80#define SDHCI_CTRL_HISPD 0x04 81#define SDHCI_CTRL_DMA_MASK 0x18 82#define SDHCI_CTRL_SDMA 0x00 83#define SDHCI_CTRL_ADMA1 0x08 84#define SDHCI_CTRL_ADMA32 0x10 85#define SDHCI_CTRL_ADMA...
@@ -84,6 +86,13 @@ static u16 esdhc_readw_fixup(struct sdhci_host *host, ret = value & 0xffff; else ret = (value >> shift) & 0xffff; + + /* Workaround for T4240-R1.0-R2.0 eSDHC which has incorrect + * vendor version and spec version information. ...
SDHC:Secure Digital(SD) Host Controller,是指一套sd host控制器的设计标准,其寄存器偏移以及意义都有一定的规范,并且提供了对应的驱动程序,方便vendor进行host controller的开发。 vendor按照这套标准设计host controller之后,可以直接使用sdhci driver来实现host controller的使用,(qcom和samsung都使用了这套标准)。而ven...