다른 노드를 지정하려고 하는 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";
};
};
&
노드에 접두사가 있으면 어떤 정보를 전달합니까? 루트 노드 자체에 존재할 수 있지만 루트 노드에서 분리할 필요는 무엇입니까? 흥미롭게도 위의 예에는 두 개의 루트 노드도 있습니다. 이것이 어떻게 가능합니까?
답변1
에서:http://developer.toradex.com/device-tree-customization
앰퍼샌드를 사용하여 노드를 참조할 수 있습니다.(&)성격과상표.
속성 재정의
속성을 재정의하려면 & 문자와 레이블을 사용하여 노드를 참조해야 합니다. 나중 장치 트리 항목은 이전 항목을 덮어씁니다(항목의 직렬 순서가 중요하므로 포함 순서도 중요함). 일반적으로 상위 계층(예: 캐리어 보드 장치 트리)은 하위 계층(예: SoC 장치 트리)을 오버레이합니다. 상위 계층에는 초기에 하위 계층이 포함되어 있기 때문입니다.
예를 들어, 장치 또는 호스트(이중 역할) 역할을 할 수 있는 USB 컨트롤러의 경우 dr_mode 속성을 사용하여 기본 모드를 명시적으로 재정의할 수 있습니다.
&usbdev0 {
dr_mode = "host";
};