首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用作设备树节点名称时,phandle的含义是什么?

用作设备树节点名称时,phandle的含义是什么?
EN

Stack Overflow用户
提问于 2015-06-28 11:45:26
回答 2查看 11.6K关注 0票数 4

此代码片段来自RIoTBoard (/arch/arm/boot/dts/imx6dl-riotboard.dts)的设备树

代码语言:javascript
复制
&hdmi {
         ddc-i2c-bus = <&i2c2>;
         status = "okay";
};

我已经浏览了devicetree.org上和linux内核的documentation/devicetree文件夹中的设备树文档,但是我找不到任何关于phandle用作节点名的含义的描述。

EN

回答 2

Stack Overflow用户

发布于 2015-07-27 20:43:51

您可以将phandle理解为节点的某种类型的指针,它指向保存在同一文件或其他文件中的该节点的定义。我可以通过下面的AM33xx SoC时钟文件链接来解释phandle的概念:

http://lxr.free-electrons.com/source/arch/arm/boot/dts/am33xx-clocks.dtsi

以下是watchdog的功能时钟:

代码语言:javascript
复制
wdt1_fck: wdt1_fck {
             #clock-cells = <0>;
             compatible = "ti,mux-clock";
             clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
             reg = <0x0538>;
};

现在wdt1_fck有两个父时钟源: clk_rc32k_ck和clkdiv32k_ick

这些是phandles,或者您可以说指向它们的时钟定义的指针:

代码语言:javascript
复制
clk_rc32k_ck: clk_rc32k_ck {
             #clock-cells = <0>;
             compatible = "fixed-clock";
             clock-frequency = <32000>;
};

clkdiv32k_ick: clkdiv32k_ick {
             #clock-cells = <0>;
             compatible = "ti,gate-clock";
             clocks = <&clkdiv32k_ck>;
             ti,bit-shift = <1>;
             reg = <0x014c>;
};

所以基本上,phandle允许跨文件使用节点的定义。

票数 7
EN

Stack Overflow用户

发布于 2019-06-26 21:27:17

我将用一个例子来回答:

代码语言:javascript
复制
label:node {
  #address-cell = <1>;
  #size-cells = <0>;
}

&label {
  proporties = <2>;
};

意思是:

代码语言:javascript
复制
label:node {
  #address-cell = <1>;
  #size-cells = <0>;
  proporties = <2>;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31095951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档