драйвер не находит свойство в дереве устройств во время инициализации linux

Я пытаюсь поднять плату на базе Cortex A9 (Arria V). Во время инициализации драйвер cadence-qspi жалуется, что не может найти свойство соответствующего узла в дереве устройств и не может инициализироваться. Когда я смотрю на представление DT, особенно на /sys/bus/patform/devices/ff705000.qspi/of_node/fifo-depth, я вижу, что оно сохраняет правильное значение. В чем может быть причина такого поведения? ядро 4.14.130-ltsi от linux-socfpga.git Спасибо, Илья

1 ответ

Во время инициализации драйвер cadence-qspi жалуется, что не может найти свойство соответствующего узла в дереве устройств
...
Я вижу, что он сохраняет правильное значение.

Значение свойства не имеет значения, если проблема заключается в том, что драйвер "не может найти свойство".
"Поиск" свойства связан с названием этого свойства, а не с его значением.

В чем может быть причина такого поведения?

Наиболее вероятная причина заключается в том, что имя свойства (которое вы использовали) в дереве устройств не совпадает с требуемым именем свойства (указанным в строке символов) в драйвере ядра.

В файле Documentation/devicetree/bindings/mtd/cadence-quadspi.txt указано, что фактическое имя рассматриваемого свойства:

cdns,fifo-depth 

в то время как вы сообщаете, что ваше дерево устройств использует только fifo-depth(и, очевидно, не является совпадением строки).
Помните, что для этого узла есть другие обязательные и необязательные свойства, которые используютcdns, префикс, поэтому другие строки в вашем дереве устройств могут нуждаться в исправлении.

Другие вопросы по тегам