sdio: dwmmc@ff4a0000 配置sd 卡
时间: 2023-09-30 20:04:49 浏览: 211
SDIO控制器的驱动一般是使用mmc子系统提供的SDIO驱动,需要在设备树中添加SDIO节点并配置相关属性,同时需要在内核中启用SDIO驱动支持。
下面是SDIO控制器DWMMC的设备树配置例子:
```
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_clk &mmc1_cmd &mmc1_bus4 &mmc1_bus8>;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vcc_sd>;
bus-width = <4>;
status = "okay";
non-removable;
cap-sd-highspeed;
max-frequency = <200000000>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-ddr50;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
};
```
其中,`&mmc1`是SDIO控制器的设备节点,`pinctrl-*`属性是管脚配置,`vmmc-supply`和`vqmmc-supply`属性是电源控制,`bus-width`属性是总线宽度,`status`属性是设备状态,这里设置为"okay"表示设备可用。其他属性是SDIO协议相关的属性,例如支持的最大频率、支持的UHS模式、支持的电压等。
如果需要使用SDIO驱动,需要在内核配置中启用`CONFIG_MMC_DW`和`CONFIG_MMC_DW_EXYNOS`选项。这两个选项是SDIO控制器DWMMC的驱动,分别对应于通用版本和三星Exynos版本。
启用SDIO驱动后,SDIO卡会被识别为一个标准的MMC设备,并可以使用MMC子系统提供的API进行访问。例如,使用`blkid`命令可以查看SD卡的UUID:
```
# blkid /dev/mmcblk1
/dev/mmcblk1: UUID="xxxx-xxxx" TYPE="vfat"
```
以上是SDIO控制器DWMMC的SD卡设备树配置和驱动配置的基本步骤,需要根据具体的系统和硬件进行适当调整和修改。
阅读全文