Принудительное определение SD-карты как SDR50 в Linux с использованием дерева устройств - PullRequest
0 голосов
/ 06 мая 2018

Мне поручено протестировать драйвер SD / MMC в среде ARM linux. Я пытаюсь проверить работоспособность драйвера SDR50. Моя SD-карта поддерживает как SDR104, так и SDR50. По умолчанию определяется как устройство SDR104.

Я очень новичок в дереве устройств. Интересно, могу ли я отключить поддержку SDR104 драйвера в дереве устройств, чтобы принудительно определить мою SD-карту как устройство SDR50?

Я не смог найти онлайн примеров для этого. Пожалуйста, помогите.

Спасибо.

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>; };

1 Ответ

0 голосов
/ 06 мая 2018

В документации по связыванию дерева устройств для устройства arasan,sdhci-8.9a вы можете найти все свойства дерева устройств, относящиеся к этому устройству. В начале этой документации вы заметите, что привязки просто добавляются к привязкам общего дерева устройств для карт MMC, расположенных в Documentation/devicetree/bindings/mmc/mmc.txt в дереве исходного кода ядра.

Итак, теперь вы захотите проверить этот файл . В частности, я думаю, что следующие привязки будут вам интересны:

  • max-frequency: максимальная рабочая тактовая частота
  • sd-uhs-sdr50: поддерживается скорость SD UHS SDR50
  • sd-uhs-sdr104: поддерживается скорость SD UHS SDR104

Я думаю, что для повышения скорости SDR50 лучше всего установить максимальную частоту max-frequency в SDR50. Согласно моим исследованиям, SDR50 поддерживает частоту до 100 МГц, поэтому вы можете установить максимальную частоту на нее:

/* Frequency in Hz - can be decimal or hex */
max-frequency = <100000000>
...