RK3288 Android7.1 eMMC 的DTS配置
一、emmc dts内容如下:
emmc: dwmmc@ff0f0000 {compatible = "rockchip,rk3288-dw-mshc";clock-freq-min-max = <400000 150000000>;clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,<&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";fifo-depth = <0x100>;interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;reg = <0x0 0xff0f0000 0x0 0x4000>;status = "disabled";supports-emmc;};&emmc {bus-width = <8>;cap-mmc-highspeed;disable-wp;non-removable;num-slots = <1>;pinctrl-names = "default";pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;vmmc-supply = <&vcc_io>;vqmmc-supply = <&vcc_flash>;max-frequency = <100000000>;mmc-hs200-1_8v;mmc-ddr-1_8v;status = "okay";
};
二、配置指导文档。
三、kernel\Documentation\devicetree\bindings\mmc\mmc.txt
四、emmc支持的总线速度模式
信号电压、时钟频率、总线宽度很大程度上都取决于总线速度模式。从《emmc 5.1》协议上看,有如下几种总线速度模式
legacy mode
单边采样(SDR),支持3V/1.8V/1.2V的信号电压,总线宽度支持1、4、8bit模式。
最大频率支持到26Mhz。
对应kernel中host的MMC_TIMING_LEGACY时序。
HS mode
单边采样(SDR),支持3V/1.8V/1.2V的信号电压,总线宽度支持1、4、8bit模式。
最大频率支持到52Mhz
对应kernel中host的MMC_TIMING_MMC_HS时序。
HSDDR mode
双边采样(DDR),支持3V/1.8V/1.2V的信号电压,总线宽度支持4、8bit模式。
最大频率支持到52Mhz
对应kernel中host的MMC_TIMING_UHS_DDR50时序。
HS200 mode
单边采样(SDR),支持1.8V/1.2V的信号电压,总线宽度支持4、8bit模式。
最大频率支持到200Mhz
对应kernel中host的MMC_TIMING_MMC_HS200时序。
HS400 mode
双边采样(DDR),支持1.8V/1.2V的信号电压,总线宽度支持8bit模式。
最大频率支持到200Mhz。
对应kernel中host的MMC_TIMING_MMC_HS400时序。
五、eMMC电源,默认支持1.8V的高速eMMC。
六、查看emmc clk速度。
七,修改到150M.