Ich betrachte eine DTS-Datei, die versucht, verschiedene Knoten anzugeben, aber interessanterweise finde ich einige Knoten mit unterschiedlichen Nomenklaturstilen.
/ {
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";
};
};
Was vermittelt es, wenn ein Knoten &
ein Präfix hat? Was ist die Notwendigkeit, sie vom Wurzelknoten zu trennen, während sie im Wurzelknoten selbst vorhanden sein können? Interessanterweise hat das obige Beispiel auch zwei Wurzelknoten. Wie ist das möglich?
hdmi
, befindenmodel
sich undcompatible
auf derselben Ebene im Baum. Das&
ist eine Abkürzung Verweis auf einen bereits vorhandenen Knoten, die wahrscheinlich in einem Include - Datei definiert ist. Diese Abschnitte überschreiben entweder Einträge in der ursprünglichen Definition oder fügen dem Eintrag neue Knoten hinzu.