web-dev-qa-db-ja.com

デバイスツリーでのアンパサンドプレフィックスの意味

異なるノードを指定しようとする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つのルートノードがありますが、それはどのように可能ですか?

9
kakeh

差出人: http://developer.toradex.com/device-tree-customization

ノードは、アンパサンド(&)文字とlabelを使用して参照できます。 。

プロパティの上書き

プロパティを上書きするには、アンパサンド文字とラベルを使用してノードを参照する必要があります。後のデバイスツリーエントリは前のエントリを上書きします(エントリの順序が重要であるため、インクルードの順序が重要です)。通常、上位層(キャリアボードデバイスツリーなど)は下位層(SoCデバイスツリーなど)を上書きします。これは、上位層には最初に下位層が含まれるためです。

例えば。デバイスまたはホスト(デュアルロール)に対応できるUSBコントローラーの場合、dr_modeプロパティを使用してデフォルトモードを明示的に上書きできます。

&usbdev0 {
    dr_mode = "Host";
};
5
Xofo