異なるノードを指定しようとするDTSファイルを見ていますが、興味深いことに、異なるスタイルの命名法を持つノードがいくつか見つかりました。
/ {
model = "TI AM335x BeagleBone Black";
compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
};
&ldo3_reg {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
&mmc1 {
vmmc-supply = <&vmmcsd_fixed>;
};
&mmc2 {
vmmc-supply = <&vmmcsd_fixed>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_pins>;
bus-width = <8>;
status = "okay";
};
/ {
hdmi {
compatible = "ti,tilcdc,slave";
i2c = <&i2c0>;
pinctrl-names = "default", "off";
pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
status = "okay";
};
};
ノードのプレフィックスとして&
がある場合、それは何を伝えますか?それらがルートノード自体に存在する可能性がある一方で、それらをルートノードから分離する必要性は何ですか?興味深いことに、上記の例にも2つのルートノードがありますが、それはどのように可能ですか?
差出人: http://developer.toradex.com/device-tree-customization
ノードは、アンパサンド(&)文字とlabelを使用して参照できます。 。
プロパティの上書き
プロパティを上書きするには、アンパサンド文字とラベルを使用してノードを参照する必要があります。後のデバイスツリーエントリは前のエントリを上書きします(エントリの順序が重要であるため、インクルードの順序が重要です)。通常、上位層(キャリアボードデバイスツリーなど)は下位層(SoCデバイスツリーなど)を上書きします。これは、上位層には最初に下位層が含まれるためです。
例えば。デバイスまたはホスト(デュアルロール)に対応できるUSBコントローラーの場合、dr_modeプロパティを使用してデフォルトモードを明示的に上書きできます。
&usbdev0 {
dr_mode = "Host";
};