imx板子设备树范例

1.节点格式

label:node-name@unit-address

label:标号

node-name:节点名字

unit-address:单元地址

2.属性

3.关键字意义

1)compatible:一个设备内核中哪些驱动支持它。比如一个led:

led{

compatible="A","B","C";

};

就代表这个led在内核中A,B,C三个驱动都支持它,那么内核启动时,就会按A->B->C的顺序为led找到它的驱动程序

2)model:和compatible类似,表明这个硬件是什么,例如:

/{

compatible="samsung,smdk2440","samsung,mini2440";

model="jz2440_v3";

};

它表示这个板子,兼容内核中的smdk2440驱动,也兼容mini2440的板子驱动。

而model这里则定义了它是什么板,是jz2440_v3

3)status ,就是状态,设备的状态

okay就是可操作的;

disabled就是不可操作的

fail就是尝试了但因有错误导致失败,不可操作了

fail-sss就是失败了,sss是失败原因

4)reg就是属性值,用数字来表示地址和大小

    address-cells:address需要多少个32位数来表示

     size-cells:size需要多少个32位数来表示

/{ 

# address-cells = <1>;  地址

# size-cells = <1>;  大小

memory {

   reg = <0x80000000  0x20000000>;

//一段内存的起始地址0x80000000 ,大小0x20000000

    };

};

5)name和device_type

分别表示节点的名字和类型,在跟platform_driver匹配时,优先级很低,优先级最高的是compatible

3.节点 

根节点        / {

                  }

CPU节点    cpu {

                    }

memory节点  memory {

                    }

chosen节点 (通过设备树文件给内核传入一些参数)

                     chosen {

        bootargs="          ";

                            };

4.操作设备树的函数

一般以of开头:

1)of_find_node_by_name函数通过节点名字查找制定节点

2)of_find_node_by_type  通过device_type查找指定节点

3)of_find_compatible_node根据device_type和compatible查找

4)of_find_matching_node_and_match通过of_device_id

5)of_find_node_by_path通过路径

6)of_find_property查找指定的属性

【Linux笔记】设备树基础知识 - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值