Linux 设备树 : 节点与属性的删除

一、节点删除

应用条件:通常DTS中包含了多个平台的描述文件,且多个平台会共享一些通用的dtsi。这些dtsi的节点对于指定的平台来说,其节点未必全部需要,因此就需要将不需要的节点进行裁剪或者DISABLE。节点删除就是实现这个作用。

语法如下: 
/delete-node/ 节点名;

例如在dra7.dtsi里面定义了rtc的节点,但是在自己的产品中不想使用这个RTC,而使用其他的rtc:

dra7.dtsi 相关内容如下:

/ {
    ...
    ocp {
        ...
        rtc: rtc@48838000 {
            compatible = "ti,am3352-rtc";
            reg = <0x48838000 0x100>;
            interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
            ti,hwmods = "rtcss";
            clocks = <&sys_32k_ck>;
            property1 = <1>;
            property2;
        };
    };
};

在am572x-xxx.dts,中删除:

#include "dra7.dtsi"

/ {
    ...
    ocp {
        /delete-node/ rtc@48838000;
    };
};

二、属性删除
 

#include "dra7.dtsi"
...

&rtc {
    /delete-property/ property1;
    /delete-property/ property2;
};

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux设备树(Device Tree)是一种描述硬件设备布局和配置的数据结构,用于在Linux内核中动态管理和配置硬件设备的驱动程序。它提供了一个统一的方法来表示嵌入式系统中的硬件组件,包括处理器、外设、总线、中断控制器等。 深入理解Linux设备树是很有必要的,因为它是嵌入式系统开发中的重要工具。首先,设备树的概念是为了解决硬件平台多样性而引入的。在传统的内核开发中,驱动程序需要直接依赖具体的硬件地址和寄存器等信息。而设备树将这些信息从内核中分离出来,使得驱动程序可以更加通用和可移植。 其次,设备树的组织结构是由树状层次结构构成的,每个节点表示一个硬件设备或者一个硬件组件。通过使用设备树,我们可以清晰地查看硬件系统的拓扑结构,从而更好地了解每个硬件组件之间的关系。这为开发人员在驱动程序中配置和操作设备提供了便利。 另外,设备树还具有描述硬件设备属性的功能。每个设备节点都可以附加属性,包括设备的ID、中断控制器、寄存器地址等。通过这些属性,驱动程序可以根据设备树的描述动态地注册和配置硬件设备,而不需要在驱动程序中硬编码具体的硬件信息。 最后,设备树的编写和更新是由开发人员来完成的。在设备树中,我们可以定义新的硬件设备节点,修改或删除原有的节点,以及添加和修改设备的属性。这为嵌入式系统的硬件配置和调试提供了强大的灵活性和可维护性。 综上所述,深入理解Linux设备树对于嵌入式系统开发者而言至关重要。它是驱动程序和硬件设备之间的桥梁,提供了一种灵活的硬件配置和管理方式。通过学习和掌握设备树的原理和使用方法,我们可以更好地开发和调试嵌入式系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值