如何在转换后的DTS文件中查找phandle对应的节点?
查找DTS中phandle对应节点的方法
- 别只搜
0x1e这个值,要搜包含该值的phandle属性。DTS里节点的phandle通常通过phandle = <0xXX>;显式定义,部分旧内核场景会用linux,phandle = <0xXX>;,所以用文本编辑器的正则搜索功能,搜(phandle|linux,phandle)\s*=\s*<0x1e>;,覆盖所有可能的写法,注意缩进、空格的差异(比如有些转换后的DTS会写成phandle=<0x1e>;无空格)。 - 注意区分phandle和属性里的索引值:你看到的
resets = <0x04 0x1e>;中,0x04是复位控制器节点的phandle,0x1e是该控制器下的复位线索引,不是独立的phandle节点;同理clocks属性里的0x1e大概率是时钟索引,和你要找的phandle = <0x1e>;不是同一个东西。 - 若还是找不到,检查dtc转换工具版本:旧版本dtc转DTS时可能丢失显式phandle定义,重新用最新版工具转换:
dtc -I dtb -O dts your_file.dtb > your_file.dts,再重新搜索。
内容的提问来源于stack exchange,提问作者Ravi A
相关产品推荐
相关产品推荐

