一:删除节点
通常DTS中包含了多个平台的描述文件,且多个平台会共享一些通用的dtsi。这些dtsi的节点对于指定的平台来说,其节点未必全部需要,因此就需要将不需要的节点进行裁剪或者DISABLE。节点删除就是实现这个作用。
语法如下:
/delete-node/ 节点名;
例如在draz7.dtsi里面定义了rtc的节点,但是在自己的产品中不想使用这个RTC,而使用其他的rtc:
draz7.dtsi 相关内容如下:
1 / { 2 ... 3 ocp { 4 ... 5 rtc { 6 compatible = "ti,am3352-rtc"; 7 reg = <0x48838000 0x100>; 8 interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, 9 <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>; 10 ti,hwmods = "rtcss"; 11 clocks = <&sys_32k_ck>; 12 property1 = <1>; 13 property2; 14 }; 15 }; 16 };
在am452x-xxx.dts,中删除:
#include "draz7.dtsi" / { ... ocp { /delete-node/ rtc; }; };
二:删除属性
1 #include "draz7.dtsi" 2 ... 3 4 &rtc { 5 /delete-property/ property1; 6 /delete-property/ property2; 7 };