Сам по себе стандарт дерева устройств немного странный: devicetree.org поддерживает стандарт дерева устройств , но он больше сфокусирован на двоичных кодировках, а не на том, что на самом деле узлыmean.
Определение узла дерева устройств является специфическим для конкретной совместимой строки и лучшая документация для этих жизней рядом с исходным кодом Linux, в Documentation / devicetree / bindings .Лучше всего - просто найти подходящую строку.Документация довольно приличная, но мы, конечно, будем рады услышать любые проблемы, которые у вас есть - или даже лучше, патчи:).
Привязки дерева устройств в репозитории Linux должны быть общими (т.е.(не специфично для Linux), но поскольку они находятся в том же репозитории, что и исходный код Linux, в них, как правило, проникают некоторые Linux-измы. В среде RISC-V мы пытаемся обеспечить совместимость записей нашего дерева устройств между всеми работающимисистемы, но это постоянный кусок работы.Я знаю, что наш порт Zephyr также использует дерево устройств, и хотя он в основном совместим с деревьями устройств Linux, есть некоторые различия.
Мы планируем использовать дерево устройств в обозримом будущем в качестве части порта RISC-V Linux.Наша цель состоит в том, чтобы деревья устройств рассматривались как стабильный ABI, как и все остальные.Другими словами: если привязка находится в дереве исходных текстов Linux, мы не будем изменять ее в двоичном несовместимом виде.Насколько хорошо это запланировано, еще неизвестно.