首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用设备树在linux中强制SD卡检测为SDR50

使用设备树在linux中强制SD卡检测为SDR50
EN

Stack Overflow用户
提问于 2018-05-06 14:13:20
回答 2查看 1.4K关注 0票数 2

我的任务是在ARM linux环境中测试一个SD/MMC驱动程序。我正在尝试测试驱动程序的SDR50功能。我的SD卡支持SDR104和SDR50.默认情况下,检测为SDR104设备。

我对设备树非常陌生。我想知道是否可以禁用设备树中驱动程序的SDR104支持来强制检测SD卡作为SDR50设备?

我在网上找不到任何这样做的例子。请协助。

谢谢。

代码语言:javascript
复制
sdhci@ff160000 {
    compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
    interrupt-parent = <&gic>;
    interrupts = <0x0 0x30 0x4>;
    reg = <0x0 0xff160000 0x0 0x1000>;
    clock-names = "clk_xin", "clk_ahb";
    xlnx,device_id = <0x0>; };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-06 15:01:04

设备的设备树绑定文档中,可以找到特定于该设备的所有设备树属性。在该文档的顶部,您将注意到绑定只是添加到MMC卡的通用设备树绑定中,该绑定位于内核源代码树中的Documentation/devicetree/bindings/mmc/mmc.txt

所以,现在,您需要查看那个档案。具体来说,我认为你会对以下绑定感兴趣:

  • max-frequency:最大工作时钟频率
  • sd-uhs-sdr50:支持SD UHS SDR50速度
  • sd-uhs-sdr104:支持SD UHS SDR104速度

我认为你强迫SDR50速度的最好办法是将max-frequency设置为set 50的最大频率。根据我的研究,SDR50支持最多100 MHz,因此您可以将最大频率设置为:

代码语言:javascript
复制
/* Frequency in Hz - can be decimal or hex */
max-frequency = <100000000>
票数 1
EN

Stack Overflow用户

发布于 2020-06-11 18:43:43

模式是主机控制器功能和检测到的卡功能之间的权衡(协商)。在任何情况下,主机端都可能被迫采用较慢的模式。

模式选择是与主机驱动程序相关的,可能不总是可以通过设备树实现的。我建议打开适当的驱动程序并禁用is 200/is 400功能/标志,以便该模式仅限于sdr50或任何需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50200640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档