慣れてきたデバイスツリー

DTCコンパイラ
・双方向。dts→dtb, dtb→dts どちらも可。
・実は、dtc自体は、たいしたことはしていない。生成後のバイナリ(.dtb)をhexdump -C等で確認すれば分かる。
・主要ディストリでは、パッケージで配布されている。Debian系ではdevice-tree-compiler、CentOSではdtc。
・Ver 1.4以降で、バージョンの差異が少しあるが、問題にならないケースが多い。

トラブルシュート時のコツ
・デバイス調整がらみではまったら、まずはデバイスツリーを見る。但し、SDRAMパラメータは別格で、デバイスツリーでは扱わない。
・デバイスツリーで定義されたパラメータが、本当にKernelやU-Bootで使われているか、grep検索で確認する。
・互換性重視のあまり、無駄な記述が多い。
・ダウンコンパチ的な記述配慮は簡単。単に列挙すれば良い。
・パラメータ名の中途にあるカンマ「,」はフェイクであり、通常のテキスト扱い。
・使うKernelに含まれているdtsサンプルを参照する方が良い。但し、H/Wやデバイスに依存する数値はベンダ・H/W設計者から提供を受けた数値を適用すること。

その他:
ラズパイではデバイスツリーの一部を/boot/config.txtで定義できる。何故テキストのまま引き込まれるのか、いつか調べたい。