RockchipSDMMCSDIOeMMC开发指南发布版本:1.0日期:2016.06RockchipSDMMCSDIOeMMC开发指南前言Copyright2016@FuzhouRockchipElectronicsCo.,Ltd.I前言概述产品版本芯片名称内核版本RK33994.4读者对象本文档(本指南)主要适用于以下工程师:技术支持工程师软件开发工程师修订记录日期版本作者修改说明2016-06-30V1.0LTRockchipSDMMCSDIOeMMC开发指南目录Copyright2016@FuzhouRockchipElectronicsCo.,Ltd.II目录1DTS配置...........................................................................................................1-11.1SDMMC的DTS配置说明..............................................................................1-11.2SDIO的DTS配置说明.................................................................................1-11.3eMMC的DTS配置......................................................................................1-2RockchipSDMMCSDIOeMMC开发指南1DTS配置Copyright2016@FuzhouRockchipElectronicsCo.,Ltd.1-11DTS配置1.1SDMMC的DTS配置说明(1)clock-frequency=150000000;此配置设置SD卡的运行频率,虽然设置为150M,但是还要根据SD卡的不同模式进行调整。这部分不需要用户关心,实际运行频率和模块的关系软件会关联。最大不超过150MHz。(2)clock-freq-min-max=400000150000000;此配置设置SD卡的运行频率范围。默认不需要调整。(3)supports-sd;此配置标识此插槽为SD卡功能,为必须添加项。否则无法初始化SD卡。(4)bus-width=4;此配置标识需要使用SD卡的线宽。SD卡最大支持4线模式,如果不配置就模式使用1线模式。另外,这个位只支持的数值为1,4,配置其他数值会认为是非法数值,强制按照1线模式进行使用。(5)(cap-mmc-highspeed;cap-sd-highspeed;此配置为标识此卡槽支持highspeed的SD卡。如果不配置,表示不支持highspeed的SD卡。(6)sd-uhs-sdr104;此配置为标识此卡槽支持UHS-I的SD卡。如果不配置,表示不支持UHS-I的SD卡。但需要注意,如果要支持这种模式的卡,需要SD卡的IO电压供电可以在3.3V和1.8v进行切换。并且需要引用vqmmc-supply到实际板级的控制电源,例如vqmmc-supply=&vcc_sd。(7)pinctrl-names=default;pinctrl-0=&sdmmc_clk&sdmmc_cmd&sdmmc_cd&sdmmc_bus4;配置SD卡电路的IOMUX功能,为必须配置项。1.2SDIO的DTS配置说明(1)clock-frequency=50000000;clock-freq-min-max=20000050000000;此两项同SD卡的配置,最大运行频率不超过150Mhz。(2)supports-SDIO;此配置标识此插槽为SDIO功能,为必须添加项。否则无法初始化SDIO外设。(3)bus-width=4;此配置同SD卡功能。(4)cap-sd-highspeed;此配置同SD卡功能,作为SDIO外设,也有区分是否为highspeed的SDIO外设。(5)cap-sdio-irq;此配置标识该SDIO外设(通常是Wifi)是否支持sdio中断,如果你的外设是OOB中断,请不要加入此项。支持哪种类型的中断请联系Wifi原厂确定。(6)keep-power-in-suspend;此配置表示是否支持睡眠不断电,请默认加入该选项。Wifi一般都有深度唤醒的要求。(7)mmc-pwrseq=&sdio_pwrseq;此项是SDIO外设(一般是Wifi)的电源控制。为必须项,否则Wifi无法上电工作。请参考下面RockchipSDMMCSDIOeMMC开发指南1DTS配置Copyright2016@FuzhouRockchipElectronicsCo.,Ltd.1-2的例子,晶振时钟和复位-使能的GPIO的选择按照实际板级硬件要求进行配置。sdio_pwrseq:sdio-pwrseq{compatible=mmc-pwrseq-simple;clocks=&rk8081;clock-names=ext_clock;pinctrl-names=default;pinctrl-0=&wifi_enable_h;/**Onthemoduleitselfthisisoneofthese(depending*ontheactualcardpopulated):*-SDIO_RESET_L_WL_REG_ON*-PDN(powerdownwhenlow)*/reset-gpios=&gpio010GPIO_ACTIVE_LOW;/*GPIO0_B2*/};(8)non-removable;此项表示该插槽为不可移动设备。此项为必须添加项。(9)num-slots=4;此项同SD卡的配置。(10)pinctrl-names=default;pinctrl-0=&sdio0_bus4&sdio0_cmd&sdio0_clk;此项配置SDIO电路的IOMUX功能,为必须配置项。(11)sd-uhs-sdr104;此项配置决定该SDIO设备是否支持SDIO3.0模式。前提是需要Wifi的IO电压为1.8v。1.3eMMC的DTS配置&emmc_phy{freq-sel=200000000;//此项为eMMC实际运行的频率dr-sel=50;//驱动强度的选择,目前只支持33,40,50,66,100,根据信号波形测试而定,50属于中间强度opdelay=4;//输出延时配置,可以默认使用4status=okay;};&sdhci{bus-width=8;mmc-hs400-1_8v;//是否支持HS400模式,如果调试需要,可以去掉,会降级为HS200mmc-hs400-enhanced-strobe;//是否支持HS400ES,会自动探测,可以保留此项。supports-emmc;//必须项,表示此控制器支持eMMCnon-removable;//必须项,表示eMMC为不可拔插的外设keep-power-in-suspend;//必须项status=okay;};