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