2015-06-28 1 views
2

Этой фрагмент кода происходит от дерева устройств для RIoTBoard (/arch/arm/boot/dts/imx6dl-riotboard.dts)В чем смысл фандла при использовании в качестве имени узла дерева устройств?

&hdmi { 
     ddc-i2c-bus = <&i2c2>; 
     status = "okay"; 
}; 

Я прошел через документацию дерева устройства как на devicetree.org и в документации/devicetree папке ядра Linux, но я я не могу найти никакого описания значения фандла при использовании в качестве имени узла.

ответ

3

Вы можете понять phandle как некоторый указатель для узла, который указывает на определение этого узла, который либо хранится в том же файле, либо в другом файле. я могу объяснить phandle концепции принимая пример из приведенной ниже ссылки для AM33xx SoC часов файла:

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

Ниже являются функциональными часами для сторожевого:

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

Это фанды или вы можете указать указатели на их определения часов:

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 позволяет использовать определения узлов по файлам.