持續更新中…
Linux下SDIO驅動架構分析
最近在寫一個SDIO的driver,參考了Linux下的SDIO driver這邊做一個總結:
首先是源碼存放的位置,Linux中和驅動相關的代碼放在/driver
中,其中SDIO 相關的code 放在 /driver/mmc中
注:這邊需要提一下mmc是一種存儲卡協議,EMMC 使用的就是mmc 協議,而sd 協議則是另一種協議(兩者類似),由於歷史原因Linux 將兩者歸結到一起,放在mmc 文件夾下。
其中,card用於構建一個塊設備作爲上層與mmc子系統溝通的橋樑;core抽象了mmc,sd,sdio三者的通用操作;host則是各類平臺上的host驅動代碼 。
本文主要是針對 x86 平臺進行講解,在host中則是 sdhci.c、sdhci.h、sdhci-pci.c 以及sdhci-pci.h文件